hybrid_platforms_conductor 32.16.2 → 32.18.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +48 -0
- data/README.md +3 -0
- data/bin/last_deploys +4 -1
- data/bin/nodes_to_deploy +5 -5
- data/docs/config_dsl.md +22 -0
- data/docs/gen/mermaid/README.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/check-node.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/deploy.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/free_ips.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/get_impacted_nodes.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/last_deploys.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/nodes_to_deploy.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/report.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/run.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/ssh_config.md-0.png +0 -0
- data/docs/gen/mermaid/docs/executables/test.md-0.png +0 -0
- data/docs/plugins.md +26 -0
- data/docs/plugins/connector/ssh.md +1 -1
- data/docs/plugins/log/remote_fs.md +26 -0
- data/docs/plugins/test/bitbucket_conf.md +1 -1
- data/docs/plugins/test/check_deploy_and_idempotence.md +1 -1
- data/docs/plugins/test/connection.md +1 -0
- data/docs/plugins/test/deploy_removes_root_access.md +1 -1
- data/docs/plugins/test/file_system.md +1 -0
- data/docs/plugins/test/github_ci.md +48 -0
- data/docs/plugins/test/hostname.md +1 -0
- data/docs/plugins/test/ip.md +1 -0
- data/docs/plugins/test/jenkins_ci_conf.md +1 -1
- data/docs/plugins/test/jenkins_ci_masters_ok.md +1 -1
- data/docs/plugins/test/local_users.md +1 -0
- data/docs/plugins/test/mounts.md +1 -0
- data/docs/plugins/test/orphan_files.md +1 -0
- data/docs/plugins/test/ports.md +1 -0
- data/docs/plugins/test/spectre.md +1 -0
- data/docs/plugins/test/vulnerabilities.md +1 -0
- data/lib/hybrid_platforms_conductor/actions_executor.rb +8 -1
- data/lib/hybrid_platforms_conductor/common_config_dsl/github.rb +62 -0
- data/lib/hybrid_platforms_conductor/deployer.rb +97 -105
- data/lib/hybrid_platforms_conductor/hpc_plugins/connector/ssh.rb +3 -3
- data/lib/hybrid_platforms_conductor/hpc_plugins/log/my_log_plugin.rb.sample +100 -0
- data/lib/hybrid_platforms_conductor/hpc_plugins/log/remote_fs.rb +179 -0
- data/lib/hybrid_platforms_conductor/hpc_plugins/platform_handler/serverless_chef.rb +2 -2
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/check_deploy_and_idempotence.rb +1 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/connection.rb +3 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/deploy_freshness.rb +7 -20
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/deploy_removes_root_access.rb +1 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/file_system.rb +2 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/github_ci.rb +32 -0
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/hostname.rb +3 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/ip.rb +3 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/local_users.rb +3 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/mounts.rb +3 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/orphan_files.rb +3 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/ports.rb +3 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/spectre.rb +3 -1
- data/lib/hybrid_platforms_conductor/hpc_plugins/test/vulnerabilities.rb +2 -1
- data/lib/hybrid_platforms_conductor/log.rb +31 -0
- data/lib/hybrid_platforms_conductor/test_only_remote_node.rb +18 -0
- data/lib/hybrid_platforms_conductor/version.rb +1 -1
- data/spec/hybrid_platforms_conductor_test.rb +22 -6
- data/spec/hybrid_platforms_conductor_test/api/actions_executor/connectors/ssh/connections_spec.rb +3 -3
- data/spec/hybrid_platforms_conductor_test/api/deployer/config_dsl_spec.rb +24 -4
- data/spec/hybrid_platforms_conductor_test/api/deployer/deploy_spec.rb +187 -212
- data/spec/hybrid_platforms_conductor_test/api/deployer/log_plugins/remote_fs_spec.rb +223 -0
- data/spec/hybrid_platforms_conductor_test/api/deployer/provisioner_spec.rb +4 -4
- data/spec/hybrid_platforms_conductor_test/api/platform_handlers/serverless_chef/packaging_spec.rb +2 -2
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/global_spec.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/api/tests_runner/test_plugins/github_ci_spec.rb +72 -0
- data/spec/hybrid_platforms_conductor_test/executables/last_deploys_spec.rb +146 -98
- data/spec/hybrid_platforms_conductor_test/executables/nodes_to_deploy_spec.rb +240 -83
- data/spec/hybrid_platforms_conductor_test/executables/options/common_spec.rb +2 -1
- data/spec/hybrid_platforms_conductor_test/helpers/connector_ssh_helpers.rb +1 -1
- data/spec/hybrid_platforms_conductor_test/helpers/deployer_helpers.rb +40 -53
- data/spec/hybrid_platforms_conductor_test/helpers/deployer_test_helpers.rb +2 -2
- data/spec/hybrid_platforms_conductor_test/test_log_no_read_plugin.rb +82 -0
- data/spec/hybrid_platforms_conductor_test/test_log_plugin.rb +103 -0
- metadata +30 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b724f6cb69633133e800d381ee1d0bfdd1a1107d7fc388fe1dcbcf423480ca9d
|
4
|
+
data.tar.gz: 3252bc11e083295c2694df60a9af790d8b01cbe851baebbe1d8e75b656e0acd3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43793a4b3f8ec9a1353b4c075289dfcd77574b64a481754db68e1affa1c599500a3c29d8fa12b31c13dd69b47c5a2840f52aef80045fbec8be7a363ca4eb90b7
|
7
|
+
data.tar.gz: 0451da97325093d7a59684de1ffc77856f4baf5c3a4c76853e6df4492c7cfb1d52cbf9405c0d44b1d8af643e61f64569fc305ed61204be26f081591bdccb6d43
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,51 @@
|
|
1
|
+
# [v32.18.0](https://github.com/sweet-delights/hybrid-platforms-conductor/compare/v32.17.1...v32.18.0) (2021-06-14 15:01:02)
|
2
|
+
|
3
|
+
## Global changes
|
4
|
+
### Patches
|
5
|
+
|
6
|
+
* [[Feature(log_remote_fs)] [#60] Add new plugins type log with a first log plugin remote_fs to extend deployment logs save functionality](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/20187c6da577c932b5205204187af883140995fe)
|
7
|
+
|
8
|
+
## Changes for log_remote_fs
|
9
|
+
### Features
|
10
|
+
|
11
|
+
* [[Feature(log_remote_fs)] [#60] Add new plugins type log with a first log plugin remote_fs to extend deployment logs save functionality](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/20187c6da577c932b5205204187af883140995fe)
|
12
|
+
|
13
|
+
# [v32.17.1](https://github.com/sweet-delights/hybrid-platforms-conductor/compare/v32.17.0...v32.17.1) (2021-06-03 16:20:09)
|
14
|
+
|
15
|
+
### Patches
|
16
|
+
|
17
|
+
* [[Hotfix] Don't run remote nodes tests on local nodes](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/fe8e34a4d74f21d4903c14b1e156b9730f4b5fee)
|
18
|
+
|
19
|
+
# [v32.17.0](https://github.com/sweet-delights/hybrid-platforms-conductor/compare/v32.16.4...v32.17.0) (2021-06-02 12:57:44)
|
20
|
+
|
21
|
+
## Global changes
|
22
|
+
### Patches
|
23
|
+
|
24
|
+
* [[Feature(test_github_ci)] [#61] Add the github_ci test plugin to check for CI/CD of projects on Github](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/a0082efe5c138ca88ca91a3c10f777f47fca5034)
|
25
|
+
|
26
|
+
## Changes for test_github_ci
|
27
|
+
### Features
|
28
|
+
|
29
|
+
* [[Feature(test_github_ci)] [#61] Add the github_ci test plugin to check for CI/CD of projects on Github](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/a0082efe5c138ca88ca91a3c10f777f47fca5034)
|
30
|
+
|
31
|
+
# [v32.16.4](https://github.com/sweet-delights/hybrid-platforms-conductor/compare/v32.16.3...v32.16.4) (2021-06-01 13:25:19)
|
32
|
+
|
33
|
+
### Patches
|
34
|
+
|
35
|
+
* [[Hotfix] Fixed boolean values incorrectly used as strings](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/a107f3e0fe4c1512ce7607a303fdf0753d92ddac)
|
36
|
+
|
37
|
+
# [v32.16.3](https://github.com/sweet-delights/hybrid-platforms-conductor/compare/v32.16.2...v32.16.3) (2021-06-01 11:19:50)
|
38
|
+
|
39
|
+
## Global changes
|
40
|
+
### Patches
|
41
|
+
|
42
|
+
* [[Hotfix(platform_handler_serverless_chef)] Fix Chef packaging missing licenses accept](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/69eafc1b23f77de65ba0dd68e5adb7fafb58157e)
|
43
|
+
|
44
|
+
## Changes for platform_handler_serverless_chef
|
45
|
+
### Patches
|
46
|
+
|
47
|
+
* [[Hotfix(platform_handler_serverless_chef)] Fix Chef packaging missing licenses accept](https://github.com/sweet-delights/hybrid-platforms-conductor/commit/69eafc1b23f77de65ba0dd68e5adb7fafb58157e)
|
48
|
+
|
1
49
|
# [v32.16.2](https://github.com/sweet-delights/hybrid-platforms-conductor/compare/v32.16.1...v32.16.2) (2021-06-01 09:52:22)
|
2
50
|
|
3
51
|
## Global changes
|
data/README.md
CHANGED
@@ -263,6 +263,7 @@ participant PlatformHandler as Platform Handler
|
|
263
263
|
participant PlatformRepo as Platform repository (ie Chef)
|
264
264
|
participant Connector as Connector (ie SSH)
|
265
265
|
participant Node as Provisioned node (my_node)
|
266
|
+
participant Log as Log
|
266
267
|
|
267
268
|
Deploy->>+CMDB: Get services to be deployed on my_node
|
268
269
|
CMDB->>+PlatformHandler: Get my_node metadata from the platform
|
@@ -276,6 +277,8 @@ Deploy->>+Connector: Connect to my_node to execute actions
|
|
276
277
|
Connector->>+Node: Execute actions through SSH to deploy my_web_app on my_node
|
277
278
|
Node-->>-Connector: my_web_app is deployed successfully
|
278
279
|
Connector-->>-Deploy: Close connection
|
280
|
+
Deploy->>+Log: Save deployment logs
|
281
|
+
Log-->>-Deploy: Deployment logs saved
|
279
282
|
```
|
280
283
|
</details>
|
281
284
|
<!-- Mermaid generator - Section end -->
|
data/bin/last_deploys
CHANGED
@@ -36,7 +36,10 @@ sorted_deploy_info = Hash[
|
|
36
36
|
deployer.deployment_info_from(nodes_handler.select_nodes(executable.selected_nodes.empty? ? [{ all: true }] : executable.selected_nodes)).
|
37
37
|
map do |node, deploy_info|
|
38
38
|
decorated_deploy_info = deploy_info.merge(node: node)
|
39
|
-
|
39
|
+
if deploy_info.key?(:deployment_info)
|
40
|
+
decorated_deploy_info.merge!(deploy_info[:deployment_info])
|
41
|
+
decorated_deploy_info[:date] = deploy_info[:date].strftime('%F %T') if deploy_info.key?(:date)
|
42
|
+
end
|
40
43
|
decorated_deploy_info[:services] = deploy_info[:services].join(', ') if deploy_info.key?(:services)
|
41
44
|
[node, decorated_deploy_info]
|
42
45
|
end
|
data/bin/nodes_to_deploy
CHANGED
@@ -60,16 +60,16 @@ unless ignore_deploy_info
|
|
60
60
|
if node_deploy_info.key?(:error)
|
61
61
|
executable.log_warn "[ #{node} ] - Deployment in error: #{node_deploy_info[:error]}"
|
62
62
|
true
|
63
|
-
elsif !node_deploy_info.key?(:exit_status) || node_deploy_info[:exit_status] !=
|
63
|
+
elsif !node_deploy_info.key?(:exit_status) || node_deploy_info[:exit_status] != 0
|
64
64
|
executable.log_warn "[ #{node} ] - Last deployment did not end successfully: #{node_deploy_info[:exit_status]}"
|
65
65
|
true
|
66
|
-
elsif node_deploy_info.key?(:repo_name_0)
|
66
|
+
elsif node_deploy_info[:deployment_info].key?(:repo_name_0)
|
67
67
|
node_impacted = false
|
68
68
|
# Loop over all possible repositories concerned by this deployment
|
69
69
|
repo_idx = 0
|
70
|
-
while node_deploy_info.key?("repo_name_#{repo_idx}".to_sym) do
|
71
|
-
repo_name = node_deploy_info["repo_name_#{repo_idx}".to_sym]
|
72
|
-
commit_id = node_deploy_info["commit_id_#{repo_idx}".to_sym]
|
70
|
+
while node_deploy_info[:deployment_info].key?("repo_name_#{repo_idx}".to_sym) do
|
71
|
+
repo_name = node_deploy_info[:deployment_info]["repo_name_#{repo_idx}".to_sym]
|
72
|
+
commit_id = node_deploy_info[:deployment_info]["commit_id_#{repo_idx}".to_sym]
|
73
73
|
impacted_nodes = cache_impacted_nodes.dig(repo_name, commit_id)
|
74
74
|
if impacted_nodes.nil?
|
75
75
|
begin
|
data/docs/config_dsl.md
CHANGED
@@ -13,6 +13,7 @@ This DSL can also be completed by plugins. Check [the plugins documentations](pl
|
|
13
13
|
* [`hybrid_platforms_dir`](#hybrid_platforms_dir)
|
14
14
|
* [`tests_provisioner`](#tests_provisioner)
|
15
15
|
* [`expect_tests_to_fail`](#expect_tests_to_fail)
|
16
|
+
* [`send_logs_to`](#send_logs_to)
|
16
17
|
* [`retry_deploy_for_errors_on_stdout`](#retry_deploy_for_errors_on_stdout)
|
17
18
|
* [`retry_deploy_for_errors_on_stderr`](#retry_deploy_for_errors_on_stderr)
|
18
19
|
* [`packaging_timeout`](#packaging_timeout)
|
@@ -200,6 +201,27 @@ for_nodes('/tst/') do
|
|
200
201
|
end
|
201
202
|
```
|
202
203
|
|
204
|
+
<a name="send_logs_to"></a>
|
205
|
+
## `send_logs_to`
|
206
|
+
|
207
|
+
Set the list of [log plugins](plugins.md#log) to use to save logs.
|
208
|
+
By default (if no plugins is specifically set) the [log plugin `remote_fs`](plugins/log/remote_fs.md) is being used.
|
209
|
+
|
210
|
+
Takes the list of log plugin names, as symbols, as a parameter.
|
211
|
+
|
212
|
+
Can be applied to subset of nodes using the [`for_nodes` DSL method](#for_nodes).
|
213
|
+
|
214
|
+
Examples:
|
215
|
+
```ruby
|
216
|
+
# By default, everything gets logged on the nodes
|
217
|
+
send_logs_to :remote_fs
|
218
|
+
|
219
|
+
# All our production nodes also have their logs uploaded on our logs servers
|
220
|
+
for_nodes('/prd/') do
|
221
|
+
send_logs_to :datadog_log_server, :loggly
|
222
|
+
end
|
223
|
+
```
|
224
|
+
|
203
225
|
<a name="retry_deploy_for_errors_on_stdout"></a>
|
204
226
|
## `retry_deploy_for_errors_on_stdout`
|
205
227
|
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/docs/plugins.md
CHANGED
@@ -10,6 +10,7 @@ Following are all possible plugin types and the plugins shipped by default with
|
|
10
10
|
* [`action`](#action)
|
11
11
|
* [`cmdb`](#cmdb)
|
12
12
|
* [`connector`](#connector)
|
13
|
+
* [`log`](#log)
|
13
14
|
* [`platform_handler`](#platform_handler)
|
14
15
|
* [`provisioner`](#provisioner)
|
15
16
|
* [`report`](#report)
|
@@ -79,6 +80,30 @@ Plugins shipped by default:
|
|
79
80
|
* [`local`](plugins/connector/local.md)
|
80
81
|
* [`ssh`](plugins/connector/ssh.md)
|
81
82
|
|
83
|
+
<a name="log"></a>
|
84
|
+
## Logs
|
85
|
+
|
86
|
+
Save deployment logs to a given medium (files, log servers...).
|
87
|
+
|
88
|
+
Corresponding plugin type: `log`.
|
89
|
+
|
90
|
+
These plugins give ways for the [`Deployer`](../lib/hybrid_platforms_conductor/deployer.rb) to save logs output from services deployments on nodes.
|
91
|
+
Information that can be saved is:
|
92
|
+
* The deployment stdout.
|
93
|
+
* The deployment stderr.
|
94
|
+
* The deployment exit status.
|
95
|
+
* The list of services that have been deployed.
|
96
|
+
* Some deployment metadata (like git commits information that have been deployed).
|
97
|
+
|
98
|
+
Examples of log plugins are:
|
99
|
+
* Remote file system: Save logs on the node's remote file system (useful for local debugging).
|
100
|
+
* Log servers: Send logs to log servers.
|
101
|
+
|
102
|
+
Check the [sample plugin file](../lib/hybrid_platforms_conductor/hpc_plugins/log/my_log_plugin.rb.sample) to know more about the API that needs to be implemented by such plugins.
|
103
|
+
|
104
|
+
Plugins shipped by default:
|
105
|
+
* [`remote_fs`](plugins/log/remote_fs.md)
|
106
|
+
|
82
107
|
<a name="platform_handler"></a>
|
83
108
|
## Platform Handlers
|
84
109
|
|
@@ -182,6 +207,7 @@ Plugins shipped by default:
|
|
182
207
|
* [`executables`](plugins/test/executables.md)
|
183
208
|
* [`file_system_hdfs`](plugins/test/file_system_hdfs.md)
|
184
209
|
* [`file_system`](plugins/test/file_system.md)
|
210
|
+
* [`github_ci`](plugins/test/github_ci.md)
|
185
211
|
* [`hostname`](plugins/test/hostname.md)
|
186
212
|
* [`idempotence`](plugins/test/idempotence.md)
|
187
213
|
* [`ip`](plugins/test/ip.md)
|
@@ -70,7 +70,7 @@ end
|
|
70
70
|
| `host_keys` | `Array<String>` | The node's host keys used to generate a `known_hosts` file with those to avoid user confirmations when connecting. |
|
71
71
|
| `hostname` | `String` | Host name used to connect in case no IP address can be found in metadata. |
|
72
72
|
| `private_ips` | `Array<String>` | IP list to connect in case `host_ip` is not defined in metadata. |
|
73
|
-
| `ssh_session_exec` | `
|
73
|
+
| `ssh_session_exec` | `Boolean` | If set to `false`, then consider that the node does not have any SSH SessionExec capabilities. This will make sure that remote command executions is done using stdin piping on interactive sessions instead of SSH commands execution. |
|
74
74
|
|
75
75
|
## Used environment variables
|
76
76
|
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# Log plugin: `remote_fs`
|
2
|
+
|
3
|
+
The `remote_fs` log plugin saves deployment logs in each remote node that has been deployed, in the `/var/log/deployments` directory.
|
4
|
+
|
5
|
+
## Config DSL extension
|
6
|
+
|
7
|
+
None
|
8
|
+
|
9
|
+
## Used credentials
|
10
|
+
|
11
|
+
| Credential | Usage
|
12
|
+
| --- | --- |
|
13
|
+
|
14
|
+
## Used Metadata
|
15
|
+
|
16
|
+
| Metadata | Type | Usage
|
17
|
+
| --- | --- | --- |
|
18
|
+
|
19
|
+
## Used environment variables
|
20
|
+
|
21
|
+
| Variable | Usage
|
22
|
+
| --- | --- |
|
23
|
+
|
24
|
+
## External tools dependencies
|
25
|
+
|
26
|
+
None
|
@@ -12,7 +12,7 @@ Define a Bitbucket installation to be targeted.
|
|
12
12
|
It takes the following parameters:
|
13
13
|
* **url** (`String`): URL to the Bitbucket server
|
14
14
|
* **project** (`String`): Project name from the Bitbucket server, storing repositories
|
15
|
-
* **repos** (`Array<String>` or `Symbol`): List of repository names from this project, or
|
15
|
+
* **repos** (`Array<String>` or `Symbol`): List of repository names from this project, or `:all` for all [default: `:all`]
|
16
16
|
* **checks** (`Hash<Symbol, Object>`): Checks definition to be perform on those repositories [default: {}]
|
17
17
|
* **branch_permissions** (`Array< Hash<Symbol, Object> >`): List of branch permissions to check [optional]
|
18
18
|
* **type** (`String`): Type of branch permissions to check. Examples of values are 'fast-forward-only', 'no-deletes', 'pull-request-only'.
|
@@ -49,7 +49,7 @@ end
|
|
49
49
|
|
50
50
|
| Metadata | Type | Usage
|
51
51
|
| --- | --- | --- |
|
52
|
-
| `root_access_allowed` | `
|
52
|
+
| `root_access_allowed` | `Boolean` | If set to `true`, then skip the test for `root` access being disabled after deployment |
|
53
53
|
|
54
54
|
## Used environment variables
|
55
55
|
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# Test plugin: `github_ci`
|
2
|
+
|
3
|
+
The `github_ci` test plugin checks that the `master` branch of Github repositories has a successful CI result from its [Github Actions](https://github.com/features/actions).
|
4
|
+
|
5
|
+
## Config DSL extension
|
6
|
+
|
7
|
+
### `github_repos`
|
8
|
+
|
9
|
+
Define Github repositories to be targeted.
|
10
|
+
|
11
|
+
It takes the following parameters:
|
12
|
+
* **url** (`String`): URL to the Github API [default: `'https://api.github.com'`]
|
13
|
+
* **user** (`String`): User or organization name, storing repositories
|
14
|
+
* **repos** (`Array<String>` or `Symbol`): List of repository names from this project, or `:all` for all [default: `:all`]
|
15
|
+
|
16
|
+
Example:
|
17
|
+
```ruby
|
18
|
+
github_repos(
|
19
|
+
# Github's user containing repositories
|
20
|
+
user: 'My-Github-User',
|
21
|
+
# List of repositories to check
|
22
|
+
repos: [
|
23
|
+
'my-platform-repo',
|
24
|
+
'my-chef-repo',
|
25
|
+
'my-hpc-plugins'
|
26
|
+
]
|
27
|
+
)
|
28
|
+
```
|
29
|
+
|
30
|
+
## Used credentials
|
31
|
+
|
32
|
+
| Credential | Usage
|
33
|
+
| --- | --- |
|
34
|
+
| `github` | Used to connect to the Github API. Password should be the Github API token. |
|
35
|
+
|
36
|
+
## Used Metadata
|
37
|
+
|
38
|
+
| Metadata | Type | Usage
|
39
|
+
| --- | --- | --- |
|
40
|
+
|
41
|
+
## Used environment variables
|
42
|
+
|
43
|
+
| Variable | Usage
|
44
|
+
| --- | --- |
|
45
|
+
|
46
|
+
## External tools dependencies
|
47
|
+
|
48
|
+
None
|
data/docs/plugins/test/ip.md
CHANGED
@@ -16,6 +16,7 @@ None
|
|
16
16
|
|
17
17
|
| Metadata | Type | Usage
|
18
18
|
| --- | --- | --- |
|
19
|
+
| `local_node` | `Boolean` | Skip this test for nodes having this metadata set to `true` |
|
19
20
|
| `private_ips` | `Array<String>` | List of possible private IPs the node should have |
|
20
21
|
|
21
22
|
## Used environment variables
|
@@ -12,7 +12,7 @@ It takes the following parameters:
|
|
12
12
|
* **url** (`String`): URL to the Bitbucket server
|
13
13
|
* **project** (`String`): Project name from the Bitbucket server, storing repositories
|
14
14
|
* **jenkins_ci_url** (`String` or `nil`): Corresponding Jenkins CI URL, or nil if none.
|
15
|
-
* **repos** (`Array<String>` or `Symbol`): List of repository names from this project, or
|
15
|
+
* **repos** (`Array<String>` or `Symbol`): List of repository names from this project, or `:all` for all [default: `:all`]
|
16
16
|
|
17
17
|
Example:
|
18
18
|
```ruby
|
@@ -12,7 +12,7 @@ It takes the following parameters:
|
|
12
12
|
* **url** (`String`): URL to the Bitbucket server
|
13
13
|
* **project** (`String`): Project name from the Bitbucket server, storing repositories
|
14
14
|
* **jenkins_ci_url** (`String` or `nil`): Corresponding Jenkins CI URL, or nil if none.
|
15
|
-
* **repos** (`Array<String>` or `Symbol`): List of repository names from this project, or
|
15
|
+
* **repos** (`Array<String>` or `Symbol`): List of repository names from this project, or `:all` for all [default: `:all`]
|
16
16
|
|
17
17
|
Example:
|
18
18
|
```ruby
|
data/docs/plugins/test/mounts.md
CHANGED
data/docs/plugins/test/ports.md
CHANGED
@@ -39,6 +39,7 @@ check_closed_ports 25, 110
|
|
39
39
|
| Metadata | Type | Usage
|
40
40
|
| --- | --- | --- |
|
41
41
|
| `host_ip` | `String` | Host IP address to be tested for port listening |
|
42
|
+
| `local_node` | `Boolean` | Skip this test for nodes having this metadata set to `true` |
|
42
43
|
|
43
44
|
## Used environment variables
|
44
45
|
|