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
         |