> For the complete documentation index, see [llms.txt](https://docs.kotal.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kotal.co/reference/near.md).

# NEAR

| Syntax                                                | Type    | Description                                               | Default |
| ----------------------------------------------------- | ------- | --------------------------------------------------------- | ------- |
| [network](#network) required                          | string  | NEAR network to join and sync                             |         |
| [nodePrivateKeySecretName](#nodeprivatekeysecretname) | string  | Kubernetes secret name holding node Ed25519 private key   |         |
| [validatorSecretName](#validatorsecretname)           | string  | Kubernetes secret name holding node Ed25519 validator key |         |
| [minPeers](#minpeers)                                 | number  | Minimum number of peers to start syncing/producing blocks | 5       |
| [archive](#archive)                                   | boolean | Keeps old blocks in the storage                           | false   |
| [p2pPort](#p2pport)                                   | number  | p2p protocol tcp port                                     | 24567   |
| [p2pHost](#p2phost)                                   | string  | p2p host                                                  | 0.0.0.0 |
| [rpc](#rpc)                                           | boolean | Enables JSON-RPC server                                   | false   |
| [rpcPort](#rpcport)                                   | number  | JSON-RPC server listening port                            | 3030    |
| [rpcHost](#rpchost)                                   | string  | JSON-RPC server listening host                            | 0.0.0.0 |
| [prometheusPort](#prometheusport)                     | number  | Prometheus exporter port                                  | 9615    |
| [prometheusHost](#prometheushost)                     | string  | Prometheus exporter host                                  | 0.0.0.0 |
| [telemetryURL](#telemetryurl)                         | string  | Telemetry service URL                                     |         |
| [bootnodes](#bootnodes)                               | array   | Boot nodes to bootstrap network from                      |         |
| [resources](#resources)                               | object  | node compute and storage resources to alloacte            |         |

## network

`network` is NEAR network to join and sync. Possible values are `mainnet`, `testnet`, and `betanet`.

`network` is immutable, it can't be changed after node is created.

## nodePrivateKeySecretName

`nodePrivateKeySecretName` is Kubernetes secret name holding node Ed25519 private key in data field `key`, from which node public key is generated, and p2p messages are signed.

## validatorSecretName

`validatorSecretName` is Kubernetes secret name holding node Ed25519 validator key in data field `key`.

## minPeers

`minPeers` is the minimum number of peers to start syncing/producing blocks.

## archive

`archive` keeps old blocks in the storage.

## p2pPort

`p2pPort` is p2p protocol tcp port.

## p2pHost

`p2pHost` is p2p host address.

## rpc

`rpc` enables JSON-RPC server.

## rpcPort

`rpcPort` is JSON-RPC server listening port.

## rpcHost

`rpcHost` is JSON-RPC server listening host address.

## prometheusPort

`prometheusPort` is Prometheus exporter port.

## prometheusHost

`prometheusHost` is Prometheus exporter host address.

## telemetryURL

`telemetryURL` is Telemetry service URL.

## bootnodes

`bootnodes` is a list of boot nodes to bootstrap network from

## resources

`resources` allocates compute and storage resources to the node.

| Syntax       | Type   | Description                                 | Default                                                                                    |
| ------------ | ------ | ------------------------------------------- | ------------------------------------------------------------------------------------------ |
| cpu          | string | number of cpu cores this node requires      | `4`                                                                                        |
| cpuLimit     | string | number of cpu cores this node is limited to | `8`                                                                                        |
| memory       | string | memory this node requires                   | `4Gi`                                                                                      |
| memoryLimit  | string | memory this node is limited to              | `8Gi`                                                                                      |
| storage      | string | disk space this node requires               | `250Gi` for non archival node, `4Ti` for archive node                                      |
| storageClass | string | Node volume storage class                   | Cluster's default storage class will be used as defined by cluster admin or cloud provider |

memory and storage requests and limits must use the pattern `^[1-9][0-9]*[KMGTPE]i$` for example `1500Mi`, `30Gi`, and `1Ti`.

cpu requests and limits must use the pattern `^[1-9][0-9]*m?$` for example `1000m` (which is equal to `1`), `1500m`, `2`, and `4.`

`cpuLimit` can't be less than `cpu`.

`memoryLimit` can't be less than or equal to `memory`.

`storageClass` field is immutable, it cannot be changed after creation.
