OSDN Git Service

81da1c08854608763e1101d2fcd8d5d5e41e4640
[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']['app_dir'] = "#{node['docker-grid']['compose']['app_dir']}/minim-server"
41 default['minim-server']['docker-compose']['data_dir'] = "#{node['minim-server']['docker-compose']['app_dir']}/data"
42
43 default['minim-server']['docker-compose']['dot_env'] = {
44   'NAME' => image_name,
45   'MINIM_VER' => minim_ver,
46   # archive url
47   'url' => download_url,
48   # already not found!
49   #'url' => 'http://jminim.com/cada/MinimServer-0.8.4-linux-x64.tar.gz',
50   # Internal registry context, e.g. gitlab.io.example.com:5050/images
51   'REGISTRY' => 'local',
52 }
53
54 force_override['minim-server']['docker-compose']['config_format_version'] = '2'
55 version_2_config = {
56   # Version 2 docker-compose format
57   'version' => '2',
58   'services' => {
59     'minim-server' => {
60       'build' => {
61         'context' => './',
62         'args' => {
63           'url' => '${url}',
64         },
65       },
66       'image' => '${REGISTRY}/${NAME}:${MINIM_VER}',
67       'restart' => 'always',
68       'network_mode' => 'host',
69       'volumes' => [
70         # These volumes will be set by the minim-server::docker-compose recipe automatically.
71         #"#{node['minim-server']['docker-compose']['data_dir']}:/opt/minimserver/data:rw",
72       ],
73     },
74   },
75 }
76
77 default['minim-server']['docker-compose']['config'] = version_2_config