diff --git a/docs/command-reference.md b/docs/command-reference.md index 6082942..0366818 100644 --- a/docs/command-reference.md +++ b/docs/command-reference.md @@ -30,15 +30,11 @@ The supported options are: (default: `launchpad.yaml`) * `--force` - Continue installation when prerequisite validation fails (default: `false`) -* `--disable-redact` - Do not hide sensitive information in the output -(default: `false`) -* `--confirm` - Request confirmation for every command to be run on the remote hosts -(default: `false`) ## Download client configuration The MKE client bundle contains a private and public key pair that authorizes -Launchpad to interact with the [MKE CLI](https://docs.mirantis.com/docker-enterprise/v3.1/dockeree-products/ucp/user-access.html#cli-access). +Launchpad to interact with the [MKE CLI](https://docs.mirantis.com/containers/v3.1/dockeree-products/mke/user-access.html#cli-access). `launchpad client-config` @@ -50,7 +46,7 @@ The supported options are: **Note:** The configuration must include the MKE credentials, example: ```yaml -apiVersion: launchpad.mirantis.com/mke/v1.1 +apiVersion: launchpad.mirantis.com/mke/v1.3 kind: mke spec: mke: @@ -68,10 +64,6 @@ The supported options are: * `--config` - Path to a cluster config file, including the filename (default: `launchpad.yaml`, read from stdin: `-`) * `--force` - Required when running non-interactively (default: `false`) -* `--disable-redact` - Do not hide sensitive information in the output -(default: `false`) -* `--confirm` - Request confirmation for every command to be run on the remote hosts -(default: `false`) ## Execute a command or run a remote terminal on a host @@ -95,10 +87,6 @@ The supported options are: The supported options are: * `--config` - Path to a cluster config file, including the filename (default: `launchpad.yaml`, read from stdin: `-`) -* `--disable-redact` - Do not hide sensitive information in the output -(default: `false`) -* `--confirm` - Request confirmation for every command to be run on the remote hosts -(default: `false`) * `[report name]` - Currently supported reports: `config`, `hosts`, `mke`, `msr` ## Register @@ -112,6 +100,7 @@ The supported options are: * `--name` - Name * `--email` - Email * `--company` - Company +* `--accept-license` - Accept the [end user license agreement](https://github.com/Mirantis/launchpad/blob/master/LICENSE) ## Generate shell auto-completions diff --git a/docs/configuration-file.md b/docs/configuration-file.md index d92c950..9963c7e 100644 --- a/docs/configuration-file.md +++ b/docs/configuration-file.md @@ -4,25 +4,24 @@ Mirantis Launchpad cluster configuration is described in YAML format. You can cr ## Configuration File Reference -The complete `launchpad.yaml` file looks something like this, but with values determined by your specific configuration. +An example `launchpad.yaml` file utilizing every possible configuration option. ```yaml -apiVersion: launchpad.mirantis.com/mke/v1.1 +apiVersion: launchpad.mirantis.com/mke/v1.3 kind: mke+msr metadata: name: launchpad-mke spec: hosts: - - address: 10.0.0.1 - role: manager + - role: manager hooks: apply: before: - ls -al > test.txt after: - cat test.txt - - rm test.txt ssh: + address: 10.0.0.1 user: root port: 22 keyPath: ~/.ssh/id_rsa @@ -30,14 +29,14 @@ spec: environment: http_proxy: http://example.com NO_PROXY: 10.0.0.* - engineConfig: + mcrConfig: debug: true log-opts: max-size: 10m max-file: "3" - - address: 10.0.0.2 - role: worker + - role: worker winRM: + address: 10.0.0.2 user: Administrator password: abcd1234 port: 5986 @@ -47,19 +46,19 @@ spec: caCertPath: ~/.certs/cacert.pem certPath: ~/.certs/cert.pem keyPath: ~/.certs/key.pem - - address: 10.0.0.3 - role: msr - imageDir: ./dtr-images + - role: msr + imageDir: ./msr-images ssh: + address: 10.0.0.3 user: root port: 22 keyPath: ~/.ssh/id_rsa - - address: 127.0.0.1 - role: worker - localhost: true + - role: worker + localhost: + enabled: true mke: - version: "3.3.3" - imageRepo: "docker.io/docker" + version: "3.3.7" + imageRepo: "docker.io/mirantis" adminUsername: admin adminPassword: "$MKE_ADMIN_PASSWORD" installFlags: @@ -76,14 +75,14 @@ spec: [Global] region=RegionOne msr: - version: 2.8.1 - imageRepo: "docker.io/docker" + version: 2.8.5 + imageRepo: "docker.io/mirantis" installFlags: - --dtr-external-url dtr.example.com - --ucp-insecure-tls replicaIDs: sequential - engine: - version: "19.03.8" + mcr: + version: "20.10.0" channel: stable repoURL: https://repos.mirantis.com installURLLinux: https://get.mirantis.com/ @@ -99,7 +98,7 @@ We follow Kubernetes-like versioning and grouping in launchpad configuration so When reading the configuration file, launchpad will replace any strings starting with a dollar sign with values from the local host's environment variables. Example: ```yaml -apiVersion: launchpad.mirantis.com/mke/v1.1 +apiVersion: launchpad.mirantis.com/mke/v1.3 kind: mke spec: mke: @@ -122,7 +121,7 @@ $$var | Escape expressions. Result will be $var. ## `apiVersion` -The latest API version is `launchpad.mirantis.com/mke/v1.1`, but earlier configuration file versions should still work without changes if you do not intend to use any of the added features of the current version. +The latest API version is `launchpad.mirantis.com/mke/v1.3`, but earlier configuration file versions should still work without changes if you do not intend to use any of the added features of the current version. ## `kind` @@ -141,7 +140,6 @@ The specification for the cluster. The machines that the cluster runs on. -- `address` - Address of the server that `launchpad` can connect to using the selected [connection](#host-connection-options) method - `privateInterface` - Private network address for the configured network interface (default: `eth0`) - `role` - Role of the machine in the cluster. Possible values are: @@ -149,7 +147,7 @@ interface (default: `eth0`) - `worker` - `msr` - `environment` - Key - value pairs in YAML mapping syntax. Values are updated to host environment (optional) -- `engineConfig` - Docker Engine configuration in YAML mapping syntax, will be converted to `daemon.json` (optional) +- `mcrConfig` - Mirantis Container Runtime configuration in YAML mapping syntax, will be converted to `daemon.json` (optional) - `hooks` - [Hooks](#hooks) configuration for running commands before or after stages (optional) - `imageDir` - Path to a directory containing `.tar`/`.tar.gz` files produced by `docker save`. The images from that directory will be uploaded and `docker load` is used to load them. @@ -157,12 +155,13 @@ interface (default: `eth0`) - `ssh` - [SSH](#ssh) Secure Shell (SSH) connection configuration options - `winRM` - [WinRM](#winrm) Windows Remote Management (WinRM) connection configuration options -- `localhost` - Target is the local host where launchpad is running (boolean, default: false) +- `localhost` - [Localhost)(#localhost) Target is the local host where launchpad is running ##### `ssh` SSH configuration options. +- `address` - SSH connection address - `user` - User to log in as (default: `root`) - `port` - Host's ssh port (default: `22`) - `keyPath` - A local file path to an ssh private key file (default `~/.ssh/id_rsa`) @@ -171,6 +170,7 @@ SSH configuration options. WinRM configuration options. +- `address` - WinRM connection address - `user` - Windows account username (default: `Administrator`) - `password` - User account password - `port` - Host's WinRM listening port (default: `5986`) @@ -181,6 +181,12 @@ WinRM configuration options. - `certPath` - Path to Certificate file (optional) - `keyPath` - Path to Key file (optional) +##### `localhost` + +Localhost connection configuration options. + +- `enabled` - Must be set to `true` to enable. + #### Hooks configuration options Host hooks can be used to have launchpad run commands on the host before or after operation stages. @@ -200,17 +206,20 @@ Host hooks can be used to have launchpad run commands on the host before or afte ### `mke` -Specify options for the MKE cluster itself. +Specify options for the MKE cluster. -- `version` - Which version of MKE we should install or upgrade to (default `3.3.3`) -- `imageRepo` - Which image repository we should use for MKE installation (default `docker.io/docker`) +- `version` - Which version of MKE we should install or upgrade to (default `3.3.7`) +- `imageRepo` - Which image repository we should use for MKE installation (default `docker.io/mirantis`) - `adminUsername` - MKE administrator username (default: `admin`) - `adminPassword`- MKE administrator password (default: auto-generate) -- `installFlags` - Custom installation flags for MKE installation. You can get a list of supported installation options for a specific MKE version by running the installer container with `docker run -t -i --rm docker/ucp:3.3.0 install --help`. (optional) +- `installFlags` - Custom installation flags for MKE installation. +- `upgradeFlags`- Custom upgrade flags for an MKE upgrade. You can get a list of supported installation options for a specific MKE version by running the installer container with `docker run -t -i --rm docker/ucp:3.3.7 upgrade --help`. (optional) - `licenseFilePath` - Optional. A path to Docker Enterprise license file. -- `configFile` - Optional. The initial full cluster [configuration file](https://docs.mirantis.com/docker-enterprise/v3.1/dockeree-products/ucp/ucp-configure/ucp-configuration-file.html). -- `configData` - Optional. The initial full cluster [configuration file](https://docs.mirantis.com/docker-enterprise/v3.1/dockeree-products/ucp/ucp-configure/ucp-configuration-file.html) in embedded "heredocs" way. Heredocs allows you to define a mulitiline string while maintaining the original formatting and indenting +- `configFile` - Optional. The initial full cluster [configuration file](https://docs.mirantis.com/containers/v3.1/dockeree-products/mke/mke-configure/mke-configuration-file.html). +- `configData` - Optional. The initial full cluster [configuration file](https://docs.mirantis.com/containers/v3.1/dockeree-products/mke/mke-configure/mke-configuration-file.html) in embedded "heredocs" syntax. Heredocs allows you to define a mulitiline string while maintaining the original formatting and indenting - `cloud` - Optional. Cloud provider configuration +- `swarmInstallFlags` - Custom flags for Swarm initialization (optional) +- `swarmUpdateCommands` - Custom commands to run after the Swarm initialization (optional) **Note:** The MKE installer will automatically generate an administrator password unless provided and it will be displayed in clear text in the output and persisted in the logs. The automatically generated password must be configured in the `launchpad.yaml` for any subsequent runs or they will fail. @@ -226,32 +235,33 @@ Cloud provider configuration. Specify options for the MSR cluster. -- `version` - Which version of MSR we should install or upgrade to (default `2.8.3`) +- `version` - Which version of MSR we should install or upgrade to (default `2.8.5`) - `imageRepo` - Which image repository we should use for MSR installation (default `docker.io/mirantis`) -- `installFlags` - Custom installation flags for MSR installation. You can get a list of supported installation options for a specific MSR version by running the installer container with `docker run -t -i --rm mirantis/dtr:2.8.3 install --help`. (optional) +- `installFlags` - Custom installation flags for MSR installation. You can get a list of supported installation options for a specific MSR version by running the installer container with `docker run -t -i --rm mirantis/dtr:2.8.5 install --help`. (optional) **Note**: `launchpad` will inherit the MKE flags which are needed by MSR to perform installation, joining and removal of nodes. There's no need to include the following install flags in the `installFlags` section of `msr`: - `--ucp-username` (inherited from MKE's `--admin-username` flag or `spec.mke.adminUsername`) - `--ucp-password` (inherited from MKE's `--admin-password` flag or `spec.mke.adminPassword`) - `--ucp-url` (inherited from MKE's `--san` flag or intelligently selected based on other configuration variables) +- `upgradeFlags`- Custom upgrade flags for an MSR upgrade. You can get a list of supported installation options for a specific MSR version by running the installer container with `docker run -t -i --rm docker/dtr:2.8.5 upgrade --help`. (optional) - `replicaIDs` - Set to `sequential` to generate sequential replica id's for cluster members, for example `000000000001`, `000000000002`, etc. (default: `random`) -### `engine` +### `mcr` - Specify options for Docker Engine - Enterprise to be installed +Specify options for the Mirantis Container Runtime. -- `version` - The version of engine that you want to install or upgraded to. (default `19.03.12`) +- `version` - The version of MCR you want to install or upgraded to. (default `20.10.0`) - `channel` - Installation channel to use. One of `test` or `prod` (optional) -- `repoURL` - Repository URL to use for engine installation. (optional) +- `repoURL` - Repository URL to use for MCR installation. (optional) - `installURLLinux` - Where to download the initial installer script for linux hosts. Local paths can also be used. (default: `https://get.mirantis.com/`) - `installURLWindows` - Where to download the initial installer script for windows hosts. Also local paths can be used. (default: `https://get.mirantis.com/install.ps1`) - **Note:** In most scenarios, you should not need to specify `repoUrl` and `installURLLinux/Windows`, which are only usually used when installing from a non-standard location like a disconnected datacenter. +**Note:** In most scenarios, you should not need to specify `repoUrl` and `installURLLinux/Windows`, which are only usually used when installing from a non-standard location like a disconnected datacenter. ### `cluster` - Specify options not specific to any of the individual components. +Specify options not specific to any of the individual components. - `prune` - Set to `true` to remove nodes that are known by the cluster but not listed in the `launchpad.yaml`. diff --git a/docs/getting-started.md b/docs/getting-started.md index 73da0e1..a750fba 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -80,7 +80,7 @@ The cluster is configured using [a yaml file](configuration-file.md). In this ex Open up your favorite editor, and type something similar to the example below. Once done, save the file as `launchpad.yaml`. Adjust the example below to meet your infrastructure requirements. This model should work to deploy hosts on most public clouds. ```yaml -apiVersion: launchpad.mirantis.com/mke/v1.1 +apiVersion: launchpad.mirantis.com/mke/v1.3 kind: mke metadata: name: mke-kube @@ -91,20 +91,20 @@ spec: installFlags: - --default-node-orchestrator=kubernetes hosts: - - address: 172.16.33.100 - role: manager + - role: manager ssh: + address: 172.16.33.100 keyPath: ~/.ssh/my_key - - address: 172.16.33.101 - role: worker + - role: worker ssh: + address: 172.16.33.101 keyPath: ~/.ssh/my_key ``` If you're deploying on VirtualBox or other desktop virtualization solution and are using ‘bridged’ networking, you’ll need to make a few minor adjustments to your launchpad.yaml (see below) — deliberately setting a –pod-cidr to ensure that pod IP addresses don’t overlap with node IP addresses (the latter are in the 192.168.x.x private IP network range on such a setup), and supplying appropriate labels for the target nodes’ private IP network cards using the privateInterface parameter (this typically defaults to ‘enp0s3’ on Ubuntu 18.04 — other Linux distributions use similar nomenclature). You may also need to set the username to use for logging into the host. ```yaml -apiVersion: launchpad.mirantis.com/mke/v1.1 +apiVersion: launchpad.mirantis.com/mke/v1.3 kind: mke metadata: name: my-mke @@ -116,15 +116,15 @@ spec: - --default-node-orchestrator=kubernetes - --pod-cidr 10.0.0.0/16 hosts: - - address: 192.168.110.100 - role: manager + - role: manager ssh: + address: 192.168.110.100 keyPath: ~/.ssh/id_rsa user: theuser privateInterface: enp0s3 - - address: 192.168.110.101 - role: worker + - role: worker ssh: + address: 192.168.110.101 keyPath: ~/.ssh/id_rsa user: theuser privateInterface: enp0s3 diff --git a/docs/host-configuration.md b/docs/host-configuration.md index c15a65c..43716ff 100644 --- a/docs/host-configuration.md +++ b/docs/host-configuration.md @@ -33,13 +33,13 @@ This can be done by defining Docker engine configuration in launchpad.yaml, for spec: hosts: - - address: 192.168.110.100 - role: manager + - role: manager ssh: + address: 192.168.110.100 keyPath: ~/.ssh/id_rsa user: theuser privateInterface: enp0s3 - engineConfig: + mcrConfig: log-driver: json-file log-opts: max-size: "10m" diff --git a/docs/integrations.md b/docs/integrations.md index 51d0790..0f3f05f 100644 --- a/docs/integrations.md +++ b/docs/integrations.md @@ -10,8 +10,8 @@ When using cloud environments many people use [Terraform](https://www.terraform. locals { managers = [ for host in module.masters.machines : { - address = host.public_ip ssh = { + address = host.public_ip user = "ubuntu" keyPath = "./ssh_keys/${var.cluster_name}.pem" } @@ -21,8 +21,8 @@ locals { ] workers = [ for host in module.workers.machines : { - address = host.public_ip ssh = { + address = host.public_ip user = "ubuntu" keyPath = "./ssh_keys/${var.cluster_name}.pem" } @@ -32,8 +32,8 @@ locals { ] windows_workers = [ for host in module.windows_workers.machines : { - address = host.public_ip winRM = { + address = host.public_ip user = "Administrator" password = var.windows_administrator_password useHTTPS = true @@ -44,7 +44,7 @@ locals { } ] launchpad_tmpl = { - apiVersion = "launchpad.mirantis.com/mke/v1.1" + apiVersion = "launchpad.mirantis.com/mke/v1.3" kind = "mke" spec = { mke = { diff --git a/docs/networking-considerations.md b/docs/networking-considerations.md index d5e5dc2..a481619 100644 --- a/docs/networking-considerations.md +++ b/docs/networking-considerations.md @@ -29,8 +29,8 @@ A more secure way to manage networking is to connect your deployer machine to yo #### More deliberate network security -If you intend to deploy a cluster for longer-term evaluation, it makes sense to secure it more deliberately. In this case, a certain range of ports will need to be opened on hosts. See [MKE documentation](https://docs.mirantis.com/docker-enterprise/v3.1/dockeree-products/ucp/install-ucp.html#ports-used) for more details. +If you intend to deploy a cluster for longer-term evaluation, it makes sense to secure it more deliberately. In this case, a certain range of ports will need to be opened on hosts. See [MKE documentation](https://docs.mirantis.com/containers/v3.1/dockeree-products/mke/install-mke.html#ports-used) for more details. #### Using DNS -Launchpad can deploy certificate bundles obtained from a certificate provider to authenticate your cluster. These can be used in combination with DNS to let you reach your cluster securely on a fully-qualified domain name (FQDN). See [MKE documentation](https://docs.mirantis.com/docker-enterprise/v3.1/dockeree-products/ucp/ucp-configure/add-sans-to-cluster-certs.html) for more information. +Launchpad can deploy certificate bundles obtained from a certificate provider to authenticate your cluster. These can be used in combination with DNS to let you reach your cluster securely on a fully-qualified domain name (FQDN). See [MKE documentation](https://docs.mirantis.com/containers/v3.1/dockeree-products/mke/mke-configure/add-sans-to-cluster-certs.html) for more information. diff --git a/docs/system-requirements.md b/docs/system-requirements.md index b67ba77..309be48 100644 --- a/docs/system-requirements.md +++ b/docs/system-requirements.md @@ -15,9 +15,14 @@ MKE can be installed on the following operating systems. * CentOS 7 * CentOS 8 -* Ubuntu 18.04.x -* Redhat Enterprise Linux 7.x -* Redhat Enterprise Linux 8.x +* Oracle Linux 7 +* Oracle Linux 8 +* Redhat Enterprise Linux 7 +* Redhat Enterprise Linux 8 +* SUSE Linux Enterprise Server 12 +* SUSE Linux Enterprise Server 15 +* Ubuntu 18.04 +* Ubuntu 20.04 * Windows Server 2019 ### Hardware Requirements @@ -81,5 +86,5 @@ As an alternative to SSH, you can use [WinRM](https://docs.microsoft.com/en-us/w ### Ports Used -When installing a MKE cluster, a series of ports need to be opened to incoming traffic. See [MKE documentation](https://docs.mirantis.com/docker-enterprise/v3.1/dockeree-products/ucp/install-ucp.html#ports-used) for more details. +When installing a MKE cluster, a series of ports need to be opened to incoming traffic. See [MKE documentation](https://docs.mirantis.com/containers/v3.1/dockeree-products/mke/install-mke.html#ports-used) for more details. diff --git a/docs/upgrades.md b/docs/upgrades.md index a83abf7..d32b22f 100644 --- a/docs/upgrades.md +++ b/docs/upgrades.md @@ -2,49 +2,51 @@ Mirantis Launchpad allows users to upgrade their clusters with the `launchpad apply` reconciliation command. The tool itself will discover the current state of the cluster and all it's components and will upgrade what is needed. -## Upgrading Docker Engine - Enterprise +## Upgrading Mirantis Container Runtime -To upgrade Docker Engine - Enterprise, change the engine version in the `launchpad.yaml` file. +To upgrade Mirantis Container Runtime, change the MCR version in the `launchpad.yaml` file. ```yaml -apiVersion: launchpad.mirantis.com/mke/v1.1 +apiVersion: launchpad.mirantis.com/mke/v1.3 kind: mke metadata: name: launchpad-mke spec: hosts: - - address: 10.0.0.1 - role: manager - engine: - version: 19.03.12 # was previously 19.03.8 + - role: manager + ssh: + address: 10.0.0.1 + mcr: + version: 20.10.0 ``` -After you update `launchpad.yaml`, you can run `launchpad apply`. Launchpad will upgrade the engine on all hosts in a specific sequence. +After you update `launchpad.yaml`, you can run `launchpad apply`. Launchpad will upgrade the container runtime on all hosts in a specific sequence. -1. Upgrade the engine on each manager node one-by-one. This means that if you have more than one manager node, the other manager nodes are available while the first node is updated. +1. Upgrade the container runtime on each manager node one-by-one. This means that if you have more than one manager node, the other manager nodes are available while the first node is updated. -2. After the first manager node is updated and running again, the second is updated, and so on until all of the manager nodes are running the new version of the engine. +2. After the first manager node is updated and running again, the second is updated, and so on until all of the manager nodes are running the new version of the container runtime. -3. 10% of worker nodes are updated at a time until all of the worker nodes are running the new version of engine. +3. 10% of worker nodes are updated at a time until all of the worker nodes are running the new version of the container runtime. -## Upgrading MKE, MSR or Docker Engine - Enterprise +## Upgrading MKE, MSR or MCR -When a newer version of MKE, MSR or Docker Engine - Enterprise is available you can upgrade to it by changing the version tags in the `launchpad.yaml`: +When a newer version of MKE, MSR or MCR is available you can upgrade to it by changing the version tags in the `launchpad.yaml`: ```yaml -apiVersion: launchpad.mirantis.com/mke/v1.1 +apiVersion: launchpad.mirantis.com/mke/v1.3 kind: mke+msr metadata: name: launchpad-mke spec: hosts: - - address: 10.0.0.1 - role: manager + - role: manager + ssh: + address: 10.0.0.1 mke: - version: 3.3.1 + version: 3.3.7 msr: - version: 2.8.1 - engine: - version: 19.03.12 + version: 2.8.5 + mcr: + version: 20.10.0 ``` 1. Update the version tags and save `launchpad.yaml`. @@ -53,11 +55,11 @@ spec: 3. Launchpad connects to the nodes gets the current version of each component. -4. Launchpad upgrades each node as described in the "Upgrading Docker Engine - Enterprise" section. This may take several minutes. +4. Launchpad upgrades each node as described in the "Upgrading Mirantis Container Runtime" section. This may take several minutes. **Note:** MKE and MSR upgrade paths require consecutive minor versions. For example, you cannot upgrade from MKE 3.1.0 to 3.3.0; you must upgrade from MKE 3.1.0 to 3.2.0 first. -## Upgrading Docker Engine - Enterprise, MKE, and MSR together +## Upgrading MCR, MKE and MSR together You can upgrade all of the components -- engine, MKE, and MSR -- at the same time. @@ -65,7 +67,7 @@ You can upgrade all of the components -- engine, MKE, and MSR -- at the same tim 2. Run the `launchpad apply` command. -3. Launchpad upgrades the engines on all the nodes as described in the "Upgrading Docker Engine - Enterprise" section. +3. Launchpad upgrades the container runtimes on all the nodes as described in the "Upgrading Mirantis Container Runtime" section. 4. Launchpad upgrades MKE on all nodes. diff --git a/examples/terraform/aws/main.tf b/examples/terraform/aws/main.tf index 42a8d2d..681527f 100644 --- a/examples/terraform/aws/main.tf +++ b/examples/terraform/aws/main.tf @@ -73,8 +73,8 @@ module "windows_workers" { locals { managers = [ for host in module.masters.machines : { - address = host.public_ip ssh = { + address = host.public_ip user = "ubuntu" keyPath = "./ssh_keys/${var.cluster_name}.pem" } @@ -84,8 +84,8 @@ locals { ] msrs = [ for host in module.msrs.machines : { - address = host.public_ip ssh = { + address = host.public_ip user = "ubuntu" keyPath = "./ssh_keys/${var.cluster_name}.pem" } @@ -95,8 +95,8 @@ locals { ] workers = [ for host in module.workers.machines : { - address = host.public_ip ssh = { + address = host.public_ip user = "ubuntu" keyPath = "./ssh_keys/${var.cluster_name}.pem" } @@ -106,8 +106,8 @@ locals { ] windows_workers = [ for host in module.windows_workers.machines : { - address = host.public_ip winRM = { + address = host.public_ip user = "Administrator" password = var.windows_administrator_password useHTTPS = true @@ -118,7 +118,7 @@ locals { } ] mke_launchpad_tmpl = { - apiVersion = "launchpad.mirantis.com/mke/v1.1" + apiVersion = "launchpad.mirantis.com/mke/v1.3" kind = "mke" spec = { mke = { @@ -136,7 +136,7 @@ locals { msr_launchpad_tmpl = { - apiVersion = "launchpad.mirantis.com/mke/v1.1" + apiVersion = "launchpad.mirantis.com/mke/v1.3" kind = "mke+msr" spec = { mke = { diff --git a/examples/terraform/azure/main.tf b/examples/terraform/azure/main.tf index 760ae8c..31d8610 100644 --- a/examples/terraform/azure/main.tf +++ b/examples/terraform/azure/main.tf @@ -76,8 +76,8 @@ module "windows_workers" { locals { managers = [ for ip in module.masters.public_ips : { - address = ip ssh = { + address = ip user = "ubuntu" keyPath = "./ssh_keys/${var.cluster_name}.pem" } @@ -87,8 +87,8 @@ locals { ] workers = [ for ip in module.workers.public_ips : { - address = ip ssh = { + address = ip user = "ubuntu" keyPath = "./ssh_keys/${var.cluster_name}.pem" } @@ -98,8 +98,8 @@ locals { ] windows_workers = [ for ip in module.windows_workers.public_ips : { - address = ip winRM = { + address = ip user = var.windows_admin_username password = module.windows_workers.windows_password useHTTPS = true @@ -113,7 +113,7 @@ locals { locals { launchpad_tmpl = { - apiVersion = "launchpad.mirantis.com/mke/v1.1" + apiVersion = "launchpad.mirantis.com/mke/v1.3" kind = "mke" metadata = { name = var.cluster_name diff --git a/examples/terraform/hetzner/main.tf b/examples/terraform/hetzner/main.tf index fe2152a..fe88890 100644 --- a/examples/terraform/hetzner/main.tf +++ b/examples/terraform/hetzner/main.tf @@ -68,13 +68,13 @@ resource "hcloud_server" "worker" { locals { launchpad_tmpl = { - apiVersion = "launchpad.mirantis.com/mke/v1.1" + apiVersion = "launchpad.mirantis.com/mke/v1.3" kind = "mke" spec = { hosts = [ for host in concat(hcloud_server.master, hcloud_server.worker) : { - address = host.ipv4_address ssh = { + address = host.ipv4_address user = "root" } role = host.labels.role diff --git a/examples/terraform/openstack/output.tf b/examples/terraform/openstack/output.tf index 5c78553..4ae1d8b 100644 --- a/examples/terraform/openstack/output.tf +++ b/examples/terraform/openstack/output.tf @@ -1,15 +1,15 @@ locals { managers = [ for ip in module.masters.public_ips : { - address = ip ssh: { + address = ip user = "ubuntu" keyPath = "./ssh_keys/${var.cluster_name}" port = 22 } role = "manager" privateInterface = "ens3" - engineConfig: { + mcrConfig: { bip: "${var.docker_int_net}" default-address-pools: { base: "${var.docker_default_address_pool}" @@ -23,15 +23,15 @@ locals { ] workers = [ for ip in module.workers.public_ips : { - address = ip ssh: { + address = ip user = "ubuntu" keyPath = "./ssh_keys/${var.cluster_name}" port = 22 } role = "worker" privateInterface = "ens3" - engineConfig: { + mcrConfig: { bip: "${var.docker_int_net}" default-address-pools: { base: "${var.docker_default_address_pool}" @@ -44,7 +44,7 @@ locals { } ] launchpad_tmpl = { - apiVersion = "launchpad.mirantis.com/mke/v1.1" + apiVersion = "launchpad.mirantis.com/mke/v1.3" kind = "mke" metadata = { name = "mkecluster" @@ -64,7 +64,7 @@ locals { configFile = var.provider_config_file_path } } - engine = { + mcr = { version = var.docker_engine_version channel = "stable" repoURL = "https://repos.mirantis.com" diff --git a/examples/terraform/vmware/outputs.tf b/examples/terraform/vmware/outputs.tf index 4a354b3..855e1c0 100644 --- a/examples/terraform/vmware/outputs.tf +++ b/examples/terraform/vmware/outputs.tf @@ -1,10 +1,10 @@ locals { managers = [ for host in module.managers.machines : { - address = host.default_ip_address role = "manager" privateInterface = "ens5" # Is this supposed to be a constant? ssh = { + address = host.default_ip_address user = "ubuntu" # "TODO: Probably make this a variable" keyPath = var.ssh_private_key_file } @@ -12,10 +12,10 @@ locals { ] workers = [ for host in module.workers.machines : { - address = host.default_ip_address role = "worker" privateInterface = "ens5" # Is this supposed to be a constant? ssh = { + address = host.default_ip_address user = "ubuntu" # "TODO: Probably make this a variable" keyPath = var.ssh_private_key_file } @@ -23,17 +23,17 @@ locals { ] # workers_windows = [ # for host in module.workers_windows.machines : { - # address = host.public_ip # role = "worker" # privateInterface = "Ethernet 2" # Is this supposed to be a constant? # ssh = { + # address = host.public_ip # user = "administrator" # "TODO: Probably make this a variable" # keyPath = var.ssh_private_key_file # } # } # ] launchpad_tmpl = { - apiVersion = "launchpad.mirantis.com/mke/v1.1" + apiVersion = "launchpad.mirantis.com/mke/v1.3" kind = "mke" spec = { mke = {