Metadata-Version: 2.1
Name: molecule-hetznercloud
Version: 0.1.0
Summary: Molecule Hetzner Cloud Plugin :: run molecule tests with hetzner cloud
Home-page: https://git.autonomic.zone/autonomic-cooperative/molecule-hetznercloud
Author: decentral1se
Author-email: lukewm@riseup.net
Maintainer: decentral1se
Maintainer-email: lukewm@riseup.net
License: LGPL
Project-URL: Bug Tracker, https://git.autonomic.zone/autonomic-cooperative/molecule-hetznercloud/issues
Project-URL: CI: Drone, https://drone.autonomic.zone/autonomic-cooperative/molecule-hetznercloud/
Project-URL: Source Code, https://git.autonomic.zone/autonomic-cooperative/molecule-hetznercloud
Description: # Molecule Hetzner Cloud Plugin
        
        [![Drone CI-CD](https://drone.autonomic.zone/api/badges/autonomic-cooperative/molecule-hetznercloud/status.svg)](https://drone.autonomic.zone/autonomic-cooperative/molecule-hetznercloud)
        [![PyPI Package](https://badge.fury.io/py/molecule-hetznercloud.svg)](https://badge.fury.io/py/molecule-hetznercloud)
        [![Repository License](https://img.shields.io/badge/license-LGPL-brightgreen.svg)](LICENSE)
        
        A [Hetzner Cloud](https://www.hetzner.com/cloud) plugin for [Molecule](https://molecule.readthedocs.io/en/latest/).
        
        This plugin allows you to do `molecule init role myrolename -d hetznercloud`
        and have Molecule provision on-demand Hetzner Cloud VPSes of your choice for
        your integration testing. New VPSes will be automagically created and
        provisioned on each `molecule test` run, SSH keys are generated and managed
        internally and all resources are cleaned up regardless of whether the role
        under test succeeds or fails.
        
        ## Support
        
        If you use this plugin in a commercial setting or you find it personally
        useful, please support my maintenance work financially through my
        [Liberapay](https://liberapay.com/decentral1se/) profile or through my [Github
        Sponsor profile](https://github.com/sponsors/decentral1se). I do not receive
        any financial support from RedHat or Hetzner Cloud for this work.
        
        ## Usage
        
        You need to expose a `HCLOUD_TOKEN` environment variable in your environment.
        Find out more about how to get one of those [over here](https://docs.hetzner.cloud/#overview-authentication).
        
        ```bash
        $ export HCLOUD_TOKEN=mycoolapitoken
        ```
        
        Then install the required Python package.
        
        ```bash
        $ pip install molecule-hetznercloud
        $ molecule init role myrolename -d hetznercloud
        ```
        
        Your `myrolename/molecule/default/molecule.yml` should then look like the following.
        
        ```yaml
        ---
        dependency:
          name: galaxy
        driver:
          name: hetznercloud
        platforms:
          - name: my-instance-name
            server_type: cx11
            image: debian-10
        provisioner:
          name: ansible
        verifier:
          name: ansible
        ```
        
        Please see [docs.hetzner.cloud](https://docs.hetzner.cloud/) for information regarding images and server types.
        
        Then just run the role.
        
        ```bash
        $ cd myrolename && molecule test
        ```
        
        To ease initial debugging for getting things started, also expose the following
        environment variables.
        
        ```bash
        $ export MOLECULE_NO_LOG=False  # not so verbose, helpful
        $ export MOLECULE_DEBUG=True  # very verbose, last ditch effort
        ```
        
        ## Mirroring
        
        Issues will be responded to on both issue trackers.
        
        - [git.autonomic.zone](https://git.autonomic.zone/autonomic-cooperative/molecule-hetznercloud) (primary)
        - [github.com](https://github.com/ansible-community/molecule-hetznercloud) (mirror)
        
        ## Change log
        
        See [CHANGELOG.md](./CHANGELOG.md).
        
        ## Molecule Documentation
        
        > https://molecule.readthedocs.io
        
        ## Contact
        
        - Ping @decentral1se on the `#ansible-molecule` channel on [Freenode](https://webchat.freenode.net).
        
        ## License
        
        The [LGPLv3](https://www.gnu.org/licenses/lgpl-3.0.en.html) license.
        
        ## Testing
        
        This is all done on our [drone.autonomic.zone](https://drone.autonomic.zone/autonomic-cooperative/molecule-hetznercloud) setup.
        
        Unit tests and such.
        
        ```bash
        $ pip install tox
        $ tox -v
        ```
        
        Integration tests.
        
        (Only doable by [Autonomic Cooperative](https://autonomic.zone/) members.)
        
        ```bash
        $ sudo apt install -y direnv
        $ cp .envrc.sample .envrc
        $ direnv allow
        $ pip install -e .
        $ cd integration-test-role && molecule test
        ```
        
Keywords: ansible,hetznercloud,molecule,plugin,roles,testing,verifier
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: System :: Systems Administration
Classifier: Topic :: Utilities
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Provides-Extra: test
