diff --git a/setups/ansible-setup_project_directory.yml b/setups/ansible-setup_project_directory.yml new file mode 100644 index 0000000..1c33486 --- /dev/null +++ b/setups/ansible-setup_project_directory.yml @@ -0,0 +1,74 @@ +--- +- name: Setup project directory with host_vars for three hosts + hosts: localhost + gather_facts: no + tasks: + - name: Create project directories + file: + path: "{{ item }}" + state: directory + mode: '0755' + with_items: + - "project/host_vars/host1" + - "project/host_vars/host2" + - "project/host_vars/host3" + + - name: Define host_vars for each host + copy: + dest: "project/host_vars/{{ item.host }}/vars.yml" + content: | + interface_name: "Wired connection 1" + static_ip: "{{ item.static_ip }}" + netmask: "255.255.255.0" + gateway: 172.20.1.251 + dns_servers: + - 172.20.1.251 + - 172.20.1.10 + - 172.20.1.11 + - 8.8.8.8 + new_hostname: "ansible-test02" + timezone: "Europe/Berlin" + required_pkgs: + - ufw + - fail2ban + - net-tools + - p7zip-full + - pigz + - htop + - iotop + - bash-completion + - rsync + - sudo + - nano + - vim + - screen + - curl + - gnupg2 + - apache2-utils + - mariadb-client + - git + - sshpass + ssh_ips: + - "195.192.223.212" # Ratingen + - "87.128.173.178" # Essen + - "94.79.143.149" # Dirk + tcp_ports: + - "22" + - "6789" + - "8080" + - "8443" + - "8843" + - "8880" + udp_ports: + - "3478" + ssh_pub_key: "" + admin_users: + - name: admin-johannes + - name: admin-daniel + - name: admin-dirk + - name: admin-martin + groups_to_add: "sudo,docker" + loop: + - { host: "host1", static_ip: "172.20.1.32" } + - { host: "host2", static_ip: "172.20.1.33" } + - { host: "host3", static_ip: "172.20.1.34" } diff --git a/setups/docker-compose.yml b/setups/docker-compose.yml new file mode 100644 index 0000000..618f6df --- /dev/null +++ b/setups/docker-compose.yml @@ -0,0 +1,48 @@ +--- +############ - Ansible Semaphore +volumes: + semaphore-mysql: + driver: local +services: + mysql: + image: mysql:8.0 + hostname: mysql + volumes: + - ./semaphore-mysql:/var/lib/mysql + environment: + - MYSQL_RANDOM_ROOT_PASSWORD=yes + - MYSQL_DATABASE=semaphore + - MYSQL_USER=semaphore + - MYSQL_PASSWORD=0semaphore # change! + restart: unless-stopped + semaphore: + container_name: ansiblesemaphore +# image: ghcr.io/andygeorge/semaphore-pip-ansible:latest +# image: semaphoreui/semaphore:latest +# build: . + image: new-semaphore + user: "${UID}:${GID}" + ports: + - 3000:3000 + environment: + - SEMAPHORE_DB_USER=semaphore + - SEMAPHORE_DB_PASS=0semaphore # change! + - SEMAPHORE_DB_HOST=mysql + - SEMAPHORE_DB_PORT=3306 + - SEMAPHORE_DB_DIALECT=mysql + - SEMAPHORE_DB=semaphore + - SEMAPHORE_PLAYBOOK_PATH=/tmp/semaphore/ + - SEMAPHORE_ADMIN_PASSWORD=hawkmoon # change! + - SEMAPHORE_ADMIN_NAME=admin + - SEMAPHORE_ADMIN_EMAIL=admin@localhost + - SEMAPHORE_ADMIN=admin + - SEMAPHORE_ACCESS_KEY_ENCRYPTION=ojRTz3NtFjZdqxkSuWPVbpUpqeEMNsu8qiEgQZ4+in0= # add to your access key encryption ! + - ANSIBLE_HOST_KEY_CHECKING=false # (optional) change to true if you want to enable host key checking + volumes: + - ./inventory/:/inventory:ro + - ./authorized-keys/:/authorized-keys:ro + - ./config/:/etc/semaphore:rw + restart: unless-stopped + depends_on: + - mysql + diff --git a/setups/dockerfile b/setups/dockerfile new file mode 100644 index 0000000..e691d1a --- /dev/null +++ b/setups/dockerfile @@ -0,0 +1,8 @@ +# Anpassung für die zusätzlich zu installierenden libs +FROM semaphoreui/semaphore:latest + +USER root +RUN apk add --no-cache python3 py3-pip +RUN pip install pywinrm jmespath netaddr passlib requests matrix_client + +USER semaphore