rops 1.0.3 → 1.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/README.md +12 -19
  4. data/lib/deployer.rb +1 -1
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cba9a816bbbd95902a7ceae4ef3f8d8d15f11f85161feb5a4440b9d07bbb4fdd
4
- data.tar.gz: 725ebdc57f82b4149a2355270c744d2407de307b65884edf78977ec1dff6763e
3
+ metadata.gz: 0cb5a82425bbec9b72446bf0fc951985a6c0fc95b875fbdeac257e5133d021d7
4
+ data.tar.gz: d83f7db41bae9b5f4e29b754ce6cfc61fabd32bd8eb6fa5b930361747baaea52
5
5
  SHA512:
6
- metadata.gz: ce727f9be89ea5138ad03c7692fab3776e6d3a0217e4a9ee355e45b24ad813a6def6472e7866adbc9ec4664fc1b3b09d41c3aafa964bd77c98f82576e86d14f9
7
- data.tar.gz: ee365fa57fd2fe145ac5d5d38385f2c2cdb5300280768e7c049fc386431369d171150954010104f8acf20d39a92969668cde10e1ed0c14e65fb5f90de4d9977b
6
+ metadata.gz: 642018bd50292fe94b178dc2b2af86a8b310b876f23149e280492d997fb5a02f2b1532b780ceae53cde1039eec0596dd38410152dd17e19e15a7e2cec035d959
7
+ data.tar.gz: 8c665f40bc3a6cb2ac2b29192bd64bff907da8d2285b49a95467ae6bc0e6cd60819cff61c9b084e7a60783769652109725b5d8220164862fb44e9f25f2687897
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- rops (1.0.2)
4
+ rops (1.0.4)
5
5
  activesupport (~> 6.1.4)
6
6
  dry-cli (~> 0.7.0)
7
7
  git (~> 1.9.1)
data/README.md CHANGED
@@ -2,26 +2,23 @@
2
2
 
3
3
  The Record360 Operations tool - checkout, build, deploy
4
4
 
5
- ## Usage
5
+ ## Description
6
6
 
7
7
  This tool implements the Record360 Best Practices for building and deploying projects. It interfaces with Git (for source control), Docker/Podman (for container images), and Kubernetes (cluster deployments).
8
8
 
9
- ### Installation
9
+ ## Installation
10
10
 
11
- Add `rops` to your Gemfile and then run `bundle install`.
11
+ Download and install with:
12
12
 
13
- ```ruby
14
- # Gemfile
15
- group :development do
16
- gem 'rops', github: 'Record360/rops'
17
- end
13
+ ```shell
14
+ gem install rops
18
15
  ```
19
16
 
20
- ### Configuration
17
+ ## Configuration
21
18
 
22
19
  `rops` has several opinionated defaults, which can be overridden by command line options or a configuration file.
23
20
 
24
- #### Project Root Directory
21
+ ### Project Root Directory
25
22
  By default, the current working directory when `rops` runs. It can be overridden with the `--root=<DIR>` option.
26
23
 
27
24
  The project root directory must contain:
@@ -34,7 +31,7 @@ end
34
31
  * `./platform/rops.yaml`
35
32
  * `./config/rops.yaml`
36
33
 
37
- #### Docker Container Images
34
+ ### Docker Container Images
38
35
  By default, a single image named from the the Project root directory and built from `./Dockerfile`. May be overridden by setting the `images` array in the configuration file, e.g.:
39
36
 
40
37
  ```yaml
@@ -45,23 +42,22 @@ images:
45
42
  dockerfile: dockerfiles/second.Dockerfile
46
43
  ```
47
44
 
48
- #### Git Default Branch
45
+ ### Git Default Branch
49
46
  The Git branch to build, by default `master`. Overridden with the `default_branch` field in the configuration file.
50
47
 
51
- #### Docker Registry
48
+ ### Docker Registry
52
49
  The Docker registry to push container images. By default, `r360`, which is probably not what you want and should be overridden by setting the `registry` field in the configuration file.
53
50
 
54
- #### Kubernetes Context
51
+ ### Kubernetes Context
55
52
  The name of the Kubernetes context to deploy to (as listed in `~/.kube/config`). Defaults to `staging` and overridden with the `default_context` field in the configuration file.
56
53
 
57
54
  There are extra safety features when deploying to the production context, which defaults to `production` and may be overridden with the `production_context` field in the configuration file.
58
55
 
59
56
  Kubernetes configuration is organized by Kubernetes context name, under the `./platform` directory. For example, the Kubernetes configuration for the default contexts (`staging` and `production`) is stored under `./platform/staging` and `./platform/production` respectively.
60
57
 
61
- ### Operations
58
+ ## Operations
62
59
 
63
60
  ### Status
64
-
65
61
  Arguments:
66
62
  * `context`: Kubernetes context (default `staging`, or the value of `staging_context`)
67
63
 
@@ -80,7 +76,6 @@ Currently running (staging):
80
76
  ```
81
77
 
82
78
  ### Build
83
-
84
79
  Arguments:
85
80
  * `branch`: Git branch/commit (default `master`, or the value of `default_branch`)
86
81
 
@@ -105,7 +100,6 @@ Successfully tagged localhost/web:gfc50028b-feature
105
100
  ```
106
101
 
107
102
  ### Push
108
-
109
103
  Arguments:
110
104
  * `branch`: Git branch/commit (default `master`, or the value of `default_branch`)
111
105
 
@@ -120,7 +114,6 @@ Storing signatures
120
114
  ```
121
115
 
122
116
  ### Deploy
123
-
124
117
  Arguments:
125
118
  * `branch`: Git branch/commit (default `master`, or the value of `default_branch`)
126
119
  * `context`: Kubernetes context (default `staging`, or the value of `default_context`)
data/lib/deployer.rb CHANGED
@@ -135,7 +135,7 @@ class Deployer
135
135
  cmd = "kubectl --context #{context} #{cmd}"
136
136
 
137
137
  if ssh_host.blank?
138
- stdout, stderr, cmd_status = Open3.capture3(cmd)
138
+ stdout, stderr, cmd_status = Open3.capture3(cmd, stdin_data: data)
139
139
  [ stdout, stderr, cmd_status.success? ]
140
140
  else
141
141
  require 'net/ssh'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rops
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Steve Sloan