Commit Graph

90 Commits

Author SHA1 Message Date
Timothy Appnel
5fc3dd02bf Adds a wait example to k8s.py (#386)
Co-authored-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-03-18 14:48:07 +05:30
Gonéri Le Bouder
39660dd40e refactoring for ansible_module.turbo integration (#313)
* refactoring for ansible_module.turbo integration

This refactoring prepares the integration of `ansible_module.turbo`

- Delay the loading of `common.py`, move the shared structure in
  `args_common`.
- Avoid the use of one single object per module, this to increase the
  amount of Python structure that we can cache.
- Cache the Kubernetes client.

See: https://github.com/ansible-collections/community.kubernetes/pull/270

Co-authored-by: Jill Rouleau <jill.rouleau@bespokess.com>
2021-03-16 17:16:18 -04:00
Abhijeet Kasurde
1e511113a5 k8s_auth: remove module (#376) 2021-03-08 22:54:22 +05:30
Mike Graves
a4ac078625 Add support for helm template (#368)
* Add support for helm template
This commit adds basic support for helm template. The functionality
allows one to either render a chart's templates to a specific directory,
or capture the rendered templates as a string of concatenated yaml
documents.
* Add changelog fragment
* Address PR feedback
* Set changed to true
2021-02-17 08:01:49 -05:00
Joshua Hügli
8f098b14f2 make has_plugin detection method more reliable (#362)
* fix has_plugin detection method
* use even better method :)
* add changelog fragment
* fix forgotten file extension
* Double Backticks ;)
* Add PR link to changelog
Co-authored-by: Mike Graves <mgraves@redhat.com>
2021-02-16 12:38:29 -05:00
Mike Graves
80b914021f Add skip_crds option to helm (#349)
This adds an option to skip the installation of CRDs when installing or
upgrading a chart.

Closes: #296
2021-02-09 09:51:10 +05:30
Mike Graves
981493dfb6 Add note about required permissions for k8s_exec (#361) 2021-02-08 19:42:13 -05:00
Abhijeet Kasurde
92e373239c k8s: Add example for download and apply manifest from URL (#359)
Fixes: #352

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-02-03 21:16:44 +05:30
Mike Graves
2640084143 Add optional support for helm diff (#355)
There are some cases where the existing module has difficulty
determining if an upgrade would result in changes. This can particularly
be a problem when changes are made to a local chart.

This adds optional support for helm diff. If the plugin is present it
will be used. Otherwise, the default implementation will be used and a
warning will be issued. One caveat: helm diff does not currently support
using a repo url, so the default implementation will be used in this
case, as well.

Closes: #248
2021-02-03 13:46:26 +05:30
Abhijeet Kasurde
86c5c446dd Make unused release_namespace parameter as optional (#358) 2021-02-03 13:45:25 +05:30
Gonéri Le Bouder
5a5ed79b89 Revert "helm - remove trailing whitespaces (#337) (#345)" (#346)
This reverts commit 003d802065.

See: https://github.com/ansible-collections/community.kubernetes/pull/345#issuecomment-760291333
2021-01-14 11:19:12 -05:00
Alina Buzachis
003d802065 helm - remove trailing whitespaces (#337) (#345)
Add remove_trailing_spaces() to remove trailing whitespaces for each helm_repository parameter.
2021-01-14 10:52:33 -05:00
Mike Graves
a9b8cc68d5 Add support for configuring garbage collection (#334)
* Add support for configuring garbage collection

This surfaces deleteOptions functionality in a top-level delete_options
parameter.

* Add changelog fragment

* Remove kind and apiVersion from delete_options

* Add release version to docs
2021-01-12 14:17:18 -05:00
Gonéri Le Bouder
01ee3e603c helm: 'changed' flag takes 'values' in consideration (#332)
Return `changed` `False` is the `values_files` match the `values` of
the existing deployment.

Closes: #274
2021-01-05 13:53:20 -06:00
Gonéri Le Bouder
221631c06a helm: add support for the K8S_ envvars (#319)
Add support for:

- K8S_AUTH_HOST
- K8S_AUTH_API_KEY
- K8S_AUTH_VERIFY_SSL
- K8S_AUTH_SSL_CA_CERT

This commit also refactor the way we pass K8S related configuration to `helm`:

All the calls are now done in a new module_utils module (`helm.py`).
The handling of the `kube_*` variables has also been moved in this new
module.

We need https://github.com/helm/helm/pull/8622 to be able to ignore the
certificate validation. As a workaround, the generate a temporary
kubeconfig configuration file.

Closes: #279
2020-12-11 11:41:08 -05:00
Gonéri Le Bouder
befc0f6853 helm and helm_info: adjust the name of two parameters (#324) 2020-12-10 09:28:27 +05:30
Gonéri Le Bouder
486a179c7a add 3 doc-default-does-not-match-spec errors (#325)
Address the following error with the test-suite:

- plugins/modules/k8s.py:0:0: doc-default-does-not-match-spec: Argument 'append_hash' in argument_spec defines default as (False) but documentation defines default as (None)
- plugins/modules/k8s.py:0:0: doc-default-does-not-match-spec: Argument 'apply' in argument_spec defines default as (False) but documentation defines default as (None)
- plugins/modules/k8s_service.py:0:0: doc-default-does-not-match-spec: Argument 'apply' in argument_spec defines default as (False) but documentation defines default as (None)
2020-12-08 09:20:20 +05:30
Abhijeet Kasurde
86ce0b5556 add changelog and version added information. (#312)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-11-30 12:46:02 +05:30
Fabian von Feilitzsch
2474ef1b2c k8s_info now outputs whether the api was found (#308) 2020-11-30 10:26:54 +05:30
Abhijeet Kasurde
e2d4cff952 Updated chart repo URLs (#297) 2020-11-10 14:13:09 -05:00
Abhijeet Kasurde
77e48d0c97 helm: return correct information in check mode (#281)
Fixes: #280

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-10-22 15:22:17 -05:00
Abhijeet Kasurde
d03823794e helm_repository: Add information about 'RETURN' (#269)
Fixes: #256

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-10-12 11:20:53 -04:00
Jeff Geerling
cbd3a2554e Issue #260: Sanity test 'compile' failing because of positional args. (#261)
* Issue #260: Sanity test 'compile' failing because of positional args.

* Issue #260: Run integration tests on older Python 3.6 still.

* Issue #260: Add changelog fragment.
2020-10-09 10:17:52 -05:00
Timothy Appnel
f0dacc083c Embedded docs clarifications and refinements. (#258)
* Another embedded docs clarifications in k8s_rollback

* Embedded docs clarification in helm_pljugin_info

* Embedded docs clarification in k8s

* More embedded docs clarification in k8s inventory plugin

* Fixed markdown formatting to RST in k8s_rollback
2020-10-08 15:32:54 -05:00
Timothy Appnel
ef256060f1 Embedded docs clarification in k8s_rollback (#255) 2020-10-08 13:10:06 -04:00
Timothy Appnel
5fa34b6b60 Embedded docs clarification in helm_plugin 2020-10-08 13:09:21 -04:00
Timothy Appnel
784347703b Embedded docs clarification in k8s_cluster_info 2020-10-08 12:33:20 -04:00
Nathan Loika
50c82056b3 Add appVersion check to Helm (#247)
When upgrading a Helm release include the chart's appVersion in the idempotence check. Fixes #246
2020-10-07 16:40:59 -04:00
Julien Huon
0377a892d5 k8s_rollback: new module (#26)
This module allows user to rollback deployment and daemonsets.

Signed-off-by: Julien Huon <julien@huon.email>
2020-10-07 10:07:47 +05:30
Jeff Geerling
fc1f4e5ffd helm: Support for single or multiple values files (#236 was #136) 2020-10-05 13:19:36 -04:00
Gerald Spencer
7946b398a7 Return status in check mode (#192)
It is useful to return both the current values of the release, as well as the proposed values.
2020-09-29 14:09:43 -04:00
Abhijeet Kasurde
5de49373b7 k8s_cluster_info: new module (#160)
Get information about k8s APIs

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-09-28 14:01:37 +05:30
Abhijeet Kasurde
00fa8789a2 k8s: add support for template (#230)
Fixes: #37

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-09-28 11:35:26 +05:30
Abhijeet Kasurde
f03d2ce243 k8s_info: Add support for wait (#235)
Fixes: #18
2020-09-28 10:52:00 +05:30
Abhijeet Kasurde
308956b313 Replace KubernetesRawModule class (#231)
* Migrate from KubernetesRawModule to K8sAnsibleMixin
* Modified k8s.py
* Modified k8s_service.py

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-09-19 09:54:40 +05:30
Abhijeet Kasurde
51cadb7150 Replace KubernetesAnsibleModule class with dummy class (#227)
* Make an AnsibleMixin parent class for every module
* Replace KubernetesAnsibleModule class with dummy class
* Modified k8s_log
* k8s_exec refactor
* k8s_info refactor
* k8s_service refactor
* k8s_scale refactor
* Fix integration tests
* Add a warning about the deprecation of KubernetesAnsibleModule
* Add a dummy class for backward compatibility

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-09-16 20:35:05 +05:30
Abhijeet Kasurde
527859c9cd Refactor module_utils (#223)
Moved a bunch of common things to module_utils.
2020-09-08 20:37:16 +05:30
Abhijeet Kasurde
c49f896fa0 helm: Add replace parameter (#214)
Fixes: #106

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-09-07 12:42:00 +05:30
Abhijeet Kasurde
16059a8111 k8s_*: Group argument_spec accroding to usage (#199)
Partially fix #36

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-26 19:48:07 +05:30
Abhijeet Kasurde
ab77b79f9c k8s_info: Update documentation
* Used name_option doc_fragments
* Updated doc formatting
* Updated k8s_info example for custom resource

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-24 15:47:00 +05:30
Jeff Geerling
1ef28bcd73 Issue #171: Update changelog and make sure things are ready for 1.0.0 release. 2020-07-28 10:37:15 -05:00
Jeff Geerling
b51bbdf200 Issue #171: Update changelog fragments for 1.0.0 release. 2020-07-28 10:37:15 -05:00
Abhijeet Kasurde
3aaf182c30 k8s_exec: Return rc for the command executed (#158)
k8s_exec now returns command return code in output.

Fixes: #122

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-23 10:52:26 +05:30
Abhijeet Kasurde
6c059bd2bc helm_plugin and helm_plugin_info: new module (#154)
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-22 09:14:23 +05:30
Abhijeet Kasurde
c4f3e5a034 k8s_info: Update example using vars (#156)
Fixes: #151

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-13 16:35:33 +05:30
LucasBoisserie
3e971e0ad3 Create ns with helm (#157)
Added support `--create-namespace` in helm module.
2020-07-11 08:45:22 +05:30
Fabian von Feilitzsch
dd4ebf2194 Merge pull request #152 from Akasurde/context_aliases
helm_: Add context aliases for kube_context
2020-07-10 15:55:51 -04:00
Yaakov Selkowitz
9aa85e8eb5 Update openshift requirements in k8s module doc 2020-07-06 11:10:59 -04:00
Abhijeet Kasurde
48a45de8b0 helm_: Add context aliases for kube_context
Added 'context' aliases for 'kube_context' in
helm and helm_info module.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-06 11:18:23 +05:30
Abhijeet Kasurde
ef6722d290 helm: Add support for K8S_AUTH_CONTEXT, K8S_AUTH_KUBECONFIG env (#141)
Added support for K8S_AUTH_CONTEXT, K8S_AUTH_KUBECONFIG env
2020-07-02 18:48:41 +05:30