conjur-cli 6.2.1 → 6.2.2
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 +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.
|