e218306028
* test: update for new locations * test(cert): fix issues with random name failing the test The variable hcloud_dns_test_domain used the random function to generate a number from 1-100. This number changed between every usage of the variable, so the test that compared the domain name of the cert to the variable kept failing, as different numbers were generated. By generating the number once and saving it into a fact, this is fixed. * test: fix issues with long resource names Server and volume names have restricted length (63 and 64 respectivly). This can cause issues when the `hcloud_prefix` is of certain length. By applying truncate, we can be sure to not reach the limit. This issue mainly happened in our internal ci, as the hcloud_prefix variable contains the hostname where the tests were running, and our hostnames are quite long. |
||
---|---|---|
.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