contained 0.8.0 → 1.0.0

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: de44c4a9646409b70c951f868cf1f60d753f72f6f14f9c68df242a493033b285
4
- data.tar.gz: e460580a09f0fc0c18261b32d2d3cbaa7420324b938ea1f7a64325cfcaef0759
3
+ metadata.gz: f6dde467993201e73abb0d975c927e4d75ea82fd62197e284e281d73b9f65c1c
4
+ data.tar.gz: d6cccc2871105176361d4d458ba5ad459de8b47b34b724bf20b44ab0fc378281
5
5
  SHA512:
6
- metadata.gz: b3f08b9ae3eb66e9ca3cf22e2daf4d3091c2ad1b010453b8b6f328151a1d67c0f0174016350a06757f43fc9f2d32b07d198e2967a38648857c52965c50aa3a4c
7
- data.tar.gz: 2c5351508f495084d7b303216047452fd2cd8b13c017ca2b9fedccbe7e26c59bd3f5d955e1124f46f73de3da8c063d6e8044a1961bab1b6fc3ecde92e0531beb
6
+ metadata.gz: 49b6f23d4b7579bbb743b31075a66903f64a43cdcde8f038982580fb532f5aad549812ce91cde06f150e1697534866db5e11f2c44482a148f32c42d82b7304c9
7
+ data.tar.gz: 119d0198a61028b561ae43ee7fc5aff4ba9631a2a7b6e13935a4116bf3c3edde4c4b55154717e26f00c454017f8e796dce61858bbd4e9b70eea87dd3122daed7
@@ -9,16 +9,13 @@ module Contained
9
9
  class Deploy < Base
10
10
  def execute!
11
11
  stack = @config.fetch("stack")
12
- registry = @config.fetch("registry", { "server" => "hub.docker.com" })
13
12
  username = ENV["DOCKER_LOGIN"]
14
13
  password = ENV["DOCKER_PASSWORD"]
15
14
 
16
15
  @stdout.puts("[deploy] stack=#{stack} environment=#{@environment}")
17
16
 
18
17
  on hosts, in: :sequence do
19
- if username && password
20
- execute(:docker, :login, registry.fetch("server", "hub.docker.com"), "-u", username, "-p", password)
21
- end
18
+ execute(:docker, :login, "-u", username, "-p", password) if username && password
22
19
 
23
20
  execute(<<~BASH)
24
21
  source ./.contained/#{stack}/.env
@@ -7,7 +7,6 @@ module Contained
7
7
  class Setup < Base
8
8
  def execute!
9
9
  stack = @config.fetch("stack")
10
- registry = @config.fetch("registry", { "server" => "hub.docker.com" })
11
10
  username = ENV["DOCKER_LOGIN"]
12
11
  password = ENV["DOCKER_PASSWORD"]
13
12
 
@@ -17,12 +16,24 @@ module Contained
17
16
  @stdout.puts("[setup] stack=#{stack} environment=#{@environment}")
18
17
 
19
18
  on hosts, in: :sequence do
20
- execute(:docker, :swarm, :init) unless capture(:docker, :info).include?("Swarm: active")
19
+ execute(:which, "curl") do |_, _, status|
20
+ if status.exitstatus != 0
21
+ @stdout.puts("missing curl")
22
+ exit(1)
23
+ end
24
+ end
21
25
 
22
- if username && password
23
- execute(:docker, :login, registry.fetch("server", "hub.docker.com"), "-u", username, "-p", password)
26
+ execute(:which, "docker") do |_, _, status|
27
+ if status.exitstatus != 0
28
+ @stdout.puts("missing docker")
29
+ execute("curl -sSL https://get.docker.com | sh")
30
+ end
24
31
  end
25
32
 
33
+ execute(:docker, :login, "-u", username, "-p", password) if username && password
34
+
35
+ execute(:docker, :swarm, :init) unless capture(:docker, :info).include?("Swarm: active")
36
+
26
37
  execute("mkdir -p ./.contained/#{stack}")
27
38
 
28
39
  upload!(deploy_compose_yml, "./.contained/#{stack}/compose.yml")
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Contained
4
- VERSION = "0.8.0"
4
+ VERSION = "1.0.0"
5
5
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: contained
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Sylvestre
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 2025-03-24 00:00:00.000000000 Z
10
+ date: 2025-04-17 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: erb
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
144
  - !ruby/object:Gem::Version
145
145
  version: '0'
146
146
  requirements: []
147
- rubygems_version: 3.6.6
147
+ rubygems_version: 3.6.3
148
148
  specification_version: 4
149
149
  summary: Docker / Swarm / SSH
150
150
  test_files: []