mock_code_manager 0.1.0 → 0.1.1

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
- SHA1:
3
- metadata.gz: a409639c1ba2eb5a0a62fe0a1d65e05754a031e8
4
- data.tar.gz: 55e220bbe78b5eb19defef9075d3f53f3cbae9d5
2
+ SHA256:
3
+ metadata.gz: 9764397b0cf98fff13c86adecef1e408868185ef6ffa05271b80133880b908dd
4
+ data.tar.gz: 0fffff851eab0c0012a178edb7d7a6ceaef63f1bf92077312578c6676dfa8bd2
5
5
  SHA512:
6
- metadata.gz: be5e30fe1d7f712d9d155980eb9e5126b5e50c1d4aed9072f584cf320ba2fe98283e1add7be687747a6e8e9f049be13e0b9c9dec9b453c6c351da9970fdc409d
7
- data.tar.gz: 3b7ebf2c08c6f63bc53df858a1c3e478cded59289d5abcdefd082af8d67dd96d11d2d4913c450dc66e03feab76a91d88cc37f69e645cb1a2be430152296104ae
6
+ metadata.gz: c51fc10a021c1aec6b9b97af39bf55c0085d7516058e7229d82091c3c3d846c605c26d4f6064b8adcc69cd3df28236f8cbebc2e1cc40d2967a6bdefa083e20df
7
+ data.tar.gz: b856cc59fba06be3809425a66654e456e8b26835849665a9fadcb43fba88051310973042eaa2b96ff0410557e9938dd74cee8d7af327372cba9cc4d4d1b25f96
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # MockCodeManager
2
2
 
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/mock_code_manager`. To experiment with that code, run `bin/console` for an interactive prompt.
3
+ This is a limited mock version of the [Puppet Code Manager REST API](https://docs.puppet.com/pe/latest/code_mgr_scripts.html).
4
4
 
5
- TODO: Delete this and the text above, and describe your gem
5
+ It exists to allow Integration testing of software consuming this service without the need to stand-up a complete working Puppet Enterprise environment
6
6
 
7
7
  ## Installation
8
8
 
@@ -20,16 +20,59 @@ Or install it yourself as:
20
20
 
21
21
  $ gem install mock_code_manager
22
22
 
23
+ ## Requirements
24
+
25
+ * Ruby 2.3+ (use [RVM](https://rvm.io/))
26
+ * openssl
27
+ * Access to `/tmp/mock_code_manager_ssl` for credential storage
28
+ * Hostname as reported by `hostname -f` **must** match the fqdn the service will be accessed from
29
+ * Port 8170 my be avaiable and reachable by the outside world
30
+
23
31
  ## Usage
24
32
 
25
- TODO: Write usage instructions here
33
+ ### Simple
26
34
 
27
- ## Development
35
+ To generate all required SSL credentials and start a server on port 8170, run the command:
28
36
 
29
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
37
+ ```shell
38
+ mock_code_manager
39
+ ```
30
40
 
31
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
41
+ Note that this service will terminate when your login shell exits. To prevent this, use `screen`, `nohup`, etc.
32
42
 
33
- ## Contributing
43
+ ### Ruby
44
+
45
+ You can use the library as part of your ruby projects if you like. Something like:
46
+
47
+ ```ruby
48
+ Thread.start { MockCodeManager::WEBrick.run! }
49
+ ```
50
+
51
+ In your `spec_helper.rb` along with a delay/test while the credentials are generated should be enough to get you started.
52
+
53
+ ## API completeness
34
54
 
35
- Bug reports and pull requests are welcome on GitHub at https://github.com/[USERNAME]/mock_code_manager.
55
+ `/code-manager/v1/deploys`
56
+ * Authentication check
57
+ * Deploy all environments (`deploy-all`)
58
+ * Deploy selected environments (`environments`)
59
+
60
+ ## Authentication
61
+ You must pass authentication tokens using the `X-Authentication` HTTP header.
62
+
63
+ The service will return an appropriate response based on the value or absence of this header:
64
+
65
+ ### `PUPPET_DEPLOY_OK`
66
+ Proceed to service request
67
+
68
+ ### Absent
69
+ `puppetlabs.rbac/user-unauthenticated`
70
+
71
+
72
+ ### `PUPPET_DEPLOY_FAIL` (or any other value)
73
+ `puppetlabs.rbac/token-revoked`
74
+
75
+ Note that the above responses are **always** expressed as JSON and always with status `200`.
76
+
77
+ ## Contributing
78
+ PRs accepted :)
@@ -1,3 +1,3 @@
1
1
  module MockCodeManager
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -19,12 +19,12 @@ Gem::Specification.new do |spec|
19
19
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
20
  spec.require_paths = ["lib"]
21
21
 
22
- spec.add_development_dependency "bundler", "~> 1.15"
23
- spec.add_development_dependency "rake", "~> 10.0"
24
- spec.add_development_dependency "rspec", "~> 3.0"
22
+ spec.add_development_dependency "bundler", "~> 2.0"
23
+ spec.add_development_dependency "rake", "~> 12.3"
24
+ spec.add_development_dependency "rspec", "~> 3.8"
25
25
 
26
- spec.add_dependency "sinatra", "1.4.8"
27
- spec.add_dependency "webrick", "1.3.1"
28
- spec.add_dependency "rack", "1.6.8"
26
+ spec.add_dependency "sinatra", "2.0.5"
27
+ spec.add_dependency "webrick", "1.4.2"
28
+ spec.add_dependency "rack", "2.0.7"
29
29
 
30
30
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mock_code_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Geoff Williams
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-09-04 00:00:00.000000000 Z
11
+ date: 2019-04-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,84 +16,84 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.15'
19
+ version: '2.0'
20
20
  type: :development
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: '1.15'
26
+ version: '2.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '12.3'
34
34
  type: :development
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: '10.0'
40
+ version: '12.3'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: '3.8'
48
48
  type: :development
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: '3.0'
54
+ version: '3.8'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: sinatra
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - '='
60
60
  - !ruby/object:Gem::Version
61
- version: 1.4.8
61
+ version: 2.0.5
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.4.8
68
+ version: 2.0.5
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: webrick
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '='
74
74
  - !ruby/object:Gem::Version
75
- version: 1.3.1
75
+ version: 1.4.2
76
76
  type: :runtime
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: 1.3.1
82
+ version: 1.4.2
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rack
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '='
88
88
  - !ruby/object:Gem::Version
89
- version: 1.6.8
89
+ version: 2.0.7
90
90
  type: :runtime
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: 1.6.8
96
+ version: 2.0.7
97
97
  description:
98
98
  email:
99
99
  - geoff@geoffwilliams.me.uk
@@ -138,7 +138,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
138
  version: '0'
139
139
  requirements: []
140
140
  rubyforge_project:
141
- rubygems_version: 2.5.2
141
+ rubygems_version: 2.7.6
142
142
  signing_key:
143
143
  specification_version: 4
144
144
  summary: A mock version of Puppet Code Manager