#
# Copyright 2017, whitestar
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

name 'gitlab-on-docker'
description 'GitLab on Docker'

#gitlab_cn = 'gitlab.io.example.com'  # default: node['fqdn']
#gitlab_http_port = '80'  # default: 80, and 8080 already in use.
#gitlab_ssh_port = '2022'

run_list(
  'role[docker]',
  'recipe[gitlab-grid::docker-compose]',
  'recipe[platform_utils::sysctl]',
)

#env_run_lists()

#default_attributes()

override_attributes(
  'docker-grid' => {
    'engine' => {
      'skip_setup' => false,
    },
    'compose' => {
      'skip_setup' => false,
    },
  },
  'gitlab-grid' => {
    'gitlab.rb' => {
      #'external_url' => "http://#{gitlab_cn}:#{gitlab_http_port}",
      'gitlab_rails' => {
        #'time_zone' => 'Asia/Tokyo',
        #'gitlab_shell_ssh_port' => gitlab_ssh_port.to_i,
      },
    },
    'docker-compose' => {
      'config' => {
        'services' => {
          'gitlab' => {
            #'hostname' => gitlab_cn,
            #'ports' => [
              #"#{gitlab_http_port}:#{gitlab_http_port}",
              #"#{gitlab_ssh_port}:22",
            #],
          },
        },
      },
    },
  },
  'platform_utils' => {
    'sysctl' => {
      'configs' => {
        '80-gitlab' => {
          'action' => :create,
          'params' => {
            'vm.swappiness' => '10',  # default: '60'
          },
        },
      },
    },
  },
)
