Seperating the roles of basic infra requirements and docker service requirements into seperate roles
With this we have a working proof of concept for a proper simple docker host
This commit is contained in:
parent
5f10976264
commit
3521b840ae
@ -3,5 +3,19 @@
|
||||
remote_user: nigel
|
||||
tasks:
|
||||
- name: Setup basic role on nigel
|
||||
tags:
|
||||
- setup
|
||||
ansible.builtin.include_role:
|
||||
name: local-server-head
|
||||
apply:
|
||||
tags:
|
||||
- setup
|
||||
- name: Setup Docker services on nigel
|
||||
tags:
|
||||
- services
|
||||
ansible.builtin.include_role:
|
||||
name: services
|
||||
apply:
|
||||
become: true
|
||||
tags:
|
||||
- services
|
||||
|
@ -1,5 +1,18 @@
|
||||
- name: Ensure docker components are installed
|
||||
tags:
|
||||
- setup
|
||||
ansible.builtin.include_tasks:
|
||||
file: ensure-docker-basic.yaml
|
||||
apply:
|
||||
become: true
|
||||
tags:
|
||||
- setup
|
||||
- name: Ensure docker services are present and ready for configuration/usage
|
||||
tags:
|
||||
- services
|
||||
ansible.builtin.include_tasks:
|
||||
file: ensure-docker-services.yaml
|
||||
apply:
|
||||
become: true
|
||||
tags:
|
||||
- services
|
||||
|
17
ansible/roles/services/tasks/main.yaml
Normal file
17
ansible/roles/services/tasks/main.yaml
Normal file
@ -0,0 +1,17 @@
|
||||
- name: Ensure docker dir is present
|
||||
ansible.builtin.file:
|
||||
path: "{{ docker_compose_dir }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
- name: Ensure compose.yaml is present
|
||||
ansible.builtin.template:
|
||||
src: compose.yaml
|
||||
dest: "{{ docker_compose_dir }}/compose.yaml"
|
||||
mode: "0644"
|
||||
- name: Apply docker compose with services
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ docker_compose_dir }}"
|
||||
register: compose_output
|
||||
- name: Show output of docker compose apply
|
||||
ansible.builtin.debug:
|
||||
var: compose_output
|
6
ansible/roles/services/templates/compose.yaml
Normal file
6
ansible/roles/services/templates/compose.yaml
Normal file
@ -0,0 +1,6 @@
|
||||
services:
|
||||
health:
|
||||
container_name: health
|
||||
image: nginx:latest
|
||||
ports:
|
||||
- "{{ docker_health_port }}:80"
|
2
ansible/roles/services/vars/main.yaml
Normal file
2
ansible/roles/services/vars/main.yaml
Normal file
@ -0,0 +1,2 @@
|
||||
docker_compose_dir: /home/nigel/compose
|
||||
docker_health_port: 8080
|
@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
bucket="$1"
|
||||
s3env=/opt/nginx/s3.env
|
||||
|
||||
[[ -z "$bucket" ]] && echo "No bucket selected" && exit 1
|
||||
|
||||
[[ ! -f $s3env ]] && echo "No credentials to source!" && exit 1
|
||||
source $s3env
|
||||
|
||||
pull() {
|
||||
aws s3 sync s3://$bucket /opt/nginx/$bucket
|
||||
}
|
||||
|
||||
|
||||
case $bucket in
|
||||
resume.shockrah.xyz|shockrah.xyz|temper.tv) pull;;
|
||||
*) echo "Invalid bucket name" && exit 1 ;;
|
||||
esac
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user