generated from ansible-collections/collection_template
-
Notifications
You must be signed in to change notification settings - Fork 141
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
helm_registry_auth module to authenticate in OCI registry (#800)
* new module helm_registry_auth * Initial integration tests * final update copyright and integration test before pr * update link to pr in changelog fragment * reformat plugins/module_utils/helm.py with black to fix linters in actions * attempt to fix unit test unit test was missing initially * fix https://pycqa.github.io/isort/ linter * next attemp to fix unit-test * remove unused and unsupported helm_args_common * remove unused imports and fix other linters errors * another fix for unit test * fix issue introducied by commit ff02893 * add binary_path to arg_spec * return helm_cmd in the output of check mode remove changlog fragment * description suggestion from reviewer/maintainer Co-authored-by: Bikouo Aubin <[email protected]> * description suggestion from reviewer/maintainer Co-authored-by: Bikouo Aubin <[email protected]> * description suggestion from reviewer/maintainer Co-authored-by: Bikouo Aubin <[email protected]> * description suggestion from reviewer/maintainer Co-authored-by: Bikouo Aubin <[email protected]> * description suggestion from reviewer/maintainer Co-authored-by: Bikouo Aubin <[email protected]> * description suggestion from reviewer/maintainer Co-authored-by: Bikouo Aubin <[email protected]> * description suggestion from reviewer/maintainer Co-authored-by: Bikouo Aubin <[email protected]> * description suggestion from reviewer/maintainer Co-authored-by: Bikouo Aubin <[email protected]> * remove changed from module return Co-authored-by: Bikouo Aubin <[email protected]> * remove redundant code Co-authored-by: Bikouo Aubin <[email protected]> * Update plugins/modules/helm_registry_auth.py Co-authored-by: Bikouo Aubin <[email protected]> * consider support of logout when user is not logged in Co-authored-by: Bikouo Aubin <[email protected]> * consider support helm < 3.0.0 * Revert "consider support helm < 3.0.0" This reverts commit f20004d. * reintroduce support of helm version less than 3.8.0 reference: https://helm.sh/docs/topics/registries/#enabling-oci-support-prior-to-v380 * revert reintroducing support of helm < 3.8.0 reason: didn't find a quick way to deal with tests * update documentation with the recent module updates * Update plugins/modules/helm_registry_auth.py Co-authored-by: Bikouo Aubin <[email protected]> * add test of logout impendency Co-authored-by: Bikouo Aubin <[email protected]> * fix linters * fix intendations in the integration tests * create tests/integration/targets/helm_registry_auth/aliases * fix integration test (typo) * fix integration tests (test wrong cred) * add stderr when module fail * another attempt to fix integration test * fix assertion in integration test to be not affceted by the #830 --------- Co-authored-by: Bikouo Aubin <[email protected]>
- Loading branch information
Showing
20 changed files
with
807 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,332 @@ | ||
.. _kubernetes.core.helm_registry_auth_module: | ||
|
||
|
||
********************************** | ||
kubernetes.core.helm_registry_auth | ||
********************************** | ||
|
||
**Helm registry authentication module** | ||
|
||
|
||
Version added: 5.1.0 | ||
|
||
.. contents:: | ||
:local: | ||
:depth: 1 | ||
|
||
|
||
Synopsis | ||
-------- | ||
- Helm registry authentication module allows you to login ``helm registry login`` and logout ``helm registry logout`` from a Helm registry. | ||
|
||
|
||
|
||
Requirements | ||
------------ | ||
The below requirements are needed on the host that executes this module. | ||
|
||
- helm (https://github.com/helm/helm/releases) => 3.8.0 | ||
|
||
|
||
Parameters | ||
---------- | ||
|
||
.. raw:: html | ||
|
||
<table border=0 cellpadding=0 class="documentation-table"> | ||
<tr> | ||
<th colspan="1">Parameter</th> | ||
<th>Choices/<font color="blue">Defaults</font></th> | ||
<th width="100%">Comments</th> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="parameter-"></div> | ||
<b>binary_path</b> | ||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">path</span> | ||
</div> | ||
</td> | ||
<td> | ||
</td> | ||
<td> | ||
<div>The path of a helm binary to use.</div> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="parameter-"></div> | ||
<b>ca_file</b> | ||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">path</span> | ||
</div> | ||
</td> | ||
<td> | ||
</td> | ||
<td> | ||
<div>Path to the CA certificate SSL file for verify registry server certificate.</div> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="parameter-"></div> | ||
<b>cert_file</b> | ||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">path</span> | ||
</div> | ||
</td> | ||
<td> | ||
</td> | ||
<td> | ||
<div>Path to the client certificate SSL file for identify registry client using this certificate file.</div> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="parameter-"></div> | ||
<b>host</b> | ||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">string</span> | ||
/ <span style="color: red">required</span> | ||
</div> | ||
</td> | ||
<td> | ||
</td> | ||
<td> | ||
<div>Provide a URL for accessing the registry.</div> | ||
<div style="font-size: small; color: darkgreen"><br/>aliases: registry_url</div> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="parameter-"></div> | ||
<b>insecure</b> | ||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">boolean</span> | ||
</div> | ||
</td> | ||
<td> | ||
<ul style="margin: 0; padding: 0"><b>Choices:</b> | ||
<li><div style="color: blue"><b>no</b> ←</div></li> | ||
<li>yes</li> | ||
</ul> | ||
</td> | ||
<td> | ||
<div>Allow connections to SSL sites without certs.</div> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="parameter-"></div> | ||
<b>key_file</b> | ||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">path</span> | ||
</div> | ||
</td> | ||
<td> | ||
</td> | ||
<td> | ||
<div>Path to the client key SSL file for identify registry client using this key file.</div> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="parameter-"></div> | ||
<b>password</b> | ||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">string</span> | ||
</div> | ||
</td> | ||
<td> | ||
</td> | ||
<td> | ||
<div>Password for the registry.</div> | ||
<div style="font-size: small; color: darkgreen"><br/>aliases: repo_password</div> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="parameter-"></div> | ||
<b>state</b> | ||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">string</span> | ||
</div> | ||
</td> | ||
<td> | ||
<ul style="margin: 0; padding: 0"><b>Choices:</b> | ||
<li><div style="color: blue"><b>present</b> ←</div></li> | ||
<li>absent</li> | ||
</ul> | ||
</td> | ||
<td> | ||
<div>Desired state of the registry.</div> | ||
<div>If set to V(present) attempt to log in to the remote registry server using the URL specified in O(host).</div> | ||
<div>If set to V(absent) attempt to log out from the remote registry server using the URL specified in O(host).</div> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="parameter-"></div> | ||
<b>username</b> | ||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">string</span> | ||
</div> | ||
</td> | ||
<td> | ||
</td> | ||
<td> | ||
<div>Username for the registry.</div> | ||
<div style="font-size: small; color: darkgreen"><br/>aliases: repo_username</div> | ||
</td> | ||
</tr> | ||
</table> | ||
<br/> | ||
|
||
|
||
|
||
|
||
Examples | ||
-------- | ||
|
||
.. code-block:: yaml | ||
- name: Login to remote registry | ||
kubernetes.core.helm_registry_auth: | ||
username: admin | ||
password: "sample_password" | ||
host: localhost:5000 | ||
- name: Logout from remote registry | ||
kubernetes.core.helm_registry_auth: | ||
state: absent | ||
host: localhost:5000 | ||
Return Values | ||
------------- | ||
Common return values are documented `here <https://docs.ansible.com/ansible/latest/reference_appendices/common_return_values.html#common-return-values>`_, the following are the fields unique to this module: | ||
|
||
.. raw:: html | ||
|
||
<table border=0 cellpadding=0 class="documentation-table"> | ||
<tr> | ||
<th colspan="1">Key</th> | ||
<th>Returned</th> | ||
<th width="100%">Description</th> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="return-"></div> | ||
<b>command</b> | ||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">string</span> | ||
</div> | ||
</td> | ||
<td>always</td> | ||
<td> | ||
<div>Full <code>helm</code> command executed</div> | ||
<br/> | ||
<div style="font-size: smaller"><b>Sample:</b></div> | ||
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">/usr/local/bin/helm registry login oci-registry.domain.example --username=admin --password-stdin --insecure</div> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="return-"></div> | ||
<b>failed</b> | ||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">boolean</span> | ||
</div> | ||
</td> | ||
<td>always</td> | ||
<td> | ||
<div>Indicate if the <code>helm</code> command failed</div> | ||
<br/> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="return-"></div> | ||
<b>stderr</b> | ||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">string</span> | ||
</div> | ||
</td> | ||
<td>always</td> | ||
<td> | ||
<div>Full <code>helm</code> command stderr, in case you want to display it or examine the event log. Please be note that helm binnary may print messages to stderr even if the command is successful.</div> | ||
<br/> | ||
<div style="font-size: smaller"><b>Sample:</b></div> | ||
<div style="font-size: smaller; color: blue; word-wrap: break-word; word-break: break-all;">Login Succeeded\n</div> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="return-"></div> | ||
<b>stderr_lines</b> | ||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">list</span> | ||
</div> | ||
</td> | ||
<td>always</td> | ||
<td> | ||
<div>Full <code>helm</code> command stderr, in case you want to display it or examine the event log</div> | ||
<br/> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="return-"></div> | ||
<b>stdout</b> | ||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">string</span> | ||
</div> | ||
</td> | ||
<td>always</td> | ||
<td> | ||
<div>Full <code>helm</code> command stdout, in case you want to display it or examine the event log</div> | ||
<br/> | ||
</td> | ||
</tr> | ||
<tr> | ||
<td colspan="1"> | ||
<div class="ansibleOptionAnchor" id="return-"></div> | ||
<b>stout_lines</b> | ||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a> | ||
<div style="font-size: small"> | ||
<span style="color: purple">list</span> | ||
</div> | ||
</td> | ||
<td>always</td> | ||
<td> | ||
<div>Full <code>helm</code> command stdout, in case you want to display it or examine the event log</div> | ||
<br/> | ||
</td> | ||
</tr> | ||
</table> | ||
<br/><br/> | ||
|
||
|
||
Status | ||
------ | ||
|
||
|
||
Authors | ||
~~~~~~~ | ||
|
||
- Yuriy Novostavskiy (@yurnov) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.