Commit Graph

49 Commits

Author SHA1 Message Date
Abhijeet Kasurde
4846b38819 k8s: handle `fail_json` API from inventory plugin (#59)
Fixes: https://github.com/ansible-collections/kubernetes.core/issues/57
2021-04-19 11:30:13 +05:30
Abhijeet Kasurde
acbe46f2ce Added ignore-2.12.txt (#60) 2021-04-15 16:58:18 +05:30
Mike Graves
f5eb0625d6 Release 1.2.1 (#406) 2021-04-01 08:53:03 -04:00
Mike Graves
0432fe6a51 Add requirements.txt to downstream build (#401)
* Add requirements.txt to downstream build

This file is needed for execution environments.

* Add changelog fragment
2021-03-31 09:25:50 -04:00
Mike Graves
1754405bb4 [bp/1.2] Restrict molecule version to <3.3.0
The 3.3.0 version of molecule broke the test suite. Restricting the
version until we can either fix upstream or decide on the best
workaround.
2021-03-31 10:01:47 +05:30
Mike Graves
5eb280f35a Prep for 1.2 release (#370) 2021-02-19 13:02:07 -05:00
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
Abhijeet Kasurde
dc80c418e9 Update minimum version of Ansible required (#366)
https://github.com/ansible-collections/community.kubernetes/pull/276
is backported to 2.9.17
Any Ansible version lesser than this will not work due to
Kubernetes-python compatibility issues.

Fixes: #314
Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2021-02-16 15:05:53 -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
9f7b6fb3ff Honor wait_timeout in k8s_info for missing resource (#360)
* Honor wait in k8s_info for missing resource

The wait logic in the k8s_info module immediately returns when no
resources are found, regardless whether a wait_timeout has been
specified. This expands the logic to wait when a name has been provided.
The case this is specifically meant to address is when querying for a
resource that is indirectly created by another resource, for example, a
pod created by a deployment or an operator.

The existing logic in every other case should remain as it was before.
This means if a query might return more than one resource--all pods with
some label, for example--the module will return immediately if no pods
are found, even if a wait_timeout has been provided.

* Add changelog fragment
2021-02-16 10:19:22 -07: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
Mike Graves
b26afc3518 Fix Secret check_mode (#343)
When adding a Secret and using stringData, check_mode will always show
changes. An existing resource fetched from Kubernetes will have the
stringData already base64 encoded and merged into the data attribute.
This change performs the base64 encoding and merging with the provided
definition to more accurately represent the current state of the
cluster.

This change only affects check_mode. When making any changes to the
cluster the stringData is passed along as provided in the definition.

Closes #282.
2021-01-14 11:05:11 -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
Abhijeet Kasurde
9059f2c526 k8s: Handle ValueError raised (#330) 2021-01-12 21:38:58 +05:30
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
Abhijeet Kasurde
5d3e465672 k8s: handle remote src and kubeconfig (#320)
* k8s: Add a parameter remote_src

remote_src is boolean parameter to specify if
src file is located on remote node or Ansible Controller.

Fixes: #307

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>

* remove parameters

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-12-10 10:58:33 -07: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
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
Gonéri Le Bouder
8f14bf6c46 The type of wait_condition.status is str (#310)
The `wait_condition.status` key is a string.

- Use actually string in the documentation
- Use core's `boolean()` method to convert the value internally to
  boolean
2020-11-25 13:01:38 -06: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
Jeff Geerling
9a2e29acd2 Issue #263: Prepare for 1.1.1 release. (#268) 2020-10-09 13:46:20 -05: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
Jeff Geerling
9ff259c638 Issue #254: Prepare for 1.1.0 release. (#257)
* Issue #254: Add changelogs for 1.1.0.

* Issue #254: Two of the changes are major.

* Update CHANGELOG and galaxy tag version.

* Issue #254: Document kubernetes.core release process.
2020-10-08 15:35:42 -05:00
Abhijeet Kasurde
0f33aafca7 Add testcase for multi resource template (#245)
User can combine multiple resources in the given template
file, which can be consumed by k8s module to create multiple
resources at once.

Fixes: #243

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-10-01 08:56:40 -05:00
Abhijeet Kasurde
f03d2ce243 k8s_info: Add support for wait (#235)
Fixes: #18
2020-09-28 10:52:00 +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
23f9588732 kubectl: correct usage in console (#204)
kubectl exec is printed twice in the console log.

Fixes: #200

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-08-31 09:29:27 +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
81494e2ae2 Issue #171: Update fragment for PR #152 to include link. 2020-07-28 10:37:15 -05:00
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
6b28ef3c17 kubectl: redacted token and password from console log (#159)
** SECURITY_FIX ** for CVE-2020-1753

kubectl connection plugin now redact kubectl_token and
kubectl_password from console log.

Fixes: #65

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-07-11 08:50:15 +05:30
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
Jeff Geerling
cc7d6afaf4 Prepare for release 0.11.1. 2020-07-01 14:31:12 -05:00
Jeff Geerling
efcf870743 Release 0.11.1 prep - add missing changelog fragments. 2020-07-01 14:26:43 -05:00
Abhijeet Kasurde
9fb808c7f3 k8s: Fix a bug when manifest file ends with '---' (#139)
Any kubernetes manifest file ending with '---' will
generate an error when applied using 'k8s' module.

Although this may not be 'legal' YAML, this is quite frequent,
specially on helm's generated manifest files.

migrated from https://github.com/ansible/ansible/pull/59160

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
2020-06-25 09:11:03 +10:00
Jeff Geerling
8674a449f7 Issue #40: Add PR and issue refs to fragments, and update CHANGELOG.rst. 2020-06-22 12:33:44 -05:00
Jeff Geerling
d3dc3e25a4 Issue #40: Manually override module namespace so extra info isn't output. 2020-06-18 15:16:10 -05:00
Jeff Geerling
938b01921a Issue #40: Generate CHANGELOG.rst in root dir. 2020-06-18 15:16:10 -05:00
Jeff Geerling
49e25c8eef Issue #40: gitignore the .plugin-cache.yml file. 2020-06-18 15:16:10 -05:00
Jeff Geerling
2dd81d6a39 Issue #40: Fix YAML lint issues from changelog configs. 2020-06-18 15:16:10 -05:00
Jeff Geerling
e80e3fa014 Issue #40: Add changelog and fragments and document new changelog process. 2020-06-18 15:16:10 -05:00