rake_gpg 0.1.0.pre.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 244f0639de03e8b4339745ae30299db15b65b938ba5eef87bf6f34201861482c
4
+ data.tar.gz: 28c1bdf776209d4f25346f04346e6be58eba480d7f424a64aa4be745f3e1b19f
5
+ SHA512:
6
+ metadata.gz: e689e81926a08b2bd9bba57e1a4a8d6089d1beeed6cfd1dad262641bcd92e19bb50c20a83ccbce5164a2190ef271785fa2e88fc3b7006de09fa01923571d4a45
7
+ data.tar.gz: 5a98b0cd61caf00ec197156b54946a5464661d8de2ebdb1dc7dbba454947bb161b43f7eebabec601abbc098d4ed438e5239fb40475a42d939636ff533132d0f3
@@ -0,0 +1,56 @@
1
+ version: 2.1
2
+ jobs:
3
+ test:
4
+ working_directory: ~/source
5
+ docker:
6
+ - image: ruby:2.6.0
7
+ steps:
8
+ - checkout
9
+ - run: ./scripts/ci/steps/test.sh
10
+ prerelease:
11
+ working_directory: ~/source
12
+ docker:
13
+ - image: ruby:2.6.0
14
+ steps:
15
+ - checkout
16
+ - run: ./scripts/ci/common/install-git-crypt.sh
17
+ - run: ./scripts/ci/common/install-gpg-key.sh
18
+ - run: ./scripts/ci/common/configure-git.sh
19
+ - run: ./scripts/ci/common/configure-rubygems.sh
20
+ - run: ./scripts/ci/steps/prerelease.sh
21
+ release:
22
+ working_directory: ~/source
23
+ docker:
24
+ - image: ruby:2.6.0
25
+ steps:
26
+ - checkout
27
+ - run: ./scripts/ci/common/install-git-crypt.sh
28
+ - run: ./scripts/ci/common/install-gpg-key.sh
29
+ - run: ./scripts/ci/common/configure-git.sh
30
+ - run: ./scripts/ci/common/configure-rubygems.sh
31
+ - run: ./scripts/ci/steps/release.sh
32
+
33
+ workflows:
34
+ version: 2
35
+ pipeline:
36
+ jobs:
37
+ - test
38
+ - prerelease:
39
+ requires:
40
+ - test
41
+ filters:
42
+ branches:
43
+ only: master
44
+ - hold:
45
+ type: approval
46
+ requires:
47
+ - prerelease
48
+ filters:
49
+ branches:
50
+ only: master
51
+ - release:
52
+ requires:
53
+ - hold
54
+ filters:
55
+ branches:
56
+ only: master
Binary file
data/.envrc ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+
3
+ PROJECT_DIR="$(pwd)"
4
+
5
+ PATH_add ${PROJECT_DIR}
@@ -0,0 +1,4 @@
1
+ # Do not edit this file. To specify the files to encrypt, create your own
2
+ # .gitattributes file in the directory where your files are.
3
+ * !filter !diff
4
+ *.gpg binary
@@ -0,0 +1,3 @@
1
+ � �|�k����`m1���mh��2
2
+ ���0�/�("ӿ�W�d��p��i9�+���զ�mO��Uq]���r��>է<U��?�-߱�������%�/Y����~w���Q��k�=�6h�;E�B���p��GO�> ���\���-U{y��OH
3
+ &��yȿd�ؑ gB]�wD���2��/�'۩�ͺ�4M�(W�hX*��BH|m!|\�@׺jA�q���5���T�좯O�qMe���Zs_�O����e��l�a�V����u
data/.gitattributes ADDED
@@ -0,0 +1 @@
1
+ config/secrets/** filter=git-crypt diff=git-crypt
data/.gitignore ADDED
@@ -0,0 +1,32 @@
1
+ ## Standard stuff:
2
+ *.gem
3
+ *.rbc
4
+ .rakeTasks
5
+ /.config
6
+ /coverage/
7
+ /InstalledFiles
8
+ /pkg/
9
+ .rspec_status
10
+ /spec/reports/
11
+ /spec/examples.txt
12
+ /test/tmp/
13
+ /test/version_tmp/
14
+ /tmp/
15
+
16
+ ## Documentation cache and generated files:
17
+ /.yardoc/
18
+ /_yardoc/
19
+ /doc/
20
+ /rdoc/
21
+ /coverage/
22
+
23
+ ## Environment normalization:
24
+ /.bundle/
25
+ /vendor/bundle
26
+ /lib/bundler/man/
27
+
28
+ ## IDE:
29
+ .idea
30
+ *.ipr
31
+ *.iws
32
+ *.iml
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.6.0
@@ -0,0 +1,75 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of
9
+ experience, nationality, personal appearance, race, religion, or sexual
10
+ identity and orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at tobyclemson@gmail.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an
62
+ incident. Further details of specific enforcement policies may be posted
63
+ separately.
64
+
65
+ Project maintainers who do not follow or enforce the Code of Conduct in good
66
+ faith may face temporary or permanent repercussions as determined by other
67
+ members of the project's leadership.
68
+
69
+ ## Attribution
70
+
71
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage],
72
+ version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
73
+
74
+ [homepage]: http://contributor-covenant.org
75
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in rake_leiningen.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,102 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ rake_gpg (0.1.0.pre.1)
5
+ gpgme (~> 2.0)
6
+ rake_factory (>= 0.23, < 1)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activesupport (6.0.2.2)
12
+ concurrent-ruby (~> 1.0, >= 1.0.2)
13
+ i18n (>= 0.7, < 2)
14
+ minitest (~> 5.1)
15
+ tzinfo (~> 1.1)
16
+ zeitwerk (~> 2.2)
17
+ addressable (2.7.0)
18
+ public_suffix (>= 2.0.2, < 5.0)
19
+ colored2 (3.1.2)
20
+ concurrent-ruby (1.1.6)
21
+ diff-lcs (1.3)
22
+ docile (1.3.2)
23
+ excon (0.73.0)
24
+ fakefs (1.2.2)
25
+ faraday (1.0.1)
26
+ multipart-post (>= 1.2, < 3)
27
+ gem-release (2.1.1)
28
+ gpgme (2.0.20)
29
+ mini_portile2 (~> 2.3)
30
+ i18n (1.8.2)
31
+ concurrent-ruby (~> 1.0)
32
+ mini_portile2 (2.5.0)
33
+ minitest (5.14.0)
34
+ multipart-post (2.1.1)
35
+ octokit (4.18.0)
36
+ faraday (>= 0.9)
37
+ sawyer (~> 0.8.0, >= 0.5.3)
38
+ public_suffix (4.0.4)
39
+ rake (13.0.1)
40
+ rake_circle_ci (0.7.0)
41
+ colored2 (~> 3.1)
42
+ excon (~> 0.72)
43
+ rake_factory (~> 0.23)
44
+ sshkey (~> 2.0)
45
+ rake_factory (0.27.0)
46
+ activesupport (>= 4)
47
+ rake (~> 13.0)
48
+ rake_github (0.5.0)
49
+ colored2 (~> 3.1)
50
+ octokit (~> 4.16)
51
+ rake_factory (~> 0.23)
52
+ sshkey (~> 2.0)
53
+ rake_ssh (0.4.0)
54
+ colored2 (~> 3.1)
55
+ rake_factory (~> 0.23)
56
+ sshkey (~> 2.0)
57
+ rspec (3.9.0)
58
+ rspec-core (~> 3.9.0)
59
+ rspec-expectations (~> 3.9.0)
60
+ rspec-mocks (~> 3.9.0)
61
+ rspec-core (3.9.1)
62
+ rspec-support (~> 3.9.1)
63
+ rspec-expectations (3.9.1)
64
+ diff-lcs (>= 1.2.0, < 2.0)
65
+ rspec-support (~> 3.9.0)
66
+ rspec-mocks (3.9.1)
67
+ diff-lcs (>= 1.2.0, < 2.0)
68
+ rspec-support (~> 3.9.0)
69
+ rspec-support (3.9.2)
70
+ sawyer (0.8.2)
71
+ addressable (>= 2.3.5)
72
+ faraday (> 0.8, < 2.0)
73
+ semantic (1.6.1)
74
+ simplecov (0.18.5)
75
+ docile (~> 1.1)
76
+ simplecov-html (~> 0.11)
77
+ simplecov-html (0.12.2)
78
+ sshkey (2.0.0)
79
+ thread_safe (0.3.6)
80
+ tzinfo (1.2.7)
81
+ thread_safe (~> 0.1)
82
+ zeitwerk (2.3.0)
83
+
84
+ PLATFORMS
85
+ ruby
86
+
87
+ DEPENDENCIES
88
+ activesupport (>= 5.2)
89
+ bundler (~> 2.1)
90
+ fakefs (~> 1.0)
91
+ gem-release (~> 2.0)
92
+ rake (~> 13.0)
93
+ rake_circle_ci (~> 0.7)
94
+ rake_github (~> 0.3)
95
+ rake_gpg!
96
+ rake_ssh (~> 0.2)
97
+ rspec (~> 3.9)
98
+ semantic (~> 1.6.1)
99
+ simplecov (~> 0.16)
100
+
101
+ BUNDLED WITH
102
+ 2.1.4
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2020 InfraBlocks Maintainers
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,72 @@
1
+ # RakeGPG
2
+
3
+ Rake tasks for common GPG related activities allowing keys to be managed and
4
+ content to be encrypted and decrypted.
5
+
6
+ ## Installation
7
+
8
+ Add this line to your application's Gemfile:
9
+
10
+ ```ruby
11
+ gem 'rake_gpg'
12
+ ```
13
+
14
+ And then execute:
15
+
16
+ $ bundle
17
+
18
+ Or install it yourself as:
19
+
20
+ $ gem install rake_gpg
21
+
22
+ ## Usage
23
+
24
+ TODO: Write usage instructions here
25
+
26
+ ## Development
27
+
28
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run
29
+ `rake spec` to run the tests. You can also run `bin/console` for an interactive
30
+ prompt that will allow you to experiment.
31
+
32
+ To install this gem onto your local machine, run `bundle exec rake install`. To
33
+ release a new version, update the version number in `version.rb`, and then run
34
+ `bundle exec rake release`, which will create a git tag for the version, push
35
+ git commits and tags, and push the `.gem` file to
36
+ [rubygems.org](https://rubygems.org).
37
+
38
+ ### Managing CircleCI keys
39
+
40
+ To encrypt a GPG key for use by CircleCI:
41
+
42
+ ```bash
43
+ openssl aes-256-cbc \
44
+ -e \
45
+ -md sha1 \
46
+ -in ./config/secrets/ci/gpg.private \
47
+ -out ./.circleci/gpg.private.enc \
48
+ -k "<passphrase>"
49
+ ```
50
+
51
+ To check decryption is working correctly:
52
+
53
+ ```bash
54
+ openssl aes-256-cbc \
55
+ -d \
56
+ -md sha1 \
57
+ -in ./.circleci/gpg.private.enc \
58
+ -k "<passphrase>"
59
+ ```
60
+
61
+ ## Contributing
62
+
63
+ Bug reports and pull requests are welcome on GitHub at
64
+ https://github.com/infrablocks/rake_gpg. This project is intended to be a
65
+ safe, welcoming space for collaboration, and contributors are expected to
66
+ adhere to the [Contributor Covenant](http://contributor-covenant.org) code of
67
+ conduct.
68
+
69
+ ## License
70
+
71
+ The gem is available as open source under the terms of the
72
+ [MIT License](http://opensource.org/licenses/MIT).
data/Rakefile ADDED
@@ -0,0 +1,80 @@
1
+ require 'yaml'
2
+ require 'rake_circle_ci'
3
+ require 'rake_github'
4
+ require 'rake_ssh'
5
+ require 'rspec/core/rake_task'
6
+
7
+ task :default => :spec
8
+
9
+ RSpec::Core::RakeTask.new(:spec)
10
+
11
+ RakeSSH.define_key_tasks(
12
+ namespace: :deploy_key,
13
+ path: 'config/secrets/ci/',
14
+ comment: 'maintainers@infrablocks.io'
15
+ )
16
+
17
+ RakeCircleCI.define_project_tasks(
18
+ namespace: :circle_ci,
19
+ project_slug: 'github/infrablocks/rake_gpg'
20
+ ) do |t|
21
+ circle_ci_config =
22
+ YAML.load_file('config/secrets/circle_ci/config.yaml')
23
+
24
+ t.api_token = circle_ci_config["circle_ci_api_token"]
25
+ t.environment_variables = {
26
+ ENCRYPTION_PASSPHRASE:
27
+ File.read('config/secrets/ci/encryption.passphrase')
28
+ .chomp
29
+ }
30
+ t.ssh_keys = [
31
+ {
32
+ hostname: "github.com",
33
+ private_key: File.read('config/secrets/ci/ssh.private')
34
+ }
35
+ ]
36
+ end
37
+
38
+ RakeGithub.define_repository_tasks(
39
+ namespace: :github,
40
+ repository: 'infrablocks/rake_gpg',
41
+ ) do |t|
42
+ github_config =
43
+ YAML.load_file('config/secrets/github/config.yaml')
44
+
45
+ t.access_token = github_config["github_personal_access_token"]
46
+ t.deploy_keys = [
47
+ {
48
+ title: 'CircleCI',
49
+ public_key: File.read('config/secrets/ci/ssh.public')
50
+ }
51
+ ]
52
+ end
53
+
54
+ namespace :pipeline do
55
+ task :prepare => [
56
+ :'circle_ci:project:follow',
57
+ :'circle_ci:env_vars:ensure',
58
+ :'circle_ci:ssh_keys:ensure',
59
+ :'github:deploy_keys:ensure'
60
+ ]
61
+ end
62
+
63
+ namespace :version do
64
+ desc "Bump version for specified type (pre, major, minor, patch)"
65
+ task :bump, [:type] do |_, args|
66
+ bump_version_for(args.type)
67
+ end
68
+ end
69
+
70
+ desc "Release gem"
71
+ task :release do
72
+ sh "gem release --tag --push"
73
+ end
74
+
75
+ def bump_version_for(version_type)
76
+ sh "gem bump --version #{version_type} " +
77
+ "&& bundle install " +
78
+ "&& export LAST_MESSAGE=\"$(git log -1 --pretty=%B)\" " +
79
+ "&& git commit -a --amend -m \"${LAST_MESSAGE} [ci skip]\""
80
+ end
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "rake_leiningen"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1 @@
1
+ true
@@ -0,0 +1 @@
1
+ fmFsBRd0haxdPyYDNZkgDHojaZ3MgWg5DFZKrzJtQCVdehpX
@@ -0,0 +1,58 @@
1
+ -----BEGIN PGP PRIVATE KEY BLOCK-----
2
+
3
+ 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
56
+ 3zYh8+8wYJ4+vrkTFspeu2s=
57
+ =bs3g
58
+ -----END PGP PRIVATE KEY BLOCK-----
@@ -0,0 +1,31 @@
1
+ -----BEGIN PGP PUBLIC KEY BLOCK-----
2
+
3
+ mQENBF5iajgBCADpMbSEz+Fl4HgUxXQLTuIi01QMf/dkwVDuwNrPdVtkKKi27RS5
4
+ OOiJYYzHkSqJwdbrMf1R/Uj1S4D4zP9BPc9VmKm1tPRnk4rrhpJPE9jR9X/6RTw3
5
+ ilIqelK84WfR74yAbaQYtEF3YEOhWSCvwsf3jQuE8LBMGh+Zf8DlYeH5wBvIIF5x
6
+ y0GDktvq5+dr/szqi8rMCz3MdiouUDbyWmMKwjmegSLzS/kf8dgiEg7iChVYNSAT
7
+ SBqxRZCWADiO61vzTO8YlZj4ke+S7Lkg/d4lafVJ3Bsw89K7F79+mIZaBU1oon8v
8
+ y+AM7QAK6kGgb50vsS9QYRtYqZzK0DsaLNhVABEBAAG0M09wZW4gU291cmNlIENJ
9
+ IDx0b2J5Y2xlbXNvbitvcGVuc291cmNlY2lAZ21haWwuY29tPokBVAQTAQgAPhYh
10
+ BKrpMrcwwrppf/364F2jkIc+ODWLBQJeYmo4AhsDBQkDwmcABQsJCAcCBhUKCQgL
11
+ AgQWAgMBAh4BAheAAAoJEF2jkIc+ODWLqhUIAMSJ9l+acSPSnW0MDhjFn46cFUSC
12
+ b7YF77wBBrMj6LhQnvad5ii+ik+fld2iK0ZGg33j9b6xY7XzoLUsa/HISdLdF6xg
13
+ sMJZMhDfBRaCDDH98cbvUkR1rdimSxNMWnEd+q7BApgSItVfnuMcZDpAPY+Qnoqj
14
+ WTlM1GVK0cjD7Fb3QiAOomBsD+O3zBqBpGBZ8bnkaxu7WfQMSV0QBBoyV5pNkYPs
15
+ pHWJgIm1axwYX9383ftDDtVzAQ6YcO8x+NntEIbV7RFwyCD+AlglDfUMe4ZYxniI
16
+ jYhAWrGNVMrLsyfkSYDd9keUQGXgrWupgrH1oEPUv0RkM43KV82wqoxJJaG5AQ0E
17
+ XmJqOAEIALXw6hlF/PWRPIWIO6tJS6u5g8ndnwlmNLbhgUj0D7OjXS1mzjFIeKvm
18
+ jFBb/6klmrow8WilnbjzgNWzHsSgkQGrn5WgiC+jDhwAv2UB6afs4MySM+gD1EZc
19
+ 8AAIE/asONMql/GVhPMRr4vbd7D7UdEA8YCVUc7qPRFITBPS/x2/E4lAzY/q5KZ9
20
+ uFI89Xrw02A7/Z4j+pWgOpUu/yExSu8pvFJ65aJ5t2nw48MdnYoykKKeZ/0FEzXj
21
+ s/MbJGDwVcM699TGodqMw40Kl7jIqIje7HvW18pRKgbwuzFJTA0gfAl6qWWbhaGB
22
+ m5E1zr/vTBh+vt4dLOtXD+5rG0blNlMAEQEAAYkBPAQYAQgAJhYhBKrpMrcwwrpp
23
+ f/364F2jkIc+ODWLBQJeYmo4AhsMBQkDwmcAAAoJEF2jkIc+ODWLedoIAKOh0rzN
24
+ ykH7uHPxqFLele2y0mv2HlYTDlZyZOnqqAa1dQeVRPwKzdWxzKuz8EJUBeLPTuj2
25
+ jNYxNSzax6TjYUGnRZES1/w1lOWHcBjM3A2XcR7sLNHQkM0NWsmL941tCs/wqRhw
26
+ WStCju+3uQHjlopABeMsfKfaOmfwgZqXgqm6wPucObTXy61ZxAXSY7yhnTj0jP/o
27
+ idMQDddNRDwPMleebjEHX0QbcKb3Cc6dapyUxKDMkER7eQfeHXnV/aOMVv6yigG1
28
+ jaOPJ+k3Atri5cZEFcdAqB4X30VOIHnSSIY/I/XIMnkJ6nrQclZzgRMH3zYh8+8w
29
+ YJ4+vrkTFspeu2s=
30
+ =aLlT
31
+ -----END PGP PUBLIC KEY BLOCK-----
@@ -0,0 +1,51 @@
1
+ -----BEGIN RSA PRIVATE KEY-----
2
+ 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
51
+ -----END RSA PRIVATE KEY-----
@@ -0,0 +1 @@
1
+ ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC1YLDLAf9tcQFf+hFocREI9UC0UAo0UeRKF4PwTrSl4r/774lql5TQoGJb7d3Nr2u81Zwv3ffz6iCh8p00iyg1dSmVikMqSBn3kzsAgK/9lSRme6T8u53K0VYw7wrpB7zLXM3rYAOWzmkaG+5NtD87gr5Sb1Qjjo3EBz+F5/XXsSKlJoBSTKG0cyz65x1zeldNd5nW5vosN0PmgdGfcDNZT+9puJhheDWJAjjr+JwtnDdPUo94Ci+NOR9GEvEZYzBmuUv3e6yAyGxiak2gneOfxfEAUar8W3phUs5ht5DA0hR7kLDqgMMz5nGX7SxgLcjhH2dDpKr2RbQn42lStNtxWB+NU4k8nY2qIjCwiAkB+5/iPItyXyeFP7TKQYFNF8Ozs7IZGWIg0Ild7NAhHo6UPojNfBhKV6N84P190StpMQS4wy9/UEcaKpp12zD4aLgxMCkLe4SfPsbUlhEKOMq4YGgqo3yRMr9gXuKGqEgfSc6q4c/B/8H1xjlK9ePVT9j0os8iZPyySpBxtGjmvz1aNAxA3+JMG5/WwummTB3QVgqmKjwcx1Gj02Q2tD+VHz70k5Leqyd5iBjqlS1lHmy9sU7rVM1lyD7vD96huMtUkPonB4Ht2hRIMmkcVTXo3nH82fKVnl4DPMyukaYHRvwUm7PliHowG2EOGZXUKqNq2w== maintainers@infrablocks.io
@@ -0,0 +1,2 @@
1
+ ---
2
+ circle_ci_api_token: "27393e98772c1342785957a776ca4acbaea7f7cb"
@@ -0,0 +1,2 @@
1
+ ---
2
+ github_personal_access_token: "6deebdb15c371069618942f48acd76f35880ebb5"
@@ -0,0 +1,2 @@
1
+ ---
2
+ :rubygems_api_key: bd53d6202bc5ec5d4c51dd2b245f2f14
data/go ADDED
@@ -0,0 +1,56 @@
1
+ #!/usr/bin/env bash
2
+
3
+ [ -n "$GO_DEBUG" ] && set -x
4
+ set -e
5
+
6
+ project_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
7
+
8
+ verbose="no"
9
+ skip_checks="no"
10
+ offline="no"
11
+
12
+ missing_dependency="no"
13
+
14
+ [ -n "$GO_DEBUG" ] && verbose="yes"
15
+ [ -n "$GO_SKIP_CHECKS" ] && skip_checks="yes"
16
+ [ -n "$GO_OFFLINE" ] && offline="yes"
17
+
18
+
19
+ if [[ "$skip_checks" = "no" ]]; then
20
+ echo "Checking for system dependencies."
21
+ ruby_version="$(cat "$project_dir"/.ruby-version)"
22
+ if ! type ruby >/dev/null 2>&1 || ! ruby -v | grep -q "$ruby_version"; then
23
+ echo "This codebase requires Ruby $ruby_version."
24
+ missing_dependency="yes"
25
+ fi
26
+
27
+ if [[ "$missing_dependency" = "yes" ]]; then
28
+ echo "Please install missing dependencies to continue."
29
+ exit 1
30
+ fi
31
+
32
+ echo "All system dependencies present. Continuing."
33
+ fi
34
+
35
+ if [[ "$offline" = "no" ]]; then
36
+ echo "Installing bundler."
37
+ if [[ "$verbose" = "yes" ]]; then
38
+ gem install --no-document bundler
39
+ else
40
+ gem install --no-document bundler > /dev/null
41
+ fi
42
+
43
+ echo "Installing ruby dependencies."
44
+ if [[ "$verbose" = "yes" ]]; then
45
+ bundle install
46
+ else
47
+ bundle install > /dev/null
48
+ fi
49
+ fi
50
+
51
+ echo "Starting rake."
52
+ if [[ "$verbose" = "yes" ]]; then
53
+ time bundle exec rake --verbose "$@"
54
+ else
55
+ time bundle exec rake "$@"
56
+ fi
@@ -0,0 +1,3 @@
1
+ module RakeGPG
2
+ VERSION = '0.1.0.pre.1'
3
+ end
data/lib/rake_gpg.rb ADDED
@@ -0,0 +1,5 @@
1
+ require 'rake_gpg/version'
2
+
3
+ module RakeGPG
4
+
5
+ end
data/rake_gpg.gemspec ADDED
@@ -0,0 +1,41 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'rake_gpg/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = 'rake_gpg'
8
+ spec.version = RakeGPG::VERSION
9
+ spec.authors = ['Toby Clemson']
10
+ spec.email = ['tobyclemson@gmail.com']
11
+
12
+ spec.summary = 'Rake tasks for managing GPG activities.'
13
+ spec.description = 'Rake tasks for common GPG related activities allowing ' +
14
+ 'keys to be managed and content to be encrypted and decrypted.'
15
+ spec.homepage = "https://github.com/infrablocks/rake_gpg"
16
+ spec.license = 'MIT'
17
+
18
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
19
+ f.match(%r{^(test|spec|features)/})
20
+ end
21
+ spec.bindir = 'exe'
22
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ spec.require_paths = ['lib']
24
+
25
+ spec.required_ruby_version = '>= 2.6.0'
26
+
27
+ spec.add_dependency 'rake_factory', '>= 0.23', '< 1'
28
+ spec.add_dependency 'gpgme', '~> 2.0'
29
+
30
+ spec.add_development_dependency 'bundler', '~> 2.1'
31
+ spec.add_development_dependency 'rake', '~> 13.0'
32
+ spec.add_development_dependency 'rake_circle_ci', '~> 0.7'
33
+ spec.add_development_dependency 'rake_github', '~> 0.3'
34
+ spec.add_development_dependency 'rake_ssh', '~> 0.2'
35
+ spec.add_development_dependency 'rspec', '~> 3.9'
36
+ spec.add_development_dependency 'gem-release', '~> 2.0'
37
+ spec.add_development_dependency 'semantic', '~> 1.6.1'
38
+ spec.add_development_dependency 'activesupport', '>= 5.2'
39
+ spec.add_development_dependency 'fakefs', '~> 1.0'
40
+ spec.add_development_dependency 'simplecov', '~> 0.16'
41
+ end
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+
3
+ [ -n "$DEBUG" ] && set -x
4
+ set -e
5
+ set -o pipefail
6
+
7
+ git config --global user.email "circleci@infrablocks.io"
8
+ git config --global user.name "Circle CI"
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env bash
2
+
3
+ [ -n "$DEBUG" ] && set -x
4
+ set -e
5
+ set -o pipefail
6
+
7
+ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8
+ PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
9
+
10
+ cd "$PROJECT_DIR"
11
+
12
+ git crypt unlock
13
+
14
+ mkdir -p ~/.gem
15
+ cp config/secrets/rubygems/credentials ~/.gem/credentials
16
+ chmod 0600 ~/.gem/credentials
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+
3
+ [ -n "$DEBUG" ] && set -x
4
+ set -e
5
+ set -o pipefail
6
+
7
+ apt-get update
8
+ apt-get install -y --no-install-recommends git ssh git-crypt
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env bash
2
+
3
+ [ -n "$DEBUG" ] && set -x
4
+ set -e
5
+ set -o pipefail
6
+
7
+ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8
+ PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
9
+
10
+ cd "$PROJECT_DIR"
11
+
12
+ set +e
13
+ openssl version
14
+ openssl aes-256-cbc \
15
+ -d \
16
+ -md sha1 \
17
+ -in ./.circleci/gpg.private.enc \
18
+ -k "${ENCRYPTION_PASSPHRASE}" | gpg --import -
19
+ set -e
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env bash
2
+
3
+ [ -n "$DEBUG" ] && set -x
4
+ set -e
5
+ set -o pipefail
6
+
7
+ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8
+ PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
9
+
10
+ cd "$PROJECT_DIR"
11
+
12
+ ./go version:bump[pre]
13
+ ./go release
14
+
15
+ git status
16
+ git push
@@ -0,0 +1,18 @@
1
+ #!/usr/bin/env bash
2
+
3
+ [ -n "$DEBUG" ] && set -x
4
+ set -e
5
+ set -o pipefail
6
+
7
+ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8
+ PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
9
+
10
+ cd "$PROJECT_DIR"
11
+
12
+ git pull
13
+
14
+ ./go version:bump[minor]
15
+ ./go release
16
+
17
+ git status
18
+ git push
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env bash
2
+
3
+ [ -n "$DEBUG" ] && set -x
4
+ set -e
5
+ set -o pipefail
6
+
7
+ SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
8
+ PROJECT_DIR="$( cd "$SCRIPT_DIR/../../.." && pwd )"
9
+
10
+ cd "$PROJECT_DIR"
11
+
12
+ ./go spec
metadata ADDED
@@ -0,0 +1,270 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: rake_gpg
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0.pre.1
5
+ platform: ruby
6
+ authors:
7
+ - Toby Clemson
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2020-04-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake_factory
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0.23'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '1'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ version: '0.23'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '1'
33
+ - !ruby/object:Gem::Dependency
34
+ name: gpgme
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '2.0'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '2.0'
47
+ - !ruby/object:Gem::Dependency
48
+ name: bundler
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '2.1'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '2.1'
61
+ - !ruby/object:Gem::Dependency
62
+ name: rake
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '13.0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '13.0'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rake_circle_ci
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '0.7'
82
+ type: :development
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '0.7'
89
+ - !ruby/object:Gem::Dependency
90
+ name: rake_github
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: '0.3'
96
+ type: :development
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: '0.3'
103
+ - !ruby/object:Gem::Dependency
104
+ name: rake_ssh
105
+ requirement: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - "~>"
108
+ - !ruby/object:Gem::Version
109
+ version: '0.2'
110
+ type: :development
111
+ prerelease: false
112
+ version_requirements: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - "~>"
115
+ - !ruby/object:Gem::Version
116
+ version: '0.2'
117
+ - !ruby/object:Gem::Dependency
118
+ name: rspec
119
+ requirement: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - "~>"
122
+ - !ruby/object:Gem::Version
123
+ version: '3.9'
124
+ type: :development
125
+ prerelease: false
126
+ version_requirements: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - "~>"
129
+ - !ruby/object:Gem::Version
130
+ version: '3.9'
131
+ - !ruby/object:Gem::Dependency
132
+ name: gem-release
133
+ requirement: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - "~>"
136
+ - !ruby/object:Gem::Version
137
+ version: '2.0'
138
+ type: :development
139
+ prerelease: false
140
+ version_requirements: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - "~>"
143
+ - !ruby/object:Gem::Version
144
+ version: '2.0'
145
+ - !ruby/object:Gem::Dependency
146
+ name: semantic
147
+ requirement: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - "~>"
150
+ - !ruby/object:Gem::Version
151
+ version: 1.6.1
152
+ type: :development
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - "~>"
157
+ - !ruby/object:Gem::Version
158
+ version: 1.6.1
159
+ - !ruby/object:Gem::Dependency
160
+ name: activesupport
161
+ requirement: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '5.2'
166
+ type: :development
167
+ prerelease: false
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ requirements:
170
+ - - ">="
171
+ - !ruby/object:Gem::Version
172
+ version: '5.2'
173
+ - !ruby/object:Gem::Dependency
174
+ name: fakefs
175
+ requirement: !ruby/object:Gem::Requirement
176
+ requirements:
177
+ - - "~>"
178
+ - !ruby/object:Gem::Version
179
+ version: '1.0'
180
+ type: :development
181
+ prerelease: false
182
+ version_requirements: !ruby/object:Gem::Requirement
183
+ requirements:
184
+ - - "~>"
185
+ - !ruby/object:Gem::Version
186
+ version: '1.0'
187
+ - !ruby/object:Gem::Dependency
188
+ name: simplecov
189
+ requirement: !ruby/object:Gem::Requirement
190
+ requirements:
191
+ - - "~>"
192
+ - !ruby/object:Gem::Version
193
+ version: '0.16'
194
+ type: :development
195
+ prerelease: false
196
+ version_requirements: !ruby/object:Gem::Requirement
197
+ requirements:
198
+ - - "~>"
199
+ - !ruby/object:Gem::Version
200
+ version: '0.16'
201
+ description: Rake tasks for common GPG related activities allowing keys to be managed
202
+ and content to be encrypted and decrypted.
203
+ email:
204
+ - tobyclemson@gmail.com
205
+ executables: []
206
+ extensions: []
207
+ extra_rdoc_files: []
208
+ files:
209
+ - ".circleci/config.yml"
210
+ - ".circleci/gpg.private.enc"
211
+ - ".envrc"
212
+ - ".git-crypt/.gitattributes"
213
+ - ".git-crypt/keys/default/0/41D2606F66C3FF28874362B61A16916844CE9D82.gpg"
214
+ - ".git-crypt/keys/default/0/AAE932B730C2BA697FFDFAE05DA390873E38358B.gpg"
215
+ - ".gitattributes"
216
+ - ".gitignore"
217
+ - ".rspec"
218
+ - ".ruby-version"
219
+ - CODE_OF_CONDUCT.md
220
+ - Gemfile
221
+ - Gemfile.lock
222
+ - LICENSE.txt
223
+ - README.md
224
+ - Rakefile
225
+ - bin/console
226
+ - bin/setup
227
+ - config/secrets/.unlocked
228
+ - config/secrets/ci/encryption.passphrase
229
+ - config/secrets/ci/gpg.private
230
+ - config/secrets/ci/gpg.public
231
+ - config/secrets/ci/ssh.private
232
+ - config/secrets/ci/ssh.public
233
+ - config/secrets/circle_ci/config.yaml
234
+ - config/secrets/github/config.yaml
235
+ - config/secrets/rubygems/credentials
236
+ - go
237
+ - lib/rake_gpg.rb
238
+ - lib/rake_gpg/version.rb
239
+ - rake_gpg.gemspec
240
+ - scripts/ci/common/configure-git.sh
241
+ - scripts/ci/common/configure-rubygems.sh
242
+ - scripts/ci/common/install-git-crypt.sh
243
+ - scripts/ci/common/install-gpg-key.sh
244
+ - scripts/ci/steps/prerelease.sh
245
+ - scripts/ci/steps/release.sh
246
+ - scripts/ci/steps/test.sh
247
+ homepage: https://github.com/infrablocks/rake_gpg
248
+ licenses:
249
+ - MIT
250
+ metadata: {}
251
+ post_install_message:
252
+ rdoc_options: []
253
+ require_paths:
254
+ - lib
255
+ required_ruby_version: !ruby/object:Gem::Requirement
256
+ requirements:
257
+ - - ">="
258
+ - !ruby/object:Gem::Version
259
+ version: 2.6.0
260
+ required_rubygems_version: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - ">"
263
+ - !ruby/object:Gem::Version
264
+ version: 1.3.1
265
+ requirements: []
266
+ rubygems_version: 3.0.1
267
+ signing_key:
268
+ specification_version: 4
269
+ summary: Rake tasks for managing GPG activities.
270
+ test_files: []