init
This commit is contained in:
commit
883f31932e
169 changed files with 5676 additions and 0 deletions
5
ansible/roles/devpi/defaults/main.yml
Normal file
5
ansible/roles/devpi/defaults/main.yml
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
install_dir: /opt/devpi
|
||||
port: 3141
|
||||
ssl_cert: /etc/letsencrypt/live/tiararodney.com/fullchain.pem
|
||||
ssl_key: /etc/letsencrypt/live/tiararodney.com/privkey.pem
|
||||
11
ansible/roles/devpi/files/Dockerfile
Normal file
11
ansible/roles/devpi/files/Dockerfile
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
FROM python:3.12-slim
|
||||
|
||||
RUN pip install --no-cache-dir devpi-server devpi-web
|
||||
|
||||
RUN devpi-init --serverdir /data || true
|
||||
|
||||
EXPOSE 3141
|
||||
|
||||
VOLUME /data
|
||||
|
||||
CMD ["devpi-server", "--serverdir", "/data", "--host", "0.0.0.0", "--port", "3141"]
|
||||
6
ansible/roles/devpi/meta/main.yml
Normal file
6
ansible/roles/devpi/meta/main.yml
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
---
|
||||
dependencies:
|
||||
-
|
||||
role: docker
|
||||
-
|
||||
role: apache
|
||||
51
ansible/roles/devpi/tasks/deploy-devpi.yml
Normal file
51
ansible/roles/devpi/tasks/deploy-devpi.yml
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
---
|
||||
-
|
||||
name: Ensure install directory exists
|
||||
file:
|
||||
path: "{{ install_dir }}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
|
||||
-
|
||||
name: Copy Dockerfile
|
||||
copy:
|
||||
src: Dockerfile
|
||||
dest: "{{ install_dir }}/Dockerfile"
|
||||
|
||||
-
|
||||
name: Deploy docker-compose file
|
||||
template:
|
||||
src: docker-compose.yml.j2
|
||||
dest: "{{ install_dir }}/docker-compose.yml"
|
||||
|
||||
-
|
||||
name: Start devpi stack
|
||||
include_role:
|
||||
name: docker
|
||||
tasks_from: start-compose
|
||||
vars:
|
||||
compose_project_dir: "{{ install_dir }}"
|
||||
compose_build: policy
|
||||
|
||||
-
|
||||
name: Deploy devpi vhost
|
||||
include_role:
|
||||
name: apache
|
||||
tasks_from: deploy-reverse-proxy
|
||||
vars:
|
||||
vhost_name: devpi
|
||||
server_name: "{{ hostname }}"
|
||||
backend_port: "{{ port }}"
|
||||
|
||||
-
|
||||
name: Deploy devpi backup script
|
||||
include_role:
|
||||
name: docker
|
||||
tasks_from: deploy-backup
|
||||
vars:
|
||||
backup_name: devpi
|
||||
backup_hook_dir: /etc/restic/pre-backup.d
|
||||
backup_volumes:
|
||||
- devpi_devpi_data
|
||||
backup_files:
|
||||
- "{{ install_dir }}/docker-compose.yml"
|
||||
4
ansible/roles/devpi/tasks/main.yml
Normal file
4
ansible/roles/devpi/tasks/main.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
-
|
||||
name: Deploy devpi
|
||||
ansible.builtin.include_tasks: deploy-devpi.yml
|
||||
33
ansible/roles/devpi/tasks/restore.yml
Normal file
33
ansible/roles/devpi/tasks/restore.yml
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
-
|
||||
name: Set backup staging directory
|
||||
set_fact:
|
||||
_devpi_backup_dir: "{{ backup_staging_dir | default('/var/backups') }}/devpi"
|
||||
|
||||
-
|
||||
name: Stop devpi stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ install_dir }}"
|
||||
state: absent
|
||||
|
||||
-
|
||||
name: Restore docker-compose file
|
||||
copy:
|
||||
src: "{{ _devpi_backup_dir }}/docker-compose.yml"
|
||||
dest: "{{ install_dir }}/docker-compose.yml"
|
||||
remote_src: yes
|
||||
mode: "0600"
|
||||
|
||||
-
|
||||
name: Restore devpi data volume
|
||||
command: >
|
||||
docker run --rm
|
||||
-v devpi_devpi_data:/data
|
||||
-v {{ _devpi_backup_dir }}:/backup
|
||||
alpine sh -c "rm -rf /data/* && tar xzf /backup/devpi_data.tar.gz -C /data"
|
||||
|
||||
-
|
||||
name: Start devpi stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: "{{ install_dir }}"
|
||||
state: present
|
||||
11
ansible/roles/devpi/templates/docker-compose.yml.j2
Normal file
11
ansible/roles/devpi/templates/docker-compose.yml.j2
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
services:
|
||||
devpi:
|
||||
build: .
|
||||
ports:
|
||||
- "127.0.0.1:{{ port }}:3141"
|
||||
volumes:
|
||||
- devpi_data:/data
|
||||
restart: unless-stopped
|
||||
|
||||
volumes:
|
||||
devpi_data:
|
||||
Loading…
Add table
Add a link
Reference in a new issue