diff --git a/.github/workflows/terraform.yml b/.github/workflows/terraform.yml
index ad20032..2743a0e 100644
--- a/.github/workflows/terraform.yml
+++ b/.github/workflows/terraform.yml
@@ -41,3 +41,17 @@ jobs:
# Validates the Terraform configuration files
- name: Terraform Validate
run: terraform validate
+
+ - name: Setup go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.17.6
+
+ - name: Setup terraform-docs
+ run: go install github.com/terraform-docs/terraform-docs@v0.16.0
+
+ - name: Validate if terraform-docs generated README.md is up to date
+ run: terraform-docs -c ../.terraform-docs-readme.yml . --output-check
+
+ - name: Validate if terraform-docs generated terraform.tfvars.example is up to date
+ run: terraform-docs -c ../.terraform-docs-tfvars.yml . --output-check
diff --git a/.terraform-docs-readme.yml b/.terraform-docs-readme.yml
new file mode 100644
index 0000000..3467a9c
--- /dev/null
+++ b/.terraform-docs-readme.yml
@@ -0,0 +1,11 @@
+formatter: markdown table
+
+output:
+ file: README.md
+ mode: inject
+
+sort:
+ by: required
+
+settings:
+ description: true
\ No newline at end of file
diff --git a/.terraform-docs-tfvars.yml b/.terraform-docs-tfvars.yml
new file mode 100644
index 0000000..b2bf0be
--- /dev/null
+++ b/.terraform-docs-tfvars.yml
@@ -0,0 +1,13 @@
+formatter: tfvars hcl
+
+output:
+ file: terraform.tfvars.example
+ mode: replace
+ template: |-
+ {{ .Content }}
+
+sort:
+ by: required
+
+settings:
+ description: true
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 7f263b2..f001961 100644
--- a/Makefile
+++ b/Makefile
@@ -1,15 +1,32 @@
-PROVIDERS = aws azure do gcp hcloud linode scw
+PROVIDERS = rancher-common aws azure do gcp hcloud linode scw
+
upgrade-targets = $(addprefix upgrade-, $(PROVIDERS))
+docs-targets = $(addprefix docs-, $(PROVIDERS))
+tfvars-targets = $(addprefix tfvars-, $(PROVIDERS))
+fmt-targets = $(addprefix fmt-, $(PROVIDERS))
+validate-targets = $(addprefix validate-, $(PROVIDERS))
upgrade: $(upgrade-targets)
-
$(upgrade-targets): upgrade-%: %
cd $< && terraform init -upgrade
+docs: $(docs-targets)
+$(docs-targets): docs-%: %
+ cd $< && terraform-docs -c ../.terraform-docs-readme.yml .
+
+tfvars: $(tfvars-targets)
+$(tfvars-targets): tfvars-%: %
+ cd $< && terraform-docs -c ../.terraform-docs-tfvars.yml .
+
+fmt: $(fmt-targets)
+$(fmt-targets): fmt-%: %
+ cd $< && terraform fmt
+
+validate: $(validate-targets)
+$(validate-targets): validate-%: %
+ cd $< && terraform validate
+
.PHONY: test
test:
cd test/ && go test -v -timeout 45m
-.PHONY: fmt
-fmt:
- terraform fmt -recursive
diff --git a/aws/README.md b/aws/README.md
index 78dca94..0fbe6f4 100644
--- a/aws/README.md
+++ b/aws/README.md
@@ -4,59 +4,71 @@ Two single-node RKE Kubernetes clusters will be created from two EC2 instances r
Both instances will have wide-open security groups and will be accessible over SSH using the SSH keys
`id_rsa` and `id_rsa.pub`.
-## Variables
+
+## Requirements
-###### `aws_access_key`
-- **Required**
-AWS access key used to create infrastructure
+| Name | Version |
+|------|---------|
+| [terraform](#requirement\_terraform) | >= 1.0.0 |
+| [aws](#requirement\_aws) | 3.68.0 |
+| [local](#requirement\_local) | 2.1.0 |
+| [tls](#requirement\_tls) | 3.1.0 |
-###### `aws_secret_key`
-- **Required**
-AWS secret key used to create AWS infrastructure
+## Providers
-###### `aws_region`
-- Default: **`"us-east-1"`**
-AWS region used for all resources
+| Name | Version |
+|------|---------|
+| [aws](#provider\_aws) | 3.68.0 |
+| [local](#provider\_local) | 2.1.0 |
+| [tls](#provider\_tls) | 3.1.0 |
-###### `prefix`
-- Default: **`"quickstart"`**
-Prefix added to names of all resources
+## Modules
-###### `instance_type`
-- Default: **`"t3a.medium"`**
-Instance type used for all EC2 instances
+| Name | Source | Version |
+|------|--------|---------|
+| [rancher\_common](#module\_rancher\_common) | ../rancher-common | n/a |
-###### `docker_version`
-- Default: **`"19.03"`**
-Docker version to install on nodes
+## Resources
-###### `rancher_kubernetes_version`
-- Default: **`"v1.21.8+k3s1"`**
-Kubernetes version to use for Rancher server cluster
+| Name | Type |
+|------|------|
+| [aws_instance.quickstart_node](https://registry.terraform.io/providers/hashicorp/aws/3.68.0/docs/resources/instance) | resource |
+| [aws_instance.quickstart_node_win](https://registry.terraform.io/providers/hashicorp/aws/3.68.0/docs/resources/instance) | resource |
+| [aws_instance.rancher_server](https://registry.terraform.io/providers/hashicorp/aws/3.68.0/docs/resources/instance) | resource |
+| [aws_key_pair.quickstart_key_pair](https://registry.terraform.io/providers/hashicorp/aws/3.68.0/docs/resources/key_pair) | resource |
+| [aws_security_group.rancher_sg_allowall](https://registry.terraform.io/providers/hashicorp/aws/3.68.0/docs/resources/security_group) | resource |
+| [local_file.ssh_private_key_pem](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [local_file.ssh_public_key_openssh](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [tls_private_key.global_key](https://registry.terraform.io/providers/hashicorp/tls/3.1.0/docs/resources/private_key) | resource |
+| [aws_ami.sles](https://registry.terraform.io/providers/hashicorp/aws/3.68.0/docs/data-sources/ami) | data source |
+| [aws_ami.windows](https://registry.terraform.io/providers/hashicorp/aws/3.68.0/docs/data-sources/ami) | data source |
-See `rancher-common` module variable `rancher_kubernetes_version` for more details.
+## Inputs
-###### `workload_kubernetes_version`
-- Default: **`"v1.20.6-rancher1-1"`**
-Kubernetes version to use for managed workload cluster
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [aws\_access\_key](#input\_aws\_access\_key) | AWS access key used to create infrastructure | `string` | n/a | yes |
+| [aws\_secret\_key](#input\_aws\_secret\_key) | AWS secret key used to create AWS infrastructure | `string` | n/a | yes |
+| [rancher\_server\_admin\_password](#input\_rancher\_server\_admin\_password) | Admin password to use for Rancher server bootstrap | `string` | n/a | yes |
+| [add\_windows\_node](#input\_add\_windows\_node) | Add a windows node to the workload cluster | `bool` | `false` | no |
+| [aws\_region](#input\_aws\_region) | AWS region used for all resources | `string` | `"us-east-1"` | no |
+| [aws\_session\_token](#input\_aws\_session\_token) | AWS session token used to create AWS infrastructure | `string` | `""` | no |
+| [cert\_manager\_version](#input\_cert\_manager\_version) | Version of cert-manager to install alongside Rancher (format: 0.0.0) | `string` | `"1.5.3"` | no |
+| [docker\_version](#input\_docker\_version) | Docker version to install on nodes | `string` | `"19.03"` | no |
+| [instance\_type](#input\_instance\_type) | Instance type used for all EC2 instances | `string` | `"t3a.medium"` | no |
+| [prefix](#input\_prefix) | Prefix added to names of all resources | `string` | `"quickstart"` | no |
+| [rancher\_kubernetes\_version](#input\_rancher\_kubernetes\_version) | Kubernetes version to use for Rancher server cluster | `string` | `"v1.21.8+k3s1"` | no |
+| [rancher\_version](#input\_rancher\_version) | Rancher server version (format: v0.0.0) | `string` | `"v2.6.3"` | no |
+| [windows\_instance\_type](#input\_windows\_instance\_type) | Instance type used for all EC2 windows instances | `string` | `"t3a.large"` | no |
+| [workload\_kubernetes\_version](#input\_workload\_kubernetes\_version) | Kubernetes version to use for managed workload cluster | `string` | `"v1.20.6-rancher1-1"` | no |
-See `rancher-common` module variable `workload_kubernetes_version` for more details.
-
-###### `cert_manager_version`
-- Default: **`"1.5.3"`**
-Version of cert-manager to install alongside Rancher (format: 0.0.0)
-
-See `rancher-common` module variable `cert_manager_version` for more details.
-
-###### `rancher_version`
-- Default: **`"v2.6.3"`**
-Rancher server version (format v0.0.0)
-
-See `rancher-common` module variable `rancher_version` for more details.
-
-###### `rancher_server_admin_password`
-- **Required**
-Admin password to use for Rancher server bootstrap
-
-See `rancher-common` module variable `admin_password` for more details.
+## Outputs
+| Name | Description |
+|------|-------------|
+| [rancher\_node\_ip](#output\_rancher\_node\_ip) | n/a |
+| [rancher\_server\_url](#output\_rancher\_server\_url) | n/a |
+| [windows-workload-ips](#output\_windows-workload-ips) | n/a |
+| [windows\_password](#output\_windows\_password) | Returns the decrypted AWS generated windows password |
+| [workload\_node\_ip](#output\_workload\_node\_ip) | n/a |
+
diff --git a/aws/terraform.tfvars.example b/aws/terraform.tfvars.example
index 5a3e9df..208c9ca 100644
--- a/aws/terraform.tfvars.example
+++ b/aws/terraform.tfvars.example
@@ -1,50 +1,42 @@
-# Required variables
-# - Fill in before beginning quickstart
-# ==========================================================
-# AWS Access Key
+# AWS access key used to create infrastructure
aws_access_key = ""
-# AWS Secret Key
+# AWS secret key used to create AWS infrastructure
aws_secret_key = ""
-# AWS Session Key
-# aws_session_token = ""
-
-# Password used to log in to the `admin` account on the new Rancher server
-# - Must be at least 12 characters
+# Admin password to use for Rancher server bootstrap
rancher_server_admin_password = ""
# Add a windows node to the workload cluster
add_windows_node = false
-# Optional variables, uncomment to customize the quickstart
-# ----------------------------------------------------------
+# AWS region used for all resources
+aws_region = "us-east-1"
-# AWS region for all resources
-# aws_region = ""
+# AWS session token used to create AWS infrastructure
+aws_session_token = ""
-# Prefix for all resources created by quickstart
-# prefix = ""
+# Version of cert-manager to install alongside Rancher (format: 0.0.0)
+cert_manager_version = "1.5.3"
-# EC2 instance size of all created instances
-# instance_type = ""
+# Docker version to install on nodes
+docker_version = "19.03"
-# Docker version installed on target hosts
-# - Must be a version supported by the Rancher install scripts
-# docker_version = ""
+# Instance type used for all EC2 instances
+instance_type = "t3a.medium"
-# Kubernetes version used for creating management server cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# rancher_kubernetes_version = ""
+# Prefix added to names of all resources
+prefix = "quickstart"
-# Kubernetes version used for creating workload cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# workload_kubernetes_version = ""
+# Kubernetes version to use for Rancher server cluster
+rancher_kubernetes_version = "v1.21.8+k3s1"
-# Version of cert-manager to install, used in case of older Rancher versions
-# cert_manager_version = ""
+# Rancher server version (format: v0.0.0)
+rancher_version = "v2.6.3"
-# Version of Rancher to install
-# rancher_version = ""
+# Instance type used for all EC2 windows instances
+windows_instance_type = "t3a.large"
+# Kubernetes version to use for managed workload cluster
+workload_kubernetes_version = "v1.20.6-rancher1-1"
\ No newline at end of file
diff --git a/azure/README.md b/azure/README.md
index 2a3efd9..8b3054b 100644
--- a/azure/README.md
+++ b/azure/README.md
@@ -4,67 +4,77 @@ Two single-node RKE Kubernetes clusters will be created from two linux virtual i
Both instances will have wide-open security groups and will be accessible over SSH using the SSH keys
`id_rsa` and `id_rsa.pub`.
-## Variables
+
+## Requirements
-###### `azure_subscription_id`
-- **Required**
-Azure subscription id to which the resources are billed
+| Name | Version |
+|------|---------|
+| [terraform](#requirement\_terraform) | >= 1.0.0 |
+| [azurerm](#requirement\_azurerm) | 2.88.1 |
+| [local](#requirement\_local) | 2.1.0 |
+| [tls](#requirement\_tls) | 3.1.0 |
-###### `azure_client_id`
-- **Required**
-Azure client id associated with the provisioned resources
+## Providers
-##### `azure_client_secret`
-- **Required**
-Azure client secret used to authenticate the azure client id
+| Name | Version |
+|------|---------|
+| [azurerm](#provider\_azurerm) | 2.88.1 |
+| [local](#provider\_local) | 2.1.0 |
+| [tls](#provider\_tls) | 3.1.0 |
-##### `azure_tenant_id`
-- **Required**
-Azure tenant id (active directory instance) under which the resources will exist
+## Modules
-###### `azure_location`
-- Default: **`"East US"`**
-Azure location used for all resources
+| Name | Source | Version |
+|------|--------|---------|
+| [rancher\_common](#module\_rancher\_common) | ../rancher-common | n/a |
-###### `prefix`
-- Default: **`"quickstart"`**
-Prefix added to names of all resources
+## Resources
-###### `instance_type`
-- Default: **`"Standard_DS2_v2"`**
-Instance type used for all linux virtual instances
+| Name | Type |
+|------|------|
+| [azurerm_linux_virtual_machine.quickstart-node](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/linux_virtual_machine) | resource |
+| [azurerm_linux_virtual_machine.rancher_server](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/linux_virtual_machine) | resource |
+| [azurerm_network_interface.quickstart-node-interface](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/network_interface) | resource |
+| [azurerm_network_interface.quickstart-windows-node-interface](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/network_interface) | resource |
+| [azurerm_network_interface.rancher-server-interface](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/network_interface) | resource |
+| [azurerm_public_ip.quickstart-node-pip](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/public_ip) | resource |
+| [azurerm_public_ip.quickstart-windows-node-pip](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/public_ip) | resource |
+| [azurerm_public_ip.rancher-server-pip](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/public_ip) | resource |
+| [azurerm_resource_group.rancher-quickstart](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/resource_group) | resource |
+| [azurerm_subnet.rancher-quickstart-internal](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/subnet) | resource |
+| [azurerm_virtual_machine_extension.join-rancher](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/virtual_machine_extension) | resource |
+| [azurerm_virtual_network.rancher-quickstart](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/virtual_network) | resource |
+| [azurerm_windows_virtual_machine.quickstart-windows-node](https://registry.terraform.io/providers/hashicorp/azurerm/2.88.1/docs/resources/windows_virtual_machine) | resource |
+| [local_file.ssh_private_key_pem](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [local_file.ssh_public_key_openssh](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [tls_private_key.global_key](https://registry.terraform.io/providers/hashicorp/tls/3.1.0/docs/resources/private_key) | resource |
-###### `docker_version`
-- Default: **`"19.03"`**
-Docker version to install on nodes
+## Inputs
-###### `rancher_kubernetes_version`
-- Default: **`"v1.21.8+k3s1"`**
-Kubernetes version to use for Rancher server cluster
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [azure\_client\_id](#input\_azure\_client\_id) | Azure client id used to create resources | `string` | n/a | yes |
+| [azure\_client\_secret](#input\_azure\_client\_secret) | Client secret used to authenticate with Azure apis | `string` | n/a | yes |
+| [azure\_subscription\_id](#input\_azure\_subscription\_id) | Azure subscription id under which resources will be provisioned | `string` | n/a | yes |
+| [azure\_tenant\_id](#input\_azure\_tenant\_id) | Azure tenant id used to create resources | `string` | n/a | yes |
+| [rancher\_server\_admin\_password](#input\_rancher\_server\_admin\_password) | Admin password to use for Rancher server bootstrap | `string` | n/a | yes |
+| [windows\_admin\_password](#input\_windows\_admin\_password) | Admin password to use for the Windows VM | `string` | n/a | yes |
+| [add\_windows\_node](#input\_add\_windows\_node) | Add a windows node to the workload cluster | `bool` | `false` | no |
+| [azure\_location](#input\_azure\_location) | Azure location used for all resources | `string` | `"East US"` | no |
+| [cert\_manager\_version](#input\_cert\_manager\_version) | Version of cert-manager to install alongside Rancher (format: 0.0.0) | `string` | `"1.5.3"` | no |
+| [docker\_version](#input\_docker\_version) | Docker version to install on nodes | `string` | `"19.03"` | no |
+| [instance\_type](#input\_instance\_type) | Instance type used for all linux virtual machines | `string` | `"Standard_DS2_v2"` | no |
+| [prefix](#input\_prefix) | Prefix added to names of all resources | `string` | `"quickstart"` | no |
+| [rancher\_kubernetes\_version](#input\_rancher\_kubernetes\_version) | Kubernetes version to use for Rancher server cluster | `string` | `"v1.21.8+k3s1"` | no |
+| [rancher\_version](#input\_rancher\_version) | Rancher server version (format: v0.0.0) | `string` | `"v2.6.3"` | no |
+| [workload\_kubernetes\_version](#input\_workload\_kubernetes\_version) | Kubernetes version to use for managed workload cluster | `string` | `"v1.20.6-rancher1-1"` | no |
-See `rancher-common` module variable `rancher_kubernetes_version` for more details.
-
-###### `workload_kubernetes_version`
-- Default: **`"v1.20.6-rancher1-1"`**
-Kubernetes version to use for managed workload cluster
-
-See `rancher-common` module variable `workload_kubernetes_version` for more details.
-
-###### `cert_manager_version`
-- Default: **`"1.5.3"`**
-Version of cert-manager to install alongside Rancher (format: 0.0.0)
-
-See `rancher-common` module variable `cert_manager_version` for more details.
-
-###### `rancher_version`
-- Default: **`"v2.6.3"`**
-Rancher server version (format v0.0.0)
-
-See `rancher-common` module variable `rancher_version` for more details.
-
-###### `rancher_server_admin_password`
-- **Required**
-Admin password to use for Rancher server bootstrap
-
-See `rancher-common` module variable `admin_password` for more details.
+## Outputs
+| Name | Description |
+|------|-------------|
+| [rancher\_node\_ip](#output\_rancher\_node\_ip) | n/a |
+| [rancher\_server\_url](#output\_rancher\_server\_url) | n/a |
+| [windows-workload-ips](#output\_windows-workload-ips) | n/a |
+| [workload\_node\_ip](#output\_workload\_node\_ip) | n/a |
+
diff --git a/azure/terraform.tfvars.example b/azure/terraform.tfvars.example
index 2abc07b..52e0416 100644
--- a/azure/terraform.tfvars.example
+++ b/azure/terraform.tfvars.example
@@ -1,56 +1,45 @@
-# Required variables
-# - Fill in before beginning quickstart
-# ==========================================================
-# Azure Subscription ID
-azure_subscription_id = ""
-
-# Azure Client ID
+# Azure client id used to create resources
azure_client_id = ""
-# Azure Client Secret
+# Client secret used to authenticate with Azure apis
azure_client_secret = ""
-# Azure Tenant ID
+# Azure subscription id under which resources will be provisioned
+azure_subscription_id = ""
+
+# Azure tenant id used to create resources
azure_tenant_id = ""
-# Password used to log in to the `admin` account on the new Rancher server
-# - Must be at least 12 characters
+# Admin password to use for Rancher server bootstrap
rancher_server_admin_password = ""
-# Add a windows node to the workload cluster
-add_windows_node = false
-
# Admin password to use for the Windows VM
windows_admin_password = ""
-# Optional variables, uncomment to customize the quickstart
-# ----------------------------------------------------------
+# Add a windows node to the workload cluster
+add_windows_node = false
-# Azure location for all resources
-# azure_location = ""
+# Azure location used for all resources
+azure_location = "East US"
-# Prefix for all resources created by quickstart
-# prefix = ""
+# Version of cert-manager to install alongside Rancher (format: 0.0.0)
+cert_manager_version = "1.5.3"
-# Azure virtual machine instance size of all created instances
-# instance_type = ""
+# Docker version to install on nodes
+docker_version = "19.03"
-# Docker version installed on target hosts
-# - Must be a version supported by the Rancher install scripts
-# docker_version = ""
+# Instance type used for all linux virtual machines
+instance_type = "Standard_DS2_v2"
-# Kubernetes version used for creating management server cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# rancher_kubernetes_version = ""
+# Prefix added to names of all resources
+prefix = "quickstart"
-# Kubernetes version used for creating workload cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# workload_kubernetes_version = ""
+# Kubernetes version to use for Rancher server cluster
+rancher_kubernetes_version = "v1.21.8+k3s1"
-# Version of cert-manager to install, used in case of older Rancher versions
-# cert_manager_version = ""
-
-# Version of Rancher to install
-# rancher_version = ""
+# Rancher server version (format: v0.0.0)
+rancher_version = "v2.6.3"
+# Kubernetes version to use for managed workload cluster
+workload_kubernetes_version = "v1.20.6-rancher1-1"
\ No newline at end of file
diff --git a/do/README.md b/do/README.md
index b9f5469..93bfe93 100644
--- a/do/README.md
+++ b/do/README.md
@@ -3,55 +3,61 @@
Two single-node RKE Kubernetes clusters will be created from two droplets running Ubuntu 20.04 and Docker.
Both instances will be accessible over SSH using the SSH keys `id_rsa` and `id_rsa.pub`.
-## Variables
+
+## Requirements
-###### `do_token`
-- **Required**
-DigitalOcean API token used to create infrastructure
+| Name | Version |
+|------|---------|
+| [terraform](#requirement\_terraform) | >= 1.0.0 |
+| [digitalocean](#requirement\_digitalocean) | 2.16.0 |
+| [local](#requirement\_local) | 2.1.0 |
+| [tls](#requirement\_tls) | 3.1.0 |
-###### `do_region`
-- Default: **`"nyc1"`**
-DigitalOcean region used for all resources
+## Providers
-###### `prefix`
-- Default: **`"quickstart"`**
-Prefix added to names of all resources
+| Name | Version |
+|------|---------|
+| [digitalocean](#provider\_digitalocean) | 2.16.0 |
+| [local](#provider\_local) | 2.1.0 |
+| [tls](#provider\_tls) | 3.1.0 |
-###### `droplet_size`
-- Default: **`"s-2vcpu-4gb"`**
-Droplet size used for all droplets
+## Modules
-###### `docker_version`
-- Default: **`"19.03"`**
-Docker version to install on nodes
+| Name | Source | Version |
+|------|--------|---------|
+| [rancher\_common](#module\_rancher\_common) | ../rancher-common | n/a |
-###### `rancher_kubernetes_version`
-- Default: **`"v1.21.8+k3s1"`**
-Kubernetes version to use for Rancher server cluster
+## Resources
-See `rancher-common` module variable `rancher_kubernetes_version` for more details.
+| Name | Type |
+|------|------|
+| [digitalocean_droplet.quickstart_node](https://registry.terraform.io/providers/digitalocean/digitalocean/2.16.0/docs/resources/droplet) | resource |
+| [digitalocean_droplet.rancher_server](https://registry.terraform.io/providers/digitalocean/digitalocean/2.16.0/docs/resources/droplet) | resource |
+| [digitalocean_ssh_key.quickstart_ssh_key](https://registry.terraform.io/providers/digitalocean/digitalocean/2.16.0/docs/resources/ssh_key) | resource |
+| [local_file.ssh_private_key_pem](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [local_file.ssh_public_key_openssh](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [tls_private_key.global_key](https://registry.terraform.io/providers/hashicorp/tls/3.1.0/docs/resources/private_key) | resource |
-###### `workload_kubernetes_version`
-- Default: **`"v1.20.6-rancher1-1"`**
-Kubernetes version to use for managed workload cluster
+## Inputs
-See `rancher-common` module variable `workload_kubernetes_version` for more details.
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [do\_token](#input\_do\_token) | DigitalOcean API token used to create infrastructure | `string` | n/a | yes |
+| [rancher\_server\_admin\_password](#input\_rancher\_server\_admin\_password) | Admin password to use for Rancher server bootstrap | `string` | n/a | yes |
+| [cert\_manager\_version](#input\_cert\_manager\_version) | Version of cert-manager to install alongside Rancher (format: 0.0.0) | `string` | `"1.5.3"` | no |
+| [do\_region](#input\_do\_region) | DigitalOcean region used for all resources | `string` | `"nyc1"` | no |
+| [docker\_version](#input\_docker\_version) | Docker version to install on nodes | `string` | `"19.03"` | no |
+| [droplet\_size](#input\_droplet\_size) | Droplet size used for all droplets | `string` | `"s-2vcpu-4gb"` | no |
+| [prefix](#input\_prefix) | Prefix added to names of all resources | `string` | `"quickstart"` | no |
+| [rancher\_kubernetes\_version](#input\_rancher\_kubernetes\_version) | Kubernetes version to use for Rancher server cluster | `string` | `"v1.21.8+k3s1"` | no |
+| [rancher\_version](#input\_rancher\_version) | Rancher server version (format: v0.0.0) | `string` | `"v2.6.3"` | no |
+| [workload\_kubernetes\_version](#input\_workload\_kubernetes\_version) | Kubernetes version to use for managed workload cluster | `string` | `"v1.20.6-rancher1-1"` | no |
-###### `cert_manager_version`
-- Default: **`"1.5.3"`**
-Version of cert-manager to install alongside Rancher (format: 0.0.0)
-
-See `rancher-common` module variable `cert_manager_version` for more details.
-
-###### `rancher_version`
-- Default: **`"v2.6.3"`**
-Rancher server version (format v0.0.0)
-
-See `rancher-common` module variable `rancher_version` for more details.
-
-###### `rancher_server_admin_password`
-- **Required**
-Admin password to use for Rancher server bootstrap
-
-See `rancher-common` module variable `admin_password` for more details.
+## Outputs
+| Name | Description |
+|------|-------------|
+| [rancher\_node\_ip](#output\_rancher\_node\_ip) | n/a |
+| [rancher\_server\_url](#output\_rancher\_server\_url) | n/a |
+| [workload\_node\_ip](#output\_workload\_node\_ip) | n/a |
+
diff --git a/do/terraform.tfvars.example b/do/terraform.tfvars.example
index d98b7ab..1eb4d15 100644
--- a/do/terraform.tfvars.example
+++ b/do/terraform.tfvars.example
@@ -1,42 +1,30 @@
-# Required variables
-# - Fill in before beginning quickstart
-# ==========================================================
-# DigitalOcean API token
+# DigitalOcean API token used to create infrastructure
do_token = ""
-# Password used to log in to the `admin` account on the new Rancher server
-# - Must be at least 12 characters
+# Admin password to use for Rancher server bootstrap
rancher_server_admin_password = ""
+# Version of cert-manager to install alongside Rancher (format: 0.0.0)
+cert_manager_version = "1.5.3"
-# Optional variables
-# - Uncomment variables to customize quickstart
-# ----------------------------------------------------------
+# DigitalOcean region used for all resources
+do_region = "nyc1"
-# DigitalOcean region for all resources
-# do_region = ""
+# Docker version to install on nodes
+docker_version = "19.03"
-# Prefix for all resources created by quickstart
-# prefix = ""
+# Droplet size used for all droplets
+droplet_size = "s-2vcpu-4gb"
-# Size of all created droplets
-# droplet_size = ""
+# Prefix added to names of all resources
+prefix = "quickstart"
-# Docker version installed on target hosts
-# - Must be a version supported by the Rancher install scripts
-# docker_version = ""
+# Kubernetes version to use for Rancher server cluster
+rancher_kubernetes_version = "v1.21.8+k3s1"
-# Kubernetes version used for creating management server cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# rancher_kubernetes_version = ""
+# Rancher server version (format: v0.0.0)
+rancher_version = "v2.6.3"
-# Kubernetes version used for creating workload cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# workload_kubernetes_version = ""
-
-# Version of cert-manager to install, used in case of older Rancher versions
-# cert_manager_version = ""
-
-# Version of Rancher to install
-# rancher_version = ""
+# Kubernetes version to use for managed workload cluster
+workload_kubernetes_version = "v1.20.6-rancher1-1"
\ No newline at end of file
diff --git a/gcp/README.md b/gcp/README.md
index e0a3cd7..3c569d6 100644
--- a/gcp/README.md
+++ b/gcp/README.md
@@ -4,59 +4,66 @@ Two single-node RKE Kubernetes clusters will be created from two Compute Engine
Both instances will have wide-open security groups and will be accessible over SSH using the SSH keys
`id_rsa` and `id_rsa.pub`.
-## Variables
+
+## Requirements
-###### `gcp_account_json`
-- **Required**
-File path and name of the service account file used by which GCP resources are provisioned
+| Name | Version |
+|------|---------|
+| [terraform](#requirement\_terraform) | >= 1.0.0 |
+| [google](#requirement\_google) | 4.3.0 |
+| [local](#requirement\_local) | 2.1.0 |
+| [tls](#requirement\_tls) | 3.1.0 |
-###### `gcp_project`
-- **Required**
-GCP project under which all resources will be deployed
+## Providers
-###### `gcp_region`
-- Default: **`"us-east4"`**
-GCP region used for all resources
+| Name | Version |
+|------|---------|
+| [google](#provider\_google) | 4.3.0 |
+| [local](#provider\_local) | 2.1.0 |
+| [tls](#provider\_tls) | 3.1.0 |
-###### `prefix`
-- Default: **`"quickstart"`**
-Prefix added to names of all resources
+## Modules
-###### `machine_type`
-- Default: **`"n1-standard-2"`**
-Machine type used for all compute instances
+| Name | Source | Version |
+|------|--------|---------|
+| [rancher\_common](#module\_rancher\_common) | ../rancher-common | n/a |
-###### `docker_version`
-- Default: **`"19.03"`**
-Docker version to install on nodes
+## Resources
-###### `rancher_kubernetes_version`
-- Default: **`"v1.21.8+k3s1"`**
-Kubernetes version to use for Rancher server cluster
+| Name | Type |
+|------|------|
+| [google_compute_address.quickstart_node_address](https://registry.terraform.io/providers/hashicorp/google/4.3.0/docs/resources/compute_address) | resource |
+| [google_compute_address.rancher_server_address](https://registry.terraform.io/providers/hashicorp/google/4.3.0/docs/resources/compute_address) | resource |
+| [google_compute_firewall.rancher_fw_allowall](https://registry.terraform.io/providers/hashicorp/google/4.3.0/docs/resources/compute_firewall) | resource |
+| [google_compute_instance.quickstart_node](https://registry.terraform.io/providers/hashicorp/google/4.3.0/docs/resources/compute_instance) | resource |
+| [google_compute_instance.rancher_server](https://registry.terraform.io/providers/hashicorp/google/4.3.0/docs/resources/compute_instance) | resource |
+| [local_file.ssh_private_key_pem](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [local_file.ssh_public_key_openssh](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [tls_private_key.global_key](https://registry.terraform.io/providers/hashicorp/tls/3.1.0/docs/resources/private_key) | resource |
+| [google_compute_image.sles](https://registry.terraform.io/providers/hashicorp/google/4.3.0/docs/data-sources/compute_image) | data source |
-See `rancher-common` module variable `rancher_kubernetes_version` for more details.
+## Inputs
-###### `workload_kubernetes_version`
-- Default: **`"v1.20.6-rancher1-1"`**
-Kubernetes version to use for managed workload cluster
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [gcp\_account\_json](#input\_gcp\_account\_json) | File path and name of service account access token file. | `string` | n/a | yes |
+| [gcp\_project](#input\_gcp\_project) | GCP project in which the quickstart will be deployed. | `string` | n/a | yes |
+| [rancher\_server\_admin\_password](#input\_rancher\_server\_admin\_password) | Admin password to use for Rancher server bootstrap | `string` | n/a | yes |
+| [cert\_manager\_version](#input\_cert\_manager\_version) | Version of cert-manager to install alongside Rancher (format: 0.0.0) | `string` | `"1.5.3"` | no |
+| [docker\_version](#input\_docker\_version) | Docker version to install on nodes | `string` | `"19.03"` | no |
+| [gcp\_region](#input\_gcp\_region) | GCP region used for all resources. | `string` | `"us-east4"` | no |
+| [gcp\_zone](#input\_gcp\_zone) | GCP zone used for all resources. | `string` | `"us-east4-a"` | no |
+| [machine\_type](#input\_machine\_type) | Machine type used for all compute instances | `string` | `"n1-standard-2"` | no |
+| [prefix](#input\_prefix) | Prefix added to names of all resources | `string` | `"quickstart"` | no |
+| [rancher\_kubernetes\_version](#input\_rancher\_kubernetes\_version) | Kubernetes version to use for Rancher server cluster | `string` | `"v1.21.8+k3s1"` | no |
+| [rancher\_version](#input\_rancher\_version) | Rancher server version (format: v0.0.0) | `string` | `"v2.6.3"` | no |
+| [workload\_kubernetes\_version](#input\_workload\_kubernetes\_version) | Kubernetes version to use for managed workload cluster | `string` | `"v1.20.6-rancher1-1"` | no |
-See `rancher-common` module variable `workload_kubernetes_version` for more details.
-
-###### `cert_manager_version`
-- Default: **`"1.5.3"`**
-Version of cert-manager to install alongside Rancher (format: 0.0.0)
-
-See `rancher-common` module variable `cert_manager_version` for more details.
-
-###### `rancher_version`
-- Default: **`"v2.6.3"`**
-Rancher server version (format v0.0.0)
-
-See `rancher-common` module variable `rancher_version` for more details.
-
-###### `rancher_server_admin_password`
-- **Required**
-Admin password to use for Rancher server bootstrap
-
-See `rancher-common` module variable `admin_password` for more details.
+## Outputs
+| Name | Description |
+|------|-------------|
+| [rancher\_node\_ip](#output\_rancher\_node\_ip) | n/a |
+| [rancher\_server\_url](#output\_rancher\_server\_url) | n/a |
+| [workload\_node\_ip](#output\_workload\_node\_ip) | n/a |
+
diff --git a/gcp/terraform.tfvars.example b/gcp/terraform.tfvars.example
index 94beac4..9dc425d 100644
--- a/gcp/terraform.tfvars.example
+++ b/gcp/terraform.tfvars.example
@@ -1,48 +1,36 @@
-# Required variables
-# - Fill in before beginning quickstart
-# ==========================================================
-# Account JSON used to access GCP services
-# - Specify full path and name (e.g. ~/.gcp/account.json)
+# File path and name of service account access token file.
gcp_account_json = ""
-# Project to deploy resources into
+# GCP project in which the quickstart will be deployed.
gcp_project = ""
-# Password used to log in to the `admin` account on the new Rancher server
-# - Must be at least 12 characters
+# Admin password to use for Rancher server bootstrap
rancher_server_admin_password = ""
-# Optional variables, uncomment to customize the quickstart
-# ----------------------------------------------------------
+# Version of cert-manager to install alongside Rancher (format: 0.0.0)
+cert_manager_version = "1.5.3"
-# GCP region for all resources
-# gcp_region = ""
+# Docker version to install on nodes
+docker_version = "19.03"
-# GCP zone for all resources
-# gcp_zone = ""
+# GCP region used for all resources.
+gcp_region = "us-east4"
-# Prefix for all resources created by quickstart
-# prefix = ""
+# GCP zone used for all resources.
+gcp_zone = "us-east4-a"
-# Compute instance size of all created instances
-# machine_type = ""
+# Machine type used for all compute instances
+machine_type = "n1-standard-2"
-# Docker version installed on target hosts
-# - Must be a version supported by the Rancher install scripts
-# docker_version = ""
+# Prefix added to names of all resources
+prefix = "quickstart"
-# Kubernetes version used for creating management server cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# rancher_kubernetes_version = ""
+# Kubernetes version to use for Rancher server cluster
+rancher_kubernetes_version = "v1.21.8+k3s1"
-# Kubernetes version used for creating workload cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# workload_kubernetes_version = ""
-
-# Version of cert-manager to install, used in case of older Rancher versions
-# cert_manager_version = ""
-
-# Version of Rancher to install
-# rancher_version = ""
+# Rancher server version (format: v0.0.0)
+rancher_version = "v2.6.3"
+# Kubernetes version to use for managed workload cluster
+workload_kubernetes_version = "v1.20.6-rancher1-1"
\ No newline at end of file
diff --git a/hcloud/README.md b/hcloud/README.md
index d9003c0..0f20cca 100644
--- a/hcloud/README.md
+++ b/hcloud/README.md
@@ -3,67 +3,66 @@
Two single-node RKE Kubernetes clusters will be created from two instances running Ubuntu 20.04 and Docker.
Both instances will be accessible over SSH using the auto-generated SSH keys `id_rsa` and `id_rsa.pub`.
-## Variables
+
+## Requirements
-###### `hcloud_token`
-- **Required**
-Hetzner Cloud API token used to create infrastructure
+| Name | Version |
+|------|---------|
+| [terraform](#requirement\_terraform) | >= 1.0.0 |
+| [hcloud](#requirement\_hcloud) | 1.32.1 |
+| [local](#requirement\_local) | 2.1.0 |
+| [tls](#requirement\_tls) | 3.1.0 |
-###### `hcloud_location`
-- Default: **`"fsn1"`**
-Hetzner Location used for all resources
+## Providers
-###### `network_zone`
-- Default: **`"eu-central"`**
-Zone to create the network in
+| Name | Version |
+|------|---------|
+| [hcloud](#provider\_hcloud) | 1.32.1 |
+| [local](#provider\_local) | 2.1.0 |
+| [tls](#provider\_tls) | 3.1.0 |
-###### `network_cidr`
-- Default: **`"10.0.0.0/16"`**
-Network to create for private communication
+## Modules
-###### `network_cidr`
-- Default: **`"10.0.1.0/24"`**
-Subnet to create for private communication. Must be part of the CIDR defined in `network_cidr`.
+| Name | Source | Version |
+|------|--------|---------|
+| [rancher\_common](#module\_rancher\_common) | ../rancher-common | n/a |
-###### `prefix`
-- Default: **`"quickstart"`**
-Prefix added to names of all resources
+## Resources
-###### `instance_type`
-- Default: **`"cx21"`**
-Type of instance to be used for all instances
+| Name | Type |
+|------|------|
+| [hcloud_network.private](https://registry.terraform.io/providers/hetznercloud/hcloud/1.32.1/docs/resources/network) | resource |
+| [hcloud_network_subnet.private](https://registry.terraform.io/providers/hetznercloud/hcloud/1.32.1/docs/resources/network_subnet) | resource |
+| [hcloud_server.quickstart_node](https://registry.terraform.io/providers/hetznercloud/hcloud/1.32.1/docs/resources/server) | resource |
+| [hcloud_server.rancher_server](https://registry.terraform.io/providers/hetznercloud/hcloud/1.32.1/docs/resources/server) | resource |
+| [hcloud_ssh_key.quickstart_ssh_key](https://registry.terraform.io/providers/hetznercloud/hcloud/1.32.1/docs/resources/ssh_key) | resource |
+| [local_file.ssh_private_key_pem](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [local_file.ssh_public_key_openssh](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [tls_private_key.global_key](https://registry.terraform.io/providers/hashicorp/tls/3.1.0/docs/resources/private_key) | resource |
-###### `docker_version`
-- Default: **`"19.03"`**
-Docker version to install on nodes
+## Inputs
-###### `rancher_kubernetes_version`
-- Default: **`"v1.21.8+k3s1"`**
-Kubernetes version to use for Rancher server cluster
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [hcloud\_token](#input\_hcloud\_token) | Hetzner Cloud API token used to create infrastructure | `string` | n/a | yes |
+| [rancher\_server\_admin\_password](#input\_rancher\_server\_admin\_password) | Admin password to use for Rancher server bootstrap | `string` | n/a | yes |
+| [cert\_manager\_version](#input\_cert\_manager\_version) | Version of cert-manager to install alongside Rancher (format: 0.0.0) | `string` | `"1.5.3"` | no |
+| [docker\_version](#input\_docker\_version) | Docker version to install on nodes | `string` | `"19.03"` | no |
+| [hcloud\_location](#input\_hcloud\_location) | Hetzner location used for all resources | `string` | `"fsn1"` | no |
+| [instance\_type](#input\_instance\_type) | Type of instance to be used for all instances | `string` | `"cx21"` | no |
+| [network\_cidr](#input\_network\_cidr) | Network to create for private communication | `string` | `"10.0.0.0/8"` | no |
+| [network\_ip\_range](#input\_network\_ip\_range) | Subnet to create for private communication. Must be part of the CIDR defined in `network_cidr`. | `string` | `"10.0.1.0/24"` | no |
+| [network\_zone](#input\_network\_zone) | Zone to create the network in | `string` | `"eu-central"` | no |
+| [prefix](#input\_prefix) | Prefix added to names of all resources | `string` | `"quickstart"` | no |
+| [rancher\_kubernetes\_version](#input\_rancher\_kubernetes\_version) | Kubernetes version to use for Rancher server cluster | `string` | `"v1.21.8+k3s1"` | no |
+| [rancher\_version](#input\_rancher\_version) | Rancher server version (format: v0.0.0) | `string` | `"v2.6.3"` | no |
+| [workload\_kubernetes\_version](#input\_workload\_kubernetes\_version) | Kubernetes version to use for managed workload cluster | `string` | `"v1.20.6-rancher1-1"` | no |
-See `rancher-common` module variable `rancher_kubernetes_version` for more details.
-
-###### `workload_kubernetes_version`
-- Default: **`"v1.20.12-rancher1-1"`**
-Kubernetes version to use for managed workload cluster
-
-See `rancher-common` module variable `workload_kubernetes_version` for more details.
-
-###### `cert_manager_version`
-- Default: **`"1.5.3"`**
-Version of cert-manager to install alongside Rancher (format: 0.0.0)
-
-See `rancher-common` module variable `cert_manager_version` for more details.
-
-###### `rancher_version`
-- Default: **`"v2.6.3"`**
-Rancher server version (format v0.0.0)
-
-See `rancher-common` module variable `rancher_version` for more details.
-
-###### `rancher_server_admin_password`
-- **Required**
-Admin password to use for Rancher server bootstrap
-
-See `rancher-common` module variable `admin_password` for more details.
+## Outputs
+| Name | Description |
+|------|-------------|
+| [rancher\_node\_ip](#output\_rancher\_node\_ip) | n/a |
+| [rancher\_server\_url](#output\_rancher\_server\_url) | n/a |
+| [workload\_node\_ip](#output\_workload\_node\_ip) | n/a |
+
diff --git a/hcloud/terraform.tfvars.example b/hcloud/terraform.tfvars.example
index e7c45c5..3fafac7 100644
--- a/hcloud/terraform.tfvars.example
+++ b/hcloud/terraform.tfvars.example
@@ -1,52 +1,39 @@
-# Required variables
-# - Fill in before beginning quickstart
-# ==========================================================
-# Hetzner Cloud API token
+# Hetzner Cloud API token used to create infrastructure
hcloud_token = ""
-# Password used to log in to the `admin` account on the new Rancher server
-# - Must be at least 12 characters
+# Admin password to use for Rancher server bootstrap
rancher_server_admin_password = ""
+# Version of cert-manager to install alongside Rancher (format: 0.0.0)
+cert_manager_version = "1.5.3"
-# Optional variables
-# - Uncomment variables to customize quickstart
-# ----------------------------------------------------------
+# Docker version to install on nodes
+docker_version = "19.03"
-# Location to use for all resources
-# hcloud_location = ""
+# Hetzner location used for all resources
+hcloud_location = "fsn1"
-# Prefix for all resources created by quickstart
-# prefix = ""
+# Type of instance to be used for all instances
+instance_type = "cx21"
-# Type of all created instances
-# instance_type = ""
+# Network to create for private communication
+network_cidr = "10.0.0.0/8"
+
+# Subnet to create for private communication. Must be part of the CIDR defined in `network_cidr`.
+network_ip_range = "10.0.1.0/24"
# Zone to create the network in
-# network_zone = ""
+network_zone = "eu-central"
-# Subnet to create for private communication
-# network_cidr = ""
+# Prefix added to names of all resources
+prefix = "quickstart"
-# Range to allocate IPs from.
-# - Must be a subnet of the ip_range of the Network and must not overlap with any other subnets or with any destinations in routes.
-# network_ip_range = ""
+# Kubernetes version to use for Rancher server cluster
+rancher_kubernetes_version = "v1.21.8+k3s1"
-# Docker version installed on target hosts
-# - Must be a version supported by the Rancher install scripts
-# docker_version = ""
+# Rancher server version (format: v0.0.0)
+rancher_version = "v2.6.3"
-# Kubernetes version used for creating management server cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# rancher_kubernetes_version = ""
-
-# Kubernetes version used for creating workload cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# workload_kubernetes_version = ""
-
-# Version of cert-manager to install, used in case of older Rancher versions
-# cert_manager_version = ""
-
-# Version of Rancher to install
-# rancher_version = ""
+# Kubernetes version to use for managed workload cluster
+workload_kubernetes_version = "v1.20.6-rancher1-1"
\ No newline at end of file
diff --git a/linode/README.md b/linode/README.md
index f2b1ad4..b4b7556 100644
--- a/linode/README.md
+++ b/linode/README.md
@@ -3,55 +3,62 @@
Two single-node RKE Kubernetes clusters will be created from two linodes running Ubuntu 18.04 and Docker.
Both instances will be accessible over SSH using the SSH keys `id_rsa` and `id_rsa.pub`.
-## Variables
+
+## Requirements
-###### `linode_token`
-- **Required**
-Linode API token used to create infrastructure
+| Name | Version |
+|------|---------|
+| [terraform](#requirement\_terraform) | >= 1.0.0 |
+| [linode](#requirement\_linode) | 1.25.0 |
+| [local](#requirement\_local) | 2.1.0 |
+| [tls](#requirement\_tls) | 3.1.0 |
-###### `linode_region`
-- Default: **`"eu-central"`**
-Linode region used for all resources
+## Providers
-###### `prefix`
-- Default: **`"quickstart"`**
-Prefix added to names of all resources
+| Name | Version |
+|------|---------|
+| [linode](#provider\_linode) | 1.25.0 |
+| [local](#provider\_local) | 2.1.0 |
+| [tls](#provider\_tls) | 3.1.0 |
-###### `linode_size`
-- Default: **`"g6-standard-2"`**
-Linode size used for all linode
+## Modules
-###### `docker_version`
-- Default: **`"19.03"`**
-Docker version to install on nodes
+| Name | Source | Version |
+|------|--------|---------|
+| [rancher\_common](#module\_rancher\_common) | ../rancher-common | n/a |
-###### `rancher_kubernetes_version`
-- Default: **`"v1.21.8+k3s1"`**
-Kubernetes version to use for Rancher server cluster
+## Resources
-See `rancher-common` module variable `rancher_kubernetes_version` for more details.
+| Name | Type |
+|------|------|
+| [linode_instance.quickstart_node](https://registry.terraform.io/providers/linode/linode/1.25.0/docs/resources/instance) | resource |
+| [linode_instance.rancher_server](https://registry.terraform.io/providers/linode/linode/1.25.0/docs/resources/instance) | resource |
+| [linode_sshkey.quickstart_ssh_key](https://registry.terraform.io/providers/linode/linode/1.25.0/docs/resources/sshkey) | resource |
+| [linode_stackscript.quickstart_node](https://registry.terraform.io/providers/linode/linode/1.25.0/docs/resources/stackscript) | resource |
+| [local_file.ssh_private_key_pem](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [local_file.ssh_public_key_openssh](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [tls_private_key.global_key](https://registry.terraform.io/providers/hashicorp/tls/3.1.0/docs/resources/private_key) | resource |
-###### `workload_kubernetes_version`
-- Default: **`"v1.20.6-rancher1-1"`**
-Kubernetes version to use for managed workload cluster
+## Inputs
-See `rancher-common` module variable `workload_kubernetes_version` for more details.
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [linode\_token](#input\_linode\_token) | Linode API token used to create infrastructure | `string` | n/a | yes |
+| [rancher\_server\_admin\_password](#input\_rancher\_server\_admin\_password) | Admin password to use for Rancher server bootstrap | `string` | n/a | yes |
+| [cert\_manager\_version](#input\_cert\_manager\_version) | Version of cert-manager to install alongside Rancher (format: 0.0.0) | `string` | `"1.5.3"` | no |
+| [docker\_version](#input\_docker\_version) | Docker version to install on nodes | `string` | `"19.03"` | no |
+| [linode\_region](#input\_linode\_region) | Linode region used for all resources | `string` | `"eu-central"` | no |
+| [linode\_type](#input\_linode\_type) | Linode type used for all droplets | `string` | `"g6-standard-2"` | no |
+| [prefix](#input\_prefix) | Prefix added to names of all resources | `string` | `"quickstart"` | no |
+| [rancher\_kubernetes\_version](#input\_rancher\_kubernetes\_version) | Kubernetes version to use for Rancher server cluster | `string` | `"v1.21.8+k3s1"` | no |
+| [rancher\_version](#input\_rancher\_version) | Rancher server version (format: v0.0.0) | `string` | `"v2.6.3"` | no |
+| [workload\_kubernetes\_version](#input\_workload\_kubernetes\_version) | Kubernetes version to use for managed workload cluster | `string` | `"v1.20.6-rancher1-1"` | no |
-###### `cert_manager_version`
-- Default: **`"1.5.3"`**
-Version of cert-manager to install alongside Rancher (format: 0.0.0)
-
-See `rancher-common` module variable `cert_manager_version` for more details.
-
-###### `rancher_version`
-- Default: **`"v2.6.3"`**
-Rancher server version (format v0.0.0)
-
-See `rancher-common` module variable `rancher_version` for more details.
-
-###### `rancher_server_admin_password`
-- **Required**
-Admin password to use for Rancher server bootstrap
-
-See `rancher-common` module variable `admin_password` for more details.
+## Outputs
+| Name | Description |
+|------|-------------|
+| [rancher\_node\_ip](#output\_rancher\_node\_ip) | n/a |
+| [rancher\_server\_url](#output\_rancher\_server\_url) | n/a |
+| [workload\_node\_ip](#output\_workload\_node\_ip) | n/a |
+
diff --git a/linode/terraform.tfvars.example b/linode/terraform.tfvars.example
index 6f165a3..14fb97e 100644
--- a/linode/terraform.tfvars.example
+++ b/linode/terraform.tfvars.example
@@ -1,42 +1,30 @@
-# Required variables
-# - Fill in before beginning quickstart
-# ==========================================================
-# Linode API token
+# Linode API token used to create infrastructure
linode_token = ""
-# Password used to log in to the `admin` account on the new Rancher server
-# - Must be at least 12 characters
+# Admin password to use for Rancher server bootstrap
rancher_server_admin_password = ""
+# Version of cert-manager to install alongside Rancher (format: 0.0.0)
+cert_manager_version = "1.5.3"
-# Optional variables
-# - Uncomment variables to customize quickstart
-# ----------------------------------------------------------
+# Docker version to install on nodes
+docker_version = "19.03"
-# DigitalOcean region for all resources
-# linode_region = ""
+# Linode region used for all resources
+linode_region = "eu-central"
-# Prefix for all resources created by quickstart
-# prefix = ""
+# Linode type used for all droplets
+linode_type = "g6-standard-2"
-# Size of all created linodes
-# linode_type = ""
+# Prefix added to names of all resources
+prefix = "quickstart"
-# Docker version installed on target hosts
-# - Must be a version supported by the Rancher install scripts
-# docker_version = ""
+# Kubernetes version to use for Rancher server cluster
+rancher_kubernetes_version = "v1.21.8+k3s1"
-# Kubernetes version used for creating management server cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# rancher_kubernetes_version = ""
+# Rancher server version (format: v0.0.0)
+rancher_version = "v2.6.3"
-# Kubernetes version used for creating workload cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# workload_kubernetes_version = ""
-
-# Version of cert-manager to install, used in case of older Rancher versions
-# cert_manager_version = ""
-
-# Version of Rancher to install
-# rancher_version = ""
+# Kubernetes version to use for managed workload cluster
+workload_kubernetes_version = "v1.20.6-rancher1-1"
\ No newline at end of file
diff --git a/rancher-common/.terraform.lock.hcl b/rancher-common/.terraform.lock.hcl
new file mode 100644
index 0000000..bbf490b
--- /dev/null
+++ b/rancher-common/.terraform.lock.hcl
@@ -0,0 +1,79 @@
+# This file is maintained automatically by "terraform init".
+# Manual edits may be lost in future updates.
+
+provider "registry.terraform.io/hashicorp/helm" {
+ version = "2.4.1"
+ constraints = "2.4.1"
+ hashes = [
+ "h1:CLb4n9f/hLyqqq0zbc+h5SuNOB7KnO65qOOb+ohwsKA=",
+ "zh:07517b24ea2ce4a1d3be3b88c3efc7fb452cd97aea8fac93ca37a08a8ec06e14",
+ "zh:11ef6118ed03a1b40ff66adfe21b8707ece0568dae1347ddfbcff8452c0655d5",
+ "zh:1ae07e9cc6b088a6a68421642c05e2fa7d00ed03e9401e78c258cf22a239f526",
+ "zh:1c5b4cd44033a0d7bf7546df930c55aa41db27b70b3bca6d145faf9b9a2da772",
+ "zh:256413132110ddcb0c3ea17c7b01123ad2d5b70565848a77c5ccc22a3f32b0dd",
+ "zh:4ab46fd9aadddef26604382bc9b49100586647e63ef6384e0c0c3f010ff2f66e",
+ "zh:5a35d23a9f08c36fceda3cef7ce2c7dc5eca32e5f36494de695e09a5007122f0",
+ "zh:8e9823a1e5b985b63fe283b755a821e5011a58112447d42fb969c7258ed57ed3",
+ "zh:8f79722eba9bf77d341edf48a1fd51a52d93ec31d9cac9ba8498a3a061ea4a7f",
+ "zh:b2ea782848b10a343f586ba8ee0cf4d7ff65aa2d4b144eea5bbd8f9801b54c67",
+ "zh:e72d1ccf8a75d8e8456c6bb4d843fd4deb0e962ad8f167fa84cf17f12c12304e",
+ ]
+}
+
+provider "registry.terraform.io/hashicorp/local" {
+ version = "2.1.0"
+ constraints = "2.1.0"
+ hashes = [
+ "h1:KfieWtVyGWwplSoLIB5usKAUnrIkDQBkWaR5TI+4WYg=",
+ "zh:0f1ec65101fa35050978d483d6e8916664b7556800348456ff3d09454ac1eae2",
+ "zh:36e42ac19f5d68467aacf07e6adcf83c7486f2e5b5f4339e9671f68525fc87ab",
+ "zh:6db9db2a1819e77b1642ec3b5e95042b202aee8151a0256d289f2e141bf3ceb3",
+ "zh:719dfd97bb9ddce99f7d741260b8ece2682b363735c764cac83303f02386075a",
+ "zh:7598bb86e0378fd97eaa04638c1a4c75f960f62f69d3662e6d80ffa5a89847fe",
+ "zh:ad0a188b52517fec9eca393f1e2c9daea362b33ae2eb38a857b6b09949a727c1",
+ "zh:c46846c8df66a13fee6eff7dc5d528a7f868ae0dcf92d79deaac73cc297ed20c",
+ "zh:dc1a20a2eec12095d04bf6da5321f535351a594a636912361db20eb2a707ccc4",
+ "zh:e57ab4771a9d999401f6badd8b018558357d3cbdf3d33cc0c4f83e818ca8e94b",
+ "zh:ebdcde208072b4b0f8d305ebf2bfdc62c926e0717599dcf8ec2fd8c5845031c3",
+ "zh:ef34c52b68933bedd0868a13ccfd59ff1c820f299760b3c02e008dc95e2ece91",
+ ]
+}
+
+provider "registry.terraform.io/loafoe/ssh" {
+ version = "1.0.1"
+ constraints = "1.0.1"
+ hashes = [
+ "h1:U39yuaapulq3oNqpU1TxOQe1zVWGmL3D6kNv6gL5NHY=",
+ "zh:075aefc3618270aa6f581b380c7601cb13cedb03ed117db0832e4128dab2c0f8",
+ "zh:0c1c58f144f8618d8a25591e83f617773b0806a488682e48ec14acea4095a8b5",
+ "zh:20f1f670a9314e4b6d2d8ed3b8e01b9c3e77df7b3d50a22827e6f119ddb06b5f",
+ "zh:40c05a7dd30731b613912c0cd9895913f7c137a75489c8c6622a35bb6d752862",
+ "zh:565a597fd5b6d60bbcb6093304851ee5885588d215af582598acc7e63796dc4d",
+ "zh:771aa19144da01b96783cfd07006c231ec96b72d403d96888222f3b7973775d8",
+ "zh:84e422645bceee2398d25f3412917e22ff38545a5649a4c4723ed7de4855b249",
+ "zh:92863ab038304907253a9467c176ec1a78ca06b79313ffa3daea8dc9e2c0fb48",
+ "zh:a137be3de2d6299992eb3a337f6b29325a344b86f7fb1ff317098cf9a89f659f",
+ "zh:abdd03c95d73f964c59575abaa51a5b0d1d90c2950911f5f6af1103d9b94b3c5",
+ "zh:d7dc58d2d45d3042bb674800062a2ffe1436d4574717f36aaaa4b9ded87dce60",
+ ]
+}
+
+provider "registry.terraform.io/rancher/rancher2" {
+ version = "1.22.2"
+ constraints = "1.22.2"
+ hashes = [
+ "h1:li+b8fyJ+4DBBRE4rhAvFkm1xQ1aQEduWo2zMlHhHDQ=",
+ "zh:1cfe57e114f15db4bee6d5ed2f15c4712dbdd03e523ade72898fce838c849bc5",
+ "zh:220079903c21bbe1bccab5f166c082909b4eb9cec04554df37201ee9ec792e59",
+ "zh:361ef564ef748162e1f4f1d8590d1ef1ffec1d9ab11ffcda621cc2be8a49a013",
+ "zh:3a2f4cd19fefc7ed4bc12f41d7b206068bb797eb5be032b06f0fe5563c2783d1",
+ "zh:47560323ca26193dbf09f70cce2025fdfb19e06a2cf497ac2523a9fb084031ca",
+ "zh:4d905397320d3b9c20edad57bd87c54bbdd0c4a49298a3f3a7b69b9dfd013b2d",
+ "zh:a816d940ae6b6ac91e0c9fe46aca6bb76c0542fc2e160c92e4602fee92bfd91d",
+ "zh:b7a2c6d49f823796c5fa64e3119e39798550287c4ec89e844bdebc6b7c3b0e7a",
+ "zh:cc12278062a6e241dafb83d85f7bd8b26a6b08cdadd87b5489a02d2111e41319",
+ "zh:dc96b3e655217ae51abb88febfe840ddd3e25e26409abebc215fda5a78c23f8f",
+ "zh:e0ee416c2db05b0ce9e35692b685285c7cdc45fa13bb7b1063b56f188e97c717",
+ "zh:e1185a1d89736c8061557d9e28e391372eaf0d00f32f5efe6a9977c79c69a6c4",
+ ]
+}
diff --git a/rancher-common/README.md b/rancher-common/README.md
index eeeee55..cfed3dd 100644
--- a/rancher-common/README.md
+++ b/rancher-common/README.md
@@ -5,64 +5,66 @@ specific cloud provider. RKE, Kubernetes, Helm, and Rancher providers are used
given the necessary information about the infrastructure created in a cloud
provider.
-## Variables
+
+## Requirements
-###### `node_public_ip`
-- **Required**
-Public IP of compute node for Rancher cluster
+| Name | Version |
+|------|---------|
+| [terraform](#requirement\_terraform) | >= 1.0.0 |
+| [helm](#requirement\_helm) | 2.4.1 |
+| [local](#requirement\_local) | 2.1.0 |
+| [rancher2](#requirement\_rancher2) | 1.22.2 |
+| [ssh](#requirement\_ssh) | 1.0.1 |
-###### `node_internal_ip`
-- Default: **`""`**
-Internal IP of compute node for Rancher cluster
+## Providers
-###### `node_username`
-- **Required**
-Username used for SSH access to the Rancher server cluster node
+| Name | Version |
+|------|---------|
+| [helm](#provider\_helm) | 2.4.1 |
+| [local](#provider\_local) | 2.1.0 |
+| [rancher2.admin](#provider\_rancher2.admin) | 1.22.2 |
+| [rancher2.bootstrap](#provider\_rancher2.bootstrap) | 1.22.2 |
+| [ssh](#provider\_ssh) | 1.0.1 |
-###### `ssh_private_key_pem`
-- **Required**
-Private key used for SSH access to the Rancher server cluster node
+## Modules
-Expected to be in PEM format.
+No modules.
-###### `rancher_kubernetes_version`
-- Default: **`"v1.21.8+k3s1"`**
-Kubernetes version to use for Rancher server cluster
+## Resources
-###### `cert_manager_version`
-- Default: **`"1.5.3"`**
-Version of cert-manager to install alongside Rancher (format: `0.0.0`)
+| Name | Type |
+|------|------|
+| [helm_release.cert_manager](https://registry.terraform.io/providers/hashicorp/helm/2.4.1/docs/resources/release) | resource |
+| [helm_release.rancher_server](https://registry.terraform.io/providers/hashicorp/helm/2.4.1/docs/resources/release) | resource |
+| [local_file.kube_config_server_yaml](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [local_file.kube_config_workload_yaml](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [rancher2_bootstrap.admin](https://registry.terraform.io/providers/rancher/rancher2/1.22.2/docs/resources/bootstrap) | resource |
+| [rancher2_cluster.quickstart_workload](https://registry.terraform.io/providers/rancher/rancher2/1.22.2/docs/resources/cluster) | resource |
+| [ssh_resource.install_k3s](https://registry.terraform.io/providers/loafoe/ssh/1.0.1/docs/resources/resource) | resource |
+| [ssh_resource.retrieve_config](https://registry.terraform.io/providers/loafoe/ssh/1.0.1/docs/resources/resource) | resource |
-Available versions are found in `files/cert-manager`, where a supported version
-is indicated by the presence of `crds-${var.cert_manager_version}.yaml`.
+## Inputs
-###### `rancher_version`
-- Default: **`"v2.6.3"`**
-Rancher server version (format `v0.0.0`)
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [admin\_password](#input\_admin\_password) | Admin password to use for Rancher server bootstrap | `string` | n/a | yes |
+| [node\_public\_ip](#input\_node\_public\_ip) | Public IP of compute node for Rancher cluster | `string` | n/a | yes |
+| [node\_username](#input\_node\_username) | Username used for SSH access to the Rancher server cluster node | `string` | n/a | yes |
+| [rancher\_server\_dns](#input\_rancher\_server\_dns) | DNS host name of the Rancher server | `string` | n/a | yes |
+| [ssh\_private\_key\_pem](#input\_ssh\_private\_key\_pem) | Private key used for SSH access to the Rancher server cluster node | `string` | n/a | yes |
+| [workload\_cluster\_name](#input\_workload\_cluster\_name) | Name for created custom workload cluster | `string` | n/a | yes |
+| [cert\_manager\_version](#input\_cert\_manager\_version) | Version of cert-manager to install alongside Rancher (format: 0.0.0) | `string` | `"1.5.3"` | no |
+| [node\_internal\_ip](#input\_node\_internal\_ip) | Internal IP of compute node for Rancher cluster | `string` | `""` | no |
+| [rancher\_kubernetes\_version](#input\_rancher\_kubernetes\_version) | Kubernetes version to use for Rancher server cluster | `string` | `"v1.21.8+k3s1"` | no |
+| [rancher\_version](#input\_rancher\_version) | Rancher server version (format v0.0.0) | `string` | `"v2.6.3"` | no |
+| [windows\_prefered\_cluster](#input\_windows\_prefered\_cluster) | Activate windows supports for the custom workload cluster | `bool` | `false` | no |
+| [workload\_kubernetes\_version](#input\_workload\_kubernetes\_version) | Kubernetes version to use for managed workload cluster | `string` | `"v1.20.6-rancher1-1"` | no |
-###### `rancher_server_dns`
-- **Required**
-DNS host name of the Rancher server
-
-A DNS name is required to allow successful SSL cert generation.
-SSL certs may only be assigned to DNS names, not IP addresses.
-Only an IP address could cause the Custom cluster to fail due to mismatching SSL
-Subject Names.
-
-###### `admin_password`
-- **Required**
-Admin password to use for Rancher server bootstrap
-
-Log in to the Rancher server using username `admin` and this password.
-
-###### `workload_kubernetes_version`
-- Default: **`"v1.20.6-rancher1-1"`**
-Kubernetes version to use for managed workload cluster
-
-Defaulted to one version behind most recent minor release to allow experimenting
-with upgrading Kubernetes versions.
-
-###### `workload_cluster_name`
-- **Required**
-Name for created custom workload cluster
+## Outputs
+| Name | Description |
+|------|-------------|
+| [custom\_cluster\_command](#output\_custom\_cluster\_command) | Docker command used to add a node to the quickstart cluster |
+| [custom\_cluster\_windows\_command](#output\_custom\_cluster\_windows\_command) | Docker command used to add a windows node to the quickstart cluster |
+| [rancher\_url](#output\_rancher\_url) | n/a |
+
diff --git a/rancher-common/terraform.tfvars.example b/rancher-common/terraform.tfvars.example
new file mode 100644
index 0000000..2b4c5d6
--- /dev/null
+++ b/rancher-common/terraform.tfvars.example
@@ -0,0 +1,36 @@
+
+# Admin password to use for Rancher server bootstrap
+admin_password = ""
+
+# Public IP of compute node for Rancher cluster
+node_public_ip = ""
+
+# Username used for SSH access to the Rancher server cluster node
+node_username = ""
+
+# DNS host name of the Rancher server
+rancher_server_dns = ""
+
+# Private key used for SSH access to the Rancher server cluster node
+ssh_private_key_pem = ""
+
+# Name for created custom workload cluster
+workload_cluster_name = ""
+
+# Version of cert-manager to install alongside Rancher (format: 0.0.0)
+cert_manager_version = "1.5.3"
+
+# Internal IP of compute node for Rancher cluster
+node_internal_ip = ""
+
+# Kubernetes version to use for Rancher server cluster
+rancher_kubernetes_version = "v1.21.8+k3s1"
+
+# Rancher server version (format v0.0.0)
+rancher_version = "v2.6.3"
+
+# Activate windows supports for the custom workload cluster
+windows_prefered_cluster = false
+
+# Kubernetes version to use for managed workload cluster
+workload_kubernetes_version = "v1.20.6-rancher1-1"
\ No newline at end of file
diff --git a/scw/README.md b/scw/README.md
index 1be04ff..1224c90 100644
--- a/scw/README.md
+++ b/scw/README.md
@@ -3,79 +3,64 @@
Two single-node RKE Kubernetes clusters will be created from two instances running Ubuntu 20.04 (Focal Fossa) and Docker.
Both instances will be accessible over SSH using the SSH keys `id_rsa` and `id_rsa.pub`.
-## Variables
+
+## Requirements
-###### `scw_project_id`
+| Name | Version |
+|------|---------|
+| [terraform](#requirement\_terraform) | >= 1.0.0 |
+| [local](#requirement\_local) | 2.1.0 |
+| [scaleway](#requirement\_scaleway) | 2.2.0 |
+| [tls](#requirement\_tls) | 3.1.0 |
-- **Required**
-Scaleway project id used to create infrastructure
+## Providers
-###### `scw_access_key`
+| Name | Version |
+|------|---------|
+| [local](#provider\_local) | 2.1.0 |
+| [scaleway](#provider\_scaleway) | 2.2.0 |
+| [tls](#provider\_tls) | 3.1.0 |
-- **Required**
-Scaleway access key used to create infrastructure
+## Modules
-###### `scw_secret_key`
+| Name | Source | Version |
+|------|--------|---------|
+| [rancher\_common](#module\_rancher\_common) | ../rancher-common | n/a |
-- **Required**
-Scaleway secret key used to create infrastructure
+## Resources
-###### `scw_zone`
+| Name | Type |
+|------|------|
+| [local_file.ssh_private_key_pem](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [local_file.ssh_public_key_openssh](https://registry.terraform.io/providers/hashicorp/local/2.1.0/docs/resources/file) | resource |
+| [scaleway_account_ssh_key.quickstart_ssh_key](https://registry.terraform.io/providers/scaleway/scaleway/2.2.0/docs/resources/account_ssh_key) | resource |
+| [scaleway_instance_server.quickstart_node](https://registry.terraform.io/providers/scaleway/scaleway/2.2.0/docs/resources/instance_server) | resource |
+| [scaleway_instance_server.rancher_server](https://registry.terraform.io/providers/scaleway/scaleway/2.2.0/docs/resources/instance_server) | resource |
+| [tls_private_key.global_key](https://registry.terraform.io/providers/hashicorp/tls/3.1.0/docs/resources/private_key) | resource |
-- Default: **`"fr-par-1"`**
-Scaleway zone used for all resources
+## Inputs
-###### `scw_region`
+| Name | Description | Type | Default | Required |
+|------|-------------|------|---------|:--------:|
+| [rancher\_server\_admin\_password](#input\_rancher\_server\_admin\_password) | Admin password to use for Rancher server bootstrap | `string` | n/a | yes |
+| [scw\_access\_key](#input\_scw\_access\_key) | Scaleway access key used to create infrastructure | `string` | n/a | yes |
+| [scw\_project\_id](#input\_scw\_project\_id) | Scaleway project id used to create infrastructure | `string` | n/a | yes |
+| [scw\_secret\_key](#input\_scw\_secret\_key) | Scaleway secret key used to create infrastructure | `string` | n/a | yes |
+| [cert\_manager\_version](#input\_cert\_manager\_version) | Version of cert-manager to install alongside Rancher (format: 0.0.0) | `string` | `"1.5.3"` | no |
+| [docker\_version](#input\_docker\_version) | Docker version to install on nodes | `string` | `"19.03"` | no |
+| [instance\_type](#input\_instance\_type) | Instance type used for all instances | `string` | `"DEV1-M"` | no |
+| [prefix](#input\_prefix) | Prefix added to names of all resources | `string` | `"quickstart"` | no |
+| [rancher\_kubernetes\_version](#input\_rancher\_kubernetes\_version) | Kubernetes version to use for Rancher server cluster | `string` | `"v1.21.8+k3s1"` | no |
+| [rancher\_version](#input\_rancher\_version) | Rancher server version (format: v0.0.0) | `string` | `"v2.6.3"` | no |
+| [scw\_region](#input\_scw\_region) | Scaleway region used for all resources | `string` | `"fr-par"` | no |
+| [scw\_zone](#input\_scw\_zone) | Scaleway zone used for all resources | `string` | `"fr-par-1"` | no |
+| [workload\_kubernetes\_version](#input\_workload\_kubernetes\_version) | Kubernetes version to use for managed workload cluster | `string` | `"v1.20.6-rancher1-1"` | no |
-- Default: **`"fr-par"`**
-Scaleway region used for all resources
+## Outputs
-###### `prefix`
-
-- Default: **`"quickstart"`**
-Prefix added to names of all resources
-
-###### `instance_type`
-
-- Default: **`"DEV1-M"`**
-Droplet size used for all droplets
-
-###### `docker_version`
-
-- Default: **`"19.03"`**
-Docker version to install on nodes
-
-###### `rke_kubernetes_version`
-
-- Default: **`"v1.20.4-rancher1-1"`**
-Kubernetes version to use for Rancher server RKE cluster
-
-See `rancher-common` module variable `rke_kubernetes_version` for more details.
-
-###### `workload_kubernetes_version`
-
-- Default: **`"v1.19.8-rancher1-1"`**
-Kubernetes version to use for managed workload cluster
-
-See `rancher-common` module variable `workload_kubernetes_version` for more details.
-
-###### `cert_manager_version`
-
-- Default: **`"1.0.4"`**
-Version of cert-manager to install alongside Rancher (format: 0.0.0)
-
-See `rancher-common` module variable `cert_manager_version` for more details.
-
-###### `rancher_version`
-
-- Default: **`"v2.5.7"`**
-Rancher server version (format v0.0.0)
-
-See `rancher-common` module variable `rancher_version` for more details.
-
-###### `rancher_server_admin_password`
-
-- **Required**
-Admin password to use for Rancher server bootstrap
-
-See `rancher-common` module variable `admin_password` for more details.
+| Name | Description |
+|------|-------------|
+| [rancher\_node\_ip](#output\_rancher\_node\_ip) | n/a |
+| [rancher\_server\_url](#output\_rancher\_server\_url) | n/a |
+| [workload\_node\_ip](#output\_workload\_node\_ip) | n/a |
+
diff --git a/scw/terraform.tfvars.example b/scw/terraform.tfvars.example
index 62554bc..4a8c394 100644
--- a/scw/terraform.tfvars.example
+++ b/scw/terraform.tfvars.example
@@ -1,51 +1,39 @@
-# Required variables
-# - Fill in before beginning quickstart
-# ==========================================================
-# Scaleway project id
-scw_project_id = ""
-
-# Scaleway access key
-scw_access_key = ""
-
-# Scaleway secret key
-scw_secret_key = ""
-
-# Password used to log in to the `admin` account on the new Rancher server
-# - Must be at least 12 characters
+# Admin password to use for Rancher server bootstrap
rancher_server_admin_password = ""
+# Scaleway access key used to create infrastructure
+scw_access_key = ""
-# Optional variables
-# - Uncomment variables to customize quickstart
-# ----------------------------------------------------------
+# Scaleway project id used to create infrastructure
+scw_project_id = ""
-# Scaleway zone for all resources
-# scw_zone = ""
+# Scaleway secret key used to create infrastructure
+scw_secret_key = ""
-# Scaleway region for all resources
-# scw_region = ""
+# Version of cert-manager to install alongside Rancher (format: 0.0.0)
+cert_manager_version = "1.5.3"
-# Prefix for all resources created by quickstart
-# prefix = ""
+# Docker version to install on nodes
+docker_version = "19.03"
-# Type of all created instances
-# instance_type = ""
+# Instance type used for all instances
+instance_type = "DEV1-M"
-# Docker version installed on target hosts
-# - Must be a version supported by the Rancher install scripts
-# docker_version = ""
+# Prefix added to names of all resources
+prefix = "quickstart"
-# Kubernetes version used for creating management server cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# rancher_kubernetes_version = ""
+# Kubernetes version to use for Rancher server cluster
+rancher_kubernetes_version = "v1.21.8+k3s1"
-# Kubernetes version used for creating workload cluster
-# - Must be supported by RKE terraform provider 1.0.1
-# workload_kubernetes_version = ""
+# Rancher server version (format: v0.0.0)
+rancher_version = "v2.6.3"
-# Version of cert-manager to install, used in case of older Rancher versions
-# cert_manager_version = ""
+# Scaleway region used for all resources
+scw_region = "fr-par"
-# Version of Rancher to install
-# rancher_version = ""
+# Scaleway zone used for all resources
+scw_zone = "fr-par-1"
+
+# Kubernetes version to use for managed workload cluster
+workload_kubernetes_version = "v1.20.6-rancher1-1"
\ No newline at end of file