ad8958a2ad
* Add possibility to specify private network when creating or updating a server This allows creating servers without public internet access * Add integration tests |
||
---|---|---|
.azure-pipelines | ||
.github/workflows | ||
changelogs | ||
meta | ||
plugins | ||
tests | ||
.gitignore | ||
.gitlab-ci.yml | ||
CHANGELOG.rst | ||
COPYING | ||
galaxy.yml | ||
README.md |
Ansible Collection: hetzner.hcloud
Ansible Hetzner Cloud Collection for controlling your Hetzner Cloud Resources.
Release notes
See here.
Documentation
The documentation for all modules are available through ansible-doc
.
Sample: ansible-doc hetzner.hcloud.hcloud_server
shows the documentation for the hcloud_server
module.
For all modules that were part of Ansible directly (before Ansible 2.11) we also have the documentation published in the Ansible documentation: https://docs.ansible.com/ansible/latest/collections/hetzner/hcloud/
Development
Requirements
You should place the collection (clone the repository) into the Ansible collection path. Normally this
is ~/.ansible/collections/ansible_collections/<namespace>/<collection
, so for our collection it would
be: ~/.ansible/collections/ansible_collections/hetzner/hcloud
.
git clone git@github.com:ansible-collections/hetzner.hcloud.git ~/.ansible/collections/ansible_collections/hetzner/hcloud
After this you just need ansible
installed.
Testing
Testing is done via ansible-test
. Make sure to have a cloud-config-hcloud.ini
file in tests/integration
which
contains the hcloud API token:
[default]
hcloud_api_token=<token>
After this you should be able to use ansible-test integration
to perform the integration tests for a specific module.
Sample:
ansible-test integration --color --local -vvv hcloud_server // Executed all integration tests for hcloud_server module
Releasing a new version
Generating changelog from fragments
- Check if the changelog fragments are available (there should be files in
changelogs/fragments
) - Run
antsibull-changelog release --version <version>
, it should remove all fragments and change thechangelogs/changlog.yaml
andCHANGELOG.rst
- Push the changes to the main branch
- Tag the release through the Github UI, after this the Github Actions will run and publish the collection to Ansible Galaxy