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