mirror of
https://github.com/ansible-collections/kubernetes.core.git
synced 2026-05-11 12:02:09 +00:00
Compare commits
26 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7b0190f8d5 | ||
|
|
c47e691101 | ||
|
|
8ae6469696 | ||
|
|
1174fee5c9 | ||
|
|
f22ffcab18 | ||
|
|
072a08091b | ||
|
|
cbadbe32f9 | ||
|
|
966fa7e906 | ||
|
|
485eae3b10 | ||
|
|
a4c1bd8541 | ||
|
|
8858b19121 | ||
|
|
6360763098 | ||
|
|
ac943e9890 | ||
|
|
0408aa9328 | ||
|
|
874fbfedd5 | ||
|
|
d8d9133912 | ||
|
|
86d9a3f45f | ||
|
|
fb25ff44f1 | ||
|
|
600c10dffb | ||
|
|
9f7c865c9c | ||
|
|
23e94b60c1 | ||
|
|
1955989278 | ||
|
|
7c4ec3b982 | ||
|
|
8d15489ec2 | ||
|
|
3dcdcbc85d | ||
|
|
fe9c12326d |
2
.ansible-lint-ignore
Normal file
2
.ansible-lint-ignore
Normal file
@@ -0,0 +1,2 @@
|
||||
# no-changed-when is not requried for examples
|
||||
plugins/connection/kubectl.py no-changed-when
|
||||
2
.github/workflows/integration-tests.yaml
vendored
2
.github/workflows/integration-tests.yaml
vendored
@@ -132,6 +132,8 @@ jobs:
|
||||
|
||||
- name: create kubernetes cluster
|
||||
uses: helm/kind-action@v1.8.0
|
||||
with:
|
||||
node_image: "kindest/node:v1.29.2"
|
||||
|
||||
- name: Run integration tests
|
||||
uses: ansible-network/github_actions/.github/actions/ansible_test_integration@main
|
||||
|
||||
2
.github/workflows/linters.yaml
vendored
2
.github/workflows/linters.yaml
vendored
@@ -21,4 +21,4 @@ jobs:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Run ansible-lint
|
||||
uses: ansible/ansible-lint@v6.21.0
|
||||
uses: ansible/ansible-lint@v24.2.3
|
||||
|
||||
126
CHANGELOG.rst
126
CHANGELOG.rst
@@ -4,6 +4,130 @@ Kubernetes Collection Release Notes
|
||||
|
||||
.. contents:: Topics
|
||||
|
||||
v5.0.0
|
||||
======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
This major release drops support for ``ansible-core<2.15``.
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- inventory/k8s.py - Defer removal of k8s inventory plugin to version 6.0.0 (https://github.com/ansible-collections/kubernetes.core/pull/734).
|
||||
|
||||
Breaking Changes / Porting Guide
|
||||
--------------------------------
|
||||
|
||||
- Remove support for ``ansible-core<2.15`` (https://github.com/ansible-collections/kubernetes.core/pull/737).
|
||||
|
||||
v4.0.0
|
||||
======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
This major release brings several bug fixes. We have also removed support for ``ansible-core<2.15`` and deprecated functions and class from ``module_utils/common.py``.
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- inventory/k8s.py - Defer removal of k8s inventory plugin to version 5.0 (https://github.com/ansible-collections/kubernetes.core/pull/723).
|
||||
- k8s - The module and K8sService were changed so warnings returned by the K8S API are now displayed to the user.
|
||||
|
||||
Removed Features (previously deprecated)
|
||||
----------------------------------------
|
||||
|
||||
- k8s - Support for ``merge_type=json`` has been removed in version 4.0.0. Please use ``kubernetes.core.k8s_json_patch`` instead (https://github.com/ansible-collections/kubernetes.core/pull/722).
|
||||
- k8s_exec - the previously deprecated ``result.return_code`` return value has been removed, consider using ``result.rc`` instead (https://github.com/ansible-collections/kubernetes.core/pull/726).
|
||||
- module_utils/common.py - the previously deprecated ``K8sAnsibleMixin`` class has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).
|
||||
- module_utils/common.py - the previously deprecated ``configuration_digest()`` function has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).
|
||||
- module_utils/common.py - the previously deprecated ``get_api_client()`` function has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).
|
||||
- module_utils/common.py - the previously deprecated ``unique_string()`` function has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Resolve Collections util resource discovery fails when complex subresources present (https://github.com/ansible-collections/kubernetes.core/pull/676).
|
||||
- align `helmdiff_check()` function commandline rendering with the `deploy()` function (https://github.com/ansible-collections/kubernetes.core/pull/670).
|
||||
- avoid unsafe conditions in integration tests (https://github.com/ansible-collections/kubernetes.core/pull/665).
|
||||
- helm - use ``reuse-values`` when running ``helm diff`` command (https://github.com/ansible-collections/kubernetes.core/issues/680).
|
||||
- integrations test helm_kubeconfig - set helm version to v3.10.3 to avoid incompatability with new bitnami charts (https://github.com/ansible-collections/kubernetes.core/pull/670).
|
||||
|
||||
v3.1.0
|
||||
======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
This release comes with some bugfixes and documentation updates. It also adds new features to the kubectl connection plugin and the kustomize lookup plugin.
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- kubectl - added support of local enviroment variable that will be used for kubectl and may be requried for establishing connections ifself (https://github.com/ansible-collections/kubernetes.core/pull/702)
|
||||
- kustomize - new parameter added to --enable-helm (https://github.com/ansible-collections/kubernetes.core/issues/568)
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- helm - expand kubeconfig path with user's home directory for consistency with k8s
|
||||
- k8s_json_patch - rename action symlink to ensure k8s action plugin is used (https://github.com/ansible-collections/kubernetes.core/pull/652).
|
||||
|
||||
v3.0.1
|
||||
======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
This release fixes issue with resources discovery when complex subresources are present, and fixes issues with `reuse-values` parameter for helm module.
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Resolve Collections util resource discovery fails when complex subresources present (https://github.com/ansible-collections/kubernetes.core/pull/676).
|
||||
- align `helmdiff_check()` function commandline rendering with the `deploy()` function (https://github.com/ansible-collections/kubernetes.core/pull/670).
|
||||
- helm - use ``reuse-values`` when running ``helm diff`` command (https://github.com/ansible-collections/kubernetes.core/issues/680).
|
||||
- integrations test helm_kubeconfig - set helm version to v3.10.3 to avoid incompatability with new bitnami charts (https://github.com/ansible-collections/kubernetes.core/pull/670).
|
||||
|
||||
v3.0.0
|
||||
======
|
||||
|
||||
Release Summary
|
||||
---------------
|
||||
|
||||
This major release drops support for ansible-core versions lower than 2.14, Python versions lower than 3.9 and updates python kubernetes library to 24.2.0, helm/kind-action to 1.8.0, kubernetes >= 1.24, along with bug fixes and minor changes.
|
||||
|
||||
Minor Changes
|
||||
-------------
|
||||
|
||||
- helm - add ``reuse_values`` and ``reset_values`` support to helm module (https://github.com/ansible-collections/kubernetes.core/issues/394).
|
||||
- k8s - add new option ``delete_all`` to support deletion of all resources when state is set to ``absent``. (https://github.com/ansible-collections/kubernetes.core/issues/504)
|
||||
- k8s, k8s_info - add a hidden_fields option to allow fields to be hidden in the results of k8s and k8s_info
|
||||
- k8s_drain - add ability to filter the list of pods to be drained by a pod label selector (https://github.com/ansible-collections/kubernetes.core/issues/474).
|
||||
|
||||
Breaking Changes / Porting Guide
|
||||
--------------------------------
|
||||
|
||||
- Remove support for ansible-core < 2.14
|
||||
- Update python kubernetes library to 24.2.0, helm/kind-action to 1.8.0, kubernetes >= 1.24.
|
||||
|
||||
Deprecated Features
|
||||
-------------------
|
||||
|
||||
- k8s - the ``k8s`` inventory plugin has been deprecated and will be removed in release 4.0.0 (https://github.com/ansible-collections/kubernetes.core/issues/31).
|
||||
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- helm - Put the chart_ref into quotes when running ``helm show chart``, ``helm upgrade`` and ``helm dependency update`` commands (https://github.com/ansible-collections/kubernetes.core/issues/653).
|
||||
- helm - delete temporary file created when deploying chart with option ``release_values`` set (https://github.com/ansible-collections/kubernetes.core/issues/530).
|
||||
- helm - fix issue occurring when uninstalling chart with statues others than ``deployed`` (https://github.com/ansible-collections/kubernetes.core/issues/319).
|
||||
- helm - fix post_renderer argument breaking the helm deploy_command (https://github.com/ansible-collections/kubernetes.core/pull/586).
|
||||
- helm - use post_renderer when checking ``changed`` status for a helm release (https://github.com/ansible-collections/kubernetes.core/pull/588).
|
||||
- k8s_scale - clean handling of ResourceTimeout exception (https://github.com/ansible-collections/kubernetes.core/issues/583).
|
||||
- k8s_scale - fix issue when scaling StatefulSets with ``updateStrategy=OnDelete`` (https://github.com/ansible-collections/kubernetes.core/issues/579).
|
||||
|
||||
v2.4.0
|
||||
======
|
||||
@@ -96,7 +220,7 @@ v2.3.1
|
||||
Bugfixes
|
||||
--------
|
||||
|
||||
- Catch exception raised when the process is waiting for resources (https://github.com/ansible-collections/kubernetes.core/issues/407).
|
||||
- Catch expectation raised when the process is waiting for resources (https://github.com/ansible-collections/kubernetes.core/issues/407).
|
||||
- Remove `omit` placeholder when defining resource using template parameter (https://github.com/ansible-collections/kubernetes.core/issues/431).
|
||||
- k8s - fix the issue when trying to delete resources using label_selectors options (https://github.com/ansible-collections/kubernetes.core/issues/433).
|
||||
- k8s_cp - fix issue when using parameter local_path with file on managed node. (https://github.com/ansible-collections/kubernetes.core/issues/421).
|
||||
|
||||
2
Makefile
2
Makefile
@@ -1,5 +1,5 @@
|
||||
# Also needs to be updated in galaxy.yml
|
||||
VERSION = 2.4.0
|
||||
VERSION = 5.0.0
|
||||
|
||||
TEST_ARGS ?= ""
|
||||
PYTHON_VERSION ?= `python -c 'import platform; print(".".join(platform.python_version_tuple()[0:2]))'`
|
||||
|
||||
@@ -9,7 +9,7 @@ The collection includes a variety of Ansible content to help automate the manage
|
||||
<!--start requires_ansible-->
|
||||
## Ansible version compatibility
|
||||
|
||||
This collection has been tested against following Ansible versions: **>=2.14.0**.
|
||||
This collection has been tested against following Ansible versions: **>=2.15.0**.
|
||||
|
||||
For collections that support Ansible 2.9, please ensure you update your `network_os` to use the
|
||||
fully qualified collection name (for example, `cisco.ios.ios`).
|
||||
@@ -93,7 +93,7 @@ You can also include it in a `requirements.yml` file and install it via `ansible
|
||||
---
|
||||
collections:
|
||||
- name: kubernetes.core
|
||||
version: 2.4.0
|
||||
version: 5.0.0
|
||||
```
|
||||
|
||||
### Installing the Kubernetes Python Library
|
||||
|
||||
@@ -762,3 +762,150 @@ releases:
|
||||
name: helm_pull
|
||||
namespace: ''
|
||||
release_date: '2023-01-24'
|
||||
3.0.0:
|
||||
changes:
|
||||
breaking_changes:
|
||||
- Remove support for ansible-core < 2.14
|
||||
- Update python kubernetes library to 24.2.0, helm/kind-action to 1.8.0, kubernetes
|
||||
>= 1.24.
|
||||
bugfixes:
|
||||
- helm - Put the chart_ref into quotes when running ``helm show chart``, ``helm
|
||||
upgrade`` and ``helm dependency update`` commands (https://github.com/ansible-collections/kubernetes.core/issues/653).
|
||||
- helm - delete temporary file created when deploying chart with option ``release_values``
|
||||
set (https://github.com/ansible-collections/kubernetes.core/issues/530).
|
||||
- helm - fix issue occurring when uninstalling chart with statues others than
|
||||
``deployed`` (https://github.com/ansible-collections/kubernetes.core/issues/319).
|
||||
- helm - fix post_renderer argument breaking the helm deploy_command (https://github.com/ansible-collections/kubernetes.core/pull/586).
|
||||
- helm - use post_renderer when checking ``changed`` status for a helm release
|
||||
(https://github.com/ansible-collections/kubernetes.core/pull/588).
|
||||
- k8s_scale - clean handling of ResourceTimeout exception (https://github.com/ansible-collections/kubernetes.core/issues/583).
|
||||
- k8s_scale - fix issue when scaling StatefulSets with ``updateStrategy=OnDelete``
|
||||
(https://github.com/ansible-collections/kubernetes.core/issues/579).
|
||||
deprecated_features:
|
||||
- k8s - the ``k8s`` inventory plugin has been deprecated and will be removed
|
||||
in release 4.0.0 (https://github.com/ansible-collections/kubernetes.core/issues/31).
|
||||
minor_changes:
|
||||
- helm - add ``reuse_values`` and ``reset_values`` support to helm module (https://github.com/ansible-collections/kubernetes.core/issues/394).
|
||||
- k8s - add new option ``delete_all`` to support deletion of all resources when
|
||||
state is set to ``absent``. (https://github.com/ansible-collections/kubernetes.core/issues/504)
|
||||
- k8s, k8s_info - add a hidden_fields option to allow fields to be hidden in
|
||||
the results of k8s and k8s_info
|
||||
- k8s_drain - add ability to filter the list of pods to be drained by a pod
|
||||
label selector (https://github.com/ansible-collections/kubernetes.core/issues/474).
|
||||
release_summary: This major release drops support for ansible-core versions
|
||||
lower than 2.14, Python versions lower than 3.9 and updates python kubernetes
|
||||
library to 24.2.0, helm/kind-action to 1.8.0, kubernetes >= 1.24, along with
|
||||
bug fixes and minor changes.
|
||||
fragments:
|
||||
- 20230206-deprecate-k8s-inventory.yml
|
||||
- 20231110-helm-quote-ref.yaml
|
||||
- 517-k8s-make-name-optional.yaml
|
||||
- 575-helm-add-support-for-reuse_values-and-reset_values.yml
|
||||
- 579-k8s_scale-fix-issue-with-scaling-statefulsets.yml
|
||||
- 583-k8s_scale-clean-handling-of-ResourceTimeout-exception.yaml
|
||||
- 586-helm-fix-post-renderer-arg.yml
|
||||
- 588-helm-use-post-renderer-for-helmdiff.yml
|
||||
- 589-helm-uninstall-chart-releases-with-statuses-different-than-deployed.yaml
|
||||
- 606-k8s_drain-add-pod_selectors-parameter.yaml
|
||||
- 612-fix-helm-tests.yaml
|
||||
- 629-add-hidden-fields-option.yaml
|
||||
- gha-sanity-fixes.yaml
|
||||
- helm-delete-temporary-file-created-when-using-option-release_values.yaml
|
||||
- remove_ansible_2_13.yaml
|
||||
- update_supported_versions.yaml
|
||||
release_date: '2023-11-17'
|
||||
3.0.1:
|
||||
changes:
|
||||
bugfixes:
|
||||
- Resolve Collections util resource discovery fails when complex subresources
|
||||
present (https://github.com/ansible-collections/kubernetes.core/pull/676).
|
||||
- align `helmdiff_check()` function commandline rendering with the `deploy()`
|
||||
function (https://github.com/ansible-collections/kubernetes.core/pull/670).
|
||||
- helm - use ``reuse-values`` when running ``helm diff`` command (https://github.com/ansible-collections/kubernetes.core/issues/680).
|
||||
- integrations test helm_kubeconfig - set helm version to v3.10.3 to avoid incompatability
|
||||
with new bitnami charts (https://github.com/ansible-collections/kubernetes.core/pull/670).
|
||||
release_summary: This release fixes issue with resources discovery when complex
|
||||
subresources are present, and fixes issues with `reuse-values` parameter for
|
||||
helm module.
|
||||
fragments:
|
||||
- 20240117-fix-helm-diff-cmd-line-rendering.yml
|
||||
- 20240222-Collections-util-resource-discovery-fails-when-complex-subresources-present.yml
|
||||
- 20240228-fix-helm-diff-with-reuse-values.yml
|
||||
- 3.0.1.yml
|
||||
release_date: '2024-03-01'
|
||||
3.1.0:
|
||||
changes:
|
||||
bugfixes:
|
||||
- helm - expand kubeconfig path with user's home directory for consistency with
|
||||
k8s
|
||||
- k8s_json_patch - rename action symlink to ensure k8s action plugin is used
|
||||
(https://github.com/ansible-collections/kubernetes.core/pull/652).
|
||||
minor_changes:
|
||||
- kubectl - added support of local enviroment variable that will be used for
|
||||
kubectl and may be requried for establishing connections ifself (https://github.com/ansible-collections/kubernetes.core/pull/702)
|
||||
- kustomize - new parameter added to --enable-helm (https://github.com/ansible-collections/kubernetes.core/issues/568)
|
||||
release_summary: This release comes with some bugfixes and documentation updates.
|
||||
It also adds new features to the kubectl connection plugin and the kustomize
|
||||
lookup plugin.
|
||||
fragments:
|
||||
- 20240426-add-support-of-kubectl-local-env-vars-for-connection-plugin.yml
|
||||
- 3.1.0.yml
|
||||
- 592-kustomize-helm-support.yml
|
||||
- 652-fix-json-patch-action.yml
|
||||
- 654-helm-expand-user.yml
|
||||
release_date: '2024-05-16'
|
||||
4.0.0:
|
||||
changes:
|
||||
bugfixes:
|
||||
- Resolve Collections util resource discovery fails when complex subresources
|
||||
present (https://github.com/ansible-collections/kubernetes.core/pull/676).
|
||||
- align `helmdiff_check()` function commandline rendering with the `deploy()`
|
||||
function (https://github.com/ansible-collections/kubernetes.core/pull/670).
|
||||
- avoid unsafe conditions in integration tests (https://github.com/ansible-collections/kubernetes.core/pull/665).
|
||||
- helm - use ``reuse-values`` when running ``helm diff`` command (https://github.com/ansible-collections/kubernetes.core/issues/680).
|
||||
- integrations test helm_kubeconfig - set helm version to v3.10.3 to avoid incompatability
|
||||
with new bitnami charts (https://github.com/ansible-collections/kubernetes.core/pull/670).
|
||||
minor_changes:
|
||||
- inventory/k8s.py - Defer removal of k8s inventory plugin to version 5.0 (https://github.com/ansible-collections/kubernetes.core/pull/723).
|
||||
- k8s - The module and K8sService were changed so warnings returned by the K8S
|
||||
API are now displayed to the user.
|
||||
release_summary: This major release brings several bug fixes. We have also removed
|
||||
support for ``ansible-core<2.15`` and deprecated functions and class from
|
||||
``module_utils/common.py``.
|
||||
removed_features:
|
||||
- k8s - Support for ``merge_type=json`` has been removed in version 4.0.0. Please
|
||||
use ``kubernetes.core.k8s_json_patch`` instead (https://github.com/ansible-collections/kubernetes.core/pull/722).
|
||||
- k8s_exec - the previously deprecated ``result.return_code`` return value has
|
||||
been removed, consider using ``result.rc`` instead (https://github.com/ansible-collections/kubernetes.core/pull/726).
|
||||
- module_utils/common.py - the previously deprecated ``K8sAnsibleMixin`` class
|
||||
has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).
|
||||
- module_utils/common.py - the previously deprecated ``configuration_digest()``
|
||||
function has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).
|
||||
- module_utils/common.py - the previously deprecated ``get_api_client()`` function
|
||||
has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).
|
||||
- module_utils/common.py - the previously deprecated ``unique_string()`` function
|
||||
has been removed (https://github.com/ansible-collections/kubernetes.core/pull/726).
|
||||
fragments:
|
||||
- 20231206-fix-unsafe-condition-in-integration.yml
|
||||
- 20240117-fix-helm-diff-cmd-line-rendering.yml
|
||||
- 20240222-Collections-util-resource-discovery-fails-when-complex-subresources-present.yml
|
||||
- 20240228-fix-helm-diff-with-reuse-values.yml
|
||||
- 20240423-k8s-display-warnings-to-users.yml
|
||||
- 4.0.0.yaml
|
||||
- inventory-update_removal_date.yml
|
||||
- k8s-merge_type-removed.yml
|
||||
- module_utils-common-remove-deprecated-functions-and-class.yaml
|
||||
release_date: '2024-05-24'
|
||||
5.0.0:
|
||||
changes:
|
||||
breaking_changes:
|
||||
- Remove support for ``ansible-core<2.15`` (https://github.com/ansible-collections/kubernetes.core/pull/737).
|
||||
minor_changes:
|
||||
- inventory/k8s.py - Defer removal of k8s inventory plugin to version 6.0.0
|
||||
(https://github.com/ansible-collections/kubernetes.core/pull/734).
|
||||
release_summary: This major release drops support for ``ansible-core<2.15``.
|
||||
fragments:
|
||||
- 20240530-ansible-core-support-update.yaml
|
||||
- 20240530-defer-removal-and-ansible-core-support-update.yaml
|
||||
- 5.0.0.yml
|
||||
release_date: '2024-05-31'
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
deprecated_features:
|
||||
- k8s - the ``k8s`` inventory plugin has been deprecated and will be removed in release 4.0.0 (https://github.com/ansible-collections/kubernetes.core/issues/31).
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
bugfixes:
|
||||
- helm - Put the chart_ref into quotes when running ``helm show chart``, ``helm upgrade`` and ``helm dependency update`` commands (https://github.com/ansible-collections/kubernetes.core/issues/653).
|
||||
@@ -0,0 +1,3 @@
|
||||
---
|
||||
minor_changes:
|
||||
- connection/kubectl.py - Added an example of using the kubectl connection plugin to the documentation (https://github.com/ansible-collections/kubernetes.core/pull/741).
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
minor_changes:
|
||||
- k8s - add new option delete_all to support deletion of all resources when state is set to absent. (https://github.com/ansible-collections/kubernetes.core/issues/504)
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
minor_changes:
|
||||
- helm - add reuse_values and reset_values support to helm module (https://github.com/ansible-collections/kubernetes.core/issues/394).
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
bugfixes:
|
||||
- k8s_scale - fix issue when scaling StatefulSets with updateStrategy=OnDelete (https://github.com/ansible-collections/kubernetes.core/issues/579).
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
bugfixes:
|
||||
- k8s_scale - clean handling of ResourceTimeout exception (https://github.com/ansible-collections/kubernetes.core/issues/583).
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
bugfixes:
|
||||
- helm - fix post_renderer argument breaking the helm deploy_command (https://github.com/ansible-collections/kubernetes.core/pull/586).
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
bugfixes:
|
||||
- helm - use post_renderer when checking 'changed' status for a helm release (https://github.com/ansible-collections/kubernetes.core/pull/588).
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
bugfixes:
|
||||
- helm - fix issue occurring when uninstalling chart with statues others than 'deployed' (https://github.com/ansible-collections/kubernetes.core/issues/319).
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
minor_changes:
|
||||
- k8s_drain - add ability to filter the list of pods to be drained by a pod label selector (https://github.com/ansible-collections/kubernetes.core/issues/474).
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
trivial:
|
||||
- add dependency with `install_helm` for `helm_set_values` and `helm_kubeconfig` integration tests (https://github.com/ansible-collections/kubernetes.core/pull/612).
|
||||
@@ -1,2 +0,0 @@
|
||||
minor_changes:
|
||||
- k8s, k8s_info - add a hidden_fields option to allow fields to be hidden in the results of k8s and k8s_info
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
trivial:
|
||||
- add github workflow and fix sanity failures (https://github.com/ansible-collections/kubernetes.core/pull/614).
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
bugfixes:
|
||||
- helm - delete temporary file created when deploying chart with option release_values set (https://github.com/ansible-collections/kubernetes.core/issues/530).
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
trivial:
|
||||
- organize the workflows and pin ansible-lint to 6.21.x.
|
||||
breaking_changes:
|
||||
- Remove support for ansible-core < 2.14
|
||||
@@ -1,3 +0,0 @@
|
||||
---
|
||||
breaking_changes:
|
||||
- Update python kubernetes library to 24.2.0 , helm/kind-action to 1.8.0, kubernetes >= 1.24.
|
||||
@@ -105,6 +105,27 @@ Parameters
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: kube_context</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>get_all_values</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</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>Set to <code>True</code> if you want to get all (computed) values of the release.</div>
|
||||
<div>When <code>False</code> (default), only user supplied values are returned.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -127,7 +148,7 @@ Parameters
|
||||
<b>kubeconfig</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">path</span>
|
||||
<span style="color: purple">raw</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
@@ -135,6 +156,7 @@ Parameters
|
||||
<td>
|
||||
<div>Helm option to specify kubeconfig path to use.</div>
|
||||
<div>If the value is not specified in the task, the value of environment variable <code>K8S_AUTH_KUBECONFIG</code> will be used instead.</div>
|
||||
<div>The configuration can be provided as dictionary. Added in version 2.4.0.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: kubeconfig_path</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -172,6 +194,32 @@ Parameters
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: namespace</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>release_state</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">list</span>
|
||||
/ <span style="color: purple">elements=string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
<b>Default:</b><br/><div style="color: blue">[]</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>Show releases as per their states.</div>
|
||||
<div>Default value is <code>deployed</code> and <code>failed</code>.</div>
|
||||
<div>If set to <code>all</code>, show all releases without any filter applied.</div>
|
||||
<div>If set to <code>deployed</code>, show deployed releases.</div>
|
||||
<div>If set to <code>failed</code>, show failed releases.</div>
|
||||
<div>If set to <code>pending</code>, show pending releases.</div>
|
||||
<div>If set to <code>superseded</code>, show superseded releases.</div>
|
||||
<div>If set to <code>uninstalled</code>, show uninstalled releases, if <code>helm uninstall --keep-history</code> was used.</div>
|
||||
<div>If set to <code>uninstalling</code>, show releases that are currently being uninstalled.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -204,11 +252,18 @@ Examples
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- name: Deploy latest version of Grafana chart inside monitoring namespace
|
||||
- name: Gather information of Grafana chart inside monitoring namespace
|
||||
kubernetes.core.helm_info:
|
||||
name: test
|
||||
release_namespace: monitoring
|
||||
|
||||
- name: Gather information about test-chart with pending state
|
||||
kubernetes.core.helm_info:
|
||||
name: test-chart
|
||||
release_namespace: testenv
|
||||
release_state:
|
||||
- pending
|
||||
|
||||
|
||||
|
||||
Return Values
|
||||
@@ -270,6 +325,42 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>hooks</b>
|
||||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">list</span>
|
||||
/ <span style="color: purple">elements=dictionary</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>always</td>
|
||||
<td>
|
||||
<div>Hooks of the release</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>manifest</b>
|
||||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">list</span>
|
||||
/ <span style="color: purple">elements=dictionary</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>always</td>
|
||||
<td>
|
||||
<div>Manifest of the release</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
@@ -302,6 +393,23 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>notes</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>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>always</td>
|
||||
<td>
|
||||
<div>Notes of the release</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
|
||||
@@ -36,12 +36,12 @@ Parameters
|
||||
|
||||
<table border=0 cellpadding=0 class="documentation-table">
|
||||
<tr>
|
||||
<th colspan="1">Parameter</th>
|
||||
<th colspan="2">Parameter</th>
|
||||
<th>Choices/<font color="blue">Defaults</font></th>
|
||||
<th width="100%">Comments</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>api_key</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -57,7 +57,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>atomic</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -76,7 +76,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>binary_path</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -91,7 +91,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>ca_cert</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -108,7 +108,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>chart_ref</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -127,7 +127,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>chart_repo_url</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -142,7 +142,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>chart_version</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -157,7 +157,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>context</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -174,7 +174,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>create_namespace</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -194,13 +194,14 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>dependency_update</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
<ul style="margin: 0; padding: 0"><b>Choices:</b>
|
||||
@@ -209,7 +210,7 @@ Parameters
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<div>Run standelone <code>helm dependency update CHART</code> before the operation.</div>
|
||||
<div>Run standalone <code>helm dependency update CHART</code> before the operation.</div>
|
||||
<div>Run inline <code>--dependency-update</code> with <code>helm install</code> command. This feature is not supported yet with the <code>helm upgrade</code> command.</div>
|
||||
<div>So we should consider to use <em>dependency_update</em> options with <em>replace</em> option enabled when specifying <em>chart_repo_url</em>.</div>
|
||||
<div>The <em>dependency_update</em> option require the add of <code>dependencies</code> block in <code>Chart.yaml/requirements.yaml</code> file.</div>
|
||||
@@ -218,7 +219,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>disable_hook</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -237,7 +238,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>force</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -256,7 +257,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>history_max</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -273,7 +274,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>host</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -289,12 +290,12 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>kubeconfig</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">path</span>
|
||||
<span style="color: purple">raw</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
@@ -302,11 +303,28 @@ Parameters
|
||||
<td>
|
||||
<div>Helm option to specify kubeconfig path to use.</div>
|
||||
<div>If the value is not specified in the task, the value of environment variable <code>K8S_AUTH_KUBECONFIG</code> will be used instead.</div>
|
||||
<div>The configuration can be provided as dictionary. Added in version 2.4.0.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: kubeconfig_path</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>post_renderer</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an executable to be used for post rendering.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>purge</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -325,7 +343,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>release_name</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -342,7 +360,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>release_namespace</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -359,7 +377,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>release_state</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -379,7 +397,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>release_values</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -396,7 +414,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>replace</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -418,7 +436,108 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>reset_values</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.5.0</div>
|
||||
</td>
|
||||
<td>
|
||||
<ul style="margin: 0; padding: 0"><b>Choices:</b>
|
||||
<li>no</li>
|
||||
<li><div style="color: blue"><b>yes</b> ←</div></li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<div>When upgrading package, reset the values to the ones built into the chart.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>reuse_values</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.5.0</div>
|
||||
</td>
|
||||
<td>
|
||||
<ul style="margin: 0; padding: 0"><b>Choices:</b>
|
||||
<li>no</li>
|
||||
<li>yes</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<div>When upgrading package, specifies wether to reuse the last release's values and merge in any overrides from parameters <em>release_values</em>, <em>values_files</em> or <em>set_values</em>.</div>
|
||||
<div>If <em>reset_values</em> is set to <code>True</code>, this is ignored.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>set_values</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">list</span>
|
||||
/ <span style="color: purple">elements=dictionary</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Values to pass to chart configuration</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"></td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>value</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>Value to pass to chart configuration (e.g phase=prod).</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"></td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>value_type</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">-</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<ul style="margin: 0; padding: 0"><b>Choices:</b>
|
||||
<li><div style="color: blue"><b>raw</b> ←</div></li>
|
||||
<li>string</li>
|
||||
<li>json</li>
|
||||
<li>file</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<div>Use <code>raw</code> set individual value.</div>
|
||||
<div>Use <code>string</code> to force a string for an individual value.</div>
|
||||
<div>Use <code>file</code> to set individual values from a file when the value itself is too long for the command line or is dynamically generated.</div>
|
||||
<div>Use <code>json</code> to set json values (scalars/objects/arrays). This feature requires helm>=3.10.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>skip_crds</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -438,7 +557,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>timeout</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -456,7 +575,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>update_repo_cache</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -475,7 +594,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>validate_certs</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -496,7 +615,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>values_files</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -517,7 +636,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>wait</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -537,7 +656,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>wait_timeout</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -556,6 +675,12 @@ Parameters
|
||||
<br/>
|
||||
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
||||
.. note::
|
||||
- The default idempotency check can fail to report changes when ``release_state`` is set to ``present`` and ``chart_repo_url`` is defined. Install helm diff >= 3.4.1 for better results.
|
||||
|
||||
|
||||
|
||||
Examples
|
||||
@@ -612,6 +737,15 @@ Examples
|
||||
state: absent
|
||||
update_repo_cache: true
|
||||
|
||||
- name: Deploy Grafana chart using set values on target
|
||||
kubernetes.core.helm:
|
||||
name: test
|
||||
chart_ref: stable/grafana
|
||||
release_namespace: monitoring
|
||||
set_values:
|
||||
- value: phase=prod
|
||||
value_type: string
|
||||
|
||||
# From git
|
||||
- name: Git clone stable repo on HEAD
|
||||
ansible.builtin.git:
|
||||
@@ -657,6 +791,17 @@ Examples
|
||||
logging:
|
||||
enabled: True
|
||||
|
||||
# Deploy latest version
|
||||
- name: Deploy latest version of Grafana chart using reuse_values
|
||||
kubernetes.core.helm:
|
||||
name: test
|
||||
chart_ref: stable/grafana
|
||||
release_namespace: monitoring
|
||||
reuse_values: true
|
||||
values:
|
||||
replicas: 2
|
||||
version: 3e8ec0b2dffa40fb97d5342e4af887de95faa8c61a62480dd7f8aa03dffcf533
|
||||
|
||||
|
||||
|
||||
Return Values
|
||||
|
||||
@@ -126,7 +126,7 @@ Parameters
|
||||
<b>kubeconfig</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">path</span>
|
||||
<span style="color: purple">raw</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
@@ -134,6 +134,7 @@ Parameters
|
||||
<td>
|
||||
<div>Helm option to specify kubeconfig path to use.</div>
|
||||
<div>If the value is not specified in the task, the value of environment variable <code>K8S_AUTH_KUBECONFIG</code> will be used instead.</div>
|
||||
<div>The configuration can be provided as dictionary. Added in version 2.4.0.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: kubeconfig_path</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -126,7 +126,7 @@ Parameters
|
||||
<b>kubeconfig</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">path</span>
|
||||
<span style="color: purple">raw</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
@@ -134,6 +134,7 @@ Parameters
|
||||
<td>
|
||||
<div>Helm option to specify kubeconfig path to use.</div>
|
||||
<div>If the value is not specified in the task, the value of environment variable <code>K8S_AUTH_KUBECONFIG</code> will be used instead.</div>
|
||||
<div>The configuration can be provided as dictionary. Added in version 2.4.0.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: kubeconfig_path</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -150,7 +151,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Name of Helm plugin.</div>
|
||||
<div>Required only if <code>state=absent</code>.</div>
|
||||
<div>Required only if <code>state=absent</code> or <code>state=latest</code>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -170,6 +171,23 @@ Parameters
|
||||
<div>Required only if <code>state=present</code>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>plugin_version</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Plugin version to install. If this is not specified, the latest version is installed.</div>
|
||||
<div>Ignored when <code>state=absent</code> or <code>state=latest</code>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -183,10 +201,12 @@ Parameters
|
||||
<ul style="margin: 0; padding: 0"><b>Choices:</b>
|
||||
<li>absent</li>
|
||||
<li><div style="color: blue"><b>present</b> ←</div></li>
|
||||
<li>latest</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<div>If <code>state=present</code> the Helm plugin will be installed.</div>
|
||||
<div>If <code>state=latest</code> the Helm plugin will be updated. Added in version 2.3.0.</div>
|
||||
<div>If <code>state=absent</code> the Helm plugin will be removed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -237,6 +257,17 @@ Examples
|
||||
plugin_name: env
|
||||
state: absent
|
||||
|
||||
- name: Install Helm plugin with a specific version
|
||||
kubernetes.core.helm_plugin:
|
||||
plugin_version: 2.0.1
|
||||
plugin_path: https://domain/path/to/plugin.tar.gz
|
||||
state: present
|
||||
|
||||
- name: Update Helm plugin
|
||||
kubernetes.core.helm_plugin:
|
||||
plugin_name: secrets
|
||||
state: latest
|
||||
|
||||
|
||||
|
||||
Return Values
|
||||
|
||||
@@ -40,6 +40,22 @@ Parameters
|
||||
<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>api_key</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Token used to authenticate with the API. Can also be specified via <code>K8S_AUTH_API_KEY</code> environment variable.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -55,6 +71,117 @@ Parameters
|
||||
<div>The path of a helm binary to use.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>ca_cert</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">path</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to a CA certificate used to authenticate with the API. The full certificate chain must be provided to avoid certificate validation errors. Can also be specified via <code>K8S_AUTH_SSL_CA_CERT</code> environment variable.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: ssl_ca_cert</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>context</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Helm option to specify which kubeconfig context to use.</div>
|
||||
<div>If the value is not specified in the task, the value of environment variable <code>K8S_AUTH_CONTEXT</code> will be used instead.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: kube_context</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>force_update</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</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>Whether or not to replace (overwrite) the repo if it already exists.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: force</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>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Provide a URL for accessing the API. Can also be specified via <code>K8S_AUTH_HOST</code> environment variable.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>kubeconfig</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">raw</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Helm option to specify kubeconfig path to use.</div>
|
||||
<div>If the value is not specified in the task, the value of environment variable <code>K8S_AUTH_KUBECONFIG</code> will be used instead.</div>
|
||||
<div>The configuration can be provided as dictionary.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: kubeconfig_path</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>pass_credentials</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</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>Pass credentials to all domains.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -142,6 +269,27 @@ Parameters
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: username</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>validate_certs</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
<ul style="margin: 0; padding: 0"><b>Choices:</b>
|
||||
<li>no</li>
|
||||
<li><div style="color: blue"><b>yes</b> ←</div></li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<div>Whether or not to verify the API server's SSL certificates. Can also be specified via <code>K8S_AUTH_VERIFY_SSL</code> environment variable.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: verify_ssl</div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br/>
|
||||
|
||||
|
||||
@@ -28,12 +28,12 @@ Parameters
|
||||
|
||||
<table border=0 cellpadding=0 class="documentation-table">
|
||||
<tr>
|
||||
<th colspan="1">Parameter</th>
|
||||
<th colspan="2">Parameter</th>
|
||||
<th>Choices/<font color="blue">Defaults</font></th>
|
||||
<th width="100%">Comments</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>binary_path</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -48,7 +48,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>chart_ref</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -67,7 +67,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>chart_repo_url</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -82,7 +82,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>chart_version</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -97,13 +97,14 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>dependency_update</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
<ul style="margin: 0; padding: 0"><b>Choices:</b>
|
||||
@@ -119,7 +120,27 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>disable_hook</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</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>Prevent hooks from running during install.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>include_crds</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -138,7 +159,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>output_dir</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -154,7 +175,40 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>release_name</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Release name to use in rendered templates.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: name</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>release_namespace</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>namespace scope for this request.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>release_values</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -171,7 +225,85 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>set_values</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">list</span>
|
||||
/ <span style="color: purple">elements=dictionary</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Values to pass to chart configuration.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"></td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>value</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>Value to pass to chart configuration (e.g phase=prod).</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"></td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>value_type</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">-</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<ul style="margin: 0; padding: 0"><b>Choices:</b>
|
||||
<li><div style="color: blue"><b>raw</b> ←</div></li>
|
||||
<li>string</li>
|
||||
<li>json</li>
|
||||
<li>file</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<div>Use <code>raw</code> set individual value.</div>
|
||||
<div>Use <code>string</code> to force a string for an individual value.</div>
|
||||
<div>Use <code>file</code> to set individual values from a file when the value itself is too long for the command line or is dynamically generated.</div>
|
||||
<div>Use <code>json</code> to set json values (scalars/objects/arrays). This feature requires helm>=3.10.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>show_only</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">list</span>
|
||||
/ <span style="color: purple">elements=string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
<b>Default:</b><br/><div style="color: blue">[]</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>Only show manifests rendered from the given templates.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>update_repo_cache</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -190,7 +322,7 @@ Parameters
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>values_files</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
@@ -235,6 +367,24 @@ Examples
|
||||
dest: myfile.yaml
|
||||
content: "{{ result.stdout }}"
|
||||
|
||||
- name: Render MutatingWebhooksConfiguration for revision tag "canary", rev "1-13-0"
|
||||
kubernetes.core.helm_template:
|
||||
chart_ref: istio/istiod
|
||||
chart_version: "1.13.0"
|
||||
release_namespace: "istio-system"
|
||||
show_only:
|
||||
- "templates/revision-tags.yaml"
|
||||
release_values:
|
||||
revision: "1-13-0"
|
||||
revisionTags:
|
||||
- "canary"
|
||||
register: result
|
||||
|
||||
- name: Write templates to file
|
||||
copy:
|
||||
dest: myfile.yaml
|
||||
content: "{{ result.stdout }}"
|
||||
|
||||
|
||||
|
||||
Return Values
|
||||
|
||||
@@ -27,8 +27,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
- PyYAML >= 3.11
|
||||
|
||||
|
||||
@@ -203,9 +203,29 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>no_proxy</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The comma separated list of hosts/domains/IP/CIDR that shouldn't go through proxy. Can also be specified via K8S_AUTH_NO_PROXY environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. NO_PROXY).</div>
|
||||
<div>This feature requires kubernetes>=19.15.0. When kubernetes library is less than 19.15.0, it fails even no_proxy set in correct.</div>
|
||||
<div>example value is "localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
|
||||
@@ -25,8 +25,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
|
||||
|
||||
Parameters
|
||||
@@ -215,6 +215,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -271,6 +272,25 @@ Parameters
|
||||
<div>This option is ignored when <em>content</em> is set or when <em>state</em> is set to <code>from_pod</code>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>no_proxy</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The comma separated list of hosts/domains/IP/CIDR that shouldn't go through proxy. Can also be specified via K8S_AUTH_NO_PROXY environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. NO_PROXY).</div>
|
||||
<div>This feature requires kubernetes>=19.15.0. When kubernetes library is less than 19.15.0, it fails even no_proxy set in correct.</div>
|
||||
<div>example value is "localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -538,7 +558,7 @@ Examples
|
||||
state: from_pod
|
||||
|
||||
# copy content into a file in the remote pod
|
||||
- name: Copy /tmp/foo from a remote pod to /tmp/bar locally
|
||||
- name: Copy content into a file in the remote pod
|
||||
kubernetes.core.k8s_cp:
|
||||
state: to_pod
|
||||
namespace: some-namespace
|
||||
|
||||
@@ -29,8 +29,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
|
||||
|
||||
Parameters
|
||||
@@ -132,6 +132,7 @@ Parameters
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<b>Default:</b><br/><div style="color: blue">{}</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>Specify options to delete pods.</div>
|
||||
@@ -147,6 +148,7 @@ Parameters
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
<ul style="margin: 0; padding: 0"><b>Choices:</b>
|
||||
@@ -155,7 +157,7 @@ Parameters
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<div>Continue even if there are pods using emptyDir (local data that will be deleted when the node is drained)</div>
|
||||
<div>Continue even if there are pods using emptyDir (local data that will be deleted when the node is drained).</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -334,6 +336,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -353,6 +356,25 @@ Parameters
|
||||
<div>The name of the node.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>no_proxy</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The comma separated list of hosts/domains/IP/CIDR that shouldn't go through proxy. Can also be specified via K8S_AUTH_NO_PROXY environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. NO_PROXY).</div>
|
||||
<div>This feature requires kubernetes>=19.15.0. When kubernetes library is less than 19.15.0, it fails even no_proxy set in correct.</div>
|
||||
<div>example value is "localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -392,6 +414,25 @@ Parameters
|
||||
<div>The fix for this k8s python library is here: https://github.com/kubernetes-client/python-base/pull/169</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>pod_selectors</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">list</span>
|
||||
/ <span style="color: purple">elements=string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.5.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Label selector to filter pods on the node.</div>
|
||||
<div>This option has effect only when <code>state</code> is set to <em>drain</em>.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: label_selectors</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -554,8 +595,7 @@ Examples
|
||||
kubernetes.core.k8s_drain:
|
||||
state: drain
|
||||
name: foo
|
||||
delete_options:
|
||||
force: yes
|
||||
force: yes
|
||||
|
||||
- name: Drain node "foo", but abort if there are pods not managed by a ReplicationController, Job, or DaemonSet, and use a grace period of 15 minutes.
|
||||
kubernetes.core.k8s_drain:
|
||||
@@ -574,6 +614,14 @@ Examples
|
||||
state: cordon
|
||||
name: foo
|
||||
|
||||
- name: Drain node "foo" using label selector to filter the list of pods to be drained.
|
||||
kubernetes.core.k8s_drain:
|
||||
state: drain
|
||||
name: foo
|
||||
pod_selectors:
|
||||
- 'app!=csi-attacher'
|
||||
- 'app!=csi-provisioner'
|
||||
|
||||
|
||||
|
||||
Return Values
|
||||
|
||||
@@ -25,8 +25,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
- PyYAML >= 3.11
|
||||
|
||||
|
||||
@@ -117,7 +117,7 @@ Parameters
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The command to execute</div>
|
||||
<div>The command to execute.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -134,6 +134,7 @@ Parameters
|
||||
<td>
|
||||
<div>The name of the container in the pod to connect to.</div>
|
||||
<div>Defaults to only container if there is only one container in the pod.</div>
|
||||
<div>If not specified, will choose the first container from the given pod as kubectl cmdline does.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -214,6 +215,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -230,7 +232,26 @@ Parameters
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The pod namespace name</div>
|
||||
<div>The pod namespace name.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>no_proxy</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The comma separated list of hosts/domains/IP/CIDR that shouldn't go through proxy. Can also be specified via K8S_AUTH_NO_PROXY environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. NO_PROXY).</div>
|
||||
<div>This feature requires kubernetes>=19.15.0. When kubernetes library is less than 19.15.0, it fails even no_proxy set in correct.</div>
|
||||
<div>example value is "localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -285,7 +306,7 @@ Parameters
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The pod name</div>
|
||||
<div>The pod name.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -302,7 +323,7 @@ Parameters
|
||||
<td>
|
||||
<div>The URL of an HTTP proxy to use for the connection.</div>
|
||||
<div>Can also be specified via <em>K8S_AUTH_PROXY</em> environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. HTTP_PROXY).</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (for example, HTTP_PROXY).</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -449,6 +470,13 @@ Examples
|
||||
msg: "cmd failed"
|
||||
when: command_status.rc != 0
|
||||
|
||||
- name: Specify a container name to execute the command on
|
||||
kubernetes.core.k8s_exec:
|
||||
namespace: myproject
|
||||
pod: busybox-test
|
||||
container: manager
|
||||
command: echo "hello"
|
||||
|
||||
|
||||
|
||||
Return Values
|
||||
|
||||
@@ -28,8 +28,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
- PyYAML >= 3.11
|
||||
|
||||
|
||||
@@ -153,11 +153,31 @@ Parameters
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<b>Default:</b><br/><div style="color: blue">[]</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>List of field selectors to use to filter results</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>hidden_fields</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">list</span>
|
||||
/ <span style="color: purple">elements=string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.5.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Hide fields matching any of the field definitions in the result</div>
|
||||
<div>An example might be <code>hidden_fields=[metadata.managedFields]</code></div>
|
||||
<div>Only field definitions that don't reference list items are supported (so V(spec.containers[0]) would not work)</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -240,6 +260,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -254,6 +275,7 @@ Parameters
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<b>Default:</b><br/><div style="color: blue">[]</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>List of label selectors to use to filter results</div>
|
||||
@@ -295,6 +317,25 @@ Parameters
|
||||
<div>If <em>resource definition</em> is provided, the <em>metadata.namespace</em> value from the <em>resource_definition</em> will override this option.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>no_proxy</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The comma separated list of hosts/domains/IP/CIDR that shouldn't go through proxy. Can also be specified via K8S_AUTH_NO_PROXY environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. NO_PROXY).</div>
|
||||
<div>This feature requires kubernetes>=19.15.0. When kubernetes library is less than 19.15.0, it fails even no_proxy set in correct.</div>
|
||||
<div>example value is "localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
|
||||
@@ -13,6 +13,15 @@ kubernetes.core.k8s
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
DEPRECATED
|
||||
----------
|
||||
:Removed in collection release after
|
||||
:Why: As discussed in https://github.com/ansible-collections/kubernetes.core/issues/31, we decided to
|
||||
remove the k8s inventory plugin in release 6.0.0.
|
||||
|
||||
:Alternative: Use :ref:`kubernetes.core.k8s_info <kubernetes.core.k8s_info_module>` and :ref:`ansible.builtin.add_host <ansible.builtin.add_host_module>` instead.
|
||||
|
||||
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
@@ -27,8 +36,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the local Ansible controller node that executes this inventory.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
- PyYAML >= 3.11
|
||||
|
||||
|
||||
@@ -322,24 +331,24 @@ Examples
|
||||
|
||||
# File must be named k8s.yaml or k8s.yml
|
||||
|
||||
# Authenticate with token, and return all pods and services for all namespaces
|
||||
plugin: kubernetes.core.k8s
|
||||
connections:
|
||||
- host: https://192.168.64.4:8443
|
||||
api_key: xxxxxxxxxxxxxxxx
|
||||
validate_certs: false
|
||||
- name: Authenticate with token, and return all pods and services for all namespaces
|
||||
plugin: kubernetes.core.k8s
|
||||
connections:
|
||||
- host: https://192.168.64.4:8443
|
||||
api_key: xxxxxxxxxxxxxxxx
|
||||
validate_certs: false
|
||||
|
||||
# Use default config (~/.kube/config) file and active context, and return objects for a specific namespace
|
||||
plugin: kubernetes.core.k8s
|
||||
connections:
|
||||
- namespaces:
|
||||
- testing
|
||||
- name: Use default config (~/.kube/config) file and active context, and return objects for a specific namespace
|
||||
plugin: kubernetes.core.k8s
|
||||
connections:
|
||||
- namespaces:
|
||||
- testing
|
||||
|
||||
# Use a custom config file, and a specific context.
|
||||
plugin: kubernetes.core.k8s
|
||||
connections:
|
||||
- kubeconfig: /path/to/config
|
||||
context: 'awx/192-168-64-4:8443/developer'
|
||||
- name: Use a custom config file, and a specific context.
|
||||
plugin: kubernetes.core.k8s
|
||||
connections:
|
||||
- kubeconfig: /path/to/config
|
||||
context: 'awx/192-168-64-4:8443/developer'
|
||||
|
||||
|
||||
|
||||
@@ -348,11 +357,15 @@ Status
|
||||
------
|
||||
|
||||
|
||||
- This inventory will be removed in version 6.0.0. *[deprecated]*
|
||||
- For more information see `DEPRECATED`_.
|
||||
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Chris Houseknecht <@chouseknecht>
|
||||
- Fabian von Feilitzsch <@fabianvf>
|
||||
- Chris Houseknecht (@chouseknecht)
|
||||
- Fabian von Feilitzsch (@fabianvf)
|
||||
|
||||
|
||||
.. hint::
|
||||
|
||||
@@ -27,8 +27,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
- PyYAML >= 3.11
|
||||
- jsonpatch
|
||||
|
||||
@@ -220,6 +220,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -256,6 +257,25 @@ Parameters
|
||||
<div>Use in conjunction with <em>api_version</em>, <em>kind</em>, and <em>name</em> to identify a specific object.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>no_proxy</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The comma separated list of hosts/domains/IP/CIDR that shouldn't go through proxy. Can also be specified via K8S_AUTH_NO_PROXY environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. NO_PROXY).</div>
|
||||
<div>This feature requires kubernetes>=19.15.0. When kubernetes library is less than 19.15.0, it fails even no_proxy set in correct.</div>
|
||||
<div>example value is "localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -594,7 +614,7 @@ Examples
|
||||
path: /metadata/labels/app
|
||||
value: myapp
|
||||
- op: replace
|
||||
patch: /spec/containers/0/image
|
||||
path: /spec/containers/0/image
|
||||
value: nginx
|
||||
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
- PyYAML >= 3.11
|
||||
|
||||
|
||||
@@ -44,6 +44,27 @@ Parameters
|
||||
<th>Choices/<font color="blue">Defaults</font></th>
|
||||
<th width="100%">Comments</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>all_containers</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
<ul style="margin: 0; padding: 0"><b>Choices:</b>
|
||||
<li>no</li>
|
||||
<li>yes</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<div>If set to <code>true</code>, retrieve all containers' logs in the pod(s).</div>
|
||||
<div>mutually exclusive with <code>container</code>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -141,7 +162,8 @@ Parameters
|
||||
<td>
|
||||
<div>Use to specify the container within a pod to grab the log from.</div>
|
||||
<div>If there is only one container, this will default to that container.</div>
|
||||
<div>If there is more than one container, this option is required.</div>
|
||||
<div>If there is more than one container, this option is required or set <em>all_containers</em> to <code>true</code>.</div>
|
||||
<div>mutually exclusive with <code>all_containers</code>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -240,6 +262,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -254,6 +277,7 @@ Parameters
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<b>Default:</b><br/><div style="color: blue">[]</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>List of label selectors to use to filter results</div>
|
||||
@@ -295,6 +319,25 @@ Parameters
|
||||
<div>If <em>resource definition</em> is provided, the <em>metadata.namespace</em> value from the <em>resource_definition</em> will override this option.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>no_proxy</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The comma separated list of hosts/domains/IP/CIDR that shouldn't go through proxy. Can also be specified via K8S_AUTH_NO_PROXY environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. NO_PROXY).</div>
|
||||
<div>This feature requires kubernetes>=19.15.0. When kubernetes library is less than 19.15.0, it fails even no_proxy set in correct.</div>
|
||||
<div>example value is "localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -334,6 +377,26 @@ Parameters
|
||||
<div>The fix for this k8s python library is here: https://github.com/kubernetes-client/python-base/pull/169</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>previous</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</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>If <code>true</code>, print the logs for the previous instance of the container in a pod if it exists.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -435,6 +498,22 @@ Parameters
|
||||
<div>A relative time in seconds before the current time from which to show logs.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>tail_lines</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">integer</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.4.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>A number of lines from the end of the logs to retrieve.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -519,8 +598,16 @@ Examples
|
||||
kind: DeploymentConfig
|
||||
namespace: testing
|
||||
name: example
|
||||
tail_lines: 100
|
||||
register: log
|
||||
|
||||
# This will get the logs from all containers in Pod
|
||||
- name: Get the logs from all containers in pod
|
||||
kubernetes.core.k8s_log:
|
||||
namespace: testing
|
||||
name: some-pod
|
||||
all_containers: true
|
||||
|
||||
|
||||
|
||||
Return Values
|
||||
|
||||
@@ -26,8 +26,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the local Ansible controller node that executes this lookup.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
- PyYAML >= 3.11
|
||||
|
||||
|
||||
@@ -438,106 +438,28 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late
|
||||
|
||||
<table border=0 cellpadding=0 class="documentation-table">
|
||||
<tr>
|
||||
<th colspan="2">Key</th>
|
||||
<th colspan="1">Key</th>
|
||||
<th>Returned</th>
|
||||
<th width="100%">Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>_list</b>
|
||||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">complex</span>
|
||||
<span style="color: purple">list</span>
|
||||
/ <span style="color: purple">elements=dictionary</span>
|
||||
</div>
|
||||
</td>
|
||||
<td></td>
|
||||
<td>
|
||||
<div>One ore more object definitions returned from the API.</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;">[{'kind': 'ConfigMap', 'apiVersion': 'v1', 'metadata': {'creationTimestamp': '2022-03-04T13:59:49Z', 'name': 'my-config-map', 'namespace': 'default', 'resourceVersion': '418', 'uid': '5714b011-d090-4eac-8272-a0ea82ec0abd'}, 'data': {'key1': 'val1'}}]</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>api_version</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>success</td>
|
||||
<td>
|
||||
<div>The versioned schema of this representation of an object.</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>kind</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>success</td>
|
||||
<td>
|
||||
<div>Represents the REST resource this object represents.</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>metadata</b>
|
||||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">complex</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>success</td>
|
||||
<td>
|
||||
<div>Standard object metadata. Includes name, namespace, annotations, labels, etc.</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>spec</b>
|
||||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">complex</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>success</td>
|
||||
<td>
|
||||
<div>Specific attributes of the object. Will vary based on the <em>api_version</em> and <em>kind</em>.</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>status</b>
|
||||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">complex</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>success</td>
|
||||
<td>
|
||||
<div>Current status details for the object.</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<br/><br/>
|
||||
|
||||
@@ -549,8 +471,8 @@ Status
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Chris Houseknecht <@chouseknecht>
|
||||
- Fabian von Feilitzsch <@fabianvf>
|
||||
- Chris Houseknecht (@chouseknecht)
|
||||
- Fabian von Feilitzsch (@fabianvf)
|
||||
|
||||
|
||||
.. hint::
|
||||
|
||||
@@ -29,8 +29,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
- PyYAML >= 3.11
|
||||
- jsonpatch
|
||||
|
||||
@@ -121,7 +121,7 @@ Parameters
|
||||
<td>
|
||||
<div><code>apply</code> compares the desired resource definition with the previously supplied resource definition, ignoring properties that are automatically generated</div>
|
||||
<div><code>apply</code> works better with Services than 'force=yes'</div>
|
||||
<div>mutually exclusive with <code>merge_type</code></div>
|
||||
<div>Mutually exclusive with <code>merge_type</code>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -208,6 +208,30 @@ Parameters
|
||||
<div>This has no effect on the validation step which is controlled by the <code>validate.fail_on_error</code> parameter.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>delete_all</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">boolean</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.5.0</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>When this option is set to <em>true</em> and <em>state=absent</em>, module will delete all resources of the specified resource type in the requested namespace.</div>
|
||||
<div>Ignored when <code>state</code> is not set to <em>absent</em> or when one of (src), <code>name</code> or <code>resource_definition</code> is provided.</div>
|
||||
<div>Parameter <code>kind</code> is required to use this option.</div>
|
||||
<div>This parameter can be used with <code>label_selectors</code> to restrict the resources to be deleted.</div>
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: all</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -336,6 +360,45 @@ Parameters
|
||||
<div>If set to <code>yes</code>, and <em>state</em> is <code>present</code>, an existing object will be replaced.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>generate_name</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Use to specify the basis of an object name and random characters will be added automatically on server to generate a unique name.</div>
|
||||
<div>This option is ignored when <em>state</em> is not set to <code>present</code> or when <em>apply</em> is set to <code>yes</code>.</div>
|
||||
<div>If <em>resource definition</em> is provided, the <em>metadata.generateName</em> value from the <em>resource_definition</em> will override this option.</div>
|
||||
<div>If <em>resource definition</em> is provided, and contains <em>metadata.name</em>, this option is ignored.</div>
|
||||
<div>mutually exclusive with <code>name</code>.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>hidden_fields</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">list</span>
|
||||
/ <span style="color: purple">elements=string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.5.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Hide fields matching this option in the result</div>
|
||||
<div>An example might be <code>hidden_fields=[metadata.managedFields]</code></div>
|
||||
<div>Only field definitions that don't reference list items are supported (so V(spec.containers[0]) would not work)</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -417,6 +480,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -449,18 +513,17 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<ul style="margin: 0; padding: 0"><b>Choices:</b>
|
||||
<li>json</li>
|
||||
<li>merge</li>
|
||||
<li>strategic-merge</li>
|
||||
</ul>
|
||||
</td>
|
||||
<td>
|
||||
<div>Whether to override the default patch merge approach with a specific type. By default, the strategic merge will typically be used.</div>
|
||||
<div>For example, Custom Resource Definitions typically aren't updatable by the usual strategic merge. You may want to use <code>merge</code> if you see "strategic merge patch format is not supported"</div>
|
||||
<div>For example, Custom Resource Definitions typically aren't updatable by the usual strategic merge. You may want to use <code>merge</code> if you see "strategic merge patch format is not supported".</div>
|
||||
<div>See <a href='https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/#use-a-json-merge-patch-to-update-a-deployment'>https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/#use-a-json-merge-patch-to-update-a-deployment</a></div>
|
||||
<div>If more than one <code>merge_type</code> is given, the merge_types will be tried in order. This defaults to <code>['strategic-merge', 'merge']</code>, which is ideal for using the same parameters on resource kinds that combine Custom Resources and built-in resources.</div>
|
||||
<div>mutually exclusive with <code>apply</code></div>
|
||||
<div><em>merge_type=json</em> is deprecated and will be removed in version 3.0.0. Please use <span class='module'>kubernetes.core.k8s_json_patch</span> instead.</div>
|
||||
<div>Mutually exclusive with <code>apply</code>.</div>
|
||||
<div><em>merge_type=json</em> has been removed in version 4.0.0. Please use <span class='module'>kubernetes.core.k8s_json_patch</span> instead.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -499,6 +562,25 @@ Parameters
|
||||
<div>If <em>resource definition</em> is provided, the <em>metadata.namespace</em> value from the <em>resource_definition</em> will override this option.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>no_proxy</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The comma separated list of hosts/domains/IP/CIDR that shouldn't go through proxy. Can also be specified via K8S_AUTH_NO_PROXY environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. NO_PROXY).</div>
|
||||
<div>This feature requires kubernetes>=19.15.0. When kubernetes library is less than 19.15.0, it fails even no_proxy set in correct.</div>
|
||||
<div>example value is "localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -640,6 +722,63 @@ Parameters
|
||||
<div style="font-size: small; color: darkgreen"><br/>aliases: definition, inline</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>server_side_apply</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">dictionary</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>When this option is set, apply runs in the server instead of the client.</div>
|
||||
<div>Ignored if <code>apply</code> is not set or is set to False.</div>
|
||||
<div>This option requires "kubernetes >= 19.15.0".</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"></td>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>field_manager</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>Name of the manager used to track field ownership.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"></td>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>force_conflicts</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>A conflict is a special status error that occurs when an Server Side Apply operation tries to change a field, which another user also claims to manage.</div>
|
||||
<div>When set to True, server-side apply will force the changes against conflicts.</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -654,7 +793,8 @@ Parameters
|
||||
<td>
|
||||
<div>Provide a path to a file containing a valid YAML definition of an object or objects to be created or updated. Mutually exclusive with <em>resource_definition</em>. NOTE: <em>kind</em>, <em>api_version</em>, <em>name</em>, and <em>namespace</em> will be overwritten by corresponding values found in the configuration read in from the <em>src</em> file.</div>
|
||||
<div>Reads from the local file system. To read from the Ansible controller's file system, including vaulted files, use the file lookup plugin or template lookup plugin, combined with the from_yaml filter, and pass the result to <em>resource_definition</em>. See Examples below.</div>
|
||||
<div>Mutually exclusive with <em>template</em> in case of <span class='module'>k8s</span> module.</div>
|
||||
<div>The URL to manifest files that can be used to create the resource. Added in version 2.4.0.</div>
|
||||
<div>Mutually exclusive with <em>template</em> in case of <span class='module'>kubernetes.core.k8s</span> module.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -1016,6 +1156,14 @@ Examples
|
||||
state: present
|
||||
definition: "{{ lookup('file', '/testing/deployment.yml') | from_yaml }}"
|
||||
|
||||
- name: >-
|
||||
(Alternative) Read definition file from the Ansible controller file system.
|
||||
In this case, the definition file contains multiple YAML documents, separated by ---.
|
||||
If the definition file has been encrypted with Ansible Vault it will automatically be decrypted.
|
||||
kubernetes.core.k8s:
|
||||
state: present
|
||||
definition: "{{ lookup('file', '/testing/deployment.yml') | from_yaml_all }}"
|
||||
|
||||
- name: Read definition template file from the Ansible controller file system
|
||||
kubernetes.core.k8s:
|
||||
state: present
|
||||
@@ -1033,10 +1181,10 @@ Examples
|
||||
kubernetes.core.k8s:
|
||||
state: present
|
||||
template:
|
||||
- path: '/testing/deployment_one.j2'
|
||||
- path: '/testing/deployment_two.j2'
|
||||
variable_start_string: '[['
|
||||
variable_end_string: ']]'
|
||||
- path: '/testing/deployment_one.j2'
|
||||
- path: '/testing/deployment_two.j2'
|
||||
variable_start_string: '[['
|
||||
variable_end_string: ']]'
|
||||
|
||||
- name: fail on validation errors
|
||||
kubernetes.core.k8s:
|
||||
@@ -1093,6 +1241,41 @@ Examples
|
||||
labels:
|
||||
support: patch
|
||||
|
||||
# Create object using generateName
|
||||
- name: create resource using name generated by the server
|
||||
kubernetes.core.k8s:
|
||||
state: present
|
||||
generate_name: pod-
|
||||
definition:
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
spec:
|
||||
containers:
|
||||
- name: py
|
||||
image: python:3.7-alpine
|
||||
imagePullPolicy: IfNotPresent
|
||||
|
||||
# Server side apply
|
||||
- name: Create configmap using server side apply
|
||||
kubernetes.core.k8s:
|
||||
namespace: testing
|
||||
definition:
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: my-configmap
|
||||
apply: yes
|
||||
server_side_apply:
|
||||
field_manager: ansible
|
||||
|
||||
# Delete all Deployment from specified namespace
|
||||
- name: Delete all Deployment from specified namespace
|
||||
kubernetes.core.k8s:
|
||||
api_version: apps/v1
|
||||
namespace: testing
|
||||
kind: Deployment
|
||||
delete_all: true
|
||||
|
||||
|
||||
|
||||
Return Values
|
||||
|
||||
@@ -27,8 +27,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
- PyYAML >= 3.11
|
||||
|
||||
|
||||
@@ -152,6 +152,7 @@ Parameters
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<b>Default:</b><br/><div style="color: blue">[]</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>List of field selectors to use to filter results.</div>
|
||||
@@ -238,6 +239,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -252,6 +254,7 @@ Parameters
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<b>Default:</b><br/><div style="color: blue">[]</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>List of label selectors to use to filter results.</div>
|
||||
@@ -293,6 +296,25 @@ Parameters
|
||||
<div>If <em>resource definition</em> is provided, the <em>metadata.namespace</em> value from the <em>resource_definition</em> will override this option.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>no_proxy</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The comma separated list of hosts/domains/IP/CIDR that shouldn't go through proxy. Can also be specified via K8S_AUTH_NO_PROXY environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. NO_PROXY).</div>
|
||||
<div>This feature requires kubernetes>=19.15.0. When kubernetes library is less than 19.15.0, it fails even no_proxy set in correct.</div>
|
||||
<div>example value is "localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
|
||||
@@ -25,8 +25,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
- PyYAML >= 3.11
|
||||
|
||||
|
||||
@@ -255,6 +255,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -270,6 +271,7 @@ Parameters
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.0.0</div>
|
||||
</td>
|
||||
<td>
|
||||
<b>Default:</b><br/><div style="color: blue">[]</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>List of label selectors to use to filter results.</div>
|
||||
@@ -311,6 +313,25 @@ Parameters
|
||||
<div>If <em>resource definition</em> is provided, the <em>metadata.namespace</em> value from the <em>resource_definition</em> will override this option.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>no_proxy</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The comma separated list of hosts/domains/IP/CIDR that shouldn't go through proxy. Can also be specified via K8S_AUTH_NO_PROXY environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. NO_PROXY).</div>
|
||||
<div>This feature requires kubernetes>=19.15.0. When kubernetes library is less than 19.15.0, it fails even no_proxy set in correct.</div>
|
||||
<div>example value is "localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -497,7 +518,8 @@ Parameters
|
||||
<td>
|
||||
<div>Provide a path to a file containing a valid YAML definition of an object or objects to be created or updated. Mutually exclusive with <em>resource_definition</em>. NOTE: <em>kind</em>, <em>api_version</em>, <em>name</em>, and <em>namespace</em> will be overwritten by corresponding values found in the configuration read in from the <em>src</em> file.</div>
|
||||
<div>Reads from the local file system. To read from the Ansible controller's file system, including vaulted files, use the file lookup plugin or template lookup plugin, combined with the from_yaml filter, and pass the result to <em>resource_definition</em>. See Examples below.</div>
|
||||
<div>Mutually exclusive with <em>template</em> in case of <span class='module'>k8s</span> module.</div>
|
||||
<div>The URL to manifest files that can be used to create the resource. Added in version 2.4.0.</div>
|
||||
<div>Mutually exclusive with <em>template</em> in case of <span class='module'>kubernetes.core.k8s</span> module.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -24,8 +24,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
|
||||
|
||||
Parameters
|
||||
@@ -220,6 +220,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -280,6 +281,25 @@ Parameters
|
||||
<div>Use to specify a Service object namespace.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>no_proxy</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 2.3.0</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>The comma separated list of hosts/domains/IP/CIDR that shouldn't go through proxy. Can also be specified via K8S_AUTH_NO_PROXY environment variable.</div>
|
||||
<div>Please note that this module does not pick up typical proxy settings from the environment (e.g. NO_PROXY).</div>
|
||||
<div>This feature requires kubernetes>=19.15.0. When kubernetes library is less than 19.15.0, it fails even no_proxy set in correct.</div>
|
||||
<div>example value is "localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -468,7 +488,8 @@ Parameters
|
||||
<td>
|
||||
<div>Provide a path to a file containing a valid YAML definition of an object or objects to be created or updated. Mutually exclusive with <em>resource_definition</em>. NOTE: <em>kind</em>, <em>api_version</em>, <em>name</em>, and <em>namespace</em> will be overwritten by corresponding values found in the configuration read in from the <em>src</em> file.</div>
|
||||
<div>Reads from the local file system. To read from the Ansible controller's file system, including vaulted files, use the file lookup plugin or template lookup plugin, combined with the from_yaml filter, and pass the result to <em>resource_definition</em>. See Examples below.</div>
|
||||
<div>Mutually exclusive with <em>template</em> in case of <span class='module'>k8s</span> module.</div>
|
||||
<div>The URL to manifest files that can be used to create the resource. Added in version 2.4.0.</div>
|
||||
<div>Mutually exclusive with <em>template</em> in case of <span class='module'>kubernetes.core.k8s</span> module.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -26,8 +26,8 @@ Requirements
|
||||
------------
|
||||
The below requirements are needed on the host that executes this module.
|
||||
|
||||
- python >= 3.6
|
||||
- kubernetes >= 12.0.0
|
||||
- python >= 3.9
|
||||
- kubernetes >= 24.2.0
|
||||
|
||||
|
||||
Parameters
|
||||
@@ -182,6 +182,7 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to an existing Kubernetes config file. If not provided, and no other connection options are provided, the Kubernetes client will attempt to load the default configuration file from <em>~/.kube/config</em>. Can also be specified via K8S_AUTH_KUBECONFIG environment variable.</div>
|
||||
<div>Multiple Kubernetes config file can be provided using separator ';' for Windows platform or ':' for others platforms.</div>
|
||||
<div>The kubernetes configuration can be provided as dictionary. This feature requires a python kubernetes client version >= 17.17.0. Added in version 2.2.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -8,7 +8,6 @@ kubernetes.core.kubectl
|
||||
**Execute tasks in pods running on Kubernetes.**
|
||||
|
||||
|
||||
Version added: 1.2.1
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
@@ -209,6 +208,28 @@ Parameters
|
||||
</td>
|
||||
<td>
|
||||
<div>Path to a kubectl config file. Defaults to <em>~/.kube/config</em></div>
|
||||
<div>The configuration can be provided as dictionary. Added in version 2.4.0.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>kubectl_local_env_vars</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">dictionary</span>
|
||||
</div>
|
||||
<div style="font-style: italic; font-size: small; color: darkgreen">added in 3.1.0</div>
|
||||
</td>
|
||||
<td>
|
||||
<b>Default:</b><br/><div style="color: blue">{}</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>var: ansible_kubectl_local_env_vars</div>
|
||||
</td>
|
||||
<td>
|
||||
<div>Local enviromantal variable to be passed locally to the kubectl command line.</div>
|
||||
<div>Please be aware that this passes information directly on the command line and it could expose sensitive data.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -344,6 +365,82 @@ Parameters
|
||||
|
||||
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
- name: Run a command in a pod using local kubectl with kubeconfig file ~/.kube/config
|
||||
hosts: localhost
|
||||
gather_facts: no
|
||||
vars:
|
||||
ansible_connection: kubernetes.core.kubectl
|
||||
ansible_kubectl_namespace: my-namespace
|
||||
ansible_kubectl_pod: my-pod
|
||||
ansible_kubectl_container: my-container
|
||||
tasks:
|
||||
# be aware that the command is executed as the user that started the container
|
||||
# and requires python to be installed in the image
|
||||
- name: Run a command in a pod
|
||||
ansible.builtin.command: echo "Hello, World!"
|
||||
|
||||
- name: Run a command in a pod using local kubectl with inventory variables
|
||||
# Example inventory:
|
||||
# k8s:
|
||||
# hosts:
|
||||
# foo.example.com:
|
||||
# ansible_connection: kubernetes.core.kubectl
|
||||
# ansible_kubectl_kubeconfig: /root/.kube/foo.example.com.config
|
||||
# ansible_kubectl_pod: my-foo-pod
|
||||
# ansible_kubectl_container: my-foo-container
|
||||
# ansible_kubectl_namespace: my-foo-namespace
|
||||
# bar.example.com:
|
||||
# ansible_connection: kubernetes.core.kubectl
|
||||
# ansible_kubectl_kubeconfig: /root/.kube/bar.example.com.config
|
||||
# ansible_kubectl_pod: my-bar-pod
|
||||
# ansible_kubectl_container: my-bar-container
|
||||
# ansible_kubectl_namespace: my-bar-namespace
|
||||
hosts: k8s
|
||||
gather_facts: no
|
||||
tasks:
|
||||
# be aware that the command is executed as the user that started the container
|
||||
# and requires python to be installed in the image
|
||||
- name: Run a command in a pod
|
||||
ansible.builtin.command: echo "Hello, World!"
|
||||
|
||||
- name: Run a command in a pod using dynamic inventory
|
||||
hosts: localhost
|
||||
gather_facts: no
|
||||
vars:
|
||||
kubeconfig: /root/.kube/config
|
||||
namespace: my-namespace
|
||||
my_app: my-app
|
||||
tasks:
|
||||
- name: Get My App pod info based on label
|
||||
kubernetes.core.k8s_info:
|
||||
kubeconfig: "{{ kubeconfig }}"
|
||||
namespace: "{{ namespace }}"
|
||||
kind: Pod
|
||||
label_selectors: app.kubernetes.io/name = "{{ my_app }}"
|
||||
register: my_app_pod
|
||||
|
||||
- name: Get My App pod name
|
||||
ansible.builtin.set_fact:
|
||||
my_app_pod_name: "{{ my_app_pod.resources[0].metadata.name }}"
|
||||
|
||||
- name: Add My App pod to inventory
|
||||
ansible.builtin.add_host:
|
||||
name: "{{ my_app_pod_name }}"
|
||||
ansible_connection: kubernetes.core.kubectl
|
||||
ansible_kubectl_kubeconfig: "{{ kubeconfig }}"
|
||||
ansible_kubectl_pod: "{{ my_app_pod_name }}"
|
||||
ansible_kubectl_namespace: "{{ namespace }}"
|
||||
|
||||
- name: Run a command in My App pod
|
||||
# be aware that the command is executed as the user that started the container
|
||||
# and requires python to be installed in the image
|
||||
ansible.builtin.command: echo "Hello, World!"
|
||||
delegate_to: "{{ my_app_pod_name }}"
|
||||
|
||||
|
||||
|
||||
@@ -355,7 +452,7 @@ Status
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- xuxinkun
|
||||
- xuxinkun (@xuxinkun)
|
||||
|
||||
|
||||
.. hint::
|
||||
|
||||
@@ -77,6 +77,24 @@ Parameters
|
||||
<div>If omitted, '.' is assumed.</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
<b>enable_helm</b>
|
||||
<a class="ansibleOptionLink" href="#parameter-" title="Permalink to this option"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">-</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<b>Default:</b><br/><div style="color: blue">"False"</div>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<div>Enable the helm chart inflation generator</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="parameter-"></div>
|
||||
@@ -112,17 +130,21 @@ Examples
|
||||
.. code-block:: yaml
|
||||
|
||||
- name: Run lookup using kustomize
|
||||
set_fact:
|
||||
ansible.builtin.set_fact:
|
||||
resources: "{{ lookup('kubernetes.core.kustomize', binary_path='/path/to/kustomize') }}"
|
||||
|
||||
- name: Run lookup using kubectl kustomize
|
||||
set_fact:
|
||||
ansible.builtin.set_fact:
|
||||
resources: "{{ lookup('kubernetes.core.kustomize', binary_path='/path/to/kubectl') }}"
|
||||
|
||||
- name: Create kubernetes resources for lookup output
|
||||
k8s:
|
||||
kubernetes.core.k8s:
|
||||
definition: "{{ lookup('kubernetes.core.kustomize', dir='/path/to/kustomization') }}"
|
||||
|
||||
- name: Create kubernetes resources for lookup output with `--enable-helm` set
|
||||
kubernetes.core.k8s:
|
||||
definition: "{{ lookup('kubernetes.core.kustomize', dir='/path/to/kustomization', enable_helm=True) }}"
|
||||
|
||||
|
||||
|
||||
Return Values
|
||||
@@ -133,106 +155,27 @@ Common return values are documented `here <https://docs.ansible.com/ansible/late
|
||||
|
||||
<table border=0 cellpadding=0 class="documentation-table">
|
||||
<tr>
|
||||
<th colspan="2">Key</th>
|
||||
<th colspan="1">Key</th>
|
||||
<th>Returned</th>
|
||||
<th width="100%">Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>_list</b>
|
||||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">complex</span>
|
||||
<span style="color: purple">string</span>
|
||||
</div>
|
||||
</td>
|
||||
<td></td>
|
||||
<td>
|
||||
<div>One ore more object definitions returned from the tool execution.</div>
|
||||
<div>YAML string for the object definitions returned from the tool execution.</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;">{'kind': 'ConfigMap', 'apiVersion': 'v1', 'metadata': {'name': 'my-config-map', 'namespace': 'default'}, 'data': {'key1': 'val1'}}</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>api_version</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>success</td>
|
||||
<td>
|
||||
<div>The versioned schema of this representation of an object.</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>kind</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>success</td>
|
||||
<td>
|
||||
<div>Represents the REST resource this object represents.</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>metadata</b>
|
||||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">complex</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>success</td>
|
||||
<td>
|
||||
<div>Standard object metadata. Includes name, namespace, annotations, labels, etc.</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>spec</b>
|
||||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">complex</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>success</td>
|
||||
<td>
|
||||
<div>Specific attributes of the object. Will vary based on the <em>api_version</em> and <em>kind</em>.</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="elbow-placeholder"> </td>
|
||||
<td colspan="1">
|
||||
<div class="ansibleOptionAnchor" id="return-"></div>
|
||||
<b>status</b>
|
||||
<a class="ansibleOptionLink" href="#return-" title="Permalink to this return value"></a>
|
||||
<div style="font-size: small">
|
||||
<span style="color: purple">complex</span>
|
||||
</div>
|
||||
</td>
|
||||
<td>success</td>
|
||||
<td>
|
||||
<div>Current status details for the object.</div>
|
||||
<br/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
<br/><br/>
|
||||
|
||||
@@ -244,7 +187,7 @@ Status
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Aubin Bikouo <@abikouo>
|
||||
- Aubin Bikouo (@abikouo)
|
||||
|
||||
|
||||
.. hint::
|
||||
|
||||
@@ -25,7 +25,7 @@ tags:
|
||||
- openshift
|
||||
- okd
|
||||
- cluster
|
||||
version: 2.4.0
|
||||
version: 5.0.0
|
||||
build_ignore:
|
||||
- .DS_Store
|
||||
- "*.tar.gz"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
---
|
||||
requires_ansible: '>=2.14.0'
|
||||
requires_ansible: '>=2.15.0'
|
||||
|
||||
action_groups:
|
||||
helm:
|
||||
@@ -22,10 +22,10 @@ plugin_routing:
|
||||
redirect: community.okd.openshift
|
||||
k8s:
|
||||
deprecation:
|
||||
removal_version: 4.0.0
|
||||
removal_version: 6.0.0
|
||||
warning_text: >-
|
||||
The k8s inventory plugin has been deprecated and
|
||||
will be removed in release 4.0.0.
|
||||
will be removed in release 6.0.0.
|
||||
modules:
|
||||
k8s_auth:
|
||||
redirect: community.okd.k8s_auth
|
||||
|
||||
@@ -72,6 +72,15 @@ DOCUMENTATION = r"""
|
||||
- name: ansible_kubectl_extra_args
|
||||
env:
|
||||
- name: K8S_AUTH_EXTRA_ARGS
|
||||
kubectl_local_env_vars:
|
||||
description:
|
||||
- Local enviromantal variable to be passed locally to the kubectl command line.
|
||||
- Please be aware that this passes information directly on the command line and it could expose sensitive data.
|
||||
default: {}
|
||||
type: dict
|
||||
version_added: 3.1.0
|
||||
vars:
|
||||
- name: ansible_kubectl_local_env_vars
|
||||
kubectl_kubeconfig:
|
||||
description:
|
||||
- Path to a kubectl config file. Defaults to I(~/.kube/config)
|
||||
@@ -172,6 +181,81 @@ DOCUMENTATION = r"""
|
||||
aliases: [ kubectl_verify_ssl ]
|
||||
"""
|
||||
|
||||
EXAMPLES = r"""
|
||||
|
||||
- name: Run a command in a pod using local kubectl with kubeconfig file ~/.kube/config
|
||||
hosts: localhost
|
||||
gather_facts: no
|
||||
vars:
|
||||
ansible_connection: kubernetes.core.kubectl
|
||||
ansible_kubectl_namespace: my-namespace
|
||||
ansible_kubectl_pod: my-pod
|
||||
ansible_kubectl_container: my-container
|
||||
tasks:
|
||||
# be aware that the command is executed as the user that started the container
|
||||
# and requires python to be installed in the image
|
||||
- name: Run a command in a pod
|
||||
ansible.builtin.command: echo "Hello, World!"
|
||||
|
||||
- name: Run a command in a pod using local kubectl with inventory variables
|
||||
# Example inventory:
|
||||
# k8s:
|
||||
# hosts:
|
||||
# foo.example.com:
|
||||
# ansible_connection: kubernetes.core.kubectl
|
||||
# ansible_kubectl_kubeconfig: /root/.kube/foo.example.com.config
|
||||
# ansible_kubectl_pod: my-foo-pod
|
||||
# ansible_kubectl_container: my-foo-container
|
||||
# ansible_kubectl_namespace: my-foo-namespace
|
||||
# bar.example.com:
|
||||
# ansible_connection: kubernetes.core.kubectl
|
||||
# ansible_kubectl_kubeconfig: /root/.kube/bar.example.com.config
|
||||
# ansible_kubectl_pod: my-bar-pod
|
||||
# ansible_kubectl_container: my-bar-container
|
||||
# ansible_kubectl_namespace: my-bar-namespace
|
||||
hosts: k8s
|
||||
gather_facts: no
|
||||
tasks:
|
||||
# be aware that the command is executed as the user that started the container
|
||||
# and requires python to be installed in the image
|
||||
- name: Run a command in a pod
|
||||
ansible.builtin.command: echo "Hello, World!"
|
||||
|
||||
- name: Run a command in a pod using dynamic inventory
|
||||
hosts: localhost
|
||||
gather_facts: no
|
||||
vars:
|
||||
kubeconfig: /root/.kube/config
|
||||
namespace: my-namespace
|
||||
my_app: my-app
|
||||
tasks:
|
||||
- name: Get My App pod info based on label
|
||||
kubernetes.core.k8s_info:
|
||||
kubeconfig: "{{ kubeconfig }}"
|
||||
namespace: "{{ namespace }}"
|
||||
kind: Pod
|
||||
label_selectors: app.kubernetes.io/name = "{{ my_app }}"
|
||||
register: my_app_pod
|
||||
|
||||
- name: Get My App pod name
|
||||
ansible.builtin.set_fact:
|
||||
my_app_pod_name: "{{ my_app_pod.resources[0].metadata.name }}"
|
||||
|
||||
- name: Add My App pod to inventory
|
||||
ansible.builtin.add_host:
|
||||
name: "{{ my_app_pod_name }}"
|
||||
ansible_connection: kubernetes.core.kubectl
|
||||
ansible_kubectl_kubeconfig: "{{ kubeconfig }}"
|
||||
ansible_kubectl_pod: "{{ my_app_pod_name }}"
|
||||
ansible_kubectl_namespace: "{{ namespace }}"
|
||||
|
||||
- name: Run a command in My App pod
|
||||
# be aware that the command is executed as the user that started the container
|
||||
# and requires python to be installed in the image
|
||||
ansible.builtin.command: echo "Hello, World!"
|
||||
delegate_to: "{{ my_app_pod_name }}"
|
||||
"""
|
||||
|
||||
import json
|
||||
import os
|
||||
import os.path
|
||||
@@ -301,6 +385,19 @@ class Connection(ConnectionBase):
|
||||
|
||||
return local_cmd, censored_local_cmd
|
||||
|
||||
def _local_env(self):
|
||||
"""Return a dict of local environment variables to pass to the kubectl command"""
|
||||
local_env = {}
|
||||
local_local_env_vars_name = "{0}_local_env_vars".format(self.transport)
|
||||
local_env_vars = self.get_option(local_local_env_vars_name)
|
||||
if local_env_vars:
|
||||
if isinstance(local_env_vars, dict):
|
||||
local_env_vars = json.dumps(local_env_vars)
|
||||
local_env = os.environ.copy()
|
||||
local_env.update(json.loads(local_env_vars))
|
||||
return local_env
|
||||
return None
|
||||
|
||||
def _connect(self, port=None):
|
||||
"""Connect to the container. Nothing to do"""
|
||||
super(Connection, self)._connect()
|
||||
@@ -329,6 +426,7 @@ class Connection(ConnectionBase):
|
||||
stdin=subprocess.PIPE,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
env=self._local_env(),
|
||||
)
|
||||
|
||||
stdout, stderr = p.communicate(in_data)
|
||||
@@ -378,7 +476,11 @@ class Connection(ConnectionBase):
|
||||
args = [to_bytes(i, errors="surrogate_or_strict") for i in args]
|
||||
try:
|
||||
p = subprocess.Popen(
|
||||
args, stdin=in_file, stdout=subprocess.PIPE, stderr=subprocess.PIPE
|
||||
args,
|
||||
stdin=in_file,
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
env=self._local_env(),
|
||||
)
|
||||
except OSError:
|
||||
raise AnsibleError(
|
||||
@@ -415,7 +517,11 @@ class Connection(ConnectionBase):
|
||||
) as out_file:
|
||||
try:
|
||||
p = subprocess.Popen(
|
||||
args, stdin=subprocess.PIPE, stdout=out_file, stderr=subprocess.PIPE
|
||||
args,
|
||||
stdin=subprocess.PIPE,
|
||||
stdout=out_file,
|
||||
stderr=subprocess.PIPE,
|
||||
env=self._local_env(),
|
||||
)
|
||||
except OSError:
|
||||
raise AnsibleError(
|
||||
|
||||
@@ -36,12 +36,12 @@ options:
|
||||
description:
|
||||
- Provide a URL for accessing the API. Can also be specified via C(K8S_AUTH_HOST) environment variable.
|
||||
type: str
|
||||
version_added: "1.2.0"
|
||||
version_added: 1.2.0
|
||||
api_key:
|
||||
description:
|
||||
- Token used to authenticate with the API. Can also be specified via C(K8S_AUTH_API_KEY) environment variable.
|
||||
type: str
|
||||
version_added: "1.2.0"
|
||||
version_added: 1.2.0
|
||||
validate_certs:
|
||||
description:
|
||||
- Whether or not to verify the API server's SSL certificates. Can also be specified via C(K8S_AUTH_VERIFY_SSL)
|
||||
@@ -49,12 +49,12 @@ options:
|
||||
type: bool
|
||||
aliases: [ verify_ssl ]
|
||||
default: True
|
||||
version_added: "1.2.0"
|
||||
version_added: 1.2.0
|
||||
ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API. The full certificate chain must be provided to
|
||||
avoid certificate validation errors. Can also be specified via C(K8S_AUTH_SSL_CA_CERT) environment variable.
|
||||
type: path
|
||||
aliases: [ ssl_ca_cert ]
|
||||
version_added: "1.2.0"
|
||||
version_added: 1.2.0
|
||||
"""
|
||||
|
||||
@@ -15,7 +15,7 @@ class ModuleDocFragment(object):
|
||||
options:
|
||||
delete_options:
|
||||
type: dict
|
||||
version_added: '1.2.0'
|
||||
version_added: 1.2.0
|
||||
description:
|
||||
- Configure behavior when deleting an object.
|
||||
- Only used when I(state=absent).
|
||||
|
||||
@@ -20,10 +20,10 @@ DOCUMENTATION = """
|
||||
- Uses k8s.(yml|yaml) YAML configuration file to set parameter values.
|
||||
|
||||
deprecated:
|
||||
removed_in: 4.0.0
|
||||
removed_in: 6.0.0
|
||||
why: |
|
||||
As discussed in U(https://github.com/ansible-collections/kubernetes.core/issues/31), we decided to
|
||||
remove the k8s inventory plugin in release 4.0.0.
|
||||
remove the k8s inventory plugin in release 6.0.0.
|
||||
alternative: "Use M(kubernetes.core.k8s_info) and M(ansible.builtin.add_host) instead."
|
||||
|
||||
options:
|
||||
@@ -125,18 +125,18 @@ import json
|
||||
|
||||
from ansible.errors import AnsibleError
|
||||
from ansible.plugins.inventory import BaseInventoryPlugin, Cacheable, Constructable
|
||||
from ansible_collections.kubernetes.core.plugins.module_utils.common import (
|
||||
HAS_K8S_MODULE_HELPER,
|
||||
k8s_import_exception,
|
||||
)
|
||||
from ansible_collections.kubernetes.core.plugins.module_utils.k8s.client import (
|
||||
get_api_client,
|
||||
)
|
||||
|
||||
try:
|
||||
from kubernetes.dynamic.exceptions import DynamicApiError
|
||||
except ImportError:
|
||||
pass
|
||||
|
||||
HAS_K8S_MODULE_HELPER = True
|
||||
k8s_import_exception = None
|
||||
except ImportError as e:
|
||||
HAS_K8S_MODULE_HELPER = False
|
||||
k8s_import_exception = e
|
||||
from ansible_collections.kubernetes.core.plugins.module_utils.k8s.client import (
|
||||
get_api_client,
|
||||
)
|
||||
|
||||
|
||||
def format_dynamic_api_exc(exc):
|
||||
@@ -164,8 +164,8 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
||||
super(InventoryModule, self).parse(inventory, loader, path)
|
||||
|
||||
self.display.deprecated(
|
||||
"The 'k8s' inventory plugin has been deprecated and will be removed in release 4.0.0",
|
||||
version="4.0.0",
|
||||
"The 'k8s' inventory plugin has been deprecated and will be removed in release 6.0.0",
|
||||
version="6.0.0",
|
||||
collection_name="kubernetes.core",
|
||||
)
|
||||
cache_key = self._get_cache_prefix(path)
|
||||
|
||||
@@ -8,7 +8,7 @@ DOCUMENTATION = """
|
||||
|
||||
short_description: Build a set of kubernetes resources using a 'kustomization.yaml' file.
|
||||
|
||||
version_added: "2.2.0"
|
||||
version_added: 2.2.0
|
||||
|
||||
author:
|
||||
- Aubin Bikouo (@abikouo)
|
||||
@@ -30,6 +30,10 @@ DOCUMENTATION = """
|
||||
opt_dirs:
|
||||
description:
|
||||
- An optional list of directories to search for the executable in addition to PATH.
|
||||
enable_helm:
|
||||
description:
|
||||
- Enable the helm chart inflation generator
|
||||
default: "False"
|
||||
|
||||
requirements:
|
||||
- "python >= 3.6"
|
||||
@@ -37,16 +41,20 @@ DOCUMENTATION = """
|
||||
|
||||
EXAMPLES = """
|
||||
- name: Run lookup using kustomize
|
||||
set_fact:
|
||||
ansible.builtin.set_fact:
|
||||
resources: "{{ lookup('kubernetes.core.kustomize', binary_path='/path/to/kustomize') }}"
|
||||
|
||||
- name: Run lookup using kubectl kustomize
|
||||
set_fact:
|
||||
ansible.builtin.set_fact:
|
||||
resources: "{{ lookup('kubernetes.core.kustomize', binary_path='/path/to/kubectl') }}"
|
||||
|
||||
- name: Create kubernetes resources for lookup output
|
||||
k8s:
|
||||
kubernetes.core.k8s:
|
||||
definition: "{{ lookup('kubernetes.core.kustomize', dir='/path/to/kustomization') }}"
|
||||
|
||||
- name: Create kubernetes resources for lookup output with `--enable-helm` set
|
||||
kubernetes.core.k8s:
|
||||
definition: "{{ lookup('kubernetes.core.kustomize', dir='/path/to/kustomization', enable_helm=True) }}"
|
||||
"""
|
||||
|
||||
RETURN = """
|
||||
@@ -91,7 +99,14 @@ def run_command(command):
|
||||
|
||||
class LookupModule(LookupBase):
|
||||
def run(
|
||||
self, terms, variables=None, dir=".", binary_path=None, opt_dirs=None, **kwargs
|
||||
self,
|
||||
terms,
|
||||
variables=None,
|
||||
dir=".",
|
||||
binary_path=None,
|
||||
opt_dirs=None,
|
||||
enable_helm=False,
|
||||
**kwargs
|
||||
):
|
||||
executable_path = binary_path
|
||||
if executable_path is None:
|
||||
@@ -122,6 +137,9 @@ class LookupModule(LookupBase):
|
||||
)
|
||||
)
|
||||
|
||||
if enable_helm:
|
||||
command += ["--enable-helm"]
|
||||
|
||||
(out, err) = run_command(command)
|
||||
if err:
|
||||
raise AnsibleLookupError(
|
||||
|
||||
@@ -149,6 +149,7 @@ def k8s_apply(resource, definition, **kwargs):
|
||||
force_conflicts=kwargs.get("force_conflicts"),
|
||||
field_manager=kwargs.get("field_manager"),
|
||||
dry_run=kwargs.get("dry_run"),
|
||||
serialize=kwargs.get("serialize"),
|
||||
)
|
||||
if not existing:
|
||||
return resource.create(
|
||||
@@ -158,6 +159,7 @@ def k8s_apply(resource, definition, **kwargs):
|
||||
return resource.get(
|
||||
name=definition["metadata"]["name"],
|
||||
namespace=definition["metadata"].get("namespace"),
|
||||
**kwargs
|
||||
)
|
||||
return resource.patch(
|
||||
body=desired,
|
||||
|
||||
@@ -113,7 +113,7 @@ class Discoverer(kubernetes.dynamic.discovery.Discoverer):
|
||||
filter(lambda resource: "/" in resource["name"], resources_response)
|
||||
)
|
||||
for subresource in subresources_raw:
|
||||
resource, name = subresource["name"].split("/")
|
||||
resource, name = subresource["name"].split("/", 1)
|
||||
subresources[resource][name] = subresource
|
||||
|
||||
for resource in resources_raw:
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -115,7 +115,7 @@ class AnsibleHelmModule(object):
|
||||
kubeconfig = self.params.get("kubeconfig")
|
||||
if kubeconfig:
|
||||
if isinstance(kubeconfig, string_types):
|
||||
with open(kubeconfig) as fd:
|
||||
with open(os.path.expanduser(kubeconfig)) as fd:
|
||||
kubeconfig_content = yaml.safe_load(fd)
|
||||
elif isinstance(kubeconfig, dict):
|
||||
kubeconfig_content = kubeconfig
|
||||
|
||||
@@ -139,6 +139,7 @@ def perform_action(svc, definition: Dict, params: Dict) -> Dict:
|
||||
|
||||
result = {"changed": False, "result": {}}
|
||||
instance = {}
|
||||
warnings = []
|
||||
|
||||
resource = svc.find_resource(kind, api_version, fail=True)
|
||||
definition["kind"] = resource.kind
|
||||
@@ -172,7 +173,7 @@ def perform_action(svc, definition: Dict, params: Dict) -> Dict:
|
||||
return result
|
||||
|
||||
if params.get("apply"):
|
||||
instance = svc.apply(resource, definition, existing)
|
||||
instance, warnings = svc.apply(resource, definition, existing)
|
||||
result["method"] = "apply"
|
||||
elif not existing:
|
||||
if state == "patched":
|
||||
@@ -183,16 +184,19 @@ def perform_action(svc, definition: Dict, params: Dict) -> Dict:
|
||||
)
|
||||
)
|
||||
return result
|
||||
instance = svc.create(resource, definition)
|
||||
instance, warnings = svc.create(resource, definition)
|
||||
result["method"] = "create"
|
||||
result["changed"] = True
|
||||
elif params.get("force", False):
|
||||
instance = svc.replace(resource, definition, existing)
|
||||
instance, warnings = svc.replace(resource, definition, existing)
|
||||
result["method"] = "replace"
|
||||
else:
|
||||
instance = svc.update(resource, definition, existing)
|
||||
instance, warnings = svc.update(resource, definition, existing)
|
||||
result["method"] = "update"
|
||||
|
||||
if warnings:
|
||||
result["warnings"] = warnings
|
||||
|
||||
# If needed, wait and/or create diff
|
||||
success = True
|
||||
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
||||
|
||||
import copy
|
||||
from json import loads
|
||||
from re import compile
|
||||
from typing import Any, Dict, List, Optional, Tuple
|
||||
|
||||
from ansible.module_utils.common.dict_transformations import dict_merge
|
||||
@@ -142,18 +144,12 @@ class K8sService:
|
||||
name: str,
|
||||
namespace: str,
|
||||
merge_type: str = None,
|
||||
) -> Dict:
|
||||
if merge_type == "json":
|
||||
self.module.deprecate(
|
||||
msg="json as a merge_type value is deprecated. Please use the k8s_json_patch module instead.",
|
||||
version="3.0.0",
|
||||
collection_name="kubernetes.core",
|
||||
)
|
||||
) -> Tuple[Dict, List[str]]:
|
||||
try:
|
||||
params = dict(name=name, namespace=namespace)
|
||||
params = dict(name=name, namespace=namespace, serialize=False)
|
||||
if merge_type:
|
||||
params["content_type"] = "application/{0}-patch+json".format(merge_type)
|
||||
return self.client.patch(resource, definition, **params).to_dict()
|
||||
return decode_response(self.client.patch(resource, definition, **params))
|
||||
except Exception as e:
|
||||
reason = e.body if hasattr(e, "body") else e
|
||||
msg = "Failed to patch object: {0}".format(reason)
|
||||
@@ -330,123 +326,124 @@ class K8sService:
|
||||
result["resources"].append(hide_fields(res, hidden_fields))
|
||||
return result
|
||||
|
||||
def create(self, resource: Resource, definition: Dict) -> Dict:
|
||||
def create(self, resource: Resource, definition: Dict) -> Tuple[Dict, List[str]]:
|
||||
namespace = definition["metadata"].get("namespace")
|
||||
name = definition["metadata"].get("name")
|
||||
|
||||
if self._client_side_dry_run:
|
||||
k8s_obj = _encode_stringdata(definition)
|
||||
else:
|
||||
try:
|
||||
k8s_obj = self.client.create(
|
||||
resource, definition, namespace=namespace
|
||||
).to_dict()
|
||||
except ConflictError:
|
||||
# Some resources, like ProjectRequests, can't be created multiple times,
|
||||
# because the resources that they create don't match their kind
|
||||
# In this case we'll mark it as unchanged and warn the user
|
||||
self.module.warn(
|
||||
"{0} was not found, but creating it returned a 409 Conflict error. This can happen \
|
||||
if the resource you are creating does not directly create a resource of the same kind.".format(
|
||||
name
|
||||
)
|
||||
return _encode_stringdata(definition), []
|
||||
|
||||
try:
|
||||
return decode_response(
|
||||
self.client.create(
|
||||
resource, definition, namespace=namespace, serialize=False
|
||||
)
|
||||
return dict()
|
||||
except Exception as e:
|
||||
reason = e.body if hasattr(e, "body") else e
|
||||
msg = "Failed to create object: {0}".format(reason)
|
||||
raise CoreException(msg) from e
|
||||
return k8s_obj
|
||||
)
|
||||
except ConflictError:
|
||||
# Some resources, like ProjectRequests, can't be created multiple times,
|
||||
# because the resources that they create don't match their kind
|
||||
# In this case we'll mark it as unchanged and warn the user
|
||||
self.module.warn(
|
||||
"{0} was not found, but creating it returned a 409 Conflict error. This can happen \
|
||||
if the resource you are creating does not directly create a resource of the same kind.".format(
|
||||
name
|
||||
)
|
||||
)
|
||||
return dict(), []
|
||||
except Exception as e:
|
||||
reason = e.body if hasattr(e, "body") else e
|
||||
msg = "Failed to create object: {0}".format(reason)
|
||||
raise CoreException(msg) from e
|
||||
|
||||
def apply(
|
||||
self,
|
||||
resource: Resource,
|
||||
definition: Dict,
|
||||
existing: Optional[ResourceInstance] = None,
|
||||
) -> Dict:
|
||||
) -> Tuple[Dict, List[str]]:
|
||||
namespace = definition["metadata"].get("namespace")
|
||||
|
||||
server_side_apply = self.module.params.get("server_side_apply")
|
||||
if server_side_apply:
|
||||
requires("kubernetes", "19.15.0", reason="to use server side apply")
|
||||
|
||||
if self._client_side_dry_run:
|
||||
ignored, patch = apply_object(resource, _encode_stringdata(definition))
|
||||
if existing:
|
||||
k8s_obj = dict_merge(existing.to_dict(), patch)
|
||||
return dict_merge(existing.to_dict(), patch), []
|
||||
else:
|
||||
k8s_obj = patch
|
||||
else:
|
||||
try:
|
||||
params = {}
|
||||
if server_side_apply:
|
||||
params["server_side"] = True
|
||||
params.update(server_side_apply)
|
||||
k8s_obj = self.client.apply(
|
||||
resource, definition, namespace=namespace, **params
|
||||
).to_dict()
|
||||
except Exception as e:
|
||||
reason = e.body if hasattr(e, "body") else e
|
||||
msg = "Failed to apply object: {0}".format(reason)
|
||||
raise CoreException(msg) from e
|
||||
return k8s_obj
|
||||
return patch, []
|
||||
|
||||
try:
|
||||
params = {}
|
||||
if server_side_apply:
|
||||
params["server_side"] = True
|
||||
params.update(server_side_apply)
|
||||
return decode_response(
|
||||
self.client.apply(
|
||||
resource, definition, namespace=namespace, serialize=False, **params
|
||||
)
|
||||
)
|
||||
except Exception as e:
|
||||
reason = e.body if hasattr(e, "body") else e
|
||||
msg = "Failed to apply object: {0}".format(reason)
|
||||
raise CoreException(msg) from e
|
||||
|
||||
def replace(
|
||||
self,
|
||||
resource: Resource,
|
||||
definition: Dict,
|
||||
existing: ResourceInstance,
|
||||
) -> Dict:
|
||||
) -> Tuple[Dict, List[str]]:
|
||||
append_hash = self.module.params.get("append_hash", False)
|
||||
name = definition["metadata"].get("name")
|
||||
namespace = definition["metadata"].get("namespace")
|
||||
|
||||
if self._client_side_dry_run:
|
||||
k8s_obj = _encode_stringdata(definition)
|
||||
else:
|
||||
try:
|
||||
k8s_obj = self.client.replace(
|
||||
return _encode_stringdata(definition), []
|
||||
|
||||
try:
|
||||
return decode_response(
|
||||
self.client.replace(
|
||||
resource,
|
||||
definition,
|
||||
name=name,
|
||||
namespace=namespace,
|
||||
append_hash=append_hash,
|
||||
).to_dict()
|
||||
except Exception as e:
|
||||
reason = e.body if hasattr(e, "body") else e
|
||||
msg = "Failed to replace object: {0}".format(reason)
|
||||
raise CoreException(msg) from e
|
||||
return k8s_obj
|
||||
serialize=False,
|
||||
)
|
||||
)
|
||||
except Exception as e:
|
||||
reason = e.body if hasattr(e, "body") else e
|
||||
msg = "Failed to replace object: {0}".format(reason)
|
||||
raise CoreException(msg) from e
|
||||
|
||||
def update(
|
||||
self, resource: Resource, definition: Dict, existing: ResourceInstance
|
||||
) -> Dict:
|
||||
) -> Tuple[Dict, List[str]]:
|
||||
name = definition["metadata"].get("name")
|
||||
namespace = definition["metadata"].get("namespace")
|
||||
|
||||
if self._client_side_dry_run:
|
||||
k8s_obj = dict_merge(existing.to_dict(), _encode_stringdata(definition))
|
||||
else:
|
||||
exception = None
|
||||
for merge_type in self.module.params.get("merge_type") or [
|
||||
"strategic-merge",
|
||||
"merge",
|
||||
]:
|
||||
try:
|
||||
k8s_obj = self.patch_resource(
|
||||
resource,
|
||||
definition,
|
||||
name,
|
||||
namespace,
|
||||
merge_type=merge_type,
|
||||
)
|
||||
exception = None
|
||||
except CoreException as e:
|
||||
exception = e
|
||||
continue
|
||||
break
|
||||
if exception:
|
||||
raise exception
|
||||
return k8s_obj
|
||||
return dict_merge(existing.to_dict(), _encode_stringdata(definition)), []
|
||||
|
||||
exception = None
|
||||
for merge_type in self.module.params.get("merge_type") or [
|
||||
"strategic-merge",
|
||||
"merge",
|
||||
]:
|
||||
try:
|
||||
return self.patch_resource(
|
||||
resource,
|
||||
definition,
|
||||
name,
|
||||
namespace,
|
||||
merge_type=merge_type,
|
||||
)
|
||||
except CoreException as e:
|
||||
exception = e
|
||||
continue
|
||||
raise exception
|
||||
|
||||
def delete(
|
||||
self,
|
||||
@@ -543,3 +540,83 @@ def hide_field(definition: dict, hidden_field: str) -> dict:
|
||||
else:
|
||||
del definition[split[0]]
|
||||
return definition
|
||||
|
||||
|
||||
def decode_response(resp) -> Tuple[Dict, List[str]]:
|
||||
"""
|
||||
This function decodes unserialized responses from the Kubernetes python
|
||||
client and decodes the RFC2616 14.46 warnings found in the response
|
||||
headers.
|
||||
"""
|
||||
obj = ResourceInstance(None, loads(resp.data.decode("utf8"))).to_dict()
|
||||
warnings = []
|
||||
if (
|
||||
resp.headers is not None
|
||||
and "warning" in resp.headers
|
||||
and resp.headers["warning"] is not None
|
||||
):
|
||||
warnings = resp.headers["warning"].split(", ")
|
||||
return obj, decode_warnings(warnings)
|
||||
|
||||
|
||||
def decode_warnings(warnings: str) -> List[str]:
|
||||
"""
|
||||
This function decodes RFC2616 14.46 warnings in a simplified way, where
|
||||
only the warn-texts are returned in a list.
|
||||
"""
|
||||
p = compile('\\d{3} .+ (".+")')
|
||||
|
||||
decoded = []
|
||||
for warning in warnings:
|
||||
m = p.match(warning)
|
||||
if m:
|
||||
try:
|
||||
parsed, unused = parse_quoted_string(m.group(1))
|
||||
decoded.append(parsed)
|
||||
except ValueError:
|
||||
continue
|
||||
|
||||
return decoded
|
||||
|
||||
|
||||
def parse_quoted_string(quoted_string: str) -> Tuple[str, str]:
|
||||
"""
|
||||
This function was adapted from:
|
||||
https://github.com/kubernetes/apimachinery/blob/bb8822152cabfb4f34dbc26270f874ce53db50de/pkg/util/net/http.go#L609
|
||||
"""
|
||||
if len(quoted_string) == 0:
|
||||
raise ValueError("invalid quoted string: 0-length")
|
||||
|
||||
if quoted_string[0] != '"':
|
||||
raise ValueError("invalid quoted string: missing initial quote")
|
||||
|
||||
quoted_string = quoted_string[1:]
|
||||
remainder = ""
|
||||
escaping = False
|
||||
closed_quote = False
|
||||
result = []
|
||||
|
||||
for i, b in enumerate(quoted_string):
|
||||
if b == '"':
|
||||
if escaping:
|
||||
result.append(b)
|
||||
escaping = False
|
||||
else:
|
||||
closed_quote = True
|
||||
remainder_start = i + 1
|
||||
remainder = quoted_string[remainder_start:].strip()
|
||||
break
|
||||
elif b == "\\":
|
||||
if escaping:
|
||||
result.append(b)
|
||||
escaping = False
|
||||
else:
|
||||
escaping = True
|
||||
else:
|
||||
result.append(b)
|
||||
escaping = False
|
||||
|
||||
if not closed_quote:
|
||||
raise ValueError("invalid quoted string: missing closing quote")
|
||||
|
||||
return "".join(result), remainder
|
||||
|
||||
@@ -14,7 +14,7 @@ module: helm
|
||||
|
||||
short_description: Manages Kubernetes packages with the Helm package manager
|
||||
|
||||
version_added: "0.11.0"
|
||||
version_added: 0.11.0
|
||||
|
||||
author:
|
||||
- Lucas Boisserie (@LucasBoisserie)
|
||||
@@ -61,7 +61,7 @@ options:
|
||||
default: false
|
||||
type: bool
|
||||
aliases: [ dep_up ]
|
||||
version_added: "2.4.0"
|
||||
version_added: 2.4.0
|
||||
release_name:
|
||||
description:
|
||||
- Release name to manage.
|
||||
@@ -99,7 +99,7 @@ options:
|
||||
default: []
|
||||
type: list
|
||||
elements: str
|
||||
version_added: '1.1.0'
|
||||
version_added: 1.1.0
|
||||
update_repo_cache:
|
||||
description:
|
||||
- Run C(helm repo update) before the operation. Can be run as part of the package installation or as a separate step (see Examples).
|
||||
@@ -129,7 +129,7 @@ options:
|
||||
- string
|
||||
- json
|
||||
- file
|
||||
version_added: '2.4.0'
|
||||
version_added: 2.4.0
|
||||
reuse_values:
|
||||
description:
|
||||
- When upgrading package, specifies wether to reuse the last release's values and merge in any overrides from parameters I(release_values),
|
||||
@@ -137,14 +137,14 @@ options:
|
||||
- If I(reset_values) is set to C(True), this is ignored.
|
||||
type: bool
|
||||
required: false
|
||||
version_added: '2.5.0'
|
||||
version_added: 2.5.0
|
||||
reset_values:
|
||||
description:
|
||||
- When upgrading package, reset the values to the ones built into the chart.
|
||||
type: bool
|
||||
required: false
|
||||
default: True
|
||||
version_added: '2.5.0'
|
||||
version_added: 2.5.0
|
||||
|
||||
#Helm options
|
||||
disable_hook:
|
||||
@@ -181,7 +181,7 @@ options:
|
||||
- similar to C(wait_timeout) but does not required C(wait) to be activated.
|
||||
- Mutually exclusive with C(wait_timeout).
|
||||
type: str
|
||||
version_added: "2.3.0"
|
||||
version_added: 2.3.0
|
||||
atomic:
|
||||
description:
|
||||
- If set, the installation process deletes the installation on failure.
|
||||
@@ -192,12 +192,12 @@ options:
|
||||
- Create the release namespace if not present.
|
||||
type: bool
|
||||
default: False
|
||||
version_added: "0.11.1"
|
||||
version_added: 0.11.1
|
||||
post_renderer:
|
||||
description:
|
||||
- Path to an executable to be used for post rendering.
|
||||
type: str
|
||||
version_added: "2.4.0"
|
||||
version_added: 2.4.0
|
||||
replace:
|
||||
description:
|
||||
- Reuse the given name, only if that name is a deleted release which remains in the history.
|
||||
@@ -205,19 +205,19 @@ options:
|
||||
- mutually exclusive with with C(history_max).
|
||||
type: bool
|
||||
default: False
|
||||
version_added: "1.11.0"
|
||||
version_added: 1.11.0
|
||||
skip_crds:
|
||||
description:
|
||||
- Skip custom resource definitions when installing or upgrading.
|
||||
type: bool
|
||||
default: False
|
||||
version_added: "1.2.0"
|
||||
version_added: 1.2.0
|
||||
history_max:
|
||||
description:
|
||||
- Limit the maximum number of revisions saved per release.
|
||||
- mutually exclusive with with C(replace).
|
||||
type: int
|
||||
version_added: "2.2.0"
|
||||
version_added: 2.2.0
|
||||
extends_documentation_fragment:
|
||||
- kubernetes.core.helm_common_options
|
||||
"""
|
||||
@@ -639,6 +639,9 @@ def helmdiff_check(
|
||||
replace=False,
|
||||
chart_repo_url=None,
|
||||
post_renderer=False,
|
||||
set_value_args=None,
|
||||
reuse_values=None,
|
||||
reset_values=True,
|
||||
):
|
||||
"""
|
||||
Use helm diff to determine if a release would change by upgrading a chart.
|
||||
@@ -652,10 +655,14 @@ def helmdiff_check(
|
||||
if chart_version is not None:
|
||||
cmd += " " + "--version=" + chart_version
|
||||
if not replace:
|
||||
cmd += " " + "--reset-values"
|
||||
cmd += " " + "--reset-values=" + str(reset_values)
|
||||
if post_renderer:
|
||||
cmd += " --post-renderer=" + post_renderer
|
||||
|
||||
if values_files:
|
||||
for value_file in values_files:
|
||||
cmd += " --values=" + value_file
|
||||
|
||||
if release_values != {}:
|
||||
fd, path = tempfile.mkstemp(suffix=".yml")
|
||||
with open(path, "w") as yaml_file:
|
||||
@@ -663,9 +670,11 @@ def helmdiff_check(
|
||||
cmd += " -f=" + path
|
||||
module.add_cleanup_file(path)
|
||||
|
||||
if values_files:
|
||||
for values_file in values_files:
|
||||
cmd += " -f=" + values_file
|
||||
if set_value_args:
|
||||
cmd += " " + set_value_args
|
||||
|
||||
if reuse_values:
|
||||
cmd += " --reuse-values"
|
||||
|
||||
rc, out, err = module.run_helm_command(cmd)
|
||||
return (len(out.strip()) > 0, out.strip())
|
||||
@@ -847,11 +856,11 @@ def main():
|
||||
"Please consider add dependencies block or disable dependency_update to remove this warning."
|
||||
)
|
||||
|
||||
if release_status is None: # Not installed
|
||||
set_value_args = None
|
||||
if set_values:
|
||||
set_value_args = module.get_helm_set_values_args(set_values)
|
||||
set_value_args = None
|
||||
if set_values:
|
||||
set_value_args = module.get_helm_set_values_args(set_values)
|
||||
|
||||
if release_status is None: # Not installed
|
||||
helm_cmd = deploy(
|
||||
module,
|
||||
helm_cmd,
|
||||
@@ -896,6 +905,9 @@ def main():
|
||||
replace,
|
||||
chart_repo_url,
|
||||
post_renderer,
|
||||
set_value_args,
|
||||
reuse_values=reuse_values,
|
||||
reset_values=reset_values,
|
||||
)
|
||||
if would_change and module._diff:
|
||||
opt_result["diff"] = {"prepared": prepared}
|
||||
@@ -909,10 +921,6 @@ def main():
|
||||
)
|
||||
|
||||
if force or would_change:
|
||||
set_value_args = None
|
||||
if set_values:
|
||||
set_value_args = module.get_helm_set_values_args(set_values)
|
||||
|
||||
helm_cmd = deploy(
|
||||
module,
|
||||
helm_cmd,
|
||||
|
||||
@@ -14,7 +14,7 @@ module: helm_info
|
||||
|
||||
short_description: Get information from Helm package deployed inside the cluster
|
||||
|
||||
version_added: "0.11.0"
|
||||
version_added: 0.11.0
|
||||
|
||||
author:
|
||||
- Lucas Boisserie (@LucasBoisserie)
|
||||
@@ -53,7 +53,7 @@ options:
|
||||
type: list
|
||||
elements: str
|
||||
default: []
|
||||
version_added: "2.3.0"
|
||||
version_added: 2.3.0
|
||||
get_all_values:
|
||||
description:
|
||||
- Set to C(True) if you want to get all (computed) values of the release.
|
||||
@@ -61,7 +61,7 @@ options:
|
||||
required: false
|
||||
default: false
|
||||
type: bool
|
||||
version_added: "2.4.0"
|
||||
version_added: 2.4.0
|
||||
extends_documentation_fragment:
|
||||
- kubernetes.core.helm_common_options
|
||||
"""
|
||||
@@ -123,18 +123,18 @@ status:
|
||||
elements: dict
|
||||
description: Hooks of the release
|
||||
returned: always
|
||||
version_added: "2.4.0"
|
||||
version_added: 2.4.0
|
||||
notes:
|
||||
type: str
|
||||
description: Notes of the release
|
||||
returned: always
|
||||
version_added: "2.4.0"
|
||||
version_added: 2.4.0
|
||||
manifest:
|
||||
type: list
|
||||
elements: dict
|
||||
description: Manifest of the release
|
||||
returned: always
|
||||
version_added: "2.4.0"
|
||||
version_added: 2.4.0
|
||||
"""
|
||||
|
||||
import copy
|
||||
|
||||
@@ -12,7 +12,7 @@ DOCUMENTATION = r"""
|
||||
---
|
||||
module: helm_plugin
|
||||
short_description: Manage Helm plugins
|
||||
version_added: "1.0.0"
|
||||
version_added: 1.0.0
|
||||
author:
|
||||
- Abhijeet Kasurde (@Akasurde)
|
||||
requirements:
|
||||
@@ -47,7 +47,7 @@ options:
|
||||
- Ignored when C(state=absent) or C(state=latest).
|
||||
required: false
|
||||
type: str
|
||||
version_added: "2.3.0"
|
||||
version_added: 2.3.0
|
||||
extends_documentation_fragment:
|
||||
- kubernetes.core.helm_common_options
|
||||
"""
|
||||
|
||||
@@ -12,7 +12,7 @@ DOCUMENTATION = r"""
|
||||
---
|
||||
module: helm_plugin_info
|
||||
short_description: Gather information about Helm plugins
|
||||
version_added: "1.0.0"
|
||||
version_added: 1.0.0
|
||||
author:
|
||||
- Abhijeet Kasurde (@Akasurde)
|
||||
requirements:
|
||||
|
||||
@@ -12,7 +12,7 @@ DOCUMENTATION = r"""
|
||||
---
|
||||
module: helm_pull
|
||||
short_description: download a chart from a repository and (optionally) unpack it in local directory.
|
||||
version_added: "2.4.0"
|
||||
version_added: 2.4.0
|
||||
author:
|
||||
- Aubin Bikouo (@abikouo)
|
||||
description:
|
||||
|
||||
@@ -14,7 +14,7 @@ module: helm_repository
|
||||
|
||||
short_description: Manage Helm repositories.
|
||||
|
||||
version_added: "0.11.0"
|
||||
version_added: 0.11.0
|
||||
|
||||
author:
|
||||
- Lucas Boisserie (@LucasBoisserie)
|
||||
@@ -76,12 +76,12 @@ options:
|
||||
description:
|
||||
- Provide a URL for accessing the API. Can also be specified via C(K8S_AUTH_HOST) environment variable.
|
||||
type: str
|
||||
version_added: "2.3.0"
|
||||
version_added: 2.3.0
|
||||
api_key:
|
||||
description:
|
||||
- Token used to authenticate with the API. Can also be specified via C(K8S_AUTH_API_KEY) environment variable.
|
||||
type: str
|
||||
version_added: "2.3.0"
|
||||
version_added: 2.3.0
|
||||
validate_certs:
|
||||
description:
|
||||
- Whether or not to verify the API server's SSL certificates. Can also be specified via C(K8S_AUTH_VERIFY_SSL)
|
||||
@@ -89,21 +89,21 @@ options:
|
||||
type: bool
|
||||
aliases: [ verify_ssl ]
|
||||
default: True
|
||||
version_added: "2.3.0"
|
||||
version_added: 2.3.0
|
||||
ca_cert:
|
||||
description:
|
||||
- Path to a CA certificate used to authenticate with the API. The full certificate chain must be provided to
|
||||
avoid certificate validation errors. Can also be specified via C(K8S_AUTH_SSL_CA_CERT) environment variable.
|
||||
type: path
|
||||
aliases: [ ssl_ca_cert ]
|
||||
version_added: "2.3.0"
|
||||
version_added: 2.3.0
|
||||
context:
|
||||
description:
|
||||
- Helm option to specify which kubeconfig context to use.
|
||||
- If the value is not specified in the task, the value of environment variable C(K8S_AUTH_CONTEXT) will be used instead.
|
||||
type: str
|
||||
aliases: [ kube_context ]
|
||||
version_added: "2.4.0"
|
||||
version_added: 2.4.0
|
||||
kubeconfig:
|
||||
description:
|
||||
- Helm option to specify kubeconfig path to use.
|
||||
@@ -111,14 +111,14 @@ options:
|
||||
- The configuration can be provided as dictionary.
|
||||
type: raw
|
||||
aliases: [ kubeconfig_path ]
|
||||
version_added: "2.4.0"
|
||||
version_added: 2.4.0
|
||||
force_update:
|
||||
description:
|
||||
- Whether or not to replace (overwrite) the repo if it already exists.
|
||||
type: bool
|
||||
aliases: [ force ]
|
||||
default: False
|
||||
version_added: "2.4.0"
|
||||
version_added: 2.4.0
|
||||
"""
|
||||
|
||||
EXAMPLES = r"""
|
||||
|
||||
@@ -53,7 +53,7 @@ options:
|
||||
default: false
|
||||
type: bool
|
||||
aliases: [ dep_up ]
|
||||
version_added: "2.4.0"
|
||||
version_added: 2.4.0
|
||||
disable_hook:
|
||||
description:
|
||||
- Prevent hooks from running during install.
|
||||
@@ -139,7 +139,7 @@ options:
|
||||
- string
|
||||
- json
|
||||
- file
|
||||
version_added: '2.4.0'
|
||||
version_added: 2.4.0
|
||||
"""
|
||||
|
||||
EXAMPLES = r"""
|
||||
|
||||
@@ -57,15 +57,14 @@ options:
|
||||
- Whether to override the default patch merge approach with a specific type. By default, the strategic
|
||||
merge will typically be used.
|
||||
- For example, Custom Resource Definitions typically aren't updatable by the usual strategic merge. You may
|
||||
want to use C(merge) if you see "strategic merge patch format is not supported"
|
||||
want to use C(merge) if you see "strategic merge patch format is not supported".
|
||||
- See U(https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/#use-a-json-merge-patch-to-update-a-deployment)
|
||||
- If more than one C(merge_type) is given, the merge_types will be tried in order. This defaults to
|
||||
C(['strategic-merge', 'merge']), which is ideal for using the same parameters on resource kinds that
|
||||
combine Custom Resources and built-in resources.
|
||||
- mutually exclusive with C(apply)
|
||||
- I(merge_type=json) is deprecated and will be removed in version 3.0.0. Please use M(kubernetes.core.k8s_json_patch) instead.
|
||||
- Mutually exclusive with C(apply).
|
||||
- I(merge_type=json) has been removed in version 4.0.0. Please use M(kubernetes.core.k8s_json_patch) instead.
|
||||
choices:
|
||||
- json
|
||||
- merge
|
||||
- strategic-merge
|
||||
type: list
|
||||
@@ -101,7 +100,7 @@ options:
|
||||
- C(apply) compares the desired resource definition with the previously supplied resource definition,
|
||||
ignoring properties that are automatically generated
|
||||
- C(apply) works better with Services than 'force=yes'
|
||||
- mutually exclusive with C(merge_type)
|
||||
- Mutually exclusive with C(merge_type).
|
||||
default: False
|
||||
type: bool
|
||||
template:
|
||||
@@ -460,7 +459,7 @@ def argspec():
|
||||
argument_spec.update(copy.deepcopy(AUTH_ARG_SPEC))
|
||||
argument_spec.update(copy.deepcopy(WAIT_ARG_SPEC))
|
||||
argument_spec["merge_type"] = dict(
|
||||
type="list", elements="str", choices=["json", "merge", "strategic-merge"]
|
||||
type="list", elements="str", choices=["merge", "strategic-merge"]
|
||||
)
|
||||
argument_spec["validate"] = dict(type="dict", default=None, options=validate_spec())
|
||||
argument_spec["append_hash"] = dict(type="bool", default=False)
|
||||
|
||||
@@ -11,7 +11,7 @@ __metaclass__ = type
|
||||
DOCUMENTATION = r"""
|
||||
module: k8s_cluster_info
|
||||
|
||||
version_added: "0.11.1"
|
||||
version_added: 0.11.1
|
||||
|
||||
short_description: Describe Kubernetes (K8s) cluster, APIs available and their respective versions
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ module: k8s_cp
|
||||
|
||||
short_description: Copy files and directories to and from pod.
|
||||
|
||||
version_added: "2.2.0"
|
||||
version_added: 2.2.0
|
||||
|
||||
author:
|
||||
- Aubin Bikouo (@abikouo)
|
||||
|
||||
@@ -15,7 +15,7 @@ module: k8s_drain
|
||||
|
||||
short_description: Drain, Cordon, or Uncordon node in k8s cluster
|
||||
|
||||
version_added: "2.2.0"
|
||||
version_added: 2.2.0
|
||||
|
||||
author: Aubin Bikouo (@abikouo)
|
||||
|
||||
|
||||
@@ -15,7 +15,7 @@ module: k8s_exec
|
||||
|
||||
short_description: Execute command in Pod
|
||||
|
||||
version_added: "0.10.0"
|
||||
version_added: 0.10.0
|
||||
|
||||
author: "Tristan de Cacqueray (@tristanC)"
|
||||
|
||||
@@ -135,7 +135,7 @@ from ansible.module_utils._text import to_native
|
||||
from ansible_collections.kubernetes.core.plugins.module_utils.ansiblemodule import (
|
||||
AnsibleModule,
|
||||
)
|
||||
from ansible_collections.kubernetes.core.plugins.module_utils.common import (
|
||||
from ansible_collections.kubernetes.core.plugins.module_utils.args_common import (
|
||||
AUTH_ARG_SPEC,
|
||||
)
|
||||
from ansible_collections.kubernetes.core.plugins.module_utils.k8s.client import (
|
||||
@@ -219,12 +219,6 @@ def execute_module(module, client):
|
||||
else:
|
||||
rc = int(err["details"]["causes"][0]["message"])
|
||||
|
||||
module.deprecate(
|
||||
"The 'return_code' return key is being renamed to 'rc'. "
|
||||
"Both keys are being returned for now to allow users to migrate their automation.",
|
||||
version="4.0.0",
|
||||
collection_name="kubernetes.core",
|
||||
)
|
||||
module.exit_json(
|
||||
# Some command might change environment, but ultimately failing at end
|
||||
changed=True,
|
||||
|
||||
@@ -14,7 +14,7 @@ module: k8s_log
|
||||
|
||||
short_description: Fetch logs from Kubernetes resources
|
||||
|
||||
version_added: "0.10.0"
|
||||
version_added: 0.10.0
|
||||
|
||||
author:
|
||||
- "Fabian von Feilitzsch (@fabianvf)"
|
||||
@@ -61,26 +61,26 @@ options:
|
||||
- A relative time in seconds before the current time from which to show logs.
|
||||
required: no
|
||||
type: str
|
||||
version_added: '2.2.0'
|
||||
version_added: 2.2.0
|
||||
previous:
|
||||
description:
|
||||
- If C(true), print the logs for the previous instance of the container in a pod if it exists.
|
||||
required: no
|
||||
type: bool
|
||||
default: False
|
||||
version_added: '2.4.0'
|
||||
version_added: 2.4.0
|
||||
tail_lines:
|
||||
description:
|
||||
- A number of lines from the end of the logs to retrieve.
|
||||
required: no
|
||||
type: int
|
||||
version_added: '2.4.0'
|
||||
version_added: 2.4.0
|
||||
all_containers:
|
||||
description:
|
||||
- If set to C(true), retrieve all containers' logs in the pod(s).
|
||||
- mutually exclusive with C(container).
|
||||
type: bool
|
||||
version_added: '2.4.0'
|
||||
version_added: 2.4.0
|
||||
|
||||
requirements:
|
||||
- "python >= 3.9"
|
||||
|
||||
@@ -12,7 +12,7 @@ __metaclass__ = type
|
||||
DOCUMENTATION = r"""
|
||||
module: k8s_rollback
|
||||
short_description: Rollback Kubernetes (K8S) Deployments and DaemonSets
|
||||
version_added: "1.0.0"
|
||||
version_added: 1.0.0
|
||||
author:
|
||||
- "Julien Huon (@julienhuon)"
|
||||
description:
|
||||
|
||||
@@ -13,7 +13,7 @@ __metaclass__ = type
|
||||
DOCUMENTATION = r"""
|
||||
module: k8s_taint
|
||||
short_description: Taint a node in a Kubernetes/OpenShift cluster
|
||||
version_added: "2.3.0"
|
||||
version_added: 2.3.0
|
||||
author: Alina Buzachis (@alinabuzachis)
|
||||
description:
|
||||
- Taint allows a node to refuse Pod to be scheduled unless that Pod has a matching toleration.
|
||||
|
||||
@@ -73,7 +73,7 @@
|
||||
assert:
|
||||
that:
|
||||
- install is changed
|
||||
- install.status.chart == "{{ chart_test }}-{{ chart_test_version }}"
|
||||
- install.status.chart == chart_test+"-"+chart_test_version
|
||||
- install.status.status | lower == 'deployed'
|
||||
|
||||
- name: Check helm_info content
|
||||
@@ -95,7 +95,7 @@
|
||||
- name: "Assert that {{ chart_test }} is installed from {{ source }} with helm_info"
|
||||
assert:
|
||||
that:
|
||||
- content_info.status.chart == "{{ chart_test }}-{{ chart_test_version }}"
|
||||
- content_info.status.chart == chart_test+"-"+chart_test_version
|
||||
- content_info.status.status | lower == 'deployed'
|
||||
- release_state_content_info.status.status | lower == 'deployed'
|
||||
|
||||
@@ -112,7 +112,7 @@
|
||||
assert:
|
||||
that:
|
||||
- install is not changed
|
||||
- install.status.chart == "{{ chart_test }}-{{ chart_test_version }}"
|
||||
- install.status.chart == chart_test+"-"+chart_test_version
|
||||
- install.status.status | lower == 'deployed'
|
||||
|
||||
- name: "Add vars to {{ chart_test }} from {{ source }}"
|
||||
@@ -130,7 +130,7 @@
|
||||
that:
|
||||
- install is changed
|
||||
- install.status.status | lower == 'deployed'
|
||||
- install.status.chart == "{{ chart_test }}-{{ chart_test_version }}"
|
||||
- install.status.chart == chart_test+"-"+chart_test_version
|
||||
- "install.status['values'].revisionHistoryLimit == 0"
|
||||
|
||||
- name: Check idempotency after adding vars
|
||||
@@ -148,7 +148,7 @@
|
||||
that:
|
||||
- install is not changed
|
||||
- install.status.status | lower == 'deployed'
|
||||
- install.status.chart == "{{ chart_test }}-{{ chart_test_version }}"
|
||||
- install.status.chart == chart_test+"-"+chart_test_version
|
||||
- "install.status['values'].revisionHistoryLimit == 0"
|
||||
|
||||
- name: "Remove Vars to {{ chart_test }} from {{ source }}"
|
||||
@@ -165,7 +165,7 @@
|
||||
that:
|
||||
- install is changed
|
||||
- install.status.status | lower == 'deployed'
|
||||
- install.status.chart == "{{ chart_test }}-{{ chart_test_version }}"
|
||||
- install.status.chart == chart_test+"-"+chart_test_version
|
||||
- install.status['values'] == {}
|
||||
|
||||
- name: Check idempotency after removing vars
|
||||
@@ -182,7 +182,7 @@
|
||||
that:
|
||||
- install is not changed
|
||||
- install.status.status | lower == 'deployed'
|
||||
- install.status.chart == "{{ chart_test }}-{{ chart_test_version }}"
|
||||
- install.status.chart == chart_test+"-"+chart_test_version
|
||||
- install.status['values'] == {}
|
||||
|
||||
- name: "Upgrade {{ chart_test }} from {{ source }}"
|
||||
@@ -199,7 +199,7 @@
|
||||
that:
|
||||
- install is changed
|
||||
- install.status.status | lower == 'deployed'
|
||||
- install.status.chart == "{{ chart_test }}-{{ chart_test_version_upgrade }}"
|
||||
- install.status.chart == chart_test+"-"+chart_test_version_upgrade
|
||||
|
||||
- name: Check idempotency after upgrade
|
||||
helm:
|
||||
@@ -215,7 +215,7 @@
|
||||
that:
|
||||
- install is not changed
|
||||
- install.status.status | lower == 'deployed'
|
||||
- install.status.chart == "{{ chart_test }}-{{ chart_test_version_upgrade }}"
|
||||
- install.status.chart == chart_test+"-"+chart_test_version_upgrade
|
||||
|
||||
- name: "Remove {{ chart_test }} from {{ source }}"
|
||||
helm:
|
||||
@@ -316,7 +316,7 @@
|
||||
that:
|
||||
- install is changed
|
||||
- install.status.status | lower == 'deployed'
|
||||
- install.status.chart == "{{ chart_test }}-{{ chart_test_version }}"
|
||||
- install.status.chart == chart_test+"-"+chart_test_version
|
||||
- "install.status['values'].revisionHistoryLimit == 0"
|
||||
|
||||
- name: "Install {{ chart_test }} from {{ source }} with values_files (again)"
|
||||
@@ -357,7 +357,7 @@
|
||||
- result is changed
|
||||
- result is not failed
|
||||
- result.rc == 0
|
||||
- result.command is match("{{ helm_binary }} template {{ chart_source }}")
|
||||
- result.command is match(helm_binary+" template "+chart_source)
|
||||
|
||||
- name: Check templates created
|
||||
stat:
|
||||
@@ -388,7 +388,7 @@
|
||||
- result is changed
|
||||
- result is not failed
|
||||
- result.rc == 0
|
||||
- result.command is match("{{ helm_binary }} template MyRelease {{ chart_source }}")
|
||||
- result.command is match(helm_binary+" template MyRelease "+chart_source)
|
||||
- result.stdout is search("ThisValue")
|
||||
when: chart_source is search("test-chart")
|
||||
# limit assertion of test result to controlled (local) chart_source
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
apiVersion: v2
|
||||
name: chart-reuse-values
|
||||
description: A Helm chart for Kubernetes
|
||||
|
||||
# A chart can be either an 'application' or a 'library' chart.
|
||||
#
|
||||
# Application charts are a collection of templates that can be packaged into versioned archives
|
||||
# to be deployed.
|
||||
#
|
||||
# Library charts provide useful utilities or functions for the chart developer. They're included as
|
||||
# a dependency of application charts to inject those utilities and functions into the rendering
|
||||
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
|
||||
type: application
|
||||
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: 0.1.0
|
||||
|
||||
# This is the version number of the application being deployed. This version number should be
|
||||
# incremented each time you make changes to the application. Versions are not expected to
|
||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||
# It is recommended to use it with quotes.
|
||||
appVersion: "1.16.0"
|
||||
@@ -0,0 +1,7 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: cmap
|
||||
data:
|
||||
ansible_version: {{ .Values.ansible_version }}
|
||||
phase: {{ .Values.phase }}
|
||||
@@ -0,0 +1,2 @@
|
||||
ansible_version: milestone
|
||||
phase: uat
|
||||
@@ -143,6 +143,8 @@
|
||||
chart_ref: "{{ test_chart_ref }}"
|
||||
values:
|
||||
foo: gaz
|
||||
values_files:
|
||||
- "{{ test_chart_ref }}/values.yml"
|
||||
register: install
|
||||
|
||||
- assert:
|
||||
@@ -157,6 +159,46 @@
|
||||
chart_ref: "{{ test_chart_ref }}"
|
||||
values:
|
||||
foo: gaz
|
||||
values_files:
|
||||
- "{{ test_chart_ref }}/values.yml"
|
||||
register: install
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- install is not changed
|
||||
|
||||
- name: Upgrade with set_values
|
||||
helm:
|
||||
binary_path: "{{ helm_binary }}"
|
||||
name: test-chart
|
||||
namespace: "{{ helm_namespace }}"
|
||||
chart_ref: "{{ test_chart_ref }}"
|
||||
values:
|
||||
foo: gaz
|
||||
values_files:
|
||||
- "{{ test_chart_ref }}/values.yml"
|
||||
set_values:
|
||||
- value: foo=qux
|
||||
value_type: string
|
||||
register: install
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- install is changed
|
||||
|
||||
- name: Upgrade with set_values idempotency check
|
||||
helm:
|
||||
binary_path: "{{ helm_binary }}"
|
||||
name: test-chart
|
||||
namespace: "{{ helm_namespace }}"
|
||||
chart_ref: "{{ test_chart_ref }}"
|
||||
values:
|
||||
foo: gaz
|
||||
values_files:
|
||||
- "{{ test_chart_ref }}/values.yml"
|
||||
set_values:
|
||||
- value: foo=qux
|
||||
value_type: string
|
||||
register: install
|
||||
|
||||
- assert:
|
||||
@@ -256,4 +298,7 @@
|
||||
kind: Namespace
|
||||
name: "{{ helm_namespace }}"
|
||||
state: absent
|
||||
wait: true
|
||||
ignore_errors: yes
|
||||
|
||||
- include_tasks: reuse_values.yml
|
||||
|
||||
93
tests/integration/targets/helm_diff/tasks/reuse_values.yml
Normal file
93
tests/integration/targets/helm_diff/tasks/reuse_values.yml
Normal file
@@ -0,0 +1,93 @@
|
||||
---
|
||||
- name: Create temporary directory for helm chart
|
||||
tempfile:
|
||||
suffix: .helm
|
||||
state: directory
|
||||
register: helm_dir
|
||||
|
||||
- name: Test helm diff functionality
|
||||
vars:
|
||||
test_chart_path: "{{ helm_dir.path }}/test-chart-reuse-values"
|
||||
test_release_name: "myrelease"
|
||||
|
||||
block:
|
||||
|
||||
- name: Install helm diff
|
||||
kubernetes.core.helm_plugin:
|
||||
binary_path: "{{ helm_binary }}"
|
||||
state: present
|
||||
plugin_path: https://github.com/databus23/helm-diff
|
||||
plugin_version: 3.9.4
|
||||
|
||||
- name: Copy test chart
|
||||
ansible.builtin.copy:
|
||||
src: "test-chart-reuse-values"
|
||||
dest: "{{ helm_dir.path }}"
|
||||
|
||||
- name: Create helm release
|
||||
kubernetes.core.helm:
|
||||
state: present
|
||||
binary_path: "{{ helm_binary }}"
|
||||
chart_ref: "{{ test_chart_path }}"
|
||||
release_name: "{{ test_release_name }}"
|
||||
release_namespace: "{{ helm_namespace }}"
|
||||
create_namespace: true
|
||||
release_values:
|
||||
ansible_version: devel
|
||||
phase: ci
|
||||
wait: true
|
||||
|
||||
- name: Upgrade helm release (reset_values=false and reuse_values=true)
|
||||
kubernetes.core.helm:
|
||||
binary_path: "{{ helm_binary }}"
|
||||
chart_ref: "{{ test_chart_path }}"
|
||||
reset_values: false
|
||||
reuse_values: true
|
||||
release_name: "{{ test_release_name }}"
|
||||
release_namespace: "{{ helm_namespace }}"
|
||||
values:
|
||||
ansible_version: devel
|
||||
register: helm_upgrade
|
||||
|
||||
- name: Ensure task did not reported change
|
||||
assert:
|
||||
that:
|
||||
- helm_upgrade is not changed
|
||||
|
||||
- name: Upgrade helm release (reuse_values=true with default value for reset_values)
|
||||
kubernetes.core.helm:
|
||||
binary_path: "{{ helm_binary }}"
|
||||
chart_ref: "{{ test_chart_path }}"
|
||||
reuse_values: true
|
||||
release_name: "{{ test_release_name }}"
|
||||
release_namespace: "{{ helm_namespace }}"
|
||||
values:
|
||||
ansible_version: devel
|
||||
register: helm_upgrade
|
||||
|
||||
- name: Ensure task reported change
|
||||
assert:
|
||||
that:
|
||||
- helm_upgrade is changed
|
||||
|
||||
always:
|
||||
- name: Remove temporary directory
|
||||
file:
|
||||
path: "{{ helm_dir.path }}"
|
||||
state: absent
|
||||
ignore_errors: true
|
||||
|
||||
- name: Uninstall helm diff
|
||||
kubernetes.core.helm_plugin:
|
||||
binary_path: "{{ helm_binary }}"
|
||||
state: absent
|
||||
plugin_name: diff
|
||||
ignore_errors: true
|
||||
|
||||
- name: Remove helm namespace
|
||||
kubernetes.core.k8s:
|
||||
api_version: v1
|
||||
kind: Namespace
|
||||
name: "{{ helm_namespace }}"
|
||||
state: absent
|
||||
ignore_errors: true
|
||||
@@ -1,6 +1,10 @@
|
||||
---
|
||||
- name: Test helm with in-memory kubeconfig
|
||||
include_tasks: "from_in_memory_kubeconfig.yml"
|
||||
loop_control:
|
||||
loop_var: test_helm_version
|
||||
with_items:
|
||||
- "v3.10.3"
|
||||
|
||||
- name: Test helm with custom kubeconfig and validate_certs=false
|
||||
include_tasks: "from_kubeconfig_with_validate_certs.yml"
|
||||
@@ -8,12 +12,10 @@
|
||||
loop_var: test_helm_version
|
||||
with_items:
|
||||
- "v3.10.3"
|
||||
- "v3.8.2"
|
||||
|
||||
- name: Test helm with custom kubeconfig and ca_cert
|
||||
include_tasks: "from_kubeconfig_with_cacert.yml"
|
||||
loop_control:
|
||||
loop_var: test_helm_version
|
||||
with_items:
|
||||
- "v3.5.1"
|
||||
- "v3.4.2"
|
||||
- "v3.10.3"
|
||||
|
||||
@@ -182,7 +182,7 @@
|
||||
- name: assert that pods are running on cordoned node
|
||||
assert:
|
||||
that:
|
||||
- "{{ Pod.resources | selectattr('status.phase', 'equalto', 'Running') | selectattr('spec.nodeName', 'equalto', node_to_drain) | list | length > 0 }}"
|
||||
- Pod.resources | selectattr('status.phase', 'equalto', 'Running') | selectattr('spec.nodeName', 'equalto', node_to_drain) | list | length > 0
|
||||
|
||||
- name: Uncordon node
|
||||
k8s_drain:
|
||||
@@ -236,7 +236,7 @@
|
||||
assert:
|
||||
that:
|
||||
- drain_result is changed
|
||||
- '"node {{ node_to_drain }} marked unschedulable." in drain_result.result'
|
||||
- '"node "+node_to_drain+" marked unschedulable." in drain_result.result'
|
||||
|
||||
- name: assert that unmanaged pod were deleted
|
||||
k8s_info:
|
||||
@@ -338,7 +338,7 @@
|
||||
assert:
|
||||
that:
|
||||
- disable_evict is changed
|
||||
- '"node {{ node_to_drain }} marked unschedulable." in disable_evict.result'
|
||||
- '"node "+node_to_drain+" marked unschedulable." in disable_evict.result'
|
||||
|
||||
- name: assert that unmanaged pod were deleted
|
||||
k8s_info:
|
||||
@@ -401,7 +401,7 @@
|
||||
assert:
|
||||
that:
|
||||
- drain_pod_selector is changed
|
||||
- '"node {{ node_to_drain }} marked unschedulable." in drain_pod_selector.result'
|
||||
- '"node "+node_to_drain+" marked unschedulable." in drain_pod_selector.result'
|
||||
|
||||
- name: assert that pod created before is still running
|
||||
k8s_info:
|
||||
@@ -429,8 +429,8 @@
|
||||
assert:
|
||||
that:
|
||||
- drain_pod_selector_equal is changed
|
||||
- '"node {{ node_to_drain }} already marked unschedulable." in drain_pod_selector_equal.result'
|
||||
- '"Deleting Pods not managed by ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet: {{ test_namespace }}/ansible-drain-pod." in drain_pod_selector_equal.warnings'
|
||||
- '"node "+node_to_drain+" already marked unschedulable." in drain_pod_selector_equal.result'
|
||||
- '"Deleting Pods not managed by ReplicationController, ReplicaSet, Job, DaemonSet or StatefulSet: "+test_namespace+"/ansible-drain-pod." in drain_pod_selector_equal.warnings'
|
||||
|
||||
- name: Uncordon node
|
||||
k8s_drain:
|
||||
|
||||
@@ -424,7 +424,7 @@
|
||||
|
||||
- assert:
|
||||
that:
|
||||
- result.resources[0].data.testkey == "{{ cmap_data.stdout | b64encode }}"
|
||||
- result.resources[0].data.testkey == (cmap_data.stdout | b64encode)
|
||||
|
||||
# test setting module defaults for kubernetes.core.k8s_info
|
||||
- block:
|
||||
|
||||
@@ -69,7 +69,7 @@
|
||||
- name: assert pod has been created
|
||||
assert:
|
||||
that:
|
||||
- "{{ pods.resources | length == 1 }}"
|
||||
- pods.resources | length == 1
|
||||
|
||||
- name: create pod using generate_name parameter should succeed
|
||||
k8s:
|
||||
@@ -86,7 +86,7 @@
|
||||
- name: assert pod has been created
|
||||
assert:
|
||||
that:
|
||||
- "{{ pods.resources | length == 2 }}"
|
||||
- pods.resources | length == 2
|
||||
|
||||
- name: create pod using metadata.generateName parameter should succeed
|
||||
k8s:
|
||||
@@ -102,7 +102,7 @@
|
||||
- name: assert pod has been created
|
||||
assert:
|
||||
that:
|
||||
- "{{ pods.resources | length == 3 }}"
|
||||
- pods.resources | length == 3
|
||||
|
||||
- name: create object using metadata.generateName should support wait option
|
||||
k8s:
|
||||
|
||||
32
tests/integration/targets/k8s_info/tasks/discovery.yml
Normal file
32
tests/integration/targets/k8s_info/tasks/discovery.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
# Testing fix for issue https://github.com/ansible-collections/kubernetes.core/pull/676
|
||||
- vars:
|
||||
kubevirt_release: "v1.1.1"
|
||||
block:
|
||||
- name: Delete existing namespace
|
||||
kubernetes.core.k8s:
|
||||
kind: namespace
|
||||
namespace: kubevirt
|
||||
state: absent
|
||||
|
||||
- name: Create kubevirt resources
|
||||
kubernetes.core.k8s:
|
||||
state: present
|
||||
apply: true
|
||||
src: "{{ item }}"
|
||||
with_items:
|
||||
- "https://github.com/kubevirt/kubevirt/releases/download/{{ kubevirt_release }}/kubevirt-operator.yaml"
|
||||
- "https://github.com/kubevirt/kubevirt/releases/download/{{ kubevirt_release }}/kubevirt-cr.yaml"
|
||||
|
||||
- name: Read kubevirt Deployment
|
||||
k8s_info:
|
||||
kind: Deployment
|
||||
namespace: kubevirt
|
||||
always:
|
||||
- name: Delete existing namespace
|
||||
kubernetes.core.k8s:
|
||||
kind: namespace
|
||||
namespace: kubevirt
|
||||
state: absent
|
||||
wait: true
|
||||
ignore_errors: true
|
||||
@@ -3,3 +3,4 @@
|
||||
with_items:
|
||||
- wait
|
||||
- api-server-caching
|
||||
- discovery
|
||||
|
||||
@@ -192,7 +192,7 @@
|
||||
- name: Check that module waited
|
||||
assert:
|
||||
that:
|
||||
- "{{ lookup('pipe', 'date +%s') }} - {{ start }} > 30"
|
||||
- ( lookup('pipe', 'date +%s')|int - start|int ) > 30
|
||||
|
||||
- name: Create simple pod
|
||||
k8s:
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
assert:
|
||||
that:
|
||||
- fake_pod is failed
|
||||
- 'fake_pod.msg == "Pod {{ test_namespace }}/this_pod_does_exist not found."'
|
||||
- fake_pod.msg == "Pod "+test_namespace+"/this_pod_does_exist not found."
|
||||
|
||||
- name: create hello-world deployment
|
||||
k8s:
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
assert:
|
||||
that:
|
||||
- _result.result.status.phase == 'Running'
|
||||
- _result.result.spec.nodeName == "{{ node_to_taint }}"
|
||||
- _result.result.spec.nodeName == node_to_taint
|
||||
|
||||
- name: Taint node (check_mode)
|
||||
kubernetes.core.k8s_taint:
|
||||
@@ -89,8 +89,8 @@
|
||||
assert:
|
||||
that:
|
||||
- _result.changed
|
||||
- "{{ item['effect'] == taint_patch_1[0]['effect'] }}"
|
||||
- "{{ item['key'] == taint_patch_1[0]['key'] }}"
|
||||
- item['effect'] == taint_patch_1[0]['effect']
|
||||
- item['key'] == taint_patch_1[0]['key']
|
||||
loop: "{{ _result.result.spec.taints }}"
|
||||
|
||||
- name: Taint node (idempotency) - (check_mode)
|
||||
|
||||
@@ -213,8 +213,8 @@
|
||||
- name: check that resources creation failed
|
||||
assert:
|
||||
that:
|
||||
- '{{ resource.results[0].resources | length == 0 }}'
|
||||
- '{{ resource.results[1].resources | length == 0 }}'
|
||||
- resource.results.0.resources | length == 0
|
||||
- resource.results.1.resources | length == 0
|
||||
|
||||
- name: create pod without namespace (continue_on_error = true)
|
||||
kubernetes.core.k8s:
|
||||
|
||||
@@ -130,9 +130,9 @@
|
||||
assert:
|
||||
that:
|
||||
- result_configmap.apiVersion == 'v1'
|
||||
- result_configmap.metadata.name == "{{ configmap_name }}"
|
||||
- result_configmap.metadata.namespace == "{{ test_namespace[2] }}"
|
||||
- result_configmap.data.value == "{{ configmap_data }}"
|
||||
- result_configmap.metadata.name == configmap_name
|
||||
- result_configmap.metadata.namespace == test_namespace[2]
|
||||
- result_configmap.data.value == configmap_data
|
||||
|
||||
# test lookup plugin using src parameter
|
||||
- block:
|
||||
@@ -159,9 +159,9 @@
|
||||
assert:
|
||||
that:
|
||||
- src_configmap.apiVersion == 'v1'
|
||||
- src_configmap.metadata.name == "{{ configmap_name }}"
|
||||
- src_configmap.metadata.namespace == "{{ test_namespace[2] }}"
|
||||
- src_configmap.data.value == "{{ configmap_data }}"
|
||||
- src_configmap.metadata.name == configmap_name
|
||||
- src_configmap.metadata.namespace == test_namespace[2]
|
||||
- src_configmap.data.value == configmap_data
|
||||
|
||||
always:
|
||||
- name: Delete temporary file created
|
||||
@@ -198,9 +198,9 @@
|
||||
assert:
|
||||
that:
|
||||
- configmap_no_ssl.apiVersion == 'v1'
|
||||
- configmap_no_ssl.metadata.name == "{{ configmap_name }}"
|
||||
- configmap_no_ssl.metadata.namespace == "{{ test_namespace[2] }}"
|
||||
- configmap_no_ssl.data.value == "{{ configmap_data }}"
|
||||
- configmap_no_ssl.metadata.name == configmap_name
|
||||
- configmap_no_ssl.metadata.namespace == test_namespace[2]
|
||||
- configmap_no_ssl.data.value == configmap_data
|
||||
|
||||
- name: Retrieve configmap using authentication aliases (validate_certs=true)
|
||||
set_fact:
|
||||
@@ -210,9 +210,9 @@
|
||||
assert:
|
||||
that:
|
||||
- configmap_with_ssl.apiVersion == 'v1'
|
||||
- configmap_with_ssl.metadata.name == "{{ configmap_name }}"
|
||||
- configmap_with_ssl.metadata.namespace == "{{ test_namespace[2] }}"
|
||||
- configmap_with_ssl.data.value == "{{ configmap_data }}"
|
||||
- configmap_with_ssl.metadata.name == configmap_name
|
||||
- configmap_with_ssl.metadata.namespace == test_namespace[2]
|
||||
- configmap_with_ssl.data.value == configmap_data
|
||||
|
||||
always:
|
||||
- name: Delete temporary directory
|
||||
|
||||
@@ -1,616 +0,0 @@
|
||||
plugins/module_utils/client/discovery.py import-3.6!skip
|
||||
plugins/module_utils/client/discovery.py import-3.7!skip
|
||||
plugins/module_utils/client/discovery.py import-3.8!skip
|
||||
plugins/module_utils/client/discovery.py import-3.9!skip
|
||||
plugins/module_utils/client/resource.py import-3.6!skip
|
||||
plugins/module_utils/client/resource.py import-3.7!skip
|
||||
plugins/module_utils/client/resource.py import-3.8!skip
|
||||
plugins/module_utils/client/resource.py import-3.9!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.8!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.9!skip
|
||||
tests/unit/module_utils/fixtures/definitions.yml yamllint!skip
|
||||
tests/unit/module_utils/fixtures/deployments.yml yamllint!skip
|
||||
tests/unit/module_utils/fixtures/pods.yml yamllint!skip
|
||||
tests/integration/targets/helm/files/appversionless-chart-v2/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm/files/appversionless-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm/files/test-chart-v2/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm_diff/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/k8s_scale/files/deployment.yaml yamllint!skip
|
||||
tests/sanity/refresh_ignore_files shebang!skip
|
||||
plugins/doc_fragments/k8s_name_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/helm_common_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_state_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/__init__.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py future-import-boilerplate!skip
|
||||
plugins/module_utils/helm.py future-import-boilerplate!skip
|
||||
plugins/module_utils/apply.py future-import-boilerplate!skip
|
||||
plugins/module_utils/hashes.py future-import-boilerplate!skip
|
||||
plugins/module_utils/helm_args_common.py future-import-boilerplate!skip
|
||||
plugins/module_utils/version.py future-import-boilerplate!skip
|
||||
plugins/module_utils/_version.py future-import-boilerplate!skip
|
||||
plugins/module_utils/copy.py future-import-boilerplate!skip
|
||||
plugins/module_utils/args_common.py future-import-boilerplate!skip
|
||||
plugins/module_utils/__init__.py future-import-boilerplate!skip
|
||||
plugins/module_utils/selector.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8sdynamicclient.py future-import-boilerplate!skip
|
||||
plugins/module_utils/common.py future-import-boilerplate!skip
|
||||
plugins/module_utils/ansiblemodule.py future-import-boilerplate!skip
|
||||
plugins/module_utils/exceptions.py future-import-boilerplate!skip
|
||||
plugins/module_utils/client/resource.py future-import-boilerplate!skip
|
||||
plugins/module_utils/client/discovery.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/resource.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/core.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/waiter.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/client.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/runner.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/service.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/exceptions.py future-import-boilerplate!skip
|
||||
plugins/connection/kubectl.py future-import-boilerplate!skip
|
||||
plugins/inventory/k8s.py future-import-boilerplate!skip
|
||||
plugins/lookup/k8s.py future-import-boilerplate!skip
|
||||
plugins/lookup/kustomize.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_scale.py future-import-boilerplate!skip
|
||||
plugins/modules/helm_template.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_exec.py future-import-boilerplate!skip
|
||||
plugins/modules/helm.py future-import-boilerplate!skip
|
||||
plugins/modules/helm_plugin_info.py future-import-boilerplate!skip
|
||||
plugins/modules/helm_info.py future-import-boilerplate!skip
|
||||
plugins/modules/helm_repository.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_rollback.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_log.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_drain.py future-import-boilerplate!skip
|
||||
plugins/modules/helm_plugin.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_taint.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_service.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_cluster_info.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_info.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_cp.py future-import-boilerplate!skip
|
||||
plugins/modules/__init__.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_json_patch.py future-import-boilerplate!skip
|
||||
plugins/action/k8s_info.py future-import-boilerplate!skip
|
||||
plugins/filter/k8s.py future-import-boilerplate!skip
|
||||
tests/unit/conftest.py future-import-boilerplate!skip
|
||||
tests/unit/utils/ansible_module_mock.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_helm.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_marshal.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_discoverer.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_hashes.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_resource.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_service.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_waiter.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_common.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_selector.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_apply.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_runner.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_client.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_core.py future-import-boilerplate!skip
|
||||
tests/unit/modules/test_helm_template_module.py future-import-boilerplate!skip
|
||||
tests/unit/modules/test_helm_template.py future-import-boilerplate!skip
|
||||
tests/unit/modules/test_module_helm.py future-import-boilerplate!skip
|
||||
tests/unit/action/test_remove_omit.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_name_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/helm_common_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_state_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/__init__.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/helm.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/apply.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/hashes.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/helm_args_common.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/version.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/_version.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/copy.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/args_common.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/__init__.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/selector.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8sdynamicclient.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/common.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/ansiblemodule.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/exceptions.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/client/resource.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/client/discovery.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/resource.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/core.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/waiter.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/client.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/runner.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/service.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/exceptions.py metaclass-boilerplate!skip
|
||||
plugins/connection/kubectl.py metaclass-boilerplate!skip
|
||||
plugins/inventory/k8s.py metaclass-boilerplate!skip
|
||||
plugins/lookup/k8s.py metaclass-boilerplate!skip
|
||||
plugins/lookup/kustomize.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_scale.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm_template.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_exec.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm_plugin_info.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm_info.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm_repository.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_rollback.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_log.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_drain.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm_plugin.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_taint.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_service.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_cluster_info.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_info.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_cp.py metaclass-boilerplate!skip
|
||||
plugins/modules/__init__.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_json_patch.py metaclass-boilerplate!skip
|
||||
plugins/action/k8s_info.py metaclass-boilerplate!skip
|
||||
plugins/filter/k8s.py metaclass-boilerplate!skip
|
||||
tests/unit/conftest.py metaclass-boilerplate!skip
|
||||
tests/unit/utils/ansible_module_mock.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_helm.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_marshal.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_discoverer.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_hashes.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_resource.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_service.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_waiter.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_common.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_selector.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_apply.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_runner.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_client.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_core.py metaclass-boilerplate!skip
|
||||
tests/unit/modules/test_helm_template_module.py metaclass-boilerplate!skip
|
||||
tests/unit/modules/test_helm_template.py metaclass-boilerplate!skip
|
||||
tests/unit/modules/test_module_helm.py metaclass-boilerplate!skip
|
||||
tests/unit/action/test_remove_omit.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_scale.py import-2.6!skip
|
||||
plugins/modules/k8s_scale.py import-2.7!skip
|
||||
plugins/modules/k8s_scale.py import-3.5!skip
|
||||
plugins/modules/helm_template.py import-2.6!skip
|
||||
plugins/modules/helm_template.py import-2.7!skip
|
||||
plugins/modules/helm_template.py import-3.5!skip
|
||||
plugins/modules/k8s_exec.py import-2.6!skip
|
||||
plugins/modules/k8s_exec.py import-2.7!skip
|
||||
plugins/modules/k8s_exec.py import-3.5!skip
|
||||
plugins/modules/helm.py import-2.6!skip
|
||||
plugins/modules/helm.py import-2.7!skip
|
||||
plugins/modules/helm.py import-3.5!skip
|
||||
plugins/modules/helm_plugin_info.py import-2.6!skip
|
||||
plugins/modules/helm_plugin_info.py import-2.7!skip
|
||||
plugins/modules/helm_plugin_info.py import-3.5!skip
|
||||
plugins/modules/helm_info.py import-2.6!skip
|
||||
plugins/modules/helm_info.py import-2.7!skip
|
||||
plugins/modules/helm_info.py import-3.5!skip
|
||||
plugins/modules/helm_repository.py import-2.6!skip
|
||||
plugins/modules/helm_repository.py import-2.7!skip
|
||||
plugins/modules/helm_repository.py import-3.5!skip
|
||||
plugins/modules/k8s_rollback.py import-2.6!skip
|
||||
plugins/modules/k8s_rollback.py import-2.7!skip
|
||||
plugins/modules/k8s_rollback.py import-3.5!skip
|
||||
plugins/modules/k8s_log.py import-2.6!skip
|
||||
plugins/modules/k8s_log.py import-2.7!skip
|
||||
plugins/modules/k8s_log.py import-3.5!skip
|
||||
plugins/modules/k8s_drain.py import-2.6!skip
|
||||
plugins/modules/k8s_drain.py import-2.7!skip
|
||||
plugins/modules/k8s_drain.py import-3.5!skip
|
||||
plugins/modules/helm_plugin.py import-2.6!skip
|
||||
plugins/modules/helm_plugin.py import-2.7!skip
|
||||
plugins/modules/helm_plugin.py import-3.5!skip
|
||||
plugins/modules/k8s_taint.py import-2.6!skip
|
||||
plugins/modules/k8s_taint.py import-2.7!skip
|
||||
plugins/modules/k8s_taint.py import-3.5!skip
|
||||
plugins/modules/k8s.py import-2.6!skip
|
||||
plugins/modules/k8s.py import-2.7!skip
|
||||
plugins/modules/k8s.py import-3.5!skip
|
||||
plugins/modules/k8s_service.py import-2.6!skip
|
||||
plugins/modules/k8s_service.py import-2.7!skip
|
||||
plugins/modules/k8s_service.py import-3.5!skip
|
||||
plugins/modules/k8s_cluster_info.py import-2.6!skip
|
||||
plugins/modules/k8s_cluster_info.py import-2.7!skip
|
||||
plugins/modules/k8s_cluster_info.py import-3.5!skip
|
||||
plugins/modules/k8s_info.py import-2.6!skip
|
||||
plugins/modules/k8s_info.py import-2.7!skip
|
||||
plugins/modules/k8s_info.py import-3.5!skip
|
||||
plugins/modules/k8s_cp.py import-2.6!skip
|
||||
plugins/modules/k8s_cp.py import-2.7!skip
|
||||
plugins/modules/k8s_cp.py import-3.5!skip
|
||||
plugins/modules/__init__.py import-2.6!skip
|
||||
plugins/modules/__init__.py import-2.7!skip
|
||||
plugins/modules/__init__.py import-3.5!skip
|
||||
plugins/modules/k8s_json_patch.py import-2.6!skip
|
||||
plugins/modules/k8s_json_patch.py import-2.7!skip
|
||||
plugins/modules/k8s_json_patch.py import-3.5!skip
|
||||
plugins/module_utils/helm.py import-2.6!skip
|
||||
plugins/module_utils/helm.py import-2.7!skip
|
||||
plugins/module_utils/helm.py import-3.5!skip
|
||||
plugins/module_utils/apply.py import-2.6!skip
|
||||
plugins/module_utils/apply.py import-2.7!skip
|
||||
plugins/module_utils/apply.py import-3.5!skip
|
||||
plugins/module_utils/hashes.py import-2.6!skip
|
||||
plugins/module_utils/hashes.py import-2.7!skip
|
||||
plugins/module_utils/hashes.py import-3.5!skip
|
||||
plugins/module_utils/helm_args_common.py import-2.6!skip
|
||||
plugins/module_utils/helm_args_common.py import-2.7!skip
|
||||
plugins/module_utils/helm_args_common.py import-3.5!skip
|
||||
plugins/module_utils/version.py import-2.6!skip
|
||||
plugins/module_utils/version.py import-2.7!skip
|
||||
plugins/module_utils/version.py import-3.5!skip
|
||||
plugins/module_utils/_version.py import-2.6!skip
|
||||
plugins/module_utils/_version.py import-2.7!skip
|
||||
plugins/module_utils/_version.py import-3.5!skip
|
||||
plugins/module_utils/copy.py import-2.6!skip
|
||||
plugins/module_utils/copy.py import-2.7!skip
|
||||
plugins/module_utils/copy.py import-3.5!skip
|
||||
plugins/module_utils/args_common.py import-2.6!skip
|
||||
plugins/module_utils/args_common.py import-2.7!skip
|
||||
plugins/module_utils/args_common.py import-3.5!skip
|
||||
plugins/module_utils/__init__.py import-2.6!skip
|
||||
plugins/module_utils/__init__.py import-2.7!skip
|
||||
plugins/module_utils/__init__.py import-3.5!skip
|
||||
plugins/module_utils/selector.py import-2.6!skip
|
||||
plugins/module_utils/selector.py import-2.7!skip
|
||||
plugins/module_utils/selector.py import-3.5!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-2.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-2.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.5!skip
|
||||
plugins/module_utils/common.py import-2.6!skip
|
||||
plugins/module_utils/common.py import-2.7!skip
|
||||
plugins/module_utils/common.py import-3.5!skip
|
||||
plugins/module_utils/ansiblemodule.py import-2.6!skip
|
||||
plugins/module_utils/ansiblemodule.py import-2.7!skip
|
||||
plugins/module_utils/ansiblemodule.py import-3.5!skip
|
||||
plugins/module_utils/exceptions.py import-2.6!skip
|
||||
plugins/module_utils/exceptions.py import-2.7!skip
|
||||
plugins/module_utils/exceptions.py import-3.5!skip
|
||||
plugins/module_utils/client/resource.py import-2.6!skip
|
||||
plugins/module_utils/client/resource.py import-2.7!skip
|
||||
plugins/module_utils/client/resource.py import-3.5!skip
|
||||
plugins/module_utils/client/discovery.py import-2.6!skip
|
||||
plugins/module_utils/client/discovery.py import-2.7!skip
|
||||
plugins/module_utils/client/discovery.py import-3.5!skip
|
||||
plugins/module_utils/k8s/resource.py import-2.6!skip
|
||||
plugins/module_utils/k8s/resource.py import-2.7!skip
|
||||
plugins/module_utils/k8s/resource.py import-3.5!skip
|
||||
plugins/module_utils/k8s/core.py import-2.6!skip
|
||||
plugins/module_utils/k8s/core.py import-2.7!skip
|
||||
plugins/module_utils/k8s/core.py import-3.5!skip
|
||||
plugins/module_utils/k8s/waiter.py import-2.6!skip
|
||||
plugins/module_utils/k8s/waiter.py import-2.7!skip
|
||||
plugins/module_utils/k8s/waiter.py import-3.5!skip
|
||||
plugins/module_utils/k8s/client.py import-2.6!skip
|
||||
plugins/module_utils/k8s/client.py import-2.7!skip
|
||||
plugins/module_utils/k8s/client.py import-3.5!skip
|
||||
plugins/module_utils/k8s/runner.py import-2.6!skip
|
||||
plugins/module_utils/k8s/runner.py import-2.7!skip
|
||||
plugins/module_utils/k8s/runner.py import-3.5!skip
|
||||
plugins/module_utils/k8s/service.py import-2.6!skip
|
||||
plugins/module_utils/k8s/service.py import-2.7!skip
|
||||
plugins/module_utils/k8s/service.py import-3.5!skip
|
||||
plugins/module_utils/k8s/exceptions.py import-2.6!skip
|
||||
plugins/module_utils/k8s/exceptions.py import-2.7!skip
|
||||
plugins/module_utils/k8s/exceptions.py import-3.5!skip
|
||||
plugins/doc_fragments/k8s_name_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_name_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_name_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/helm_common_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/helm_common_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/helm_common_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_state_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_state_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_state_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/__init__.py compile-2.6!skip
|
||||
plugins/doc_fragments/__init__.py compile-2.7!skip
|
||||
plugins/doc_fragments/__init__.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py compile-3.5!skip
|
||||
plugins/module_utils/helm.py compile-2.6!skip
|
||||
plugins/module_utils/helm.py compile-2.7!skip
|
||||
plugins/module_utils/helm.py compile-3.5!skip
|
||||
plugins/module_utils/apply.py compile-2.6!skip
|
||||
plugins/module_utils/apply.py compile-2.7!skip
|
||||
plugins/module_utils/apply.py compile-3.5!skip
|
||||
plugins/module_utils/hashes.py compile-2.6!skip
|
||||
plugins/module_utils/hashes.py compile-2.7!skip
|
||||
plugins/module_utils/hashes.py compile-3.5!skip
|
||||
plugins/module_utils/helm_args_common.py compile-2.6!skip
|
||||
plugins/module_utils/helm_args_common.py compile-2.7!skip
|
||||
plugins/module_utils/helm_args_common.py compile-3.5!skip
|
||||
plugins/module_utils/version.py compile-2.6!skip
|
||||
plugins/module_utils/version.py compile-2.7!skip
|
||||
plugins/module_utils/version.py compile-3.5!skip
|
||||
plugins/module_utils/_version.py compile-2.6!skip
|
||||
plugins/module_utils/_version.py compile-2.7!skip
|
||||
plugins/module_utils/_version.py compile-3.5!skip
|
||||
plugins/module_utils/copy.py compile-2.6!skip
|
||||
plugins/module_utils/copy.py compile-2.7!skip
|
||||
plugins/module_utils/copy.py compile-3.5!skip
|
||||
plugins/module_utils/args_common.py compile-2.6!skip
|
||||
plugins/module_utils/args_common.py compile-2.7!skip
|
||||
plugins/module_utils/args_common.py compile-3.5!skip
|
||||
plugins/module_utils/__init__.py compile-2.6!skip
|
||||
plugins/module_utils/__init__.py compile-2.7!skip
|
||||
plugins/module_utils/__init__.py compile-3.5!skip
|
||||
plugins/module_utils/selector.py compile-2.6!skip
|
||||
plugins/module_utils/selector.py compile-2.7!skip
|
||||
plugins/module_utils/selector.py compile-3.5!skip
|
||||
plugins/module_utils/k8sdynamicclient.py compile-2.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py compile-2.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py compile-3.5!skip
|
||||
plugins/module_utils/common.py compile-2.6!skip
|
||||
plugins/module_utils/common.py compile-2.7!skip
|
||||
plugins/module_utils/common.py compile-3.5!skip
|
||||
plugins/module_utils/ansiblemodule.py compile-2.6!skip
|
||||
plugins/module_utils/ansiblemodule.py compile-2.7!skip
|
||||
plugins/module_utils/ansiblemodule.py compile-3.5!skip
|
||||
plugins/module_utils/exceptions.py compile-2.6!skip
|
||||
plugins/module_utils/exceptions.py compile-2.7!skip
|
||||
plugins/module_utils/exceptions.py compile-3.5!skip
|
||||
plugins/module_utils/client/resource.py compile-2.6!skip
|
||||
plugins/module_utils/client/resource.py compile-2.7!skip
|
||||
plugins/module_utils/client/resource.py compile-3.5!skip
|
||||
plugins/module_utils/client/discovery.py compile-2.6!skip
|
||||
plugins/module_utils/client/discovery.py compile-2.7!skip
|
||||
plugins/module_utils/client/discovery.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/resource.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/resource.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/resource.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/core.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/core.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/core.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/waiter.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/waiter.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/waiter.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/client.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/client.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/client.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/runner.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/runner.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/runner.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/service.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/service.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/service.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/exceptions.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/exceptions.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/exceptions.py compile-3.5!skip
|
||||
plugins/connection/kubectl.py compile-2.6!skip
|
||||
plugins/connection/kubectl.py compile-2.7!skip
|
||||
plugins/connection/kubectl.py compile-3.5!skip
|
||||
plugins/inventory/k8s.py compile-2.6!skip
|
||||
plugins/inventory/k8s.py compile-2.7!skip
|
||||
plugins/inventory/k8s.py compile-3.5!skip
|
||||
plugins/lookup/k8s.py compile-2.6!skip
|
||||
plugins/lookup/k8s.py compile-2.7!skip
|
||||
plugins/lookup/k8s.py compile-3.5!skip
|
||||
plugins/lookup/kustomize.py compile-2.6!skip
|
||||
plugins/lookup/kustomize.py compile-2.7!skip
|
||||
plugins/lookup/kustomize.py compile-3.5!skip
|
||||
plugins/modules/k8s_scale.py compile-2.6!skip
|
||||
plugins/modules/k8s_scale.py compile-2.7!skip
|
||||
plugins/modules/k8s_scale.py compile-3.5!skip
|
||||
plugins/modules/helm_template.py compile-2.6!skip
|
||||
plugins/modules/helm_template.py compile-2.7!skip
|
||||
plugins/modules/helm_template.py compile-3.5!skip
|
||||
plugins/modules/k8s_exec.py compile-2.6!skip
|
||||
plugins/modules/k8s_exec.py compile-2.7!skip
|
||||
plugins/modules/k8s_exec.py compile-3.5!skip
|
||||
plugins/modules/helm.py compile-2.6!skip
|
||||
plugins/modules/helm.py compile-2.7!skip
|
||||
plugins/modules/helm.py compile-3.5!skip
|
||||
plugins/modules/helm_plugin_info.py compile-2.6!skip
|
||||
plugins/modules/helm_plugin_info.py compile-2.7!skip
|
||||
plugins/modules/helm_plugin_info.py compile-3.5!skip
|
||||
plugins/modules/helm_info.py compile-2.6!skip
|
||||
plugins/modules/helm_info.py compile-2.7!skip
|
||||
plugins/modules/helm_info.py compile-3.5!skip
|
||||
plugins/modules/helm_repository.py compile-2.6!skip
|
||||
plugins/modules/helm_repository.py compile-2.7!skip
|
||||
plugins/modules/helm_repository.py compile-3.5!skip
|
||||
plugins/modules/k8s_rollback.py compile-2.6!skip
|
||||
plugins/modules/k8s_rollback.py compile-2.7!skip
|
||||
plugins/modules/k8s_rollback.py compile-3.5!skip
|
||||
plugins/modules/k8s_log.py compile-2.6!skip
|
||||
plugins/modules/k8s_log.py compile-2.7!skip
|
||||
plugins/modules/k8s_log.py compile-3.5!skip
|
||||
plugins/modules/k8s_drain.py compile-2.6!skip
|
||||
plugins/modules/k8s_drain.py compile-2.7!skip
|
||||
plugins/modules/k8s_drain.py compile-3.5!skip
|
||||
plugins/modules/helm_plugin.py compile-2.6!skip
|
||||
plugins/modules/helm_plugin.py compile-2.7!skip
|
||||
plugins/modules/helm_plugin.py compile-3.5!skip
|
||||
plugins/modules/k8s_taint.py compile-2.6!skip
|
||||
plugins/modules/k8s_taint.py compile-2.7!skip
|
||||
plugins/modules/k8s_taint.py compile-3.5!skip
|
||||
plugins/modules/k8s.py compile-2.6!skip
|
||||
plugins/modules/k8s.py compile-2.7!skip
|
||||
plugins/modules/k8s.py compile-3.5!skip
|
||||
plugins/modules/k8s_service.py compile-2.6!skip
|
||||
plugins/modules/k8s_service.py compile-2.7!skip
|
||||
plugins/modules/k8s_service.py compile-3.5!skip
|
||||
plugins/modules/k8s_cluster_info.py compile-2.6!skip
|
||||
plugins/modules/k8s_cluster_info.py compile-2.7!skip
|
||||
plugins/modules/k8s_cluster_info.py compile-3.5!skip
|
||||
plugins/modules/k8s_info.py compile-2.6!skip
|
||||
plugins/modules/k8s_info.py compile-2.7!skip
|
||||
plugins/modules/k8s_info.py compile-3.5!skip
|
||||
plugins/modules/k8s_cp.py compile-2.6!skip
|
||||
plugins/modules/k8s_cp.py compile-2.7!skip
|
||||
plugins/modules/k8s_cp.py compile-3.5!skip
|
||||
plugins/modules/__init__.py compile-2.6!skip
|
||||
plugins/modules/__init__.py compile-2.7!skip
|
||||
plugins/modules/__init__.py compile-3.5!skip
|
||||
plugins/modules/k8s_json_patch.py compile-2.6!skip
|
||||
plugins/modules/k8s_json_patch.py compile-2.7!skip
|
||||
plugins/modules/k8s_json_patch.py compile-3.5!skip
|
||||
plugins/action/k8s_info.py compile-2.6!skip
|
||||
plugins/action/k8s_info.py compile-2.7!skip
|
||||
plugins/action/k8s_info.py compile-3.5!skip
|
||||
plugins/filter/k8s.py compile-2.6!skip
|
||||
plugins/filter/k8s.py compile-2.7!skip
|
||||
plugins/filter/k8s.py compile-3.5!skip
|
||||
tests/unit/conftest.py compile-2.6!skip
|
||||
tests/unit/conftest.py compile-2.7!skip
|
||||
tests/unit/conftest.py compile-3.5!skip
|
||||
tests/unit/utils/ansible_module_mock.py compile-2.6!skip
|
||||
tests/unit/utils/ansible_module_mock.py compile-2.7!skip
|
||||
tests/unit/utils/ansible_module_mock.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_helm.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_helm.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_helm.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_marshal.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_marshal.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_marshal.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_discoverer.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_discoverer.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_discoverer.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_hashes.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_hashes.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_hashes.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_resource.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_resource.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_resource.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_service.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_service.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_service.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_waiter.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_waiter.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_waiter.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_common.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_common.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_common.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_selector.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_selector.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_selector.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_apply.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_apply.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_apply.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_runner.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_runner.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_runner.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_client.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_client.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_client.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_core.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_core.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_core.py compile-3.5!skip
|
||||
tests/unit/modules/test_helm_template_module.py compile-2.6!skip
|
||||
tests/unit/modules/test_helm_template_module.py compile-2.7!skip
|
||||
tests/unit/modules/test_helm_template_module.py compile-3.5!skip
|
||||
tests/unit/modules/test_helm_template.py compile-2.6!skip
|
||||
tests/unit/modules/test_helm_template.py compile-2.7!skip
|
||||
tests/unit/modules/test_helm_template.py compile-3.5!skip
|
||||
tests/unit/modules/test_module_helm.py compile-2.6!skip
|
||||
tests/unit/modules/test_module_helm.py compile-2.7!skip
|
||||
tests/unit/modules/test_module_helm.py compile-3.5!skip
|
||||
tests/unit/action/test_remove_omit.py compile-2.6!skip
|
||||
tests/unit/action/test_remove_omit.py compile-2.7!skip
|
||||
tests/unit/action/test_remove_omit.py compile-3.5!skip
|
||||
tests/integration/targets/k8s_copy/library/k8s_create_file.py compile-2.6!skip
|
||||
tests/integration/targets/k8s_copy/library/k8s_create_file.py compile-2.7!skip
|
||||
tests/integration/targets/k8s_copy/library/k8s_create_file.py compile-3.5!skip
|
||||
tests/integration/targets/k8s_copy/library/kubectl_file_compare.py compile-2.6!skip
|
||||
tests/integration/targets/k8s_copy/library/kubectl_file_compare.py compile-2.7!skip
|
||||
tests/integration/targets/k8s_copy/library/kubectl_file_compare.py compile-3.5!skip
|
||||
tests/integration/targets/setup_kubeconfig/library/test_inventory_read_credentials.py compile-2.6!skip
|
||||
tests/integration/targets/setup_kubeconfig/library/test_inventory_read_credentials.py compile-2.7!skip
|
||||
tests/integration/targets/setup_kubeconfig/library/test_inventory_read_credentials.py compile-3.5!skip
|
||||
tests/integration/targets/helm/library/helm_test_version.py compile-2.6!skip
|
||||
tests/integration/targets/helm/library/helm_test_version.py compile-2.7!skip
|
||||
tests/integration/targets/helm/library/helm_test_version.py compile-3.5!skip
|
||||
plugins/modules/k8s_scale.py pylint!skip
|
||||
plugins/modules/helm_template.py pylint!skip
|
||||
plugins/modules/k8s_exec.py pylint!skip
|
||||
plugins/modules/helm.py pylint!skip
|
||||
plugins/modules/helm_plugin_info.py pylint!skip
|
||||
plugins/modules/helm_info.py pylint!skip
|
||||
plugins/modules/helm_repository.py pylint!skip
|
||||
plugins/modules/k8s_rollback.py pylint!skip
|
||||
plugins/modules/k8s_log.py pylint!skip
|
||||
plugins/modules/k8s_drain.py pylint!skip
|
||||
plugins/modules/helm_plugin.py pylint!skip
|
||||
plugins/modules/k8s_taint.py pylint!skip
|
||||
plugins/modules/k8s.py pylint!skip
|
||||
plugins/modules/k8s_service.py pylint!skip
|
||||
plugins/modules/k8s_cluster_info.py pylint!skip
|
||||
plugins/modules/k8s_info.py pylint!skip
|
||||
plugins/modules/k8s_cp.py pylint!skip
|
||||
plugins/modules/__init__.py pylint!skip
|
||||
plugins/modules/k8s_json_patch.py pylint!skip
|
||||
plugins/module_utils/helm.py pylint!skip
|
||||
plugins/module_utils/apply.py pylint!skip
|
||||
plugins/module_utils/hashes.py pylint!skip
|
||||
plugins/module_utils/helm_args_common.py pylint!skip
|
||||
plugins/module_utils/version.py pylint!skip
|
||||
plugins/module_utils/_version.py pylint!skip
|
||||
plugins/module_utils/copy.py pylint!skip
|
||||
plugins/module_utils/args_common.py pylint!skip
|
||||
plugins/module_utils/__init__.py pylint!skip
|
||||
plugins/module_utils/selector.py pylint!skip
|
||||
plugins/module_utils/k8sdynamicclient.py pylint!skip
|
||||
plugins/module_utils/common.py pylint!skip
|
||||
plugins/module_utils/ansiblemodule.py pylint!skip
|
||||
plugins/module_utils/exceptions.py pylint!skip
|
||||
plugins/module_utils/client/resource.py pylint!skip
|
||||
plugins/module_utils/client/discovery.py pylint!skip
|
||||
plugins/module_utils/k8s/resource.py pylint!skip
|
||||
plugins/module_utils/k8s/core.py pylint!skip
|
||||
plugins/module_utils/k8s/waiter.py pylint!skip
|
||||
plugins/module_utils/k8s/client.py pylint!skip
|
||||
plugins/module_utils/k8s/runner.py pylint!skip
|
||||
plugins/module_utils/k8s/service.py pylint!skip
|
||||
plugins/module_utils/k8s/exceptions.py pylint!skip
|
||||
tests/integration/targets/k8s_copy/library/k8s_create_file.py pylint!skip
|
||||
tests/integration/targets/k8s_copy/library/kubectl_file_compare.py pylint!skip
|
||||
tests/integration/targets/setup_kubeconfig/library/test_inventory_read_credentials.py pylint!skip
|
||||
tests/integration/targets/helm/library/helm_test_version.py pylint!skip
|
||||
tests/unit/conftest.py pylint!skip
|
||||
tests/unit/utils/ansible_module_mock.py pylint!skip
|
||||
tests/unit/module_utils/test_helm.py pylint!skip
|
||||
tests/unit/module_utils/test_marshal.py pylint!skip
|
||||
tests/unit/module_utils/test_discoverer.py pylint!skip
|
||||
tests/unit/module_utils/test_hashes.py pylint!skip
|
||||
tests/unit/module_utils/test_resource.py pylint!skip
|
||||
tests/unit/module_utils/test_service.py pylint!skip
|
||||
tests/unit/module_utils/test_waiter.py pylint!skip
|
||||
tests/unit/module_utils/test_common.py pylint!skip
|
||||
tests/unit/module_utils/test_selector.py pylint!skip
|
||||
tests/unit/module_utils/test_apply.py pylint!skip
|
||||
tests/unit/module_utils/test_runner.py pylint!skip
|
||||
tests/unit/module_utils/test_client.py pylint!skip
|
||||
tests/unit/module_utils/test_core.py pylint!skip
|
||||
tests/unit/modules/test_helm_template_module.py pylint!skip
|
||||
tests/unit/modules/test_helm_template.py pylint!skip
|
||||
tests/unit/modules/test_module_helm.py pylint!skip
|
||||
tests/unit/action/test_remove_omit.py pylint!skip
|
||||
plugins/modules/k8s.py validate-modules!skip
|
||||
plugins/modules/k8s_cp.py validate-modules!skip
|
||||
plugins/modules/k8s_drain.py validate-modules!skip
|
||||
plugins/modules/k8s_exec.py validate-modules!skip
|
||||
plugins/modules/k8s_info.py validate-modules!skip
|
||||
plugins/modules/k8s_json_patch.py validate-modules!skip
|
||||
plugins/modules/k8s_log.py validate-modules!skip
|
||||
plugins/modules/k8s_rollback.py validate-modules!skip
|
||||
plugins/modules/k8s_scale.py validate-modules!skip
|
||||
plugins/modules/k8s_service.py validate-modules!skip
|
||||
plugins/modules/k8s_taint.py validate-modules!skip
|
||||
@@ -1,593 +0,0 @@
|
||||
plugins/module_utils/client/discovery.py import-3.6!skip
|
||||
plugins/module_utils/client/discovery.py import-3.7!skip
|
||||
plugins/module_utils/client/discovery.py import-3.8!skip
|
||||
plugins/module_utils/client/discovery.py import-3.9!skip
|
||||
plugins/module_utils/client/resource.py import-3.6!skip
|
||||
plugins/module_utils/client/resource.py import-3.7!skip
|
||||
plugins/module_utils/client/resource.py import-3.8!skip
|
||||
plugins/module_utils/client/resource.py import-3.9!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.8!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.9!skip
|
||||
plugins/modules/k8s.py validate-modules:parameter-type-not-in-doc
|
||||
plugins/modules/k8s_scale.py validate-modules:parameter-type-not-in-doc
|
||||
plugins/modules/k8s_service.py validate-modules:parameter-type-not-in-doc
|
||||
tests/unit/module_utils/fixtures/definitions.yml yamllint!skip
|
||||
tests/unit/module_utils/fixtures/deployments.yml yamllint!skip
|
||||
tests/unit/module_utils/fixtures/pods.yml yamllint!skip
|
||||
tests/integration/targets/helm/files/appversionless-chart-v2/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm/files/appversionless-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm/files/test-chart-v2/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm_diff/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/k8s_scale/files/deployment.yaml yamllint!skip
|
||||
tests/sanity/refresh_ignore_files shebang!skip
|
||||
plugins/modules/k8s.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_scale.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_service.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_taint.py validate-modules:return-syntax-error
|
||||
plugins/doc_fragments/k8s_name_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/helm_common_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_state_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/__init__.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py future-import-boilerplate!skip
|
||||
plugins/module_utils/helm.py future-import-boilerplate!skip
|
||||
plugins/module_utils/apply.py future-import-boilerplate!skip
|
||||
plugins/module_utils/hashes.py future-import-boilerplate!skip
|
||||
plugins/module_utils/helm_args_common.py future-import-boilerplate!skip
|
||||
plugins/module_utils/version.py future-import-boilerplate!skip
|
||||
plugins/module_utils/_version.py future-import-boilerplate!skip
|
||||
plugins/module_utils/copy.py future-import-boilerplate!skip
|
||||
plugins/module_utils/args_common.py future-import-boilerplate!skip
|
||||
plugins/module_utils/__init__.py future-import-boilerplate!skip
|
||||
plugins/module_utils/selector.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8sdynamicclient.py future-import-boilerplate!skip
|
||||
plugins/module_utils/common.py future-import-boilerplate!skip
|
||||
plugins/module_utils/ansiblemodule.py future-import-boilerplate!skip
|
||||
plugins/module_utils/exceptions.py future-import-boilerplate!skip
|
||||
plugins/module_utils/client/resource.py future-import-boilerplate!skip
|
||||
plugins/module_utils/client/discovery.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/resource.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/core.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/waiter.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/client.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/runner.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/service.py future-import-boilerplate!skip
|
||||
plugins/module_utils/k8s/exceptions.py future-import-boilerplate!skip
|
||||
plugins/connection/kubectl.py future-import-boilerplate!skip
|
||||
plugins/inventory/k8s.py future-import-boilerplate!skip
|
||||
plugins/lookup/k8s.py future-import-boilerplate!skip
|
||||
plugins/lookup/kustomize.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_scale.py future-import-boilerplate!skip
|
||||
plugins/modules/helm_template.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_exec.py future-import-boilerplate!skip
|
||||
plugins/modules/helm.py future-import-boilerplate!skip
|
||||
plugins/modules/helm_plugin_info.py future-import-boilerplate!skip
|
||||
plugins/modules/helm_info.py future-import-boilerplate!skip
|
||||
plugins/modules/helm_repository.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_rollback.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_log.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_drain.py future-import-boilerplate!skip
|
||||
plugins/modules/helm_plugin.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_taint.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_service.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_cluster_info.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_info.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_cp.py future-import-boilerplate!skip
|
||||
plugins/modules/__init__.py future-import-boilerplate!skip
|
||||
plugins/modules/k8s_json_patch.py future-import-boilerplate!skip
|
||||
plugins/action/k8s_info.py future-import-boilerplate!skip
|
||||
plugins/filter/k8s.py future-import-boilerplate!skip
|
||||
tests/unit/conftest.py future-import-boilerplate!skip
|
||||
tests/unit/utils/ansible_module_mock.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_helm.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_marshal.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_discoverer.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_hashes.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_resource.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_service.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_waiter.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_common.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_selector.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_apply.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_runner.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_client.py future-import-boilerplate!skip
|
||||
tests/unit/module_utils/test_core.py future-import-boilerplate!skip
|
||||
tests/unit/modules/test_helm_template_module.py future-import-boilerplate!skip
|
||||
tests/unit/modules/test_helm_template.py future-import-boilerplate!skip
|
||||
tests/unit/modules/test_module_helm.py future-import-boilerplate!skip
|
||||
tests/unit/action/test_remove_omit.py future-import-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_name_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/helm_common_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_state_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/__init__.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/helm.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/apply.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/hashes.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/helm_args_common.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/version.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/_version.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/copy.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/args_common.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/__init__.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/selector.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8sdynamicclient.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/common.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/ansiblemodule.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/exceptions.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/client/resource.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/client/discovery.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/resource.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/core.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/waiter.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/client.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/runner.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/service.py metaclass-boilerplate!skip
|
||||
plugins/module_utils/k8s/exceptions.py metaclass-boilerplate!skip
|
||||
plugins/connection/kubectl.py metaclass-boilerplate!skip
|
||||
plugins/inventory/k8s.py metaclass-boilerplate!skip
|
||||
plugins/lookup/k8s.py metaclass-boilerplate!skip
|
||||
plugins/lookup/kustomize.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_scale.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm_template.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_exec.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm_plugin_info.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm_info.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm_repository.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_rollback.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_log.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_drain.py metaclass-boilerplate!skip
|
||||
plugins/modules/helm_plugin.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_taint.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_service.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_cluster_info.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_info.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_cp.py metaclass-boilerplate!skip
|
||||
plugins/modules/__init__.py metaclass-boilerplate!skip
|
||||
plugins/modules/k8s_json_patch.py metaclass-boilerplate!skip
|
||||
plugins/action/k8s_info.py metaclass-boilerplate!skip
|
||||
plugins/filter/k8s.py metaclass-boilerplate!skip
|
||||
tests/unit/conftest.py metaclass-boilerplate!skip
|
||||
tests/unit/utils/ansible_module_mock.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_helm.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_marshal.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_discoverer.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_hashes.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_resource.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_service.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_waiter.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_common.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_selector.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_apply.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_runner.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_client.py metaclass-boilerplate!skip
|
||||
tests/unit/module_utils/test_core.py metaclass-boilerplate!skip
|
||||
tests/unit/modules/test_helm_template_module.py metaclass-boilerplate!skip
|
||||
tests/unit/modules/test_helm_template.py metaclass-boilerplate!skip
|
||||
tests/unit/modules/test_module_helm.py metaclass-boilerplate!skip
|
||||
tests/unit/action/test_remove_omit.py metaclass-boilerplate!skip
|
||||
plugins/doc_fragments/k8s_name_options.py import-2.6!skip
|
||||
plugins/doc_fragments/k8s_name_options.py import-2.7!skip
|
||||
plugins/doc_fragments/k8s_name_options.py import-3.5!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py import-2.6!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py import-2.7!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py import-3.5!skip
|
||||
plugins/doc_fragments/helm_common_options.py import-2.6!skip
|
||||
plugins/doc_fragments/helm_common_options.py import-2.7!skip
|
||||
plugins/doc_fragments/helm_common_options.py import-3.5!skip
|
||||
plugins/doc_fragments/k8s_state_options.py import-2.6!skip
|
||||
plugins/doc_fragments/k8s_state_options.py import-2.7!skip
|
||||
plugins/doc_fragments/k8s_state_options.py import-3.5!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py import-2.6!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py import-2.7!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py import-3.5!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py import-2.6!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py import-2.7!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py import-3.5!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py import-2.6!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py import-2.7!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py import-3.5!skip
|
||||
plugins/doc_fragments/__init__.py import-2.6!skip
|
||||
plugins/doc_fragments/__init__.py import-2.7!skip
|
||||
plugins/doc_fragments/__init__.py import-3.5!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py import-2.6!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py import-2.7!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py import-3.5!skip
|
||||
plugins/module_utils/helm.py import-2.6!skip
|
||||
plugins/module_utils/helm.py import-2.7!skip
|
||||
plugins/module_utils/helm.py import-3.5!skip
|
||||
plugins/module_utils/apply.py import-2.6!skip
|
||||
plugins/module_utils/apply.py import-2.7!skip
|
||||
plugins/module_utils/apply.py import-3.5!skip
|
||||
plugins/module_utils/hashes.py import-2.6!skip
|
||||
plugins/module_utils/hashes.py import-2.7!skip
|
||||
plugins/module_utils/hashes.py import-3.5!skip
|
||||
plugins/module_utils/helm_args_common.py import-2.6!skip
|
||||
plugins/module_utils/helm_args_common.py import-2.7!skip
|
||||
plugins/module_utils/helm_args_common.py import-3.5!skip
|
||||
plugins/module_utils/version.py import-2.6!skip
|
||||
plugins/module_utils/version.py import-2.7!skip
|
||||
plugins/module_utils/version.py import-3.5!skip
|
||||
plugins/module_utils/_version.py import-2.6!skip
|
||||
plugins/module_utils/_version.py import-2.7!skip
|
||||
plugins/module_utils/_version.py import-3.5!skip
|
||||
plugins/module_utils/copy.py import-2.6!skip
|
||||
plugins/module_utils/copy.py import-2.7!skip
|
||||
plugins/module_utils/copy.py import-3.5!skip
|
||||
plugins/module_utils/args_common.py import-2.6!skip
|
||||
plugins/module_utils/args_common.py import-2.7!skip
|
||||
plugins/module_utils/args_common.py import-3.5!skip
|
||||
plugins/module_utils/__init__.py import-2.6!skip
|
||||
plugins/module_utils/__init__.py import-2.7!skip
|
||||
plugins/module_utils/__init__.py import-3.5!skip
|
||||
plugins/module_utils/selector.py import-2.6!skip
|
||||
plugins/module_utils/selector.py import-2.7!skip
|
||||
plugins/module_utils/selector.py import-3.5!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-2.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-2.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.5!skip
|
||||
plugins/module_utils/common.py import-2.6!skip
|
||||
plugins/module_utils/common.py import-2.7!skip
|
||||
plugins/module_utils/common.py import-3.5!skip
|
||||
plugins/module_utils/ansiblemodule.py import-2.6!skip
|
||||
plugins/module_utils/ansiblemodule.py import-2.7!skip
|
||||
plugins/module_utils/ansiblemodule.py import-3.5!skip
|
||||
plugins/module_utils/exceptions.py import-2.6!skip
|
||||
plugins/module_utils/exceptions.py import-2.7!skip
|
||||
plugins/module_utils/exceptions.py import-3.5!skip
|
||||
plugins/module_utils/client/resource.py import-2.6!skip
|
||||
plugins/module_utils/client/resource.py import-2.7!skip
|
||||
plugins/module_utils/client/resource.py import-3.5!skip
|
||||
plugins/module_utils/client/discovery.py import-2.6!skip
|
||||
plugins/module_utils/client/discovery.py import-2.7!skip
|
||||
plugins/module_utils/client/discovery.py import-3.5!skip
|
||||
plugins/module_utils/k8s/resource.py import-2.6!skip
|
||||
plugins/module_utils/k8s/resource.py import-2.7!skip
|
||||
plugins/module_utils/k8s/resource.py import-3.5!skip
|
||||
plugins/module_utils/k8s/core.py import-2.6!skip
|
||||
plugins/module_utils/k8s/core.py import-2.7!skip
|
||||
plugins/module_utils/k8s/core.py import-3.5!skip
|
||||
plugins/module_utils/k8s/waiter.py import-2.6!skip
|
||||
plugins/module_utils/k8s/waiter.py import-2.7!skip
|
||||
plugins/module_utils/k8s/waiter.py import-3.5!skip
|
||||
plugins/module_utils/k8s/client.py import-2.6!skip
|
||||
plugins/module_utils/k8s/client.py import-2.7!skip
|
||||
plugins/module_utils/k8s/client.py import-3.5!skip
|
||||
plugins/module_utils/k8s/runner.py import-2.6!skip
|
||||
plugins/module_utils/k8s/runner.py import-2.7!skip
|
||||
plugins/module_utils/k8s/runner.py import-3.5!skip
|
||||
plugins/module_utils/k8s/service.py import-2.6!skip
|
||||
plugins/module_utils/k8s/service.py import-2.7!skip
|
||||
plugins/module_utils/k8s/service.py import-3.5!skip
|
||||
plugins/module_utils/k8s/exceptions.py import-2.6!skip
|
||||
plugins/module_utils/k8s/exceptions.py import-2.7!skip
|
||||
plugins/module_utils/k8s/exceptions.py import-3.5!skip
|
||||
plugins/connection/kubectl.py import-2.6!skip
|
||||
plugins/connection/kubectl.py import-2.7!skip
|
||||
plugins/connection/kubectl.py import-3.5!skip
|
||||
plugins/inventory/k8s.py import-2.6!skip
|
||||
plugins/inventory/k8s.py import-2.7!skip
|
||||
plugins/inventory/k8s.py import-3.5!skip
|
||||
plugins/lookup/k8s.py import-2.6!skip
|
||||
plugins/lookup/k8s.py import-2.7!skip
|
||||
plugins/lookup/k8s.py import-3.5!skip
|
||||
plugins/lookup/kustomize.py import-2.6!skip
|
||||
plugins/lookup/kustomize.py import-2.7!skip
|
||||
plugins/lookup/kustomize.py import-3.5!skip
|
||||
plugins/modules/k8s_scale.py import-2.6!skip
|
||||
plugins/modules/k8s_scale.py import-2.7!skip
|
||||
plugins/modules/k8s_scale.py import-3.5!skip
|
||||
plugins/modules/helm_template.py import-2.6!skip
|
||||
plugins/modules/helm_template.py import-2.7!skip
|
||||
plugins/modules/helm_template.py import-3.5!skip
|
||||
plugins/modules/k8s_exec.py import-2.6!skip
|
||||
plugins/modules/k8s_exec.py import-2.7!skip
|
||||
plugins/modules/k8s_exec.py import-3.5!skip
|
||||
plugins/modules/helm.py import-2.6!skip
|
||||
plugins/modules/helm.py import-2.7!skip
|
||||
plugins/modules/helm.py import-3.5!skip
|
||||
plugins/modules/helm_plugin_info.py import-2.6!skip
|
||||
plugins/modules/helm_plugin_info.py import-2.7!skip
|
||||
plugins/modules/helm_plugin_info.py import-3.5!skip
|
||||
plugins/modules/helm_info.py import-2.6!skip
|
||||
plugins/modules/helm_info.py import-2.7!skip
|
||||
plugins/modules/helm_info.py import-3.5!skip
|
||||
plugins/modules/helm_repository.py import-2.6!skip
|
||||
plugins/modules/helm_repository.py import-2.7!skip
|
||||
plugins/modules/helm_repository.py import-3.5!skip
|
||||
plugins/modules/k8s_rollback.py import-2.6!skip
|
||||
plugins/modules/k8s_rollback.py import-2.7!skip
|
||||
plugins/modules/k8s_rollback.py import-3.5!skip
|
||||
plugins/modules/k8s_log.py import-2.6!skip
|
||||
plugins/modules/k8s_log.py import-2.7!skip
|
||||
plugins/modules/k8s_log.py import-3.5!skip
|
||||
plugins/modules/k8s_drain.py import-2.6!skip
|
||||
plugins/modules/k8s_drain.py import-2.7!skip
|
||||
plugins/modules/k8s_drain.py import-3.5!skip
|
||||
plugins/modules/helm_plugin.py import-2.6!skip
|
||||
plugins/modules/helm_plugin.py import-2.7!skip
|
||||
plugins/modules/helm_plugin.py import-3.5!skip
|
||||
plugins/modules/k8s_taint.py import-2.6!skip
|
||||
plugins/modules/k8s_taint.py import-2.7!skip
|
||||
plugins/modules/k8s_taint.py import-3.5!skip
|
||||
plugins/modules/k8s.py import-2.6!skip
|
||||
plugins/modules/k8s.py import-2.7!skip
|
||||
plugins/modules/k8s.py import-3.5!skip
|
||||
plugins/modules/k8s_service.py import-2.6!skip
|
||||
plugins/modules/k8s_service.py import-2.7!skip
|
||||
plugins/modules/k8s_service.py import-3.5!skip
|
||||
plugins/modules/k8s_cluster_info.py import-2.6!skip
|
||||
plugins/modules/k8s_cluster_info.py import-2.7!skip
|
||||
plugins/modules/k8s_cluster_info.py import-3.5!skip
|
||||
plugins/modules/k8s_info.py import-2.6!skip
|
||||
plugins/modules/k8s_info.py import-2.7!skip
|
||||
plugins/modules/k8s_info.py import-3.5!skip
|
||||
plugins/modules/k8s_cp.py import-2.6!skip
|
||||
plugins/modules/k8s_cp.py import-2.7!skip
|
||||
plugins/modules/k8s_cp.py import-3.5!skip
|
||||
plugins/modules/__init__.py import-2.6!skip
|
||||
plugins/modules/__init__.py import-2.7!skip
|
||||
plugins/modules/__init__.py import-3.5!skip
|
||||
plugins/modules/k8s_json_patch.py import-2.6!skip
|
||||
plugins/modules/k8s_json_patch.py import-2.7!skip
|
||||
plugins/modules/k8s_json_patch.py import-3.5!skip
|
||||
plugins/action/k8s_info.py import-2.6!skip
|
||||
plugins/action/k8s_info.py import-2.7!skip
|
||||
plugins/action/k8s_info.py import-3.5!skip
|
||||
plugins/filter/k8s.py import-2.6!skip
|
||||
plugins/filter/k8s.py import-2.7!skip
|
||||
plugins/filter/k8s.py import-3.5!skip
|
||||
plugins/doc_fragments/k8s_name_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_name_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_name_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_auth_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/helm_common_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/helm_common_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/helm_common_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_state_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_state_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_state_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_wait_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_scale_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_delete_options.py compile-3.5!skip
|
||||
plugins/doc_fragments/__init__.py compile-2.6!skip
|
||||
plugins/doc_fragments/__init__.py compile-2.7!skip
|
||||
plugins/doc_fragments/__init__.py compile-3.5!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py compile-2.6!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py compile-2.7!skip
|
||||
plugins/doc_fragments/k8s_resource_options.py compile-3.5!skip
|
||||
plugins/module_utils/helm.py compile-2.6!skip
|
||||
plugins/module_utils/helm.py compile-2.7!skip
|
||||
plugins/module_utils/helm.py compile-3.5!skip
|
||||
plugins/module_utils/apply.py compile-2.6!skip
|
||||
plugins/module_utils/apply.py compile-2.7!skip
|
||||
plugins/module_utils/apply.py compile-3.5!skip
|
||||
plugins/module_utils/hashes.py compile-2.6!skip
|
||||
plugins/module_utils/hashes.py compile-2.7!skip
|
||||
plugins/module_utils/hashes.py compile-3.5!skip
|
||||
plugins/module_utils/helm_args_common.py compile-2.6!skip
|
||||
plugins/module_utils/helm_args_common.py compile-2.7!skip
|
||||
plugins/module_utils/helm_args_common.py compile-3.5!skip
|
||||
plugins/module_utils/version.py compile-2.6!skip
|
||||
plugins/module_utils/version.py compile-2.7!skip
|
||||
plugins/module_utils/version.py compile-3.5!skip
|
||||
plugins/module_utils/_version.py compile-2.6!skip
|
||||
plugins/module_utils/_version.py compile-2.7!skip
|
||||
plugins/module_utils/_version.py compile-3.5!skip
|
||||
plugins/module_utils/copy.py compile-2.6!skip
|
||||
plugins/module_utils/copy.py compile-2.7!skip
|
||||
plugins/module_utils/copy.py compile-3.5!skip
|
||||
plugins/module_utils/args_common.py compile-2.6!skip
|
||||
plugins/module_utils/args_common.py compile-2.7!skip
|
||||
plugins/module_utils/args_common.py compile-3.5!skip
|
||||
plugins/module_utils/__init__.py compile-2.6!skip
|
||||
plugins/module_utils/__init__.py compile-2.7!skip
|
||||
plugins/module_utils/__init__.py compile-3.5!skip
|
||||
plugins/module_utils/selector.py compile-2.6!skip
|
||||
plugins/module_utils/selector.py compile-2.7!skip
|
||||
plugins/module_utils/selector.py compile-3.5!skip
|
||||
plugins/module_utils/k8sdynamicclient.py compile-2.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py compile-2.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py compile-3.5!skip
|
||||
plugins/module_utils/common.py compile-2.6!skip
|
||||
plugins/module_utils/common.py compile-2.7!skip
|
||||
plugins/module_utils/common.py compile-3.5!skip
|
||||
plugins/module_utils/ansiblemodule.py compile-2.6!skip
|
||||
plugins/module_utils/ansiblemodule.py compile-2.7!skip
|
||||
plugins/module_utils/ansiblemodule.py compile-3.5!skip
|
||||
plugins/module_utils/exceptions.py compile-2.6!skip
|
||||
plugins/module_utils/exceptions.py compile-2.7!skip
|
||||
plugins/module_utils/exceptions.py compile-3.5!skip
|
||||
plugins/module_utils/client/resource.py compile-2.6!skip
|
||||
plugins/module_utils/client/resource.py compile-2.7!skip
|
||||
plugins/module_utils/client/resource.py compile-3.5!skip
|
||||
plugins/module_utils/client/discovery.py compile-2.6!skip
|
||||
plugins/module_utils/client/discovery.py compile-2.7!skip
|
||||
plugins/module_utils/client/discovery.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/resource.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/resource.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/resource.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/core.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/core.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/core.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/waiter.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/waiter.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/waiter.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/client.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/client.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/client.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/runner.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/runner.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/runner.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/service.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/service.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/service.py compile-3.5!skip
|
||||
plugins/module_utils/k8s/exceptions.py compile-2.6!skip
|
||||
plugins/module_utils/k8s/exceptions.py compile-2.7!skip
|
||||
plugins/module_utils/k8s/exceptions.py compile-3.5!skip
|
||||
plugins/connection/kubectl.py compile-2.6!skip
|
||||
plugins/connection/kubectl.py compile-2.7!skip
|
||||
plugins/connection/kubectl.py compile-3.5!skip
|
||||
plugins/inventory/k8s.py compile-2.6!skip
|
||||
plugins/inventory/k8s.py compile-2.7!skip
|
||||
plugins/inventory/k8s.py compile-3.5!skip
|
||||
plugins/lookup/k8s.py compile-2.6!skip
|
||||
plugins/lookup/k8s.py compile-2.7!skip
|
||||
plugins/lookup/k8s.py compile-3.5!skip
|
||||
plugins/lookup/kustomize.py compile-2.6!skip
|
||||
plugins/lookup/kustomize.py compile-2.7!skip
|
||||
plugins/lookup/kustomize.py compile-3.5!skip
|
||||
plugins/modules/k8s_scale.py compile-2.6!skip
|
||||
plugins/modules/k8s_scale.py compile-2.7!skip
|
||||
plugins/modules/k8s_scale.py compile-3.5!skip
|
||||
plugins/modules/helm_template.py compile-2.6!skip
|
||||
plugins/modules/helm_template.py compile-2.7!skip
|
||||
plugins/modules/helm_template.py compile-3.5!skip
|
||||
plugins/modules/k8s_exec.py compile-2.6!skip
|
||||
plugins/modules/k8s_exec.py compile-2.7!skip
|
||||
plugins/modules/k8s_exec.py compile-3.5!skip
|
||||
plugins/modules/helm.py compile-2.6!skip
|
||||
plugins/modules/helm.py compile-2.7!skip
|
||||
plugins/modules/helm.py compile-3.5!skip
|
||||
plugins/modules/helm_plugin_info.py compile-2.6!skip
|
||||
plugins/modules/helm_plugin_info.py compile-2.7!skip
|
||||
plugins/modules/helm_plugin_info.py compile-3.5!skip
|
||||
plugins/modules/helm_info.py compile-2.6!skip
|
||||
plugins/modules/helm_info.py compile-2.7!skip
|
||||
plugins/modules/helm_info.py compile-3.5!skip
|
||||
plugins/modules/helm_repository.py compile-2.6!skip
|
||||
plugins/modules/helm_repository.py compile-2.7!skip
|
||||
plugins/modules/helm_repository.py compile-3.5!skip
|
||||
plugins/modules/k8s_rollback.py compile-2.6!skip
|
||||
plugins/modules/k8s_rollback.py compile-2.7!skip
|
||||
plugins/modules/k8s_rollback.py compile-3.5!skip
|
||||
plugins/modules/k8s_log.py compile-2.6!skip
|
||||
plugins/modules/k8s_log.py compile-2.7!skip
|
||||
plugins/modules/k8s_log.py compile-3.5!skip
|
||||
plugins/modules/k8s_drain.py compile-2.6!skip
|
||||
plugins/modules/k8s_drain.py compile-2.7!skip
|
||||
plugins/modules/k8s_drain.py compile-3.5!skip
|
||||
plugins/modules/helm_plugin.py compile-2.6!skip
|
||||
plugins/modules/helm_plugin.py compile-2.7!skip
|
||||
plugins/modules/helm_plugin.py compile-3.5!skip
|
||||
plugins/modules/k8s_taint.py compile-2.6!skip
|
||||
plugins/modules/k8s_taint.py compile-2.7!skip
|
||||
plugins/modules/k8s_taint.py compile-3.5!skip
|
||||
plugins/modules/k8s.py compile-2.6!skip
|
||||
plugins/modules/k8s.py compile-2.7!skip
|
||||
plugins/modules/k8s.py compile-3.5!skip
|
||||
plugins/modules/k8s_service.py compile-2.6!skip
|
||||
plugins/modules/k8s_service.py compile-2.7!skip
|
||||
plugins/modules/k8s_service.py compile-3.5!skip
|
||||
plugins/modules/k8s_cluster_info.py compile-2.6!skip
|
||||
plugins/modules/k8s_cluster_info.py compile-2.7!skip
|
||||
plugins/modules/k8s_cluster_info.py compile-3.5!skip
|
||||
plugins/modules/k8s_info.py compile-2.6!skip
|
||||
plugins/modules/k8s_info.py compile-2.7!skip
|
||||
plugins/modules/k8s_info.py compile-3.5!skip
|
||||
plugins/modules/k8s_cp.py compile-2.6!skip
|
||||
plugins/modules/k8s_cp.py compile-2.7!skip
|
||||
plugins/modules/k8s_cp.py compile-3.5!skip
|
||||
plugins/modules/__init__.py compile-2.6!skip
|
||||
plugins/modules/__init__.py compile-2.7!skip
|
||||
plugins/modules/__init__.py compile-3.5!skip
|
||||
plugins/modules/k8s_json_patch.py compile-2.6!skip
|
||||
plugins/modules/k8s_json_patch.py compile-2.7!skip
|
||||
plugins/modules/k8s_json_patch.py compile-3.5!skip
|
||||
plugins/action/k8s_info.py compile-2.6!skip
|
||||
plugins/action/k8s_info.py compile-2.7!skip
|
||||
plugins/action/k8s_info.py compile-3.5!skip
|
||||
plugins/filter/k8s.py compile-2.6!skip
|
||||
plugins/filter/k8s.py compile-2.7!skip
|
||||
plugins/filter/k8s.py compile-3.5!skip
|
||||
tests/unit/conftest.py compile-2.6!skip
|
||||
tests/unit/conftest.py compile-2.7!skip
|
||||
tests/unit/conftest.py compile-3.5!skip
|
||||
tests/unit/utils/ansible_module_mock.py compile-2.6!skip
|
||||
tests/unit/utils/ansible_module_mock.py compile-2.7!skip
|
||||
tests/unit/utils/ansible_module_mock.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_helm.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_helm.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_helm.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_marshal.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_marshal.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_marshal.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_discoverer.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_discoverer.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_discoverer.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_hashes.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_hashes.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_hashes.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_resource.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_resource.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_resource.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_service.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_service.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_service.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_waiter.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_waiter.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_waiter.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_common.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_common.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_common.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_selector.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_selector.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_selector.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_apply.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_apply.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_apply.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_runner.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_runner.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_runner.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_client.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_client.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_client.py compile-3.5!skip
|
||||
tests/unit/module_utils/test_core.py compile-2.6!skip
|
||||
tests/unit/module_utils/test_core.py compile-2.7!skip
|
||||
tests/unit/module_utils/test_core.py compile-3.5!skip
|
||||
tests/unit/modules/test_helm_template_module.py compile-2.6!skip
|
||||
tests/unit/modules/test_helm_template_module.py compile-2.7!skip
|
||||
tests/unit/modules/test_helm_template_module.py compile-3.5!skip
|
||||
tests/unit/modules/test_helm_template.py compile-2.6!skip
|
||||
tests/unit/modules/test_helm_template.py compile-2.7!skip
|
||||
tests/unit/modules/test_helm_template.py compile-3.5!skip
|
||||
tests/unit/modules/test_module_helm.py compile-2.6!skip
|
||||
tests/unit/modules/test_module_helm.py compile-2.7!skip
|
||||
tests/unit/modules/test_module_helm.py compile-3.5!skip
|
||||
tests/unit/action/test_remove_omit.py compile-2.6!skip
|
||||
tests/unit/action/test_remove_omit.py compile-2.7!skip
|
||||
tests/unit/action/test_remove_omit.py compile-3.5!skip
|
||||
tests/integration/targets/k8s_copy/library/k8s_create_file.py compile-2.6!skip
|
||||
tests/integration/targets/k8s_copy/library/k8s_create_file.py compile-2.7!skip
|
||||
tests/integration/targets/k8s_copy/library/k8s_create_file.py compile-3.5!skip
|
||||
tests/integration/targets/k8s_copy/library/kubectl_file_compare.py compile-2.6!skip
|
||||
tests/integration/targets/k8s_copy/library/kubectl_file_compare.py compile-2.7!skip
|
||||
tests/integration/targets/k8s_copy/library/kubectl_file_compare.py compile-3.5!skip
|
||||
tests/integration/targets/setup_kubeconfig/library/test_inventory_read_credentials.py compile-2.6!skip
|
||||
tests/integration/targets/setup_kubeconfig/library/test_inventory_read_credentials.py compile-2.7!skip
|
||||
tests/integration/targets/setup_kubeconfig/library/test_inventory_read_credentials.py compile-3.5!skip
|
||||
tests/integration/targets/helm/library/helm_test_version.py compile-2.6!skip
|
||||
tests/integration/targets/helm/library/helm_test_version.py compile-2.7!skip
|
||||
tests/integration/targets/helm/library/helm_test_version.py compile-3.5!skip
|
||||
tests/integration/targets/k8s_delete/files/deployments.yaml yamllint!skip
|
||||
@@ -1,33 +0,0 @@
|
||||
plugins/module_utils/client/discovery.py import-3.6!skip
|
||||
plugins/module_utils/client/discovery.py import-3.7!skip
|
||||
plugins/module_utils/client/discovery.py import-3.8!skip
|
||||
plugins/module_utils/client/discovery.py import-3.9!skip
|
||||
plugins/module_utils/client/discovery.py import-3.10!skip
|
||||
plugins/module_utils/client/resource.py import-3.6!skip
|
||||
plugins/module_utils/client/resource.py import-3.7!skip
|
||||
plugins/module_utils/client/resource.py import-3.8!skip
|
||||
plugins/module_utils/client/resource.py import-3.9!skip
|
||||
plugins/module_utils/client/resource.py import-3.10!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.8!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.9!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.10!skip
|
||||
plugins/modules/k8s.py validate-modules:parameter-type-not-in-doc
|
||||
plugins/modules/k8s_scale.py validate-modules:parameter-type-not-in-doc
|
||||
plugins/modules/k8s_service.py validate-modules:parameter-type-not-in-doc
|
||||
tests/unit/module_utils/fixtures/definitions.yml yamllint!skip
|
||||
tests/unit/module_utils/fixtures/deployments.yml yamllint!skip
|
||||
tests/unit/module_utils/fixtures/pods.yml yamllint!skip
|
||||
tests/integration/targets/helm/files/appversionless-chart-v2/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm/files/appversionless-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm/files/test-chart-v2/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm_diff/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/k8s_scale/files/deployment.yaml yamllint!skip
|
||||
tests/sanity/refresh_ignore_files shebang!skip
|
||||
plugins/modules/k8s.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_scale.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_service.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_taint.py validate-modules:return-syntax-error
|
||||
tests/integration/targets/k8s_delete/files/deployments.yaml yamllint!skip
|
||||
@@ -1,18 +1,9 @@
|
||||
plugins/module_utils/client/discovery.py import-3.6!skip
|
||||
plugins/module_utils/client/discovery.py import-3.7!skip
|
||||
plugins/module_utils/client/discovery.py import-3.8!skip
|
||||
plugins/module_utils/client/discovery.py import-3.9!skip
|
||||
plugins/module_utils/client/discovery.py import-3.10!skip
|
||||
plugins/module_utils/client/discovery.py import-3.11!skip
|
||||
plugins/module_utils/client/resource.py import-3.6!skip
|
||||
plugins/module_utils/client/resource.py import-3.7!skip
|
||||
plugins/module_utils/client/resource.py import-3.8!skip
|
||||
plugins/module_utils/client/resource.py import-3.9!skip
|
||||
plugins/module_utils/client/resource.py import-3.10!skip
|
||||
plugins/module_utils/client/resource.py import-3.11!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.8!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.9!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.10!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.11!skip
|
||||
@@ -28,9 +19,9 @@ tests/integration/targets/helm/files/test-chart-v2/templates/configmap.yaml yaml
|
||||
tests/integration/targets/helm/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm_diff/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/k8s_scale/files/deployment.yaml yamllint!skip
|
||||
tests/sanity/refresh_ignore_files shebang!skip
|
||||
plugins/modules/k8s.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_scale.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_service.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_taint.py validate-modules:return-syntax-error
|
||||
tests/integration/targets/k8s_delete/files/deployments.yaml yamllint!skip
|
||||
tests/integration/targets/helm_diff/files/test-chart-reuse-values/templates/configmap.yaml yamllint!skip
|
||||
|
||||
@@ -1,18 +1,9 @@
|
||||
plugins/module_utils/client/discovery.py import-3.6!skip
|
||||
plugins/module_utils/client/discovery.py import-3.7!skip
|
||||
plugins/module_utils/client/discovery.py import-3.8!skip
|
||||
plugins/module_utils/client/discovery.py import-3.9!skip
|
||||
plugins/module_utils/client/discovery.py import-3.10!skip
|
||||
plugins/module_utils/client/discovery.py import-3.11!skip
|
||||
plugins/module_utils/client/resource.py import-3.6!skip
|
||||
plugins/module_utils/client/resource.py import-3.7!skip
|
||||
plugins/module_utils/client/resource.py import-3.8!skip
|
||||
plugins/module_utils/client/resource.py import-3.9!skip
|
||||
plugins/module_utils/client/resource.py import-3.10!skip
|
||||
plugins/module_utils/client/resource.py import-3.11!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.8!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.9!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.10!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.11!skip
|
||||
@@ -30,8 +21,8 @@ tests/integration/targets/helm/files/test-chart-v2/templates/configmap.yaml yaml
|
||||
tests/integration/targets/helm/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm_diff/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/k8s_scale/files/deployment.yaml yamllint!skip
|
||||
tests/sanity/refresh_ignore_files shebang!skip
|
||||
plugins/modules/k8s.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_scale.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_service.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_taint.py validate-modules:return-syntax-error
|
||||
tests/integration/targets/helm_diff/files/test-chart-reuse-values/templates/configmap.yaml yamllint!skip
|
||||
|
||||
@@ -1,20 +1,11 @@
|
||||
plugins/module_utils/client/discovery.py import-3.6!skip
|
||||
plugins/module_utils/client/discovery.py import-3.7!skip
|
||||
plugins/module_utils/client/discovery.py import-3.8!skip
|
||||
plugins/module_utils/client/discovery.py import-3.9!skip
|
||||
plugins/module_utils/client/discovery.py import-3.10!skip
|
||||
plugins/module_utils/client/discovery.py import-3.11!skip
|
||||
plugins/module_utils/client/discovery.py import-3.12!skip
|
||||
plugins/module_utils/client/resource.py import-3.6!skip
|
||||
plugins/module_utils/client/resource.py import-3.7!skip
|
||||
plugins/module_utils/client/resource.py import-3.8!skip
|
||||
plugins/module_utils/client/resource.py import-3.9!skip
|
||||
plugins/module_utils/client/resource.py import-3.10!skip
|
||||
plugins/module_utils/client/resource.py import-3.11!skip
|
||||
plugins/module_utils/client/resource.py import-3.12!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.8!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.9!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.10!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.11!skip
|
||||
@@ -33,8 +24,8 @@ tests/integration/targets/helm/files/test-chart-v2/templates/configmap.yaml yaml
|
||||
tests/integration/targets/helm/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm_diff/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/k8s_scale/files/deployment.yaml yamllint!skip
|
||||
tests/sanity/refresh_ignore_files shebang!skip
|
||||
plugins/modules/k8s.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_scale.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_service.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_taint.py validate-modules:return-syntax-error
|
||||
tests/integration/targets/helm_diff/files/test-chart-reuse-values/templates/configmap.yaml yamllint!skip
|
||||
|
||||
@@ -1,26 +1,22 @@
|
||||
plugins/module_utils/client/discovery.py import-3.6!skip
|
||||
plugins/module_utils/client/discovery.py import-3.7!skip
|
||||
plugins/module_utils/client/discovery.py import-3.8!skip
|
||||
plugins/module_utils/client/discovery.py import-3.9!skip
|
||||
plugins/module_utils/client/discovery.py import-3.10!skip
|
||||
plugins/module_utils/client/discovery.py import-3.11!skip
|
||||
plugins/module_utils/client/resource.py import-3.6!skip
|
||||
plugins/module_utils/client/resource.py import-3.7!skip
|
||||
plugins/module_utils/client/resource.py import-3.8!skip
|
||||
plugins/module_utils/client/discovery.py import-3.12!skip
|
||||
plugins/module_utils/client/resource.py import-3.9!skip
|
||||
plugins/module_utils/client/resource.py import-3.10!skip
|
||||
plugins/module_utils/client/resource.py import-3.11!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.8!skip
|
||||
plugins/module_utils/client/resource.py import-3.12!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.9!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.10!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.11!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.12!skip
|
||||
plugins/module_utils/version.py pylint!skip
|
||||
plugins/modules/k8s.py validate-modules:parameter-type-not-in-doc
|
||||
plugins/modules/k8s_scale.py validate-modules:parameter-type-not-in-doc
|
||||
plugins/modules/k8s_service.py validate-modules:parameter-type-not-in-doc
|
||||
tests/unit/module_utils/fixtures/definitions.yml yamllint!skip
|
||||
tests/unit/module_utils/fixtures/deployments.yml yamllint!skip
|
||||
tests/integration/targets/k8s_delete/files/deployments.yaml yamllint!skip
|
||||
tests/unit/module_utils/fixtures/pods.yml yamllint!skip
|
||||
tests/integration/targets/helm/files/appversionless-chart-v2/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm/files/appversionless-chart/templates/configmap.yaml yamllint!skip
|
||||
@@ -28,8 +24,8 @@ tests/integration/targets/helm/files/test-chart-v2/templates/configmap.yaml yaml
|
||||
tests/integration/targets/helm/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm_diff/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/k8s_scale/files/deployment.yaml yamllint!skip
|
||||
tests/sanity/refresh_ignore_files shebang!skip
|
||||
plugins/modules/k8s.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_scale.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_service.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_taint.py validate-modules:return-syntax-error
|
||||
tests/integration/targets/helm_diff/files/test-chart-reuse-values/templates/configmap.yaml yamllint!skip
|
||||
@@ -1,23 +1,22 @@
|
||||
plugins/module_utils/client/discovery.py import-3.6!skip
|
||||
plugins/module_utils/client/discovery.py import-3.7!skip
|
||||
plugins/module_utils/client/discovery.py import-3.8!skip
|
||||
plugins/module_utils/client/discovery.py import-3.9!skip
|
||||
plugins/module_utils/client/discovery.py import-3.10!skip
|
||||
plugins/module_utils/client/resource.py import-3.6!skip
|
||||
plugins/module_utils/client/resource.py import-3.7!skip
|
||||
plugins/module_utils/client/resource.py import-3.8!skip
|
||||
plugins/module_utils/client/discovery.py import-3.11!skip
|
||||
plugins/module_utils/client/discovery.py import-3.12!skip
|
||||
plugins/module_utils/client/resource.py import-3.9!skip
|
||||
plugins/module_utils/client/resource.py import-3.10!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.6!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.7!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.8!skip
|
||||
plugins/module_utils/client/resource.py import-3.11!skip
|
||||
plugins/module_utils/client/resource.py import-3.12!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.9!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.10!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.11!skip
|
||||
plugins/module_utils/k8sdynamicclient.py import-3.12!skip
|
||||
plugins/module_utils/version.py pylint!skip
|
||||
plugins/modules/k8s.py validate-modules:parameter-type-not-in-doc
|
||||
plugins/modules/k8s_scale.py validate-modules:parameter-type-not-in-doc
|
||||
plugins/modules/k8s_service.py validate-modules:parameter-type-not-in-doc
|
||||
tests/unit/module_utils/fixtures/definitions.yml yamllint!skip
|
||||
tests/unit/module_utils/fixtures/deployments.yml yamllint!skip
|
||||
tests/integration/targets/k8s_delete/files/deployments.yaml yamllint!skip
|
||||
tests/unit/module_utils/fixtures/pods.yml yamllint!skip
|
||||
tests/integration/targets/helm/files/appversionless-chart-v2/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm/files/appversionless-chart/templates/configmap.yaml yamllint!skip
|
||||
@@ -25,9 +24,8 @@ tests/integration/targets/helm/files/test-chart-v2/templates/configmap.yaml yaml
|
||||
tests/integration/targets/helm/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/helm_diff/files/test-chart/templates/configmap.yaml yamllint!skip
|
||||
tests/integration/targets/k8s_scale/files/deployment.yaml yamllint!skip
|
||||
tests/sanity/refresh_ignore_files shebang!skip
|
||||
plugins/modules/k8s.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_scale.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_service.py validate-modules:return-syntax-error
|
||||
plugins/modules/k8s_taint.py validate-modules:return-syntax-error
|
||||
tests/integration/targets/k8s_delete/files/deployments.yaml yamllint!skip
|
||||
tests/integration/targets/helm_diff/files/test-chart-reuse-values/templates/configmap.yaml yamllint!skip
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user