dock0 0.4.0 → 0.4.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 83c126fbfd1dce025ab4e55c8d5824c78427bfe5
4
- data.tar.gz: b23d2424d470c95e2528b5abbc640c439b903c5f
2
+ SHA256:
3
+ metadata.gz: 1f69de20dbb99adc8964e0e9bbd6c5cc2970bcd23f27f40aca11d5a315481068
4
+ data.tar.gz: c95fd0bb011a4c6ae9b8a9ec0e3a892b07111b266c069ef497f9832565da9cff
5
5
  SHA512:
6
- metadata.gz: 10e63b9f04934b722d6aac4b2ea9e87a409c4c55b464cf6c668542ca1592302d541243c4847ffc935b6220f288f44dfec4999b8aa57e229fff0d7891826c7e77
7
- data.tar.gz: c64d88a22c91e0ce3be3fde0fe971d474d067f35fbe19f193fb0d3088be45afa75560e4720a3cf2549c6fbd858bec5cb7802f31a659e0f6fa8120079277dc2bb
6
+ metadata.gz: 508586f71e712fd587d52929e1e0f0870027b0ac3a86f855e02f0065f2c402d7182b3dbb2fcd48a6ade5892a5d946c0a3501dd9ff2acd071354f5126fbdd5aa0
7
+ data.tar.gz: 5f3ccb60440f71bf006d4b4ec860513b331bfe4336c5ad1824f47b43bb0aaec7bbecc73aa0c4aa04299464d6c155deaca007eaf93843520528faaa26e7955a9c
data/.circle-ruby ADDED
@@ -0,0 +1,4 @@
1
+ 2.6.1
2
+ 2.5.3
3
+ 2.4.5
4
+ 2.3.8
@@ -0,0 +1,44 @@
1
+ name: Build
2
+ on:
3
+ pull_request:
4
+ push:
5
+ jobs:
6
+ build:
7
+ name: Build
8
+ runs-on: ubuntu-22.04
9
+ steps:
10
+ - name: Checkout
11
+ uses: actions/checkout@v3
12
+ with:
13
+ submodules: recursive
14
+ - uses: ruby/setup-ruby@v1
15
+ with:
16
+ ruby-version: '3.1'
17
+ bundler-cache: true
18
+ - name: Build
19
+ run: bundle exec rake
20
+ - name: Release
21
+ if: startsWith(github.ref, 'refs/tags/')
22
+ run: bundle exec rake release
23
+ env:
24
+ GEM_HOST_API_KEY: ${{ secrets.GEM_HOST_API_KEY }}
25
+ - name: Post to a Slack channel
26
+ if: ${{ failure() }}
27
+ uses: slackapi/slack-github-action@v1.18.0
28
+ env:
29
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
30
+ SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
31
+ with:
32
+ payload: |
33
+ {
34
+ "text": "*${{ github.repository }}*\nBuild failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}",
35
+ "blocks": [
36
+ {
37
+ "type": "section",
38
+ "text": {
39
+ "type": "mrkdwn",
40
+ "text": "*${{ github.repository }}*\nBuild failed: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
41
+ }
42
+ }
43
+ ]
44
+ }
data/.rubocop.yml CHANGED
@@ -1,2 +1,2 @@
1
- Encoding:
2
- Enabled: false
1
+ inherit_gem:
2
+ goodcop: .rubocop.yml
data/Gemfile CHANGED
@@ -1,4 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
3
  gemspec
4
-
data/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2014 Les Aker
3
+ Copyright (c) 2022 Les Aker
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
data/README.md CHANGED
@@ -2,10 +2,9 @@ dock0
2
2
  =========
3
3
 
4
4
  [![Gem Version](https://img.shields.io/gem/v/dock0.svg)](https://rubygems.org/gems/dock0)
5
- [![Dependency Status](https://img.shields.io/gemnasium/dock0/dock0.svg)](https://gemnasium.com/dock0/dock0)
6
- [![Code Climate](https://img.shields.io/codeclimate/github/dock0/dock0.svg)](https://codeclimate.com/github/dock0/dock0)
7
- [![Coverage Status](https://img.shields.io/coveralls/dock0/dock0.svg)](https://coveralls.io/r/dock0/dock0)
8
- [![Build Status](https://img.shields.io/travis/dock0/dock0.svg)](https://travis-ci.org/dock0/dock0)
5
+ [![Build Status](https://img.shields.io/travis/com/dock0/dock0.svg)](https://travis-ci.com/dock0/dock0)
6
+ [![Coverage Status](https://img.shields.io/codecov/c/github/dock0/dock0.svg)](https://codecov.io/github/dock0/dock0)
7
+ [![Code Quality](https://img.shields.io/codacy/df0d7e6f7241482db8eb4d0b920c36ad.svg)](https://www.codacy.com/app/akerl/dock0)
9
8
  [![MIT Licensed](https://img.shields.io/badge/license-MIT-green.svg)](https://tldrlegal.com/license/mit-license)
10
9
 
11
10
  Component generator for building Arch systems
@@ -23,7 +22,7 @@ For information on how this is used, check out my blog posts:
23
22
  dock0 image config.yaml
24
23
  ```
25
24
 
26
- This will build a compressed rootfs from your configuration. Here is [an example configuration](https://github.com/dock0/vm_root)
25
+ This will build a compressed rootfs from your configuration. Here is [an example configuration](https://github.com/dock0/rootfs)
27
26
 
28
27
  ### Build a config bundle
29
28
 
@@ -31,7 +30,7 @@ This will build a compressed rootfs from your configuration. Here is [an example
31
30
  dock0 config config.yaml
32
31
  ```
33
32
 
34
- This builds a config tarball designed to be used to customize a rootfs. Here is [an example configuration](https://github.com/dock0/vm_config)
33
+ This builds a config tarball designed to be used to customize a rootfs. Here is [an example configuration](https://github.com/dock0/deploy_tool)
35
34
 
36
35
  ### Build a system deployment
37
36
 
@@ -39,7 +38,7 @@ This builds a config tarball designed to be used to customize a rootfs. Here is
39
38
  dock0 install config.yaml
40
39
  ```
41
40
 
42
- This downloads created artifacts and runs build scripts to combine precreated and dynamic components into a full system. Here is [an example configuration](https://github.com/dock0/vm_install)
41
+ This downloads created artifacts and runs build scripts to combine precreated and dynamic components into a full system. Here is [an example configuration](https://github.com/dock0/vm_spec)
43
42
 
44
43
  ## Installation
45
44
 
data/Rakefile CHANGED
@@ -7,8 +7,7 @@ RSpec::Core::RakeTask.new(:spec)
7
7
 
8
8
  desc 'Run Rubocop on the gem'
9
9
  RuboCop::RakeTask.new(:rubocop) do |task|
10
- task.patterns = ['lib/**/*.rb', 'spec/**/*.rb', 'bin/*']
11
10
  task.fail_on_error = true
12
11
  end
13
12
 
14
- task default: [:spec, :rubocop, :build, :install]
13
+ task default: %i[spec rubocop build install]
data/bin/dock0 CHANGED
@@ -3,6 +3,7 @@
3
3
  require 'dock0'
4
4
  require 'mercenary'
5
5
 
6
+ # rubocop:disable Metrics/BlockLength
6
7
  Mercenary.program(:dock0) do |p|
7
8
  p.version Dock0::VERSION
8
9
  p.description 'Tool for creating server components'
@@ -43,3 +44,4 @@ Mercenary.program(:dock0) do |p|
43
44
  exit 1
44
45
  end
45
46
  end
47
+ # rubocop:enable Metrics/BlockLength
data/dock0.gemspec CHANGED
@@ -1,13 +1,14 @@
1
- $:.unshift File.expand_path('../lib/', __FILE__)
1
+ require 'English'
2
+ $LOAD_PATH.unshift File.expand_path('lib', __dir__)
2
3
  require 'dock0/version'
3
4
 
4
5
  Gem::Specification.new do |s|
5
6
  s.name = 'dock0'
6
7
  s.version = Dock0::VERSION
7
- s.date = Time.now.strftime("%Y-%m-%d")
8
+ s.date = Time.now.strftime('%Y-%m-%d')
8
9
 
9
10
  s.summary = 'Builds a read-only Arch host for Docker'
10
- s.description = "Generates a read-only Arch host for running Docker containers"
11
+ s.description = 'Generates a read-only Arch host for running Docker containers' # rubocop:disable Metrics/LineLength
11
12
  s.authors = ['Les Aker']
12
13
  s.email = 'me@lesaker.org'
13
14
  s.homepage = 'https://github.com/aker/dock0'
@@ -17,14 +18,15 @@ Gem::Specification.new do |s|
17
18
  s.test_files = `git ls-files spec/*`.split
18
19
  s.executables = ['dock0']
19
20
 
21
+ s.add_dependency 'cymbal', '~> 2.0.0'
22
+ s.add_dependency 'meld', '~> 1.1.0'
23
+ s.add_dependency 'menagerie', '~> 1.1.1'
20
24
  s.add_dependency 'mercenary', '~> 0.3.4'
21
- s.add_dependency 'menagerie', '~> 1.0.0'
22
- s.add_dependency 'meld', '~> 1.0.0'
23
- s.add_dependency 'cymbal', '~> 1.0.0'
24
25
 
25
- s.add_development_dependency 'rubocop', '~> 0.29.0'
26
- s.add_development_dependency 'rake', '~> 10.4.0'
27
- s.add_development_dependency 'coveralls', '~> 0.7.1'
28
- s.add_development_dependency 'rspec', '~> 3.2.0'
29
- s.add_development_dependency 'fuubar', '~> 2.0.0'
26
+ s.add_development_dependency 'codecov', '~> 0.1.1'
27
+ s.add_development_dependency 'fuubar', '~> 2.5.0'
28
+ s.add_development_dependency 'goodcop', '~> 0.8.0'
29
+ s.add_development_dependency 'rake', '~> 13.0.0'
30
+ s.add_development_dependency 'rspec', '~> 3.9.0'
31
+ s.add_development_dependency 'rubocop', '~> 0.76.0'
30
32
  end
data/lib/dock0/install.rb CHANGED
@@ -34,7 +34,7 @@ module Dock0
34
34
  def load_artifacts
35
35
  Dir.chdir("#{@paths[:build]}/#{@paths[:base]}") do
36
36
  menagerie = Menagerie.new @config[:menagerie]
37
- menagerie.create artifacts
37
+ menagerie.add_release artifacts
38
38
  end
39
39
  end
40
40
 
data/lib/dock0/version.rb CHANGED
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  ##
2
4
  # Set the version (needed for Mercenary -v)
3
5
  module Dock0
4
- VERSION = '0.4.0'
6
+ VERSION = '0.4.4'
5
7
  end
data/lib/dock0.rb CHANGED
@@ -30,7 +30,7 @@ module Dock0
30
30
 
31
31
  def initialize(*configs)
32
32
  @config = configs.each_with_object(default_config) do |path, obj|
33
- new = YAML.load(File.read(path))
33
+ new = YAML.safe_load(File.read(path))
34
34
  next unless new
35
35
  obj.deep_merge! Cymbal.symbolize(new)
36
36
  end
@@ -44,7 +44,7 @@ module Dock0
44
44
  def run(cmd)
45
45
  results = `#{cmd} 2>&1`
46
46
  return results if $CHILD_STATUS.success?
47
- fail "Failed running #{cmd}:\n#{results}"
47
+ raise "Failed running #{cmd}:\n#{results}"
48
48
  end
49
49
 
50
50
  def templates
data/spec/spec_helper.rb CHANGED
@@ -1,9 +1,10 @@
1
- require 'simplecov'
2
- require 'coveralls'
3
-
4
- SimpleCov.formatter = Coveralls::SimpleCov::Formatter
5
- SimpleCov.start do
6
- add_filter '/spec/'
1
+ if ENV['CI'] == 'true'
2
+ require 'simplecov'
3
+ require 'codecov'
4
+ SimpleCov.formatter = SimpleCov::Formatter::Codecov
5
+ SimpleCov.start do
6
+ add_filter '/spec/'
7
+ end
7
8
  end
8
9
 
9
10
  require 'rspec'
metadata CHANGED
@@ -1,141 +1,155 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dock0
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Les Aker
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-25 00:00:00.000000000 Z
11
+ date: 2022-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: mercenary
14
+ name: cymbal
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.3.4
19
+ version: 2.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.3.4
26
+ version: 2.0.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: menagerie
28
+ name: meld
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.0.0
33
+ version: 1.1.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 1.0.0
40
+ version: 1.1.0
41
41
  - !ruby/object:Gem::Dependency
42
- name: meld
42
+ name: menagerie
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.0.0
47
+ version: 1.1.1
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 1.0.0
54
+ version: 1.1.1
55
55
  - !ruby/object:Gem::Dependency
56
- name: cymbal
56
+ name: mercenary
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 1.0.0
61
+ version: 0.3.4
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 1.0.0
68
+ version: 0.3.4
69
69
  - !ruby/object:Gem::Dependency
70
- name: rubocop
70
+ name: codecov
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 0.29.0
75
+ version: 0.1.1
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 0.29.0
82
+ version: 0.1.1
83
83
  - !ruby/object:Gem::Dependency
84
- name: rake
84
+ name: fuubar
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 10.4.0
89
+ version: 2.5.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 10.4.0
96
+ version: 2.5.0
97
97
  - !ruby/object:Gem::Dependency
98
- name: coveralls
98
+ name: goodcop
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 0.7.1
103
+ version: 0.8.0
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 0.7.1
110
+ version: 0.8.0
111
+ - !ruby/object:Gem::Dependency
112
+ name: rake
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 13.0.0
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 13.0.0
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: rspec
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: 3.2.0
131
+ version: 3.9.0
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: 3.2.0
138
+ version: 3.9.0
125
139
  - !ruby/object:Gem::Dependency
126
- name: fuubar
140
+ name: rubocop
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: 2.0.0
145
+ version: 0.76.0
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: 2.0.0
152
+ version: 0.76.0
139
153
  description: Generates a read-only Arch host for running Docker containers
140
154
  email: me@lesaker.org
141
155
  executables:
@@ -143,10 +157,11 @@ executables:
143
157
  extensions: []
144
158
  extra_rdoc_files: []
145
159
  files:
160
+ - ".circle-ruby"
161
+ - ".github/workflows/build.yml"
146
162
  - ".gitignore"
147
163
  - ".rspec"
148
164
  - ".rubocop.yml"
149
- - ".travis.yml"
150
165
  - Gemfile
151
166
  - LICENSE
152
167
  - README.md
@@ -182,8 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
197
  - !ruby/object:Gem::Version
183
198
  version: '0'
184
199
  requirements: []
185
- rubyforge_project:
186
- rubygems_version: 2.4.5
200
+ rubygems_version: 3.3.7
187
201
  signing_key:
188
202
  specification_version: 4
189
203
  summary: Builds a read-only Arch host for Docker
data/.travis.yml DELETED
@@ -1,15 +0,0 @@
1
- language: ruby
2
- cache: bundler
3
- sudo: false
4
- rvm:
5
- - 2.2.0
6
- - 2.1.5
7
- - 2.0.0-p598
8
- - 1.9.3-p551
9
- notifications:
10
- email: false
11
- irc:
12
- template:
13
- - "%{repository}/%{branch}/%{build_number}: %{message} -- %{build_url}"
14
- channels:
15
- - irc.oftc.net#akerl