Skip to content

cloudscale-ch/ansible-collection-cloudscale

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

188 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ansible Collection Integration Tests Codecov License

Ansible Collection for cloudscale.ch Cloud

This collection provides a series of Ansible modules and plugins for interacting with the cloudscale.ch Cloud.

Installation

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

Usage

Playbooks

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: ...

Roles

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.

Plugins

To use a plugin, please reference the full namespace, collection name, and plugins name that you want to use:

plugin: cloudscale_ch.cloud.<myplugin>

Contributing

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.

Releasing

Prepare a new release

The changelog is managed using the antsibull tool. You can install it using pip install antsibull

  1. Update version in galaxy.yml
  2. Update changelog using antsibull
antsibull-changelog release
  1. Commit changelog and new version
git commit -m "Release version X.Y.Z" galaxy.yml CHANGELOG.rst changelogs/
  1. 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
  1. Push the release and tag
git push origin master vX.Y.Z

Release to Ansible Galaxy

After the release is tagged and pushed to Github a release to Ansible Galaxy can be created using the release feature in Github:

  1. 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.
  2. Create a release on Github by going to the release overview and selecting "Draft a new release".

License

GNU General Public License v3.0

See COPYING to see the full text.

Packages

No packages published

Contributors 11

Languages