DEV Community

Thiago Arrais for Serpro

Posted on

Armazenando state Terraform no Ceph

Quem tem acesso a uma instância Ceph, pode usar o backend S3 para armazenar o state Terraform. A forma de uso é basicamente a mesma que a do próprio S3. Só precisamos lembrar de configurar os seguintes argumentos:

  • endpoint
  • skip_credentials_validation
  • force_path_style

endpoint deve ser o nome do host que responde pela sua instância Ceph.

skip_credentials_validation controla se o backend valida credenciais contra o Amazon STS. Como você não vai conseguir que o STS valide suas credencias Ceph, vai precisar ser configurado para true.

force_path_style controla se o nome do bucket é especificado como subdomínio (meubucket.meuceph.minhaintra, por exemplo) ou como path (meuceph.minhaintra/meubucket, por exemplo). O estilo path é mais compatível com o Ceph, por isso este argumento também deve ser configurado para true

Aqui está uma versão para facilitar o copia-e-cola:

terraform {
  backend "s3" {
    bucket      = "your-bucket-name"
    key         = "a-key"
    region      = "us-east-1"
    endpoint    = "hostname.for.the.ceph.instance"
    access_key  = "your-access-key"
    secret_key  = "your-secret-key"

    skip_credentials_validation = true
    force_path_style            = true
  }
}
Enter fullscreen mode Exit fullscreen mode

Top comments (0)