conjur-cli 6.2.1 → 6.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/ISSUE_TEMPLATE/bug.md +27 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +27 -0
- data/.gitleaks.toml +216 -0
- data/CHANGELOG.md +56 -34
- data/CONTRIBUTING.md +81 -0
- data/Jenkinsfile +53 -3
- data/LICENSE +202 -0
- data/README.md +5 -72
- data/VERSION +1 -1
- data/bin/parse-changelog.sh +12 -0
- data/build-standalone +40 -2
- data/ci/submit-coverage +36 -0
- data/ci/test.sh +1 -1
- data/conjur-cli.gemspec +10 -7
- data/docker-compose.yml +2 -1
- data/features/step_definitions/authn_steps.rb +1 -1
- data/features/support/env.rb +3 -1
- data/lib/conjur/version.rb +1 -1
- data/push-image +38 -28
- data/spec/authn_spec.rb +4 -4
- data/spec/command/authn_spec.rb +2 -2
- data/spec/spec_helper.rb +5 -2
- metadata +63 -51
- data/LICENSE.md +0 -195
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c89f84185304b441b9cbba2d24ae68e311b7faa22631c011e937b8315f1c4361
|
4
|
+
data.tar.gz: 0d179fa949fcde1c2d2e0c00a675b1162508bb91103fbd266377b2fda6dced5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '035833e08fb406fbf4eec6bbd8d29eb0699d2311314230c05078f028fee8c5c84cb0cfd0428108c8778770b0c04a0d484cb4874ca78a59d10b5866701954a045'
|
7
|
+
data.tar.gz: cf4f51130b8ae40af835274ed6e89400615f381769e8b069dd83215ca7d65df9012fe3b7b8c17b660f4cd26604c2715ddfcfbaf2f21f4d86b4990194d474f69f
|
@@ -0,0 +1,27 @@
|
|
1
|
+
---
|
2
|
+
name: Bug
|
3
|
+
about: Create a bug report to help us improve
|
4
|
+
title: ''
|
5
|
+
labels: component/cli, kind/bug
|
6
|
+
assignees: ''
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
## Summary
|
11
|
+
A clear and concise description of what the bug is.
|
12
|
+
|
13
|
+
## Steps to Reproduce
|
14
|
+
Steps to reproduce the behavior:
|
15
|
+
1. Go to '...'
|
16
|
+
2. Click on '....'
|
17
|
+
3. Scroll down to '....'
|
18
|
+
4. See error
|
19
|
+
|
20
|
+
## Expected Results
|
21
|
+
A clear and concise description of what you expected to happen.
|
22
|
+
|
23
|
+
## Actual Results (including error logs, if applicable)
|
24
|
+
A clear and concise description of what actually did happen.
|
25
|
+
|
26
|
+
## Additional Information
|
27
|
+
Add any other context about the problem here.
|
@@ -0,0 +1,27 @@
|
|
1
|
+
---
|
2
|
+
name: Feature request
|
3
|
+
about: Suggest an idea for this project
|
4
|
+
title: ''
|
5
|
+
labels: kind/enhancement, component/cli
|
6
|
+
assignees: ''
|
7
|
+
|
8
|
+
---
|
9
|
+
|
10
|
+
## Is your feature request related to a problem? Please describe.
|
11
|
+
|
12
|
+
A clear and concise description of what the problem is. Ex. `I would like to see [...] because [...]`.
|
13
|
+
Please include the intended use case and what the feature would improve on so that we can prioritize
|
14
|
+
the feature accordingly.
|
15
|
+
|
16
|
+
## Describe the solution you would like
|
17
|
+
|
18
|
+
A clear and concise description of what the desired end result(s) would be.
|
19
|
+
|
20
|
+
## Describe alternatives you have considered
|
21
|
+
|
22
|
+
A clear and concise description of any alternative solutions or features that may be related to this that
|
23
|
+
you have considered.
|
24
|
+
|
25
|
+
## Additional context
|
26
|
+
|
27
|
+
Add any other context information about the feature request here.
|
data/.gitleaks.toml
ADDED
@@ -0,0 +1,216 @@
|
|
1
|
+
title = "Secretless Broker gitleaks config"
|
2
|
+
|
3
|
+
# This is the config file for gitleaks. You can configure gitleaks what to search for and what to whitelist.
|
4
|
+
# If GITLEAKS_CONFIG environment variable
|
5
|
+
# is set, gitleaks will load configurations from that path. If option --config-path is set, gitleaks will load
|
6
|
+
# configurations from that path. Gitleaks does not whitelist anything by default.
|
7
|
+
# - https://www.ndss-symposium.org/wp-content/uploads/2019/02/ndss2019_04B-3_Meli_paper.pdf
|
8
|
+
# - https://github.com/dxa4481/truffleHogRegexes/blob/master/truffleHogRegexes/regexes.json
|
9
|
+
[[rules]]
|
10
|
+
description = "AWS Client ID"
|
11
|
+
regex = '''(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}'''
|
12
|
+
tags = ["key", "AWS"]
|
13
|
+
|
14
|
+
[[rules]]
|
15
|
+
description = "AWS Secret Key"
|
16
|
+
regex = '''(?i)aws(.{0,20})?(?-i)['\"][0-9a-zA-Z\/+]{40}['\"]'''
|
17
|
+
tags = ["key", "AWS"]
|
18
|
+
|
19
|
+
[[rules]]
|
20
|
+
description = "AWS MWS key"
|
21
|
+
regex = '''amzn\.mws\.[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}'''
|
22
|
+
tags = ["key", "AWS", "MWS"]
|
23
|
+
|
24
|
+
[[rules]]
|
25
|
+
description = "PKCS8"
|
26
|
+
regex = '''-----BEGIN PRIVATE KEY-----'''
|
27
|
+
tags = ["key", "PKCS8"]
|
28
|
+
|
29
|
+
[[rules]]
|
30
|
+
description = "RSA"
|
31
|
+
regex = '''-----BEGIN RSA PRIVATE KEY-----'''
|
32
|
+
tags = ["key", "RSA"]
|
33
|
+
|
34
|
+
[[rules]]
|
35
|
+
description = "SSH"
|
36
|
+
regex = '''-----BEGIN OPENSSH PRIVATE KEY-----'''
|
37
|
+
tags = ["key", "SSH"]
|
38
|
+
|
39
|
+
[[rules]]
|
40
|
+
description = "PGP"
|
41
|
+
regex = '''-----BEGIN PGP PRIVATE KEY BLOCK-----'''
|
42
|
+
tags = ["key", "PGP"]
|
43
|
+
|
44
|
+
[[rules]]
|
45
|
+
description = "Facebook Secret Key"
|
46
|
+
regex = '''(?i)(facebook|fb)(.{0,20})?(?-i)['\"][0-9a-f]{32}['\"]'''
|
47
|
+
tags = ["key", "Facebook"]
|
48
|
+
|
49
|
+
[[rules]]
|
50
|
+
description = "Facebook Client ID"
|
51
|
+
regex = '''(?i)(facebook|fb)(.{0,20})?['\"][0-9]{13,17}['\"]'''
|
52
|
+
tags = ["key", "Facebook"]
|
53
|
+
|
54
|
+
[[rules]]
|
55
|
+
description = "Facebook access token"
|
56
|
+
regex = '''EAACEdEose0cBA[0-9A-Za-z]+'''
|
57
|
+
tags = ["key", "Facebook"]
|
58
|
+
|
59
|
+
[[rules]]
|
60
|
+
description = "Twitter Secret Key"
|
61
|
+
regex = '''(?i)twitter(.{0,20})?['\"][0-9a-z]{35,44}['\"]'''
|
62
|
+
tags = ["key", "Twitter"]
|
63
|
+
|
64
|
+
[[rules]]
|
65
|
+
description = "Twitter Client ID"
|
66
|
+
regex = '''(?i)twitter(.{0,20})?['\"][0-9a-z]{18,25}['\"]'''
|
67
|
+
tags = ["client", "Twitter"]
|
68
|
+
|
69
|
+
[[rules]]
|
70
|
+
description = "Github"
|
71
|
+
regex = '''(?i)github(.{0,20})?(?-i)['\"][0-9a-zA-Z]{35,40}['\"]'''
|
72
|
+
tags = ["key", "Github"]
|
73
|
+
|
74
|
+
[[rules]]
|
75
|
+
description = "LinkedIn Client ID"
|
76
|
+
regex = '''(?i)linkedin(.{0,20})?(?-i)['\"][0-9a-z]{12}['\"]'''
|
77
|
+
tags = ["client", "Twitter"]
|
78
|
+
|
79
|
+
[[rules]]
|
80
|
+
description = "LinkedIn Secret Key"
|
81
|
+
regex = '''(?i)linkedin(.{0,20})?['\"][0-9a-z]{16}['\"]'''
|
82
|
+
tags = ["secret", "Twitter"]
|
83
|
+
|
84
|
+
[[rules]]
|
85
|
+
description = "Slack"
|
86
|
+
regex = '''xox[baprs]-([0-9a-zA-Z]{10,48})?'''
|
87
|
+
tags = ["key", "Slack"]
|
88
|
+
|
89
|
+
[[rules]]
|
90
|
+
description = "EC"
|
91
|
+
regex = '''-----BEGIN EC PRIVATE KEY-----'''
|
92
|
+
tags = ["key", "EC"]
|
93
|
+
|
94
|
+
[[rules]]
|
95
|
+
description = "Generic API key"
|
96
|
+
regex = '''(?i)(api_key|apikey)(.{0,20})?['|"][0-9a-zA-Z]{32,45}['|"]'''
|
97
|
+
tags = ["key", "API", "generic"]
|
98
|
+
|
99
|
+
[[rules]]
|
100
|
+
description = "Generic Secret"
|
101
|
+
regex = '''(?i)secret(.{0,20})?['|"][0-9a-zA-Z]{32,45}['|"]'''
|
102
|
+
tags = ["key", "Secret", "generic"]
|
103
|
+
|
104
|
+
[[rules]]
|
105
|
+
description = "Google API key"
|
106
|
+
regex = '''AIza[0-9A-Za-z\\-_]{35}'''
|
107
|
+
tags = ["key", "Google"]
|
108
|
+
|
109
|
+
[[rules]]
|
110
|
+
description = "Google Cloud Platform API key"
|
111
|
+
regex = '''(?i)(google|gcp|youtube|drive|yt)(.{0,20})?['\"][AIza[0-9a-z\\-_]{35}]['\"]'''
|
112
|
+
tags = ["key", "Google", "GCP"]
|
113
|
+
|
114
|
+
[[rules]]
|
115
|
+
description = "Google OAuth"
|
116
|
+
regex = '''(?i)(google|gcp|auth)(.{0,20})?['"][0-9]+-[0-9a-z_]{32}\.apps\.googleusercontent\.com['"]'''
|
117
|
+
tags = ["key", "Google", "OAuth"]
|
118
|
+
|
119
|
+
[[rules]]
|
120
|
+
description = "Google OAuth access token"
|
121
|
+
regex = '''ya29\.[0-9A-Za-z\-_]+'''
|
122
|
+
tags = ["key", "Google", "OAuth"]
|
123
|
+
|
124
|
+
[[rules]]
|
125
|
+
description = "Heroku API key"
|
126
|
+
regex = '''(?i)heroku(.{0,20})?['"][0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}['"]'''
|
127
|
+
tags = ["key", "Heroku"]
|
128
|
+
|
129
|
+
[[rules]]
|
130
|
+
description = "MailChimp API key"
|
131
|
+
regex = '''(?i)(mailchimp|mc)(.{0,20})?['"][0-9a-f]{32}-us[0-9]{1,2}['"]'''
|
132
|
+
tags = ["key", "Mailchimp"]
|
133
|
+
|
134
|
+
[[rules]]
|
135
|
+
description = "Mailgun API key"
|
136
|
+
regex = '''(?i)(mailgun|mg)(.{0,20})?['"][0-9a-z]{32}['"]'''
|
137
|
+
tags = ["key", "Mailgun"]
|
138
|
+
|
139
|
+
[[rules]]
|
140
|
+
description = "Password in URL"
|
141
|
+
regex = '''[a-zA-Z]{3,10}:\/\/[^\/\s:@]{3,20}:[^\/\s:@]{3,20}@.{1,100}\/?.?'''
|
142
|
+
tags = ["key", "URL", "generic"]
|
143
|
+
|
144
|
+
[[rules]]
|
145
|
+
description = "PayPal Braintree access token"
|
146
|
+
regex = '''access_token\$production\$[0-9a-z]{16}\$[0-9a-f]{32}'''
|
147
|
+
tags = ["key", "Paypal"]
|
148
|
+
|
149
|
+
[[rules]]
|
150
|
+
description = "Picatic API key"
|
151
|
+
regex = '''sk_live_[0-9a-z]{32}'''
|
152
|
+
tags = ["key", "Picatic"]
|
153
|
+
|
154
|
+
[[rules]]
|
155
|
+
description = "Slack Webhook"
|
156
|
+
regex = '''https://hooks.slack.com/services/T[a-zA-Z0-9_]{8}/B[a-zA-Z0-9_]{8}/[a-zA-Z0-9_]{24}'''
|
157
|
+
tags = ["key", "slack"]
|
158
|
+
|
159
|
+
[[rules]]
|
160
|
+
description = "Stripe API key"
|
161
|
+
regex = '''(?i)stripe(.{0,20})?['\"][sk|rk]_live_[0-9a-zA-Z]{24}'''
|
162
|
+
tags = ["key", "Stripe"]
|
163
|
+
|
164
|
+
[[rules]]
|
165
|
+
description = "Square access token"
|
166
|
+
regex = '''sq0atp-[0-9A-Za-z\-_]{22}'''
|
167
|
+
tags = ["key", "square"]
|
168
|
+
|
169
|
+
[[rules]]
|
170
|
+
description = "Square OAuth secret"
|
171
|
+
regex = '''sq0csp-[0-9A-Za-z\\-_]{43}'''
|
172
|
+
tags = ["key", "square"]
|
173
|
+
|
174
|
+
[[rules]]
|
175
|
+
description = "Twilio API key"
|
176
|
+
regex = '''(?i)twilio(.{0,20})?['\"][0-9a-f]{32}['\"]'''
|
177
|
+
tags = ["key", "twilio"]
|
178
|
+
|
179
|
+
[whitelist]
|
180
|
+
files = [
|
181
|
+
# "(.*?)(jpg|gif|doc|pdf|bin)$",
|
182
|
+
".gitleaks.toml"
|
183
|
+
]
|
184
|
+
regexes = [
|
185
|
+
"3a4rb19rpjejr89h6r29kd2fb3808cpy" # sample host API key in test data
|
186
|
+
]
|
187
|
+
|
188
|
+
# Additional Examples
|
189
|
+
|
190
|
+
# [[rules]]
|
191
|
+
# description = "Generic Key"
|
192
|
+
# regex = '''(?i)key(.{0,6})?(:|=|=>|:=)'''
|
193
|
+
# entropies = [
|
194
|
+
# "4.1-4.3",
|
195
|
+
# "5.5-6.3",
|
196
|
+
# ]
|
197
|
+
# entropyROI = "line"
|
198
|
+
# filetypes = [".go", ".py", ".c"]
|
199
|
+
# tags = ["key"]
|
200
|
+
# severity = "8"
|
201
|
+
#
|
202
|
+
#
|
203
|
+
# [[rules]]
|
204
|
+
# description = "Generic Key"
|
205
|
+
# regex = '''(?i)key(.{0,6})?(:|=|=>|:=)'''
|
206
|
+
# entropies = ["4.1-4.3"]
|
207
|
+
# filetypes = [".gee"]
|
208
|
+
# entropyROI = "line"
|
209
|
+
# tags = ["key"]
|
210
|
+
# severity = "medium"
|
211
|
+
|
212
|
+
# [[rules]]
|
213
|
+
# description = "Any pem file"
|
214
|
+
# filetypes = [".key"]
|
215
|
+
# tags = ["pem"]
|
216
|
+
# severity = "high"
|
data/CHANGELOG.md
CHANGED
@@ -1,34 +1,56 @@
|
|
1
|
-
#
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
[
|
34
|
-
|
1
|
+
# Changelog
|
2
|
+
All notable changes to this project will be documented in this file.
|
3
|
+
|
4
|
+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
|
5
|
+
and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
|
6
|
+
|
7
|
+
## [Unreleased]
|
8
|
+
|
9
|
+
## [6.2.2] - 2020-04-02
|
10
|
+
### Changed
|
11
|
+
- Docker image updated to flatten to a single layer and reduce the image
|
12
|
+
size ([cyberark/conjur-cli#253](https://github.com/cyberark/conjur-cli/issues/253))
|
13
|
+
|
14
|
+
### Fixed
|
15
|
+
- CLI image is only updated in DockerHub when the project has a new tag
|
16
|
+
([cyberark/conjur-cli#270](https://github.com/cyberark/conjur-cli/issues/270))
|
17
|
+
|
18
|
+
### Security
|
19
|
+
- Update rake for CVE-2020-8130 ([cyberark/conjur-cli#263](https://github.com/cyberark/conjur-cli/issues/263))
|
20
|
+
|
21
|
+
## [6.2.1] - 2019-05-22
|
22
|
+
### Added
|
23
|
+
- Pin to xdg gem v2.2.3 due to a [crashing CLI](https://github.com/cyberark/conjur-cli/issues/243).
|
24
|
+
|
25
|
+
## 6.2.0 - 2018-06-22
|
26
|
+
### Added
|
27
|
+
- Add `ldap-sync` subcommand.
|
28
|
+
|
29
|
+
## 6.1.1 - 0000-00-00
|
30
|
+
### Added
|
31
|
+
- No longer displaying error stack traces by default when an exception occurs duing CLI initialization (e.g when trying to open a missing conjur certificate file). Stack traces can be enabled for all errors in the CLI by setting the environment variable `GLI_DEBUG=true`.
|
32
|
+
|
33
|
+
## [6.1.0] - 2018-04-09
|
34
|
+
### Added
|
35
|
+
- Pin dependency 'conjur-api' to '~> 5.1'. This update adds authn-local support to the API. [conjur-api PR #131](https://github.com/cyberark/conjur-api-ruby/pull/131)
|
36
|
+
|
37
|
+
## [6.0.1] - 2018-04-09
|
38
|
+
### Added
|
39
|
+
- Pushes to `cyberark/conjur-cli:5` on DockerHub when tests pass
|
40
|
+
- Use SNI when fetching certificate with `conjur init`.
|
41
|
+
- Correctly specify dependency versions in gemspec.
|
42
|
+
- Allow ActiveSupport v5 as a dependency.
|
43
|
+
|
44
|
+
## [6.0.0] - 2017-10-13
|
45
|
+
### Added
|
46
|
+
- Provides compatibility with [cyberark/conjur](https://github.com/cyberark/conjur), Conjur 5 CE.
|
47
|
+
- License changed to Apache 2.0.
|
48
|
+
- **Codebase forked: for changes to the 5.x (API [v4](https://github.com/cyberark/conjur-cli/tree/v4)) series, see
|
49
|
+
[CHANGELOG in `v4` branch][v4-changelog](https://github.com/cyberark/conjur-cli/blob/v4/CHANGELOG.md)**
|
50
|
+
|
51
|
+
[Unreleased]: https://github.com/cyberark/conjur-cli/compare/v6.2.2...HEAD
|
52
|
+
[6.2.2]: https://github.com/cyberark/conjur-cli/compare/v6.2.1...v6.2.2
|
53
|
+
[6.2.1]: https://github.com/cyberark/conjur-cli/compare/v6.2.0...v6.2.1
|
54
|
+
[6.1.0]: https://github.com/cyberark/conjur-cli/compare/v6.0.1...v6.1.0
|
55
|
+
[6.0.1]: https://github.com/cyberark/conjur-cli/compare/v6.0.0...v6.0.1
|
56
|
+
[6.0.0]: https://github.com/cyberark/conjur-cli/compare/v5.6.6...v6.0.0
|
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
# Contributing
|
2
|
+
|
3
|
+
For general contribution and community guidelines, please see the [community repo](https://github.com/cyberark/community).
|
4
|
+
|
5
|
+
## Contributing
|
6
|
+
|
7
|
+
1. [Fork the project](https://help.github.com/en/github/getting-started-with-github/fork-a-repo)
|
8
|
+
2. [Clone your fork](https://help.github.com/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository)
|
9
|
+
3. Make local changes to your fork by editing files
|
10
|
+
3. [Commit your changes](https://help.github.com/en/github/managing-files-in-a-repository/adding-a-file-to-a-repository-using-the-command-line)
|
11
|
+
4. [Push your local changes to the remote server](https://help.github.com/en/github/using-git/pushing-commits-to-a-remote-repository)
|
12
|
+
5. [Create new Pull Request](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork)
|
13
|
+
|
14
|
+
From here your pull request will be reviewed and once you've responded to all
|
15
|
+
feedback it will be merged into the project. Congratulations, you're a
|
16
|
+
contributor!
|
17
|
+
|
18
|
+
## Development
|
19
|
+
|
20
|
+
Create a sandbox environment in Docker using the `./dev` folder:
|
21
|
+
|
22
|
+
```sh-session
|
23
|
+
$ cd dev
|
24
|
+
dev $ ./start.sh
|
25
|
+
```
|
26
|
+
|
27
|
+
This will drop you into a bash shell in a container called `cli`.
|
28
|
+
|
29
|
+
The sandbox also includes a Postgres container and Conjur server container. The
|
30
|
+
environment is already setup to connect the CLI to the server:
|
31
|
+
|
32
|
+
* **CONJUR_APPLIANCE_URL** `http://conjur`
|
33
|
+
* **CONJUR_ACCOUNT** `cucumber`
|
34
|
+
|
35
|
+
To login to conjur, type the following and you'll be prompted for a password:
|
36
|
+
|
37
|
+
```sh-session
|
38
|
+
root@2b5f618dfdcb:/# conjur authn login admin
|
39
|
+
Please enter admin's password (it will not be echoed):
|
40
|
+
```
|
41
|
+
|
42
|
+
The required password is the API key at the end of the output from the
|
43
|
+
`start.sh` script. It looks like this:
|
44
|
+
|
45
|
+
```
|
46
|
+
=============== LOGIN WITH THESE CREDENTIALS ===============
|
47
|
+
|
48
|
+
username: admin
|
49
|
+
api key : 9j113d35wag023rq7tnv201rsym1jg4pev1t1nb4419767ms1cnq00n
|
50
|
+
|
51
|
+
============================================================
|
52
|
+
```
|
53
|
+
|
54
|
+
At this point, you can use any CLI command you like.
|
55
|
+
|
56
|
+
## Running Cucumber
|
57
|
+
|
58
|
+
To install dev packages, run `bundle` from within the container:
|
59
|
+
|
60
|
+
```sh-session
|
61
|
+
root@2b5f618dfdcb:/# cd /usr/src/cli-ruby/
|
62
|
+
root@2b5f618dfdcb:/usr/src/cli-ruby# bundle
|
63
|
+
```
|
64
|
+
|
65
|
+
Then you can run the cucumber tests:
|
66
|
+
|
67
|
+
```sh-session
|
68
|
+
root@2b5f618dfdcb:/usr/src/cli-ruby# cucumber
|
69
|
+
...
|
70
|
+
```
|
71
|
+
|
72
|
+
## Releasing
|
73
|
+
|
74
|
+
To create a new release, follow the instructions in our general release
|
75
|
+
guidelines [here](https://github.com/cyberark/community/blob/master/Conjur/CONTRIBUTING.md#release-process).
|
76
|
+
|
77
|
+
Note: this project documents the version in two places:
|
78
|
+
- The [VERSION](./VERSION) file
|
79
|
+
- In [`lib/conjur/version.rb`](./lib/conjur/version.rb)
|
80
|
+
|
81
|
+
Both version files must be updated when this project is preparing for a release.
|