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 # Kubernetes Collection Changes
## 0.11.0 The changelog has been moved to [changelogs/CHANGELOG.rst](changelogs/CHANGELOG.rst).
### 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`

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. 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. 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 `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. Tag the version in Git and push to GitHub.
1. Run the following commands to build and release the new version on Galaxy: 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.