devkitkat 0.1.36 → 0.1.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c63dcfe61a811d243f27b345efdae5f72e91f34a0786f1602d0b569783e8da8b
4
- data.tar.gz: f86f68314f35964058647a1e46c298712044b4c27c9696542068a170d6121e6b
3
+ metadata.gz: 6b5ad4dada5d304af00c14b70b2a54312736afe398456974263e67275c3ec612
4
+ data.tar.gz: e1932f0941ea35733a486af5e03e7244c877006e63860183c800d6cd37bc4ba0
5
5
  SHA512:
6
- metadata.gz: 2f76162ee3cb8d91302f43753aeda35960e4cc9a14a1f4e7f36290a70d1d7141d42acf64fd37c934b06d0f3e751b65e0ad6587fd77c42918d9c918793ee96176
7
- data.tar.gz: 6da1d6189df323c8c428069e8ac012e46113354e76c706125def1ef03d158097a29caf641f29d09498f0b28254037d68413284a6f705f337212790ef4acac0ef
6
+ metadata.gz: b4763b7e9c1d14bfc2da496c0b46de2d2aceced5b8e1de1eb84bd9077e39b364d46c5ee5a5e2aa3f9716243a551ca0341a14f6966a0571100835c4126f2f426b
7
+ data.tar.gz: ee580107049ccafd4467ac6c9076ca6f29f2c606e5c14cd2973de5e2b1e726c63bda7849912dc4a99ecf51726754ee7a35f80d2f96697fc9271283621f784d2c
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- devkitkat (0.1.35)
4
+ devkitkat (0.1.37)
5
5
  activesupport (~> 6.0.0)
6
6
  colorize (~> 0.8.1)
7
7
  docker-api (~> 2.0.0)
@@ -14,7 +14,7 @@ PATH
14
14
  GEM
15
15
  remote: https://rubygems.org/
16
16
  specs:
17
- activesupport (6.0.3.5)
17
+ activesupport (6.0.6.1)
18
18
  concurrent-ruby (~> 1.0, >= 1.0.2)
19
19
  i18n (>= 0.7, < 2)
20
20
  minitest (~> 5.1)
@@ -22,23 +22,23 @@ GEM
22
22
  zeitwerk (~> 2.2, >= 2.2.2)
23
23
  coderay (1.1.3)
24
24
  colorize (0.8.1)
25
- concurrent-ruby (1.1.8)
25
+ concurrent-ruby (1.2.2)
26
26
  diff-lcs (1.3)
27
27
  docker-api (2.0.0)
28
28
  excon (>= 0.47.0)
29
29
  multi_json
30
- excon (0.79.0)
31
- i18n (1.8.9)
30
+ excon (0.100.0)
31
+ i18n (1.14.1)
32
32
  concurrent-ruby (~> 1.0)
33
33
  method_source (0.9.2)
34
- minitest (5.14.2)
34
+ minitest (5.19.0)
35
35
  multi_json (1.15.0)
36
36
  parallel (1.17.0)
37
37
  pry (0.12.2)
38
38
  coderay (~> 1.1.0)
39
39
  method_source (~> 0.9.0)
40
- pry-nav (0.3.0)
41
- pry (>= 0.9.10, < 0.13.0)
40
+ pry-nav (1.0.0)
41
+ pry (>= 0.9.10, < 0.15)
42
42
  rake (12.3.3)
43
43
  require_all (3.0.0)
44
44
  rspec (3.8.0)
@@ -58,9 +58,9 @@ GEM
58
58
  rspec (>= 3.0)
59
59
  ruby-progressbar (1.10.1)
60
60
  thread_safe (0.3.6)
61
- tzinfo (1.2.9)
61
+ tzinfo (1.2.11)
62
62
  thread_safe (~> 0.1)
63
- zeitwerk (2.4.2)
63
+ zeitwerk (2.6.9)
64
64
 
65
65
  PLATFORMS
66
66
  ruby
data/README.md CHANGED
@@ -58,7 +58,7 @@ There are pre-occupied special keys, please do not use these keys in your config
58
58
  |`machine:extra_hosts` |Array<String>|No |-|Extra hosts to be added to `/etc/hosts` in the machine|
59
59
  |`machine:network_mode` |String |No |-|Docker Network Mode, one of `bridge`, `host`.|
60
60
  |`machine:extra_write_accesses` |Array<String>|No |-|Extra write access to each service. By default, a service mounts only own directory as read-write and mounts the other service directories as read-only volume. To add extra write access, you specify `'<service-name>:to:<service-name>'`|
61
-
61
+ |`machine:mount_host_tmp_dir` |Array<String>|No |-| Mount `/tmp` dir of the host machine. Specify service names in the list. |
62
62
 
63
63
 
64
64
  ## Sample `.devkitkat.yml` that runs services in local environment
@@ -61,6 +61,10 @@ module Devkitkat
61
61
  devkitkat_yml.dig('machine', 'extra_write_accesses')
62
62
  end
63
63
 
64
+ def machine_mount_host_tmp_dir
65
+ devkitkat_yml.dig('machine', 'mount_host_tmp_dir')
66
+ end
67
+
64
68
  def application
65
69
  devkitkat_yml.fetch('application', DEFAULT_APPLICATION_NAME)
66
70
  end
@@ -112,17 +112,22 @@ module Devkitkat
112
112
  end
113
113
 
114
114
  def all_mounts
115
- config.all_services.map do |service_name|
115
+ mounts = []
116
+
117
+ config.all_services.each do |service_name|
116
118
  service = Service.new(service_name, config, command)
117
119
 
118
120
  FileUtils.mkdir_p(service.dir)
119
121
 
120
122
  if self.service.name == service_name || service.system? || allowed_by_extra_write_accesses?(service)
121
- "#{service.dir}:#{ROOT_IN_CONTAINER}/services/#{service.name}"
123
+ mounts.append("#{service.dir}:#{ROOT_IN_CONTAINER}/services/#{service.name}")
122
124
  else
123
- "#{service.dir}:#{ROOT_IN_CONTAINER}/services/#{service.name}:ro"
125
+ mounts.append("#{service.dir}:#{ROOT_IN_CONTAINER}/services/#{service.name}:ro")
124
126
  end
125
- end.append('/var/run/docker.sock:/var/run/docker.sock')
127
+ end
128
+
129
+ mounts.append('/tmp:/tmp') if mount_host_tmp_dir?(self.service.name)
130
+ mounts.append('/var/run/docker.sock:/var/run/docker.sock')
126
131
  end
127
132
 
128
133
  def allowed_by_extra_write_accesses?(service)
@@ -132,6 +137,10 @@ module Devkitkat
132
137
  end
133
138
  end
134
139
 
140
+ def mount_host_tmp_dir?(service)
141
+ config.machine_mount_host_tmp_dir&.any? { |svc| svc == service }
142
+ end
143
+
135
144
  def name
136
145
  @name ||=
137
146
  "#{config.application}-#{service.name}-#{Digest::SHA1.hexdigest(command.kit_root)[8..12]}"
@@ -1,3 +1,3 @@
1
1
  module Devkitkat
2
- VERSION = "0.1.36"
2
+ VERSION = "0.1.37"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devkitkat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.36
4
+ version: 0.1.37
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shinya Maeda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-15 00:00:00.000000000 Z
11
+ date: 2023-07-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -251,7 +251,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
251
251
  - !ruby/object:Gem::Version
252
252
  version: '0'
253
253
  requirements: []
254
- rubygems_version: 3.1.6
254
+ rubygems_version: 3.3.26
255
255
  signing_key:
256
256
  specification_version: 4
257
257
  summary: Make micro services easy