# C3InfoDesk Deployment



## WIP
- [x] Finish the roles for deploying the **c3InfoDesk Printer**.
    - [x] dependencies
    - [x] clone_repositories
    - [x] docker_images
    - [x] docker_containers
- [x] Set ansible-lint for the roles.
- [ ] Add molecule tests.
    - [x] [dependencies](https://git.cccv.de/fejao/c3infodesk-deployment/-/commit/c04809f7f0644f2cdb1e8affb02ed6c4b623252a)
    - [x] [clone_repositories](https://git.cccv.de/fejao/c3infodesk-deployment/-/commit/0b9aee5d2d9768b5f77494300e88857b9a3aceee)
    - [x] [docker_images](https://git.cccv.de/fejao/c3infodesk-deployment/-/commit/a4d532169beed8a18bed536bb1e9a346b6a7b5c0)
    - [x] [docker_containers](https://git.cccv.de/fejao/c3infodesk-deployment/-/commit/a4d532169beed8a18bed536bb1e9a346b6a7b5c0)
    - [x] oh_my_bash


## What is this?
This is a repo for deploying the the printer system used at the c3infodesk for printing EXTREMILY NECESSARY documents.

## Dependencies
To have [ansible](https://docs.ansible.com/ansible/latest/installation_guide/installation_distros.html) installed at your system.

## Roles
Here are the used roles:

- [dependencies](roles/dependencies/README.md)
- [clone_repositories](roles/clone_repositories/README.md)
- [docker_images](roles/docker_images/README.md)
- [docker_containers](roles/docker_containers/README.md)

## How to use this
- 1. Clone this repo.
- 2. Edit the files.
    - Set your **remote_user** configuration at the **ansible.cfg** file.
    - Set your **inventories/host_vars/<TARGET_NAME>** file.
- 3. Run the playbooks
    - Example for deploying the containers at the target:
    ```bash
    ansible-playbook -i inventories/hosts playbooks/examples/example_05_docker_containers.yml
    ```
- 4. Change the default environment variables setted from the [docker-compose.yml](https://git.cccv.de/fejao/c3infodesk-printer/-/blob/main/docker/docker-compose.yml) file to your needs and recreate the containers. You might need to login at the **target** for doing it so.

## Local testing
At the moment, the only tests setted CI-CD are.
- ansible-playbook syntax-check
    -
    ```bash
    ansible-playbook --syntax-check -i <YOUR_INVENTORY> <YOUR_PLAYBOOK_NAME>
    ```
- ansible-lint
    -
    ```bash
    ansible-lint <YOUR_PLAYBOOK_NAME>
    ```

## License

MIT / BSD

## Author Information

![fejao logo](files/from_authors/fejao_logo_circle.png "fejao") [https://chaos.social/@fejao](https://chaos.social/@fejao)