This collection provides a series of Ansible modules and plugins for interacting with the cloudscale.ch Cloud.
To install the collection hosted in Galaxy:
ansible-galaxy collection install cloudscale_ch.cloud
To upgrade to the latest version of the collection:
ansible-galaxy collection install cloudscale_ch.cloud --force
To use a module from the cloudscale.ch collection, please reference the full namespace, collection name, and modules name that you want to use:
---
- name: Using cloudscale.ch collection
hosts: localhost
tasks:
- cloudscale_ch.cloud.server:
name: web1
image: debian-10
flavor: flex-2
ssh_keys:
- ssh-rsa XXXXXXXXXX...XXXX ansible@cloudscale
server_groups: web-group
zone: lpg1
api_token: ...
Or you can add the full namespace and collection name in the collections
element:
---
- name: Using cloudscale.ch collection
hosts: localhost
collections:
- cloudscale_ch.cloud
tasks:
- server:
name: web1
image: debian-10
flavor: flex-2
ssh_keys:
- ssh-rsa XXXXXXXXXX...XXXX ansible@cloudscale
server_groups: web-group
zone: lpg1
api_token: ...
For existing Ansible roles, please also reference the full namespace, collection name, and modules name that are used in tasks instead of just modules name.
To use a plugin, please reference the full namespace, collection name, and plugins name that you want to use:
plugin: cloudscale_ch.cloud.<myplugin>
There are many ways in which you can participate in the project, for example:
- Submit bugs and feature requests, and help us verify them as they are checked in
- Review source code changes
- Review the documentation and make pull requests for anything from typos to new content
- If you are interested in fixing issues and contributing directly to the code base, please see the CONTRIBUTING document.
The changelog is managed using the antsibull
tool. You can install
it using pip install antsibull
- Update version in galaxy.yml
- Update changelog using antsibull
antsibull-changelog release
- Commit changelog and new version
git commit -m "Release version X.Y.Z" galaxy.yml CHANGELOG.rst changelogs/
- Tag the release. Preferably create a GPG signed tag if you have a GPG key. Version tags should be prefixed with "v" (otherwise the integration tests won't run automatically).
git tag -s -m "Version X.Y.Z" vX.Y.Z
- Push the release and tag
git push origin master vX.Y.Z
After the release is tagged and pushed to Github a release to Ansible Galaxy can be created using the release feature in Github:
- Wait for integration tests to succeed. They should automatically run on new tags. Only release if they succeed. Otherwise delete the tag and fix the issue.
- Create a release on Github by going to the release overview and selecting "Draft a new release".
GNU General Public License v3.0
See COPYING to see the full text.