From b21e823c33d8ee3d3502d670d1abeb93c5a78d59 Mon Sep 17 00:00:00 2001 From: Alishan Ladhani <aladhani@gitlab.com> Date: Mon, 9 Mar 2020 18:38:15 -0400 Subject: [PATCH] Add setting for terraform state storage --- config/gitlab.yml.example | 31 +++++++++++++++++++++++++++++++ config/initializers/1_settings.rb | 8 ++++++++ 2 files changed, 39 insertions(+) diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example index eb41e4ac4233..b66389b1a6f9 100644 --- a/config/gitlab.yml.example +++ b/config/gitlab.yml.example @@ -320,6 +320,24 @@ production: &base # aws_signature_version: 4 # For creation of signed URLs. Set to 2 if provider does not support v4. # path_style: true # Use 'host/bucket_name/object' instead of 'bucket_name.host/object' + ## Terraform state + terraform_state: + enabled: true + # The location where Terraform state files are stored (default: shared/terraform_state). + # storage_path: shared/terraform_state + object_store: + enabled: false + remote_directory: terraform_state # The bucket name + connection: + provider: AWS + aws_access_key_id: AWS_ACCESS_KEY_ID + aws_secret_access_key: AWS_SECRET_ACCESS_KEY + region: us-east-1 + # host: 'localhost' # default: s3.amazonaws.com + # endpoint: 'http://127.0.0.1:9000' # default: nil + # aws_signature_version: 4 # For creation of signed URLs. Set to 2 if provider does not support v4. + # path_style: true # Use 'host/bucket_name/object' instead of 'bucket_name.host/object' + ## GitLab Pages pages: enabled: false @@ -1193,6 +1211,19 @@ test: aws_access_key_id: AWS_ACCESS_KEY_ID aws_secret_access_key: AWS_SECRET_ACCESS_KEY region: us-east-1 + + terraform_state: + enabled: true + storage_path: tmp/tests/terraform_state + object_store: + enabled: false + remote_directory: terraform_state + connection: + provider: AWS # Only AWS supported at the moment + aws_access_key_id: AWS_ACCESS_KEY_ID + aws_secret_access_key: AWS_SECRET_ACCESS_KEY + region: us-east-1 + gitlab: host: localhost port: 80 diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb index 79bfcfd79e13..f31762d9ac6e 100644 --- a/config/initializers/1_settings.rb +++ b/config/initializers/1_settings.rb @@ -369,6 +369,14 @@ Settings.dependency_proxy['enabled'] = false unless Gitlab::Runtime.puma? end +# +# Terraform state +# +Settings['terraform_state'] ||= Settingslogic.new({}) +Settings.terraform_state['enabled'] = true if Settings.terraform_state['enabled'].nil? +Settings.terraform_state['storage_path'] = Settings.absolute(Settings.terraform_state['storage_path'] || File.join(Settings.shared['path'], "terraform_state")) +Settings.terraform_state['object_store'] = ObjectStoreSettings.parse(Settings.terraform_state['object_store']) + # # Mattermost # -- GitLab