Storage config

Storage config file contains all data required for storage of configuration, backup and packages for Cloudboostr.

Supported storage types:

  • S3: https://docs.aws.amazon.com/AmazonS3/latest/dev/Welcome.html
  • S3 Minio: https://min.io/index.html
  • Swift: https://wiki.openstack.org/wiki/Swift

Required configuration elements:

  • storage: Buckets authorization data and backend for configuration files used by OpsControl and environments.
  • backup: Buckets authorization data and backend for backup files used by OpsControl and environments.
  • sensitive_data: Buckets authorization data and backend for SSH public and private keys used by OpsControl and environments.
  • packages: Buckets authorization data and backend for Cloudboostr installation and upgrade packages used by OpsControl and environments.

Configration requires backend specification in backend parameter and all required fields to be present in children parameters with the same name as a backend. For example storage configuration for s3:

storage:
  backend: s3
  s3:
    s3_region: "us-west-1"
    s3_access_key: "xxxxxxxxxxxxxxxxxx"
    s3_secret_key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Backends

All additional configured backends will be ignored.

Supported backend types are

  • S3 (s3)
  • Swift (swift)
  • Inherited from storage cofngiratuion (inherited)

Optional

All fields are optional. After authorization attempt there is a verification step which makes sure provided information is enough for the backend.

S3 supported parameters

  • s3_region - AWS_REGION
  • s3_access_key - AWS_ACCESS_KEY
  • s3_secret_key - AWS_SECRET_KEY
  • s3_endpoint_url - Endpoint url used for S3 compatibile services, e.g. Minio

Swift supported parameters

  • swift_user_name - OS_USERNAME
  • swift_password - OS_PASSWORD
  • swift_auth_url - OS_AUTH_URL
  • swift_domain_name - OS_USER_DOMAIN_NAME, OS_PROJECT_DOMAIN_NAME
  • swift_tenant_name - OS_PROJECT_NAME
  • swift_tenant_id - OS_TENANT_ID, OS_PROJECT_ID
  • swift_project_name - OS_TENANT_NAME, OS_PROJECT_NAME
  • swift_auth_version - OS_AUTH_VERSION, OS_IDENTITY_API_VERSION
  • swift_region - OS_REGION_NAME
  • os_temp_url_key - OS_TEMP_URL_KEY

Full configuration example:

---
storage:
  backend: s3
  swift:
    auth_url: https://xxxxxxxxxxxx.xxx:5000/v3/
    user_name: xxxxxxxxx
    password: xxxxxxxxx
    tenant_name: xxxxxxxxx
    tenant_id: xxxxxxxxxxxxxxxxxxxxxxxxxxx
    domain_name: xxxxxxxxx
    auth_version: '3'
  s3:
    s3_region: "us-west-1"
    s3_access_key: "xxxxxxxxxxxxxxxxxx"
    s3_secret_key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    s3_endpoint_url: "http://xxxxxxxxxxx.xxx"
backup:
  backend: inherited
sensitive_data:
  backend: inherited
packages:
  backend: inherited