Issue #40: Add changelog and fragments and document new changelog process.

This commit is contained in:
Jeff Geerling
2020-06-16 17:25:18 -05:00
parent e6773fdc66
commit e80e3fa014
21 changed files with 343 additions and 53 deletions

View File

@@ -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).

View File

@@ -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:

View File

@@ -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

86
changelogs/CHANGELOG.rst Normal file
View File

@@ -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.

84
changelogs/changelog.yaml Normal file
View File

@@ -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'

29
changelogs/config.yaml Normal file
View File

@@ -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

View File

@@ -0,0 +1,3 @@
---
bugfixes:
- k8s - Fix argspec for 'elements'.

View File

@@ -0,0 +1,3 @@
---
major_changes:
- k8s_exec - New module for executing commands on pods via Kubernetes API.

View File

@@ -0,0 +1,3 @@
---
major_changes:
- k8s_log - New module for retrieving pod logs.

View File

@@ -0,0 +1,3 @@
---
bugfixes:
- k8s_service - Fix argspec.

View File

@@ -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.

View File

@@ -0,0 +1,3 @@
---
minor_changes:
- k8s - Added ``persist_config`` option for persisting refreshed tokens.

View File

@@ -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.

View File

@@ -0,0 +1,3 @@
---
bugfixes:
- kubectl - Fix documentation in kubectl connection plugin.

View File

@@ -0,0 +1,3 @@
---
bugfixes:
- k8s - Add exception handling when retrieving k8s client.

View File

@@ -0,0 +1,3 @@
---
bugfixes:
- k8s - Use ``from_yaml`` filter with lookup examples in ``k8s`` module documentation examples.

View File

@@ -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.

View File

@@ -0,0 +1,3 @@
---
bugfixes:
- k8s_log - Module no longer attempts to parse log as JSON.

View File

@@ -0,0 +1,3 @@
---
bugfixes:
- Update GitHub Actions workflow for better CI stability.

View File

@@ -0,0 +1,3 @@
---
minor_changes:
- Rename repository to ``community.kubernetes``.

View File

@@ -0,0 +1,3 @@
---
bugfixes:
- Make sure extra files are not included in built collection.