# Bootstrap object

```json metadata
{
  "schema_version": 2,
  "title": "Bootstrap object",
  "description": "An object for bootstrap configuration",
  "categories": ["docs","operate","rs"],
  "tableOfContents": {"sections":[]}

,
  "codeExamples": []
}
```


A bootstrap configuration object.

| Name | Type/Value | Description |
|------|------------|-------------|
| action | 'create_cluster'<br />'join_cluster'<br />'recover_cluster' | Action to perform |
| cluster | [cluster_identity](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/bootstrap/cluster_identity) object | Cluster to join or create |
| cnm_https_port | integer | Port to join a cluster with non-default cnm_https port |
| crdb_coordinator_port | integer, (range: 1024-65535) (default: 9081) | CRDB coordinator port |
| credentials | [credentials](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/bootstrap/credentials) object | Cluster admin credentials |
| dns_suffixes | object | Explicit configuration of DNS suffixes<br />
[{
  "name": string,
  "cluster_default": boolean,
  "use_aaaa_ns": boolean,
  "use_internal_addr": boolean,
  "slaves": array
}, ...]
<br />**name**: DNS suffix name<br />**cluster_default**: Should this suffix be the default cluster suffix<br />**use_aaaa_ns**: Should AAAA records be published for NS records<br />**use_internal_addr**: Should internal cluster IPs be published for databases<br />**slaves**: List of replica servers that should be published as NS and notified |
| envoy_admin_port | integer, (range: 1024-65535) | Envoy admin port. Changing this port during runtime might result in an empty response because envoy serves as the cluster gateway.|
| envoy_mgmt_server_port | integer, (range: 1024-65535) | Envoy management server port|
| <span class="break-all">gossip_envoy_admin_port</span> | integer, (range: 1024-65535) | Gossip envoy admin port (deprecated; this port is no longer used because gossip functionality is handled by the main envoy process on `envoy_admin_port`) |
| license | string | License string. If not provided, a trial license is set by default. |
| max_retries | integer | Max number of retries in case of recoverable errors |
| node | [node_identity](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/bootstrap/node_identity) object | Node description |
| policy | [policy](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/bootstrap/policy) object | Policy object (deprecated; use [`PUT /v1/cluster/policy`](https://redis.io/docs/latest/operate/rs/references/rest-api/requests/cluster/policy#put-cluster-policy) after cluster creation instead) |
| recovery_filename | string | Name of backup file to recover from |
| required_version | string | This node can only join the cluster if all nodes in the cluster have a version greater than the required_version (deprecated as of Redis Software v7.8.6) |
| retry_time | integer | Max waiting time between retries (in seconds) |
| user_defined_modules | array of [user_defined_module](https://redis.io/docs/latest/operate/rs/references/rest-api/objects/bootstrap/user_defined_module) objects | List of custom modules to download and install during bootstrap. Each node downloads and installs the modules independently. |
| witness_disk | object | An API object that represents the Witness Disk bootstrap configuration |



