|`['concourse-ci']['docker-compose']['web_oauth_client_id_vault_item']`|Hash|See `attributes/default.rb`|`{}`|
|`['concourse-ci']['docker-compose']['web_oauth_client_secret_vault_item']`|Hash|See `attributes/default.rb`|`{}`|
|`['concourse-ci']['docker-compose']['ssh_keys_reset']`|String|Resets all SSH keys forcely.|`false`|
-|`['concourse-ci']['docker-compose']['config_format_version']`|String|Read only. `docker-compose.yml` format version. Only version 1 is supported now.|`'1'`|
+|`['concourse-ci']['docker-compose']['config_format_version']`|String|`docker-compose.yml` format version. `'1'` or `'2'`|`'1'`|
|`['concourse-ci']['docker-compose']['config']`|Hash|`docker-compose.yml` configurations.|See `attributes/default.rb`|
## Usage
}
default['concourse-ci']['docker-compose']['ssh_keys_reset'] = false
-# TODO: support version 2 format, and use `default` instead of `force_override`
-force_override['concourse-ci']['docker-compose']['config_format_version'] = '1'
+default['concourse-ci']['docker-compose']['config_format_version'] = '1'
version_1_config = {
'concourse-db' => {
'restart' => 'always',
},
}
-# Not supported yet.
new_config = Marshal.load(Marshal.dump(version_1_config)) # deep copy
-new_config['concourse-web'].delete('links')
-new_config['concourse-worker'].delete('links')
+# for using networks instead
+#new_config['concourse-web'].delete('links')
+#new_config['concourse-worker'].delete('links')
version_2_config = {
# Version 2 docker-compose format
'version' => '2',
'services' => new_config,
}
-=begin
-version_2_config = {
- # Version 2 docker-compose format
- 'version' => '2',
- 'services' => {
- 'concourse-db' => {
- 'restart' => 'always',
- 'image' => 'postgres:9.5',
- 'volumes' => [
- #"#{node['concourse-ci']['docker-compose']['pgdata_dir']}:/database",
- ],
- 'environment' => {
- 'POSTGRES_DB' => 'concourse',
- 'POSTGRES_USER' => 'concourse',
- 'POSTGRES_PASSWORD' => nil,
- 'PGDATA' => '/database',
- },
- },
- 'concourse-web' => {
- 'restart' => 'always',
- 'image' => 'concourse/concourse', # latest, 2.6.0,...
- 'command' => 'web',
- 'ports' => [
- #'8080:8080',
- ],
- 'volumes' => [
- "#{node['concourse-ci']['docker-compose']['web_keys_dir']}:/concourse-keys",
- ],
- 'environment' => {
- 'CONCOURSE_BASIC_AUTH_USERNAME' => 'concourse',
- 'CONCOURSE_BASIC_AUTH_PASSWORD' => nil,
- 'CONCOURSE_EXTERNAL_URL' => nil,
- 'CONCOURSE_POSTGRES_DATA_SOURCE' => \
- 'postgres://concourse:<POSTGRES_PASSWORD>@concourse-db:5432/concourse?sslmode=disable',
- },
- },
- 'concourse-worker' => {
- 'restart' => 'always',
- 'image' => 'concourse/concourse',
- 'privileged' => true,
- 'command' => 'worker',
- 'volumes' => [
- "#{node['concourse-ci']['docker-compose']['worker_keys_dir']}:/concourse-keys",
- ],
- 'environment' => {
- 'CONCOURSE_TSA_HOST' => 'concourse-web',
- },
- },
- },
-}
-=end
+
default['concourse-ci']['docker-compose']['config'] = \
node['concourse-ci']['docker-compose']['config_format_version'] == '1' ? version_1_config : version_2_config