Skip to content

Commit 60ecaff

Browse files
committed
checkpoint
1 parent 6f0aad5 commit 60ecaff

File tree

4 files changed

+30
-18
lines changed

4 files changed

+30
-18
lines changed

deployments.tar

-10 KB
Binary file not shown.

docusaurus/docs/deployments/20-controller/20-linux.mdx

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import Tabs from '@theme/Tabs';
88
import TabItem from '@theme/TabItem';
99
import LinuxPackageRepo from '/docs/_linux-package-repo.mdx';
1010

11-
This article is about deploying a controller as a Linux system service. [The controller introduction](/learn/introduction/03-components.mdx#controller) may be helpful to read first.
11+
This article is about deploying a controller as a Linux system service.
1212

1313
We'll cover the following topics:
1414

@@ -40,40 +40,48 @@ Finally, install the package: **openziti-controller**
4040

4141
You must generate, migrate, or craft a configuration. Configuration consists of a PKI, a config YAML file, and a database.
4242

43-
### Generate a Configuration
43+
### Generate a Configuration for the First Node in a New Cluster
4444

45-
This is the recommended approach if you are installing a new controller.
45+
This is the simplest approach if you are installing a new controller as the first node in a new cluster and do not wish to craft a configuration from scratch.
4646

4747
#### Answer Interactively
4848

49-
Run `bootstrap.bash` to be prompted for the required values.
49+
Run `bootstrap.bash` and answer prompts.
5050

5151
```text
5252
sudo /opt/openziti/etc/controller/bootstrap.bash
5353
```
5454

55+
```buttonless title="Output"
56+
Create a new cluster (NO if joining a cluster) [Y/n]:
57+
```
58+
5559
#### Answer Non-interactively
5660

57-
1. Set the required values in the answer file **/opt/openziti/etc/controller/bootstrap.env**.
58-
1. `ZITI_CTRL_ADVERTISED_ADDRESS` - control plane permanent DNS name (required)
61+
1. Set the required values in the answer file **/opt/openziti/etc/controller/bootstrap.env** or export as environment variables.
62+
1. `ZITI_CTRL_ADVERTISED_ADDRESS` - control plane address (required, ex: `ctrl1.ziti.example.com`)
5963
1. `ZITI_CTRL_ADVERTISED_PORT` - listener TCP port (default: 1280)
64+
1. `ZITI_CLUSTER_TRUST_DOMAIN` - SPIFFEE trust domain (required, ex: `ziti.example.com`)
65+
1. `ZITI_CLUSTER_NODE_NAME` - SPIFFEE node name (required, ex: `ctrl1`)
6066
1. `ZITI_USER` - username (default: admin)
6167
1. `ZITI_PWD` - password to initialize the database (required)
62-
1. Run `bootstrap.bash`
68+
1. Run `bootstrap.bash`.
6369

6470
```text
65-
sudo /opt/openziti/etc/controller/bootstrap.bash
71+
sudo -E /opt/openziti/etc/controller/bootstrap.bash < /dev/null
6672
```
6773

74+
### Generate a Configuration for a New Node in an Existing Cluster
75+
76+
77+
6878
### Migrate an Existing Configuration
6979

7080
[This example](./70-migrate.mdx) illustrates copying the PKI, configuration, and database from a previous installation to the controller service's working directory.
7181

7282
### Craft a Configuration
7383

74-
Craft a new configuration by running `ziti create config controller`.
75-
76-
Review the environment variables, especially those named like `ZITI_CTRL_*`, that influence the controller configuration with `ziti create config environment`.
84+
Craft a new configuration from scratch or start with a sane set of default values by running `ziti create config controller --clustered`.
7785

7886
Here's a link to [the controller configuration reference](/reference/30-configuration/controller.md).
7987

docusaurus/docs/deployments/20-controller/70-migrate.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ title: Migrate a Controller Installation
33
sidebar_label: Migrate
44
---
55

6-
Here's an example of migrating an existing controller's configuration to the Linux service's working directory.
6+
Here's an example of migrating an existing controller's configuration to the Linux service's working directory. Similarly, you could migrate a configuration to a Docker volume.
77

88
1. Remove the quickstart controller service if you followed the BASH quickstart to create **/etc/systemd/system/ziti-controller.service**.
99
1. Follow [the Linux controller deployment guide](/deployments/20-controller/20-linux.mdx) to install the controller service.

docusaurus/docs/deployments/20-controller/index.mdx

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,27 +3,31 @@ title: Controller Deployment Overview
33
sidebar_label: Controller
44
---
55

6+
## Getting Started
7+
8+
These requirements apply to all controller deployments. Check out the [Linux](/deployments/20-controller/20-linux.mdx), [Docker](/deployments/20-controller/40-docker.mdx), and [Kubernetes](/deployments/20-controller/60-kubernetes.mdx) articles for more details.
9+
610
## Requirements
711

812
1. a root CA for the cluster
9-
1. a signer CA certificate, identity certificate, and configuration YAML file for each node
13+
1. a signer CA certificate, identity certificates, and configuration YAML file for each node
1014
1. an initialized database on the first node, replicated to subsequent nodes
1115

12-
## The Cluster Root CA Certificate
16+
### The Cluster Root CA Certificate
1317

1418
Before provisioning your first node, you must [create a new public key infrastructure](/reference/ha/bootstrapping/certificates.md) (PKI) for the cluster. This includes a root CA certificate and private key.
1519

1620
The cluster's root CA is never required on any node. For security, secure the root CA separately from the deployment environment, not on the first node. For convenience, the root CA may be co-located with the first node in the cluster.
1721

18-
## The Edge Enrollment Signer CA Certificate
22+
### The Edge Enrollment Signer CA Certificate
1923

2024
Each node must have an edge enrollment signer CA certificate issued by [the cluster's root CA](/reference/ha/bootstrapping/certificates.md). In the configuration YAML file, [the property `edge.enrollment.signingCert`](/reference/30-configuration/controller.md) configures the edge signer CA certificate and private key. The edge signer CA issues leaf certificates during identity and router enrollment.
2125

22-
## The Controller's Identity Certificate
26+
### The Controller's Identity Certificates
2327

24-
This is a leaf certificate from the edge enrollment signer CA. In the configuration YAML file, [the property `identity`](/reference/30-configuration/conventions.md) configures the controller's identity certificate and private key.
28+
These are leaf certificates from the edge enrollment signer CA. In the configuration YAML file, [the property `identity`](/reference/30-configuration/conventions.md) configures the controller's identity certificates and private keys.
2529

26-
## The Configuration YAML File
30+
### The Configuration YAML File
2731

2832
[The configuration YAML file](/reference/30-configuration/controller.md) is required for all nodes. It is used to configure the controller's signing cert, identity, database, listener addresses, and more.
2933

0 commit comments

Comments
 (0)