safedb 0.10.16 → 0.10.17
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +19 -14
- data/{release.sh → git-release.sh} +0 -0
- data/lib/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e5dfd7a7f6826912791779b1ebd825ff3462b1e1551d68356ae99d840b9d2840
|
4
|
+
data.tar.gz: a57603f5c08de34105db43a63794d4aab4064c85413a353f93efcfe82cf4b8fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 634212d7457f6c1f00f3b1a88d5a73e935575415082a686bd8b23d3964a22db3ce8c40644a688732ab6e9918aa0a5c886c61dd5857371cb8f08dec9444d161e3
|
7
|
+
data.tar.gz: 31667882645d3f280c24705a85fe82edd657a54bd58fa6fde287ff1243804f4384d0a25d7ae3aa90cc8eb4ad7780eb34f685b7c9d8afb667d0345778616e442e
|
data/CONTRIBUTING.md
CHANGED
@@ -178,25 +178,30 @@ safedb.net has Dockerfiles through which the Cucumber/Aruba BDD (behaviour drive
|
|
178
178
|
- **RedHat Enterprise Linux (RHEL)**
|
179
179
|
- CoreOS containers
|
180
180
|
|
181
|
+
|
182
|
+
### Pipeline Pre-Conditions
|
183
|
+
|
184
|
+
The pipeline runs on a Kubernetes platform. The deploy phase depends on the **[Rubygems.org credentials file mounted as a kubernetes secret](https://github.com/devops4me/kubernetes-pipeline)**.
|
185
|
+
|
186
|
+
|
181
187
|
### CI/CD Pipeline from Git to RubyGems.org
|
182
188
|
|
183
|
-
The Jenkinsfile
|
189
|
+
The [Jenkinsfile] pipeline definition ensures that succesful builds, quality inspection and tests result in a new version of the software being released to RubyGems.org. In the main the steps are
|
184
190
|
|
191
|
+
- use the [rubygem build image in Dockerhub](https://hub.docker.com/repository/docker/devops4me/rubygem) to run reek static code analysis
|
192
|
+
- use the same image to run Cucumber / Aruba command line system tests
|
193
|
+
- pipeline ends **unless the branch is origin/release** (current implementation incorrectly specifies NOT origin/master)
|
194
|
+
- copy mounted credentials to **`~/.gem/credentials`** and lock down the file permissions
|
195
|
+
- use rake release to push the [latest version](lib/version.rb) of the safe gem
|
185
196
|
|
186
|
-
|
197
|
+
When Kubernetes mounts a secret it makes the entire space read only which can disrupt any software legitimately writing to the mounted path. This is why the secret is not directly mounted into the **`~/.gem/`** directory.
|
187
198
|
|
188
|
-
The
|
199
|
+
### The Git Release Script
|
189
200
|
|
190
|
-
The
|
201
|
+
The [git-release.sh] script is run when a human being feels the software state is worth publishing. If so the steps are to
|
191
202
|
|
192
|
-
-
|
193
|
-
-
|
194
|
-
-
|
195
|
-
- create another pod to run the just-built devopswiki.co.uk image
|
196
|
-
- configure the container with a readiness probe so it does not receive traffic too early
|
197
|
-
- run a linkcheck activity using this Dockerhub linkcheck image (from this Github repo)
|
198
|
-
- if the linkchecking produces errors the pipeline fails and stops
|
199
|
-
- on success the devopswiki image is tagged with build number, Git commit ref and timestamp
|
200
|
-
- a kubectl rollout is issued based on the newly tagged devopswiki image
|
201
|
-
- change the standing start Kubernetes deployment configs to reflect the new tag
|
203
|
+
- commit and push to master
|
204
|
+
- change [lib/version.rb] to increment the **major** or **minor** versions
|
205
|
+
- run **`./git-release.sh`**
|
202
206
|
|
207
|
+
The git release script bumps up the patch version and forwards the origin/release branch to bring it up to date with master and pushes thus triggering the pipeline which in turn goes the extra mile to **[release the safe to Rubygems.org](https://rubygems.org/gems/safedb)**.
|
File without changes
|
data/lib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: safedb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Apollo Akora
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-01-
|
11
|
+
date: 2020-01-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bcrypt
|
@@ -100,6 +100,7 @@ files:
|
|
100
100
|
- README.md
|
101
101
|
- Rakefile
|
102
102
|
- bin/safe
|
103
|
+
- git-release.sh
|
103
104
|
- lib/cli.rb
|
104
105
|
- lib/controller/abstract/authenticate.rb
|
105
106
|
- lib/controller/abstract/controller.rb
|
@@ -223,7 +224,6 @@ files:
|
|
223
224
|
- pkg/README.md
|
224
225
|
- pod-image-release.yaml
|
225
226
|
- pod-image-validate.yaml
|
226
|
-
- release.sh
|
227
227
|
- safedb.gemspec
|
228
228
|
homepage: https://www.safedb.net
|
229
229
|
licenses:
|