From e80e3fa014d385b8be00e41a56eaafd0c3d9d098 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Tue, 16 Jun 2020 17:25:18 -0500 Subject: [PATCH] Issue #40: Add changelog and fragments and document new changelog process. --- CHANGELOG.md | 53 +----------- README.md | 5 +- changelogs/.plugin-cache.yaml | 83 ++++++++++++++++++ changelogs/CHANGELOG.rst | 86 +++++++++++++++++++ changelogs/changelog.yaml | 84 ++++++++++++++++++ changelogs/config.yaml | 29 +++++++ .../fragments/13-fix-elements-argspec.yaml | 3 + .../fragments/14-k8s_exec-new-module.yaml | 3 + .../fragments/16-k8s_log-new-module.yaml | 3 + .../fragments/33-k8s_service-fix-argspec.yaml | 3 + .../4-k8s-prepare-collection-for-release.yaml | 12 +++ .../49-k8s-add-persist_config-option.yaml | 3 + .../51-kubectl-security-disclosure.yaml | 3 + .../52-kubectl-connection-docsfix.yaml | 3 + .../54-k8s-add-exception-handling.yaml | 3 + .../56-k8s-from_yaml-docs-examples.yaml | 3 + changelogs/fragments/61-helm-new-modules.yaml | 5 ++ .../69-k8s_log-dont-parse-as-json.yaml | 3 + .../fragments/78-github-actions-workflow.yaml | 3 + .../fragments/81-rename-repository.yaml | 3 + ...clude-unnecessary-files-when-building.yaml | 3 + 21 files changed, 343 insertions(+), 53 deletions(-) create mode 100644 changelogs/.plugin-cache.yaml create mode 100644 changelogs/CHANGELOG.rst create mode 100644 changelogs/changelog.yaml create mode 100644 changelogs/config.yaml create mode 100644 changelogs/fragments/13-fix-elements-argspec.yaml create mode 100644 changelogs/fragments/14-k8s_exec-new-module.yaml create mode 100644 changelogs/fragments/16-k8s_log-new-module.yaml create mode 100644 changelogs/fragments/33-k8s_service-fix-argspec.yaml create mode 100644 changelogs/fragments/4-k8s-prepare-collection-for-release.yaml create mode 100644 changelogs/fragments/49-k8s-add-persist_config-option.yaml create mode 100644 changelogs/fragments/51-kubectl-security-disclosure.yaml create mode 100644 changelogs/fragments/52-kubectl-connection-docsfix.yaml create mode 100644 changelogs/fragments/54-k8s-add-exception-handling.yaml create mode 100644 changelogs/fragments/56-k8s-from_yaml-docs-examples.yaml create mode 100644 changelogs/fragments/61-helm-new-modules.yaml create mode 100644 changelogs/fragments/69-k8s_log-dont-parse-as-json.yaml create mode 100644 changelogs/fragments/78-github-actions-workflow.yaml create mode 100644 changelogs/fragments/81-rename-repository.yaml create mode 100644 changelogs/fragments/85-exclude-unnecessary-files-when-building.yaml diff --git a/CHANGELOG.md b/CHANGELOG.md index aeccbad0..b181d0db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,54 +1,3 @@ # Kubernetes Collection Changes -## 0.11.0 - -### New Features - - - PR #61: Add `helm`, `helm_info`, and `helm_repository` modules. - - PR #81: Rename repository to `community.kubernetes`. - -### Bug Fixes - - - PR #78: Update GitHub Actions workflow for better CI stability. - - PR #69: k8s_log no longer attempts to parse log as JSON. - - PR #85: Make sure extra files are not included in built collection. - -## 0.10.0 - -### New Features - - - PR #14: Add `k8s_exec` module for executing commands on pods via Kubernetes API. - - PR #16: Add `k8s_log` module for retrieving pod logs. - - Issue #49, PR #55: Add `persist_config` option for persisting refreshed tokens. - -### Security Fixes - - - PR #51: Warn about disclosure when using options like `kubectl_password`, `kubectl_extra_args`, and `kubectl_token` to pass data through to the command line using the `kubectl` connection plugin. - -### Bug Fixes - - - Issue #13: Fix argspec for 'elements'. - - Issue #33, PR #34: Fix argspec in `k8s_service`. - - Issue #10, PR #22: Test collection in a Kind cluster in CI using Molecule. - - PR #52: Documentation fix in `kubectl.py`. - - PR #54: Add exception handling when retrieving k8s client. - - PR #56: Use from_yaml filter with lookup examples in `k8s` module documentation examples. - -## 0.9.0 - - - Initial migration of Kubernetes content from Ansible core (2.9 / devel), including content: - - **Connection Plugins**: - - `kubectl` - - **Filter Plugins**: - - `k8s_config_resource_name` - - **Inventory Source**: - - `k8s` - - `openshift` - - **Lookup Plugins**: - - `k8s` - - **Modules**: - - `k8s` - - `k8s_auth` - - `k8s_info` - - `k8s_scale` - - `k8s_service` +The changelog has been moved to [changelogs/CHANGELOG.rst](changelogs/CHANGELOG.rst). \ No newline at end of file diff --git a/README.md b/README.md index 2f4480f1..470c28c0 100644 --- a/README.md +++ b/README.md @@ -132,8 +132,11 @@ The current process for publishing new versions of the Kubernetes Collection is 1. Ensure you're running Ansible from devel, so the [`build_ignore` key](https://github.com/ansible/ansible/issues/67130) in `galaxy.yml` is used. 1. Run `git clean -x -d -f` in this repository's directory to clean out any extra files which should not be included. - 1. Ensure `CHANGELOG.md` contains all the latest changes. 1. Update `galaxy.yml` and this README's `requirements.yml` example with the new `version` for the collection. + 1. Update the CHANGELOG: + 1. Make sure you have [`antsibull-changelog`](https://pypi.org/project/antsibull-changelog/) installed. + 1. Make sure there are fragments for all known changes in `changelogs/fragments`. + 1. Run `antsibull-changelog release` 1. Tag the version in Git and push to GitHub. 1. Run the following commands to build and release the new version on Galaxy: diff --git a/changelogs/.plugin-cache.yaml b/changelogs/.plugin-cache.yaml new file mode 100644 index 00000000..668ba958 --- /dev/null +++ b/changelogs/.plugin-cache.yaml @@ -0,0 +1,83 @@ +plugins: + become: {} + cache: {} + callback: {} + cliconf: {} + connection: + kubectl: + description: Execute tasks in pods running on Kubernetes. + name: kubectl + version_added: null + httpapi: {} + inventory: + k8s: + description: Kubernetes (K8s) inventory source + name: k8s + version_added: null + openshift: + description: OpenShift inventory source + name: openshift + version_added: null + lookup: + k8s: + description: Query the K8s API + name: k8s + version_added: null + module: + helm: + description: Manages Kubernetes packages with the Helm package manager + name: helm + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + version_added: 0.11.0 + helm_info: + description: Get information from Helm package deployed inside the cluster + name: helm_info + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + version_added: 0.11.0 + helm_repository: + description: Add and remove Helm repository + name: helm_repository + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + version_added: 0.11.0 + k8s: + description: Manage Kubernetes (K8s) objects + name: k8s + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + version_added: null + k8s_auth: + description: Authenticate to Kubernetes clusters which require an explicit login + step + name: k8s_auth + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + version_added: null + k8s_exec: + description: Execute command in Pod + name: k8s_exec + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + version_added: 0.10.0 + k8s_info: + description: Describe Kubernetes (K8s) objects + name: k8s_info + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + version_added: null + k8s_log: + description: Fetch logs from Kubernetes resources + name: k8s_log + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + version_added: 0.10.0 + k8s_scale: + description: Set a new size for a Deployment, ReplicaSet, Replication Controller, + or Job. + name: k8s_scale + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + version_added: null + k8s_service: + description: Manage Services on Kubernetes + name: k8s_service + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + version_added: null + netconf: {} + shell: {} + strategy: {} + vars: {} +version: 0.11.0 diff --git a/changelogs/CHANGELOG.rst b/changelogs/CHANGELOG.rst new file mode 100644 index 00000000..d36847b4 --- /dev/null +++ b/changelogs/CHANGELOG.rst @@ -0,0 +1,86 @@ +=================================== +Kubernetes Collection Release Notes +=================================== + +.. contents:: Topics + + +v0.11.0 +======= + +Major Changes +------------- + +- helm - New module for managing Helm charts. +- helm_info - New module for retrieving Helm chart information. +- helm_repository - New module for managing Helm repositories. + +Minor Changes +------------- + +- Rename repository to ``community.kubernetes``. + +Bugfixes +-------- + +- Make sure extra files are not included in built collection. +- Update GitHub Actions workflow for better CI stability. +- k8s_log - Module no longer attempts to parse log as JSON. + +New Modules +----------- + +- helm - Manages Kubernetes packages with the Helm package manager +- helm_info - Get information from Helm package deployed inside the cluster +- helm_repository - Add and remove Helm repository + +v0.10.0 +======= + +Major Changes +------------- + +- k8s_exec - New module for executing commands on pods via Kubernetes API. +- k8s_log - New module for retrieving pod logs. + +Minor Changes +------------- + +- k8s - Added ``persist_config`` option for persisting refreshed tokens. + +Security Fixes +-------------- + +- kubectl - Warn about information disclosure when using options like ``kubectl_password``, ``kubectl_extra_args``, and ``kubectl_token`` to pass data through to the command line using the ``kubectl`` connection plugin. + +Bugfixes +-------- + +- k8s - Add exception handling when retrieving k8s client. +- k8s - Fix argspec for 'elements'. +- k8s - Use ``from_yaml`` filter with lookup examples in ``k8s`` module documentation examples. +- k8s_service - Fix argspec. +- kubectl - Fix documentation in kubectl connection plugin. + +New Modules +----------- + +- k8s_exec - Execute command in Pod +- k8s_log - Fetch logs from Kubernetes resources + +v0.9.0 +====== + +Major Changes +------------- + +- k8s - Inventory source migrated from Ansible 2.9 to Kubernetes collection. +- k8s - Lookup plugin migrated from Ansible 2.9 to Kubernetes collection. +- k8s - Module migrated from Ansible 2.9 to Kubernetes collection. +- k8s_auth - Module migrated from Ansible 2.9 to Kubernetes collection. +- k8s_config_resource_name - Filter plugin migrated from Ansible 2.9 to Kubernetes collection. +- k8s_info - Module migrated from Ansible 2.9 to Kubernetes collection. +- k8s_scale - Module migrated from Ansible 2.9 to Kubernetes collection. +- k8s_service - Module migrated from Ansible 2.9 to Kubernetes collection. +- kubectl - Connection plugin migrated from Ansible 2.9 to Kubernetes collection. +- openshift - Inventory source migrated from Ansible 2.9 to Kubernetes collection. diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml new file mode 100644 index 00000000..765da7a7 --- /dev/null +++ b/changelogs/changelog.yaml @@ -0,0 +1,84 @@ +ancestor: null +releases: + 0.10.0: + changes: + bugfixes: + - k8s - Add exception handling when retrieving k8s client. + - k8s - Fix argspec for 'elements'. + - k8s - Use ``from_yaml`` filter with lookup examples in ``k8s`` module documentation + examples. + - k8s_service - Fix argspec. + - kubectl - Fix documentation in kubectl connection plugin. + major_changes: + - k8s_exec - New module for executing commands on pods via Kubernetes API. + - k8s_log - New module for retrieving pod logs. + minor_changes: + - k8s - Added ``persist_config`` option for persisting refreshed tokens. + security_fixes: + - kubectl - Warn about information disclosure when using options like ``kubectl_password``, + ``kubectl_extra_args``, and ``kubectl_token`` to pass data through to the + command line using the ``kubectl`` connection plugin. + fragments: + - 13-fix-elements-argspec.yaml + - 14-k8s_exec-new-module.yaml + - 16-k8s_log-new-module.yaml + - 33-k8s_service-fix-argspec.yaml + - 49-k8s-add-persist_config-option.yaml + - 51-kubectl-security-disclosure.yaml + - 52-kubectl-connection-docsfix.yaml + - 54-k8s-add-exception-handling.yaml + - 56-k8s-from_yaml-docs-examples.yaml + modules: + - description: Execute command in Pod + name: k8s_exec + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + - description: Fetch logs from Kubernetes resources + name: k8s_log + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + release_date: '2020-03-23' + 0.11.0: + changes: + bugfixes: + - Make sure extra files are not included in built collection. + - Update GitHub Actions workflow for better CI stability. + - k8s_log - Module no longer attempts to parse log as JSON. + major_changes: + - helm - New module for managing Helm charts. + - helm_info - New module for retrieving Helm chart information. + - helm_repository - New module for managing Helm repositories. + minor_changes: + - Rename repository to ``community.kubernetes``. + fragments: + - 61-helm-new-modules.yaml + - 69-k8s_log-dont-parse-as-json.yaml + - 78-github-actions-workflow.yaml + - 81-rename-repository.yaml + - 85-exclude-unnecessary-files-when-building.yaml + modules: + - description: Manages Kubernetes packages with the Helm package manager + name: helm + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + - description: Get information from Helm package deployed inside the cluster + name: helm_info + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + - description: Add and remove Helm repository + name: helm_repository + namespace: .ansible.collections.ansible_collections.community.kubernetes.plugins.modules + release_date: '2020-05-04' + 0.9.0: + changes: + major_changes: + - k8s - Inventory source migrated from Ansible 2.9 to Kubernetes collection. + - k8s - Lookup plugin migrated from Ansible 2.9 to Kubernetes collection. + - k8s - Module migrated from Ansible 2.9 to Kubernetes collection. + - k8s_auth - Module migrated from Ansible 2.9 to Kubernetes collection. + - k8s_config_resource_name - Filter plugin migrated from Ansible 2.9 to Kubernetes + collection. + - k8s_info - Module migrated from Ansible 2.9 to Kubernetes collection. + - k8s_scale - Module migrated from Ansible 2.9 to Kubernetes collection. + - k8s_service - Module migrated from Ansible 2.9 to Kubernetes collection. + - kubectl - Connection plugin migrated from Ansible 2.9 to Kubernetes collection. + - openshift - Inventory source migrated from Ansible 2.9 to Kubernetes collection. + fragments: + - 4-k8s-prepare-collection-for-release.yaml + release_date: '2020-02-05' diff --git a/changelogs/config.yaml b/changelogs/config.yaml new file mode 100644 index 00000000..cfd96eb3 --- /dev/null +++ b/changelogs/config.yaml @@ -0,0 +1,29 @@ +changelog_filename_template: CHANGELOG.rst +changelog_filename_version_depth: 0 +changes_file: changelog.yaml +changes_format: combined +keep_fragments: true +mention_ancestor: true +new_plugins_after_name: removed_features +notesdir: fragments +prelude_section_name: release_summary +prelude_section_title: Release Summary +sections: +- - major_changes + - Major Changes +- - minor_changes + - Minor Changes +- - breaking_changes + - Breaking Changes / Porting Guide +- - deprecated_features + - Deprecated Features +- - removed_features + - Removed Features (previously deprecated) +- - security_fixes + - Security Fixes +- - bugfixes + - Bugfixes +- - known_issues + - Known Issues +title: Kubernetes Collection +trivial_section_name: trivial diff --git a/changelogs/fragments/13-fix-elements-argspec.yaml b/changelogs/fragments/13-fix-elements-argspec.yaml new file mode 100644 index 00000000..b224d921 --- /dev/null +++ b/changelogs/fragments/13-fix-elements-argspec.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - k8s - Fix argspec for 'elements'. diff --git a/changelogs/fragments/14-k8s_exec-new-module.yaml b/changelogs/fragments/14-k8s_exec-new-module.yaml new file mode 100644 index 00000000..d2aaf93a --- /dev/null +++ b/changelogs/fragments/14-k8s_exec-new-module.yaml @@ -0,0 +1,3 @@ +--- +major_changes: + - k8s_exec - New module for executing commands on pods via Kubernetes API. diff --git a/changelogs/fragments/16-k8s_log-new-module.yaml b/changelogs/fragments/16-k8s_log-new-module.yaml new file mode 100644 index 00000000..06abbf49 --- /dev/null +++ b/changelogs/fragments/16-k8s_log-new-module.yaml @@ -0,0 +1,3 @@ +--- +major_changes: + - k8s_log - New module for retrieving pod logs. diff --git a/changelogs/fragments/33-k8s_service-fix-argspec.yaml b/changelogs/fragments/33-k8s_service-fix-argspec.yaml new file mode 100644 index 00000000..bbf2af8b --- /dev/null +++ b/changelogs/fragments/33-k8s_service-fix-argspec.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - k8s_service - Fix argspec. diff --git a/changelogs/fragments/4-k8s-prepare-collection-for-release.yaml b/changelogs/fragments/4-k8s-prepare-collection-for-release.yaml new file mode 100644 index 00000000..4f9a7bcd --- /dev/null +++ b/changelogs/fragments/4-k8s-prepare-collection-for-release.yaml @@ -0,0 +1,12 @@ +--- +major_changes: + - k8s - Inventory source migrated from Ansible 2.9 to Kubernetes collection. + - k8s - Module migrated from Ansible 2.9 to Kubernetes collection. + - k8s - Lookup plugin migrated from Ansible 2.9 to Kubernetes collection. + - k8s_auth - Module migrated from Ansible 2.9 to Kubernetes collection. + - k8s_info - Module migrated from Ansible 2.9 to Kubernetes collection. + - k8s_scale - Module migrated from Ansible 2.9 to Kubernetes collection. + - k8s_service - Module migrated from Ansible 2.9 to Kubernetes collection. + - k8s_config_resource_name - Filter plugin migrated from Ansible 2.9 to Kubernetes collection. + - kubectl - Connection plugin migrated from Ansible 2.9 to Kubernetes collection. + - openshift - Inventory source migrated from Ansible 2.9 to Kubernetes collection. diff --git a/changelogs/fragments/49-k8s-add-persist_config-option.yaml b/changelogs/fragments/49-k8s-add-persist_config-option.yaml new file mode 100644 index 00000000..654cf30c --- /dev/null +++ b/changelogs/fragments/49-k8s-add-persist_config-option.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - k8s - Added ``persist_config`` option for persisting refreshed tokens. diff --git a/changelogs/fragments/51-kubectl-security-disclosure.yaml b/changelogs/fragments/51-kubectl-security-disclosure.yaml new file mode 100644 index 00000000..e0062b45 --- /dev/null +++ b/changelogs/fragments/51-kubectl-security-disclosure.yaml @@ -0,0 +1,3 @@ +--- +security_fixes: + - kubectl - Warn about information disclosure when using options like ``kubectl_password``, ``kubectl_extra_args``, and ``kubectl_token`` to pass data through to the command line using the ``kubectl`` connection plugin. diff --git a/changelogs/fragments/52-kubectl-connection-docsfix.yaml b/changelogs/fragments/52-kubectl-connection-docsfix.yaml new file mode 100644 index 00000000..44ef97a0 --- /dev/null +++ b/changelogs/fragments/52-kubectl-connection-docsfix.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - kubectl - Fix documentation in kubectl connection plugin. diff --git a/changelogs/fragments/54-k8s-add-exception-handling.yaml b/changelogs/fragments/54-k8s-add-exception-handling.yaml new file mode 100644 index 00000000..e251ed09 --- /dev/null +++ b/changelogs/fragments/54-k8s-add-exception-handling.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - k8s - Add exception handling when retrieving k8s client. diff --git a/changelogs/fragments/56-k8s-from_yaml-docs-examples.yaml b/changelogs/fragments/56-k8s-from_yaml-docs-examples.yaml new file mode 100644 index 00000000..e8fdf00c --- /dev/null +++ b/changelogs/fragments/56-k8s-from_yaml-docs-examples.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - k8s - Use ``from_yaml`` filter with lookup examples in ``k8s`` module documentation examples. diff --git a/changelogs/fragments/61-helm-new-modules.yaml b/changelogs/fragments/61-helm-new-modules.yaml new file mode 100644 index 00000000..ff10c2b4 --- /dev/null +++ b/changelogs/fragments/61-helm-new-modules.yaml @@ -0,0 +1,5 @@ +--- +major_changes: + - helm - New module for managing Helm charts. + - helm_info - New module for retrieving Helm chart information. + - helm_repository - New module for managing Helm repositories. diff --git a/changelogs/fragments/69-k8s_log-dont-parse-as-json.yaml b/changelogs/fragments/69-k8s_log-dont-parse-as-json.yaml new file mode 100644 index 00000000..a899faed --- /dev/null +++ b/changelogs/fragments/69-k8s_log-dont-parse-as-json.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - k8s_log - Module no longer attempts to parse log as JSON. diff --git a/changelogs/fragments/78-github-actions-workflow.yaml b/changelogs/fragments/78-github-actions-workflow.yaml new file mode 100644 index 00000000..aff29987 --- /dev/null +++ b/changelogs/fragments/78-github-actions-workflow.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - Update GitHub Actions workflow for better CI stability. diff --git a/changelogs/fragments/81-rename-repository.yaml b/changelogs/fragments/81-rename-repository.yaml new file mode 100644 index 00000000..05ceb574 --- /dev/null +++ b/changelogs/fragments/81-rename-repository.yaml @@ -0,0 +1,3 @@ +--- +minor_changes: + - Rename repository to ``community.kubernetes``. diff --git a/changelogs/fragments/85-exclude-unnecessary-files-when-building.yaml b/changelogs/fragments/85-exclude-unnecessary-files-when-building.yaml new file mode 100644 index 00000000..fd7e6d68 --- /dev/null +++ b/changelogs/fragments/85-exclude-unnecessary-files-when-building.yaml @@ -0,0 +1,3 @@ +--- +bugfixes: + - Make sure extra files are not included in built collection.