obs_deploy 0.3.4 → 0.3.9
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 +4 -4
- data/Dockerfile.dev +2 -1
- data/Gemfile.lock +6 -4
- data/README.md +0 -19
- data/lib/obs_deploy.rb +1 -1
- data/lib/obs_deploy/check_diff.rb +1 -1
- data/lib/obs_deploy/cli/commands.rb +0 -1
- data/lib/obs_deploy/cli/commands/get_deployed_version.rb +7 -1
- data/lib/obs_deploy/cli/commands/get_diff.rb +6 -1
- data/lib/obs_deploy/cli/commands/get_package_version.rb +7 -1
- data/lib/obs_deploy/cli/commands/get_pending_migration.rb +9 -1
- data/lib/obs_deploy/cli/commands/systemctl.rb +0 -1
- data/lib/obs_deploy/version.rb +1 -1
- data/obs_deploy.gemspec +1 -0
- metadata +16 -3
- data/lib/obs_deploy/cli/commands/deploy.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 270586d05289871ade6a65de49c6e363d58525745535da5fc5f95c3a155f26b2
|
4
|
+
data.tar.gz: 5df94bb7f4fbeb7a0068ecf59af2d0904aafbc0b854aa03884b3ffa445b2ecae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c26bb9750eaa66e1fda974966b25077a2b9b4bb40ecf0eca4d5bc208b433f5e7145a7b583b35d95c8ef8f3156245af8588f02cb25882a11129d95f08c8da0a75
|
7
|
+
data.tar.gz: e15d6d0fc1842b721b2db3dd759a4185330809d490f8ed850c9962444b5504b2df2ea787ecb0e3485b422ae26a607c7434e08a610c104ea47787cde28e58c231
|
data/Dockerfile.dev
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
FROM opensuse/tumbleweed
|
2
2
|
|
3
3
|
RUN zypper --gpg-auto-import-keys refresh
|
4
|
-
RUN zypper install -y openssh vim iputils
|
4
|
+
RUN zypper install -y openssh vim iputils ruby2.7 ruby2.7-devel ruby2.7-rubygem-cheetah ruby2.7-rubygem-nokogiri
|
5
|
+
RUN gem install git_diff_parser dry-cli
|
5
6
|
|
6
7
|
COPY entrypoint.sh /entrypoint.sh
|
7
8
|
RUN chmod +x /entrypoint.sh
|
data/Gemfile.lock
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
obs_deploy (0.3.
|
4
|
+
obs_deploy (0.3.9)
|
5
5
|
cheetah
|
6
6
|
dry-cli
|
7
|
+
git_diff_parser
|
7
8
|
nokogiri
|
8
9
|
|
9
10
|
GEM
|
@@ -16,17 +17,18 @@ GEM
|
|
16
17
|
cheetah (0.5.2)
|
17
18
|
abstract_method (~> 1.2)
|
18
19
|
coderay (1.1.2)
|
19
|
-
concurrent-ruby (1.1.
|
20
|
+
concurrent-ruby (1.1.8)
|
20
21
|
crack (0.4.3)
|
21
22
|
safe_yaml (~> 1.0.0)
|
22
23
|
diff-lcs (1.3)
|
23
24
|
dry-cli (0.6.0)
|
24
25
|
concurrent-ruby (~> 1.0)
|
26
|
+
git_diff_parser (3.2.0)
|
25
27
|
hashdiff (1.0.1)
|
26
28
|
jaro_winkler (1.5.4)
|
27
29
|
method_source (1.0.0)
|
28
30
|
mini_portile2 (2.5.0)
|
29
|
-
nokogiri (1.11.
|
31
|
+
nokogiri (1.11.1)
|
30
32
|
mini_portile2 (~> 2.5.0)
|
31
33
|
racc (~> 1.4)
|
32
34
|
parallel (1.19.1)
|
@@ -82,4 +84,4 @@ DEPENDENCIES
|
|
82
84
|
webmock
|
83
85
|
|
84
86
|
BUNDLED WITH
|
85
|
-
2.
|
87
|
+
2.2.8
|
data/README.md
CHANGED
@@ -27,25 +27,6 @@ zypper in ruby2.6-rubygem-obs_deploy
|
|
27
27
|
## Usage
|
28
28
|
|
29
29
|
|
30
|
-
|
31
|
-
### To deploy
|
32
|
-
|
33
|
-
As default it will run in `dry-run` mode (no changes are made)
|
34
|
-
|
35
|
-
#### dry-run:
|
36
|
-
|
37
|
-
`obs_deploy deploy --user root --host localhost`
|
38
|
-
|
39
|
-
or
|
40
|
-
|
41
|
-
`obs_deploy deploy --user root --host localhost --dry-run`
|
42
|
-
|
43
|
-
### deploy
|
44
|
-
|
45
|
-
`obs_deploy deploy --user root --host localhost --no-dry-run`
|
46
|
-
|
47
|
-
|
48
|
-
|
49
30
|
### To check which version is deployed
|
50
31
|
|
51
32
|
`obs_deploy deployed-version [--host <server>]`
|
data/lib/obs_deploy.rb
CHANGED
@@ -17,7 +17,6 @@ module ObsDeploy
|
|
17
17
|
register 'available-package', GetPackageVersion, aliases: ['ap']
|
18
18
|
register 'deployed-version', GetDeployedVersion, aliases: ['dv']
|
19
19
|
register 'version', Version, aliases: ['v', '-v', '--version']
|
20
|
-
register 'deploy', Deploy, aliases: ['dp']
|
21
20
|
register 'refresh-repositories', RefreshRepositories, aliases: ['rr']
|
22
21
|
register 'systemctl', Systemctl, aliases: ['sys']
|
23
22
|
register 'pending-migrations', GetPendingMigration, aliases: ['pm']
|
@@ -6,8 +6,14 @@ module ObsDeploy
|
|
6
6
|
class GetDeployedVersion < Dry::CLI::Command
|
7
7
|
desc 'Get the deployed version of OBS'
|
8
8
|
option :url, type: :string, default: 'https://api.opensuse.org', desc: 'API url'
|
9
|
+
option :ignore_certificate, aliases: ['k'], type: :bool, default: false, desc: 'Ignore invalid or self-signed SSL certificates'
|
10
|
+
|
11
|
+
def call(url:, ignore_certificate:, **)
|
12
|
+
if ignore_certificate
|
13
|
+
OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
|
14
|
+
OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
|
15
|
+
end
|
9
16
|
|
10
|
-
def call(url:, **)
|
11
17
|
puts "Deployed version: #{ObsDeploy::CheckDiff.new(server: url).obs_running_commit}"
|
12
18
|
end
|
13
19
|
end
|
@@ -10,8 +10,13 @@ module ObsDeploy
|
|
10
10
|
option :project, type: :string, default: 'OBS:Server:Unstable', desc: 'Project name'
|
11
11
|
option :product, type: :string, default: 'SLE_12_SP4', desc: 'Product name'
|
12
12
|
option :architecture, type: :string, default: 'x86_64', desc: 'Architecture'
|
13
|
+
option :ignore_certificate, aliases: ['k'], type: :bool, default: false, desc: 'Ignore invalid or self-signed SSL certificates'
|
13
14
|
|
14
|
-
def call(url:, product:, project:, **)
|
15
|
+
def call(url:, product:, project:, ignore_certificate:, **)
|
16
|
+
if ignore_certificate
|
17
|
+
OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
|
18
|
+
OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
|
19
|
+
end
|
15
20
|
puts "diff : #{ObsDeploy::CheckDiff.new(server: url, project: project, product: product).github_diff}"
|
16
21
|
end
|
17
22
|
end
|
@@ -9,8 +9,14 @@ module ObsDeploy
|
|
9
9
|
option :package, type: :string, default: 'obs-api', desc: 'Package name'
|
10
10
|
option :product, type: :string, default: 'SLE_12_SP4', desc: 'Product name'
|
11
11
|
option :architecture, type: :string, default: 'x86_64', desc: 'Architecture'
|
12
|
+
option :ignore_certificate, aliases: ['k'], type: :bool, default: false, desc: 'Ignore invalid or self-signed SSL certificates'
|
13
|
+
|
14
|
+
def call(url:, ignore_certificate:, product:, **)
|
15
|
+
if ignore_certificate
|
16
|
+
OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
|
17
|
+
OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
|
18
|
+
end
|
12
19
|
|
13
|
-
def call(url:, product:, **)
|
14
20
|
puts "Available package: #{ObsDeploy::CheckDiff.new(server: url, product: product).package_version}"
|
15
21
|
end
|
16
22
|
end
|
@@ -5,13 +5,21 @@ module ObsDeploy
|
|
5
5
|
module Commands
|
6
6
|
class GetPendingMigration < Dry::CLI::Command
|
7
7
|
option :url, type: :string, default: 'https://api.opensuse.org', desc: 'API url'
|
8
|
+
option :ignore_certificate, aliases: ['k'], type: :bool, default: false, desc: 'Ignore invalid or self-signed SSL certificates'
|
9
|
+
|
10
|
+
def call(url:, ignore_certificate:, **)
|
11
|
+
if ignore_certificate
|
12
|
+
OpenSSL::SSL.send(:remove_const, :VERIFY_PEER)
|
13
|
+
OpenSSL::SSL.const_set(:VERIFY_PEER, OpenSSL::SSL::VERIFY_NONE)
|
14
|
+
end
|
8
15
|
|
9
|
-
def call(url:, **)
|
10
16
|
migrations = ObsDeploy::CheckDiff.new(server: url).migrations
|
11
17
|
if migrations.empty?
|
12
18
|
puts 'No pending migrations'
|
19
|
+
exit(0)
|
13
20
|
else
|
14
21
|
puts migrations
|
22
|
+
exit(1)
|
15
23
|
end
|
16
24
|
end
|
17
25
|
end
|
data/lib/obs_deploy/version.rb
CHANGED
data/obs_deploy.gemspec
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: obs_deploy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Victor Pereira
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-03-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -122,6 +122,20 @@ dependencies:
|
|
122
122
|
- - ">="
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: git_diff_parser
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
140
|
name: nokogiri
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,7 +182,6 @@ files:
|
|
168
182
|
- lib/obs_deploy/apache_sysconfig.rb
|
169
183
|
- lib/obs_deploy/check_diff.rb
|
170
184
|
- lib/obs_deploy/cli/commands.rb
|
171
|
-
- lib/obs_deploy/cli/commands/deploy.rb
|
172
185
|
- lib/obs_deploy/cli/commands/get_deployed_version.rb
|
173
186
|
- lib/obs_deploy/cli/commands/get_diff.rb
|
174
187
|
- lib/obs_deploy/cli/commands/get_package_version.rb
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module ObsDeploy
|
4
|
-
module CLI
|
5
|
-
module Commands
|
6
|
-
class Deploy < Dry::CLI::Command
|
7
|
-
desc 'Deploy obs-api'
|
8
|
-
|
9
|
-
option :user, type: :string, default: 'root', desc: 'User'
|
10
|
-
option :dry_run, type: :boolean, default: true, desc: 'Dry run'
|
11
|
-
option :host, type: :string, default: 'localhost', desc: 'Set the server address'
|
12
|
-
option :port, type: :int, default: 22, desc: 'Set the server port'
|
13
|
-
|
14
|
-
def call(user:, dry_run:, host:, port:, **)
|
15
|
-
ssh_driver = ObsDeploy::SSH.new(user: user, server: host, port: port)
|
16
|
-
zypper = ObsDeploy::Zypper.new(dry_run: dry_run)
|
17
|
-
ssh_driver.run(zypper.update)
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|