Skip to content
Snippets Groups Projects
Select Git revision
  • ical-export
  • develop default protected
  • feature/audit_log
  • fix/index
  • badge-redeem-404
  • 720-schedule_source
  • room-docu
  • chore/event-views
  • 511-schedule-foo-fixed
  • 607-schedule-versions
  • deploy/curl-verbose
  • fix/public-badge-access-rights
  • 445-schedule-redirects
  • 623-wiki-im-baustellenmodus-sollte-mal-als-wiki-admin-trotzdem-seiten-anlegen-bearbeiten-konnen
  • fix/registration_mail_subject
  • feature/conference-query-set
  • feature/568-habitatmanagement
  • feat/unit-integration-tests
  • camp23-prod
  • production
  • prod-2024-12-27_20-15
  • prod-2024-12-27_16-37
  • prod-2024-12-27_16-01
  • prod-2024-12-27_13-29
  • prod-2024-12-27_00-34
  • prod-2024-12-26_21-45
  • prod-2024-12-26_13-12
  • prod-2024-12-26_00-21
  • prod-2024-12-25_21-04
  • prod-2024-12-25_15-54
  • prod-2024-12-25_01-29
  • prod-2024-12-24_14-48
  • prod-2024-12-23_23-39
  • prod-2024-12-22_21-12
  • prod-2024-12-22_17-25
  • prod-2024-12-22_01-34
  • prod-2024-12-22_00-55
  • prod-2024-12-21_13-42
  • prod-2024-12-21_10-44
  • prod-2024-12-20_12-25
40 results

deployment

  • Clone with SSH
  • Clone with HTTPS
  • Forked from hub / hub
    Source project has a limited visibility.

    docker_images role

    This ansible-role for dealing with creating the docker images necessary for deploying the system used from c3infodesk.

    Requirements

    • To have ansible installed at your system.

    Configuration

    You need to set some configuration for this to work

    • ansible.cfg

      You have to edit the ansible.cfg file to your needs for accessing your target.

      • remote_user

        You need to set the remote_user configuration for accessing the target host.

        Example: remote_user

    • HOST_VARS

      In order to access your target host, you need to create/edit your inventories/host_vars/<YOUR_HOST_NAME>.yml

      • ansible_become_pass

        You need to set the sudo password from the user setted on remote_user for installing packages and etc. at the target.

        Example: ansible_become_pass

    • HOSTS

      You need to provide a group in which your target belongs to with the same name setted for inventories/host_vars/<YOUR_HOST_NAME>.yml.

      There you can add/edit the target address/IP.

      Example: hosts

    Role Variables

    Here are the variables setted:

    • From: inventories/host_vars/<TARGET_NAME>

      Here are the variables that you should be changing for your own deployment.

      • c3infodesk_printer_debug_create_image_cups: DEFAULT=<NOT_SETTED>
        • If you want to debug the output from creating the image for CUPS
      • c3infodesk_printer_debug_create_image_app: DEFAULT=<NOT_SETTED>
        • If you want to debug the output from creating the image for the APP
      • c3infodesk_printer_debug_create_image_proxy: DEFAULT=<NOT_SETTED>
        • If you want to debug the output from creating the image for the PROXY
    • From: inventories/group_vars/<TARGET_GROUP>

      Please don't cahnge the default values at this file. If you need to update them, use the inventories/host_vars/<TARGET_NAME> file.

      • c3infodesk_printer_folder_docker: DEFAULT="Coding/c3infodesk-printer/docker"
        • The folder where the configuration from docker used for the system
      • c3infodesk_printer_folder_docker_cups: DEFAULT="Coding/c3infodesk-printer/docker/cups"
        • The folder where the configuration from docker CUPS used for the system
      • c3infodesk_printer_folder_docker_app: DEFAULT="Coding/c3infodesk-printer/docker/app"
        • The folder where the configuration from docker APP used for the system
      • c3infodesk_printer_folder_docker_proxy: DEFAULT="Coding/c3infodesk-printer/docker/proxy"
        • The folder where the configuration from docker PROXY used for the system
      • c3infodesk_printer_docker_img_cups_name: DEFAULT="c3printing-cups"
        • The name of the image to be set for the CUPS
      • c3infodesk_printer_docker_img_cups_tag: DEFAULT="latest"
        • The tag name/number to be setted for the CUPS image
      • c3infodesk_printer_docker_img_app_name: DEFAULT="c3printing-app"
        • The name of the image to be set for the APP
      • c3infodesk_printer_docker_img_app_tag: DEFAULT="latest"
        • The tag name/number to be setted for the APP image
      • c3infodesk_printer_docker_img_proxy_name: DEFAULT="c3printing-proxy"
        • The name of the image to be set for the PROXY
      • c3infodesk_printer_docker_img_proxy_tag: DEFAULT="latest"
        • The tag name/number to be setted for the PROXY image
    • From: roles/clone-repositories/defaults/main.yml

      Don't change the values at this file, if you need to change them, change it at the inventories/host_vars/<TARGET_NAME> file

      • c3infodesk_printer_debug_create_image_cups: DEFAULT=false
      • c3infodesk_printer_debug_create_image_app: DEFAULT=false
      • c3infodesk_printer_debug_create_image_proxy: DEFAULT=false

    Dependencies

    The role dependencies are:

    Example Playbook

    • Using the provided example

      For using the example playbook playbooks/examples/example_04_docker_images.yml file you only need to:

      And run the command:

      ansible-playbook -i inventories/hosts playbooks/examples/example_04_docker_images.yml
    • Setting your own example

      After setting your variables at inventories/host_vars/<HOST_NAME>, you can add this role to your playbook as a regular role.

      Here is an example using the <HOST_NAME> as test_servers

      - hosts:
          - test_servers
        roles:
          - roles/c3infodesk-deployment-role-docker-images

      And call the playbook as:

      ansible-playbook -i <INVENTORY> <PLAYBOOK_NAME>.yml

    Testing

    You can test this locally using DIND (docker in docker) at your own computer using ansible molecule

    • Testing requirements

      You need docker installed at your system and the ansible molecule.

      You might have to set DIND at your system, for linux, you can create the file /etc/docker/daemon.json

      And add the content and restart docker.

      {
        "exec-opts": ["native.cgroupdriver=systemd"],
        "features": {
          "buildkit": true
        },
        "experimental": true,
        "cgroup-parent": "docker.slice"
      }
    • Using molecule

      Just go to the root of the role roles/dependencies and run the command:

      molecule test

    License

    MIT / BSD

    Author Information

    https://chaos.social/@fejao