Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • v2.28.0
  • v2.27.0
  • v2.25.1
  • v2.24.3
  • v2.26.0
  • v2.24.2
  • v2.25.0
  • v2.24.1
  • v2.22.2
  • v2.23.3
  • v2.24.0
  • v2.23.2
  • v2.23.1
  • v2.23.0
  • v2.22.1
  • v2.22.0
  • v2.21.0
  • v2.20.0
  • v2.19.1
  • v2.18.2
21 results

main.tf

Blame
    • Cristian Klein's avatar
      b77460ec
      contrib/terraform/exoscale: Rework SSH public keys (#7242) · b77460ec
      Cristian Klein authored
      * contrib/terraform/exoscale: Rework SSH public keys
      
      Exoscale has a few limitations with `exoscale_ssh_keypair` resources.
      Creating several clusters with these scripts may lead to an error like:
      
      ```
      Error: API error ParamError 431 (InvalidParameterValueException 4350): The key pair "lj-sc-ssh-key" already has this fingerprint
      ```
      
      This patch reworks handling of SSH public keys. Specifically, we rely on
      the more cloud-agnostic way of configuring SSH public keys via
      `cloud-init`.
      
      * contrib/terraform/exoscale: terraform fmt
      
      * contrib/terraform/exoscale: Add terraform validate
      
      * contrib/terraform/exoscale: Inline public SSH keys
      
      The Terraform scripts need to install some SSH key, so that Kubespray
      (i.e., the "Ansible part") can take over. Initially, we pointed the
      Terraform scripts to `~/.ssh/id_rsa.pub`. This proved to be suboptimal:
      Operators sharing responbility for a cluster risk unnecessarily replacing resources.
      
      Therefore, it has been determined that it's best to inline the public
      SSH keys. The chosen variable `ssh_public_keys` provides some uniformity
      with `contrib/azurerm`.
      
      * Fix Terraform Exoscale test
      
      * Fix Terraform 0.14 test
      b77460ec
      History
      contrib/terraform/exoscale: Rework SSH public keys (#7242)
      Cristian Klein authored
      * contrib/terraform/exoscale: Rework SSH public keys
      
      Exoscale has a few limitations with `exoscale_ssh_keypair` resources.
      Creating several clusters with these scripts may lead to an error like:
      
      ```
      Error: API error ParamError 431 (InvalidParameterValueException 4350): The key pair "lj-sc-ssh-key" already has this fingerprint
      ```
      
      This patch reworks handling of SSH public keys. Specifically, we rely on
      the more cloud-agnostic way of configuring SSH public keys via
      `cloud-init`.
      
      * contrib/terraform/exoscale: terraform fmt
      
      * contrib/terraform/exoscale: Add terraform validate
      
      * contrib/terraform/exoscale: Inline public SSH keys
      
      The Terraform scripts need to install some SSH key, so that Kubespray
      (i.e., the "Ansible part") can take over. Initially, we pointed the
      Terraform scripts to `~/.ssh/id_rsa.pub`. This proved to be suboptimal:
      Operators sharing responbility for a cluster risk unnecessarily replacing resources.
      
      Therefore, it has been determined that it's best to inline the public
      SSH keys. The chosen variable `ssh_public_keys` provides some uniformity
      with `contrib/azurerm`.
      
      * Fix Terraform Exoscale test
      
      * Fix Terraform 0.14 test