Skip to content

Commit

Permalink
Issue ansible-collections#40: Add changelog and fragments and documen…
Browse files Browse the repository at this point in the history
…t new changelog process.
  • Loading branch information
geerlingguy committed Jun 18, 2020
1 parent e6773fd commit e80e3fa
Show file tree
Hide file tree
Showing 21 changed files with 343 additions and 53 deletions.
53 changes: 1 addition & 52 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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).
5 changes: 4 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down
83 changes: 83 additions & 0 deletions changelogs/.plugin-cache.yaml
Original file line number Diff line number Diff line change
@@ -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 changes: 86 additions & 0 deletions changelogs/CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -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 changes: 84 additions & 0 deletions changelogs/changelog.yaml
Original file line number Diff line number Diff line change
@@ -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 changes: 29 additions & 0 deletions changelogs/config.yaml
Original file line number Diff line number Diff line change
@@ -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
3 changes: 3 additions & 0 deletions changelogs/fragments/13-fix-elements-argspec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
bugfixes:
- k8s - Fix argspec for 'elements'.
3 changes: 3 additions & 0 deletions changelogs/fragments/14-k8s_exec-new-module.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
major_changes:
- k8s_exec - New module for executing commands on pods via Kubernetes API.
3 changes: 3 additions & 0 deletions changelogs/fragments/16-k8s_log-new-module.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
major_changes:
- k8s_log - New module for retrieving pod logs.
3 changes: 3 additions & 0 deletions changelogs/fragments/33-k8s_service-fix-argspec.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
bugfixes:
- k8s_service - Fix argspec.
12 changes: 12 additions & 0 deletions changelogs/fragments/4-k8s-prepare-collection-for-release.yaml
Original file line number Diff line number Diff line change
@@ -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.
3 changes: 3 additions & 0 deletions changelogs/fragments/49-k8s-add-persist_config-option.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
minor_changes:
- k8s - Added ``persist_config`` option for persisting refreshed tokens.
3 changes: 3 additions & 0 deletions changelogs/fragments/51-kubectl-security-disclosure.yaml
Original file line number Diff line number Diff line change
@@ -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.
3 changes: 3 additions & 0 deletions changelogs/fragments/52-kubectl-connection-docsfix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
---
bugfixes:
- kubectl - Fix documentation in kubectl connection plugin.
Loading

0 comments on commit e80e3fa

Please sign in to comment.