diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example index eb41e4ac42334822c46ef9d4187e8c3ca485f567..b66389b1a6f9de334bb43a45c4a13ce13f303fa6 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 79bfcfd79e137821037d88fd8452dd74f94bbf01..f31762d9ac6ea4d4475080f24e4d7a8b0ab107ff 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 #