OSDN Git Service

0ce3024801aef5e7017113c0afec1e040fc87f56
[metasearch/grid-chef-repo.git] / cookbooks / minim-server / attributes / default.rb
1 #
2 # Cookbook Name:: minim-server
3 # Attributes:: default
4 #
5 # Copyright 2018, whitestar
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #     http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 #
19
20 minim_ver = '0.8.5.2'
21 image_name = nil
22 base_image = nil
23 download_url = nil
24
25 case node['kernel']['machine']
26 when 'x86_64'
27   image_name = 'docker-minimserver'
28   base_image = 'java:8-jre'
29   download_url = "http://jminim.com/cada/MinimServer-#{minim_ver}-linux-intel.tar.gz"
30 when 'armv7l'
31   image_name = 'docker-minimserver-armhf'
32   base_image = 'arm32v7/openjdk:8-jre'
33   download_url = "http://jminim.com/cada/MinimServer-#{minim_ver}-linux-armhf.tar.gz"
34 end
35
36 default['minim-server']['Dockerfile'] = {
37   'FROM' => base_image,
38 }
39
40 default['minim-server']['docker-compose']['autopilot'] = {
41   'enabled' => false,
42   'log_dir' => '/var/log',
43   'wait_time' => '180s',
44   'docker-compose_opts' => '--no-ansi',
45   #'docker-compose_opts' => '',  # for the old docker-compose
46 }
47 default['minim-server']['docker-compose']['app_dir'] = "#{node['docker-grid']['compose']['app_dir']}/minim-server"
48 default['minim-server']['docker-compose']['data_dir'] = "#{node['minim-server']['docker-compose']['app_dir']}/data"
49
50 default['minim-server']['docker-compose']['dot_env'] = {
51   'NAME' => image_name,
52   'MINIM_VER' => minim_ver,
53   # archive url
54   'url' => download_url,
55   # already not found!
56   #'url' => 'http://jminim.com/cada/MinimServer-0.8.4-linux-x64.tar.gz',
57   # Internal registry context, e.g. gitlab.io.example.com:5050/images
58   'REGISTRY' => 'local',
59 }
60
61 force_override['minim-server']['docker-compose']['config_format_version'] = '2'
62 version_2_config = {
63   # Version 2 docker-compose format
64   'version' => '2',
65   'services' => {
66     'minim-server' => {
67       'build' => {
68         'context' => './',
69         'args' => {
70           'url' => '${url}',
71         },
72       },
73       'image' => '${REGISTRY}/${NAME}:${MINIM_VER}',
74       'restart' => 'always',
75       'network_mode' => 'host',
76       'volumes' => [
77         # These volumes will be set by the minim-server::docker-compose recipe automatically.
78         #"#{node['minim-server']['docker-compose']['data_dir']}:/opt/minimserver/data:rw",
79       ],
80     },
81   },
82 }
83
84 default['minim-server']['docker-compose']['config'] = version_2_config