safedb 0.10.16 → 0.10.17

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
2
  SHA256:
3
- metadata.gz: c5abf5cbe11b5f624075cb0682b4ef2cbaf389e32c3893b1c65cda077db96678
4
- data.tar.gz: d722e1f6ac75bc26fbaaf13d31902c217405b927a1241ba6561fe3c332e93d49
3
+ metadata.gz: e5dfd7a7f6826912791779b1ebd825ff3462b1e1551d68356ae99d840b9d2840
4
+ data.tar.gz: a57603f5c08de34105db43a63794d4aab4064c85413a353f93efcfe82cf4b8fe
5
5
  SHA512:
6
- metadata.gz: 6b6a42085bd4c547b31ccfbb45220b9b6352c756c7407d78aadee78e6cf6279fee9c6dcb7645ae458cc431c4af247c37960cd07b6da02a070913546cf2c4d34f
7
- data.tar.gz: ac9685e0d0ff7fec147efe2844863a4214678c21d76f8e85bbdf267998676a3f75564700953f9fda9454d3f4b0b7b58a20a91b9f49b2a3d6b93ed9906c920025
6
+ metadata.gz: 634212d7457f6c1f00f3b1a88d5a73e935575415082a686bd8b23d3964a22db3ce8c40644a688732ab6e9918aa0a5c886c61dd5857371cb8f08dec9444d161e3
7
+ data.tar.gz: 31667882645d3f280c24705a85fe82edd657a54bd58fa6fde287ff1243804f4384d0a25d7ae3aa90cc8eb4ad7780eb34f685b7c9d8afb667d0345778616e442e
@@ -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 template used is in the RubyGem category so succesful builds, quality inspection and tests result in a new version of the software being released to RubyGems.org
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
- ## Wiki Continuous Integration Pipeline
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 continuous integration pipeline runs on top of a dockerized **Jenkins and Kubernetes platform** and if successful is deployed into a cloud production Kubernetes platform.
199
+ ### The Git Release Script
189
200
 
190
- The pipeline steps defined in the Jenkinsfile are to
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
- - skip the build if the commit message has skip ci in it from version number update
193
- - use [Google Kaniko] to build this Dockerfile from this wiki base image
194
- - push the Dockerfile with the latest tag to this Dockerhub repository
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
@@ -1,3 +1,3 @@
1
1
  module SafeDb
2
- VERSION = "0.10.16"
2
+ VERSION = "0.10.17"
3
3
  end
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.16
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-27 00:00:00.000000000 Z
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: