Compare commits

...

12 Commits

Author SHA1 Message Date
879ddf46a2 Fix gpaste service file
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2022-01-22 09:59:16 +01:00
5906946be7 Add gpaste
Some checks are pending
ci/woodpecker/push/woodpecker Pipeline is pending
2022-01-21 18:05:16 +01:00
7b4f16d742 apt update on installs
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2022-01-13 21:58:22 +01:00
6428a49659 Add docker3
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2022-01-13 21:53:18 +01:00
a1178a09bf Update readme
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2022-01-13 01:33:20 +01:00
424aa503c0 Cleanup docker-ce.repo
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2022-01-13 01:19:41 +01:00
3cadca6900 Fix error in docker-ce.repo
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2022-01-13 01:19:04 +01:00
da57e58a3d Add docker role
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2022-01-13 01:16:33 +01:00
8eee022005 More verbose name for package install
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2022-01-13 00:35:53 +01:00
ad22c97365 Fix typo in conditional
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2022-01-13 00:32:24 +01:00
303cd59aa1 Change common conditional
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2022-01-13 00:29:03 +01:00
5b89cfced5 Add common role
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2022-01-13 00:24:36 +01:00
17 changed files with 195 additions and 4 deletions

View File

@@ -8,7 +8,6 @@ pipeline:
- echo $SSH_KEY | base64 -d > env/ssh_key - echo $SSH_KEY | base64 -d > env/ssh_key
- ansible-runner run `pwd` - ansible-runner run `pwd`
secrets: [ssh_key] secrets: [ssh_key]
when: when:
branch: master branch: master
event: push event: push

View File

@@ -7,5 +7,9 @@ Ansible playbooks for stuff in NREC.
## Roles ## Roles
* Common
* Docker
* Vault * Vault
* Registry
* Traefik
* Gitea

View File

@@ -1,4 +1,5 @@
all: all:
hosts: hosts:
docker1.t-juice.club:
docker2.t-juice.club: docker2.t-juice.club:
docker1.t-juice.club: docker3.t-juice.club:

View File

@@ -4,9 +4,19 @@
- name: Ping hosts - name: Ping hosts
ansible.builtin.ping: ansible.builtin.ping:
- hosts: all
roles:
- common
- docker
- hosts: docker2.t-juice.club - hosts: docker2.t-juice.club
roles: roles:
- vault - vault
- traefik - traefik
- registry - registry
- gitea - gitea
- gpaste
- hosts: docker3.t-juice.club
roles:
- traefik

View File

@@ -0,0 +1,3 @@
---
- name: Ensure packages are installed
import_tasks: packages.yml

View File

@@ -0,0 +1,17 @@
---
- name: Ensure common packages are installed
ansible.builtin.package:
name:
- zsh
- htop
- xfsprogs
- iotop
state: present
- name: Ensure debian-specific packages are installed
import_tasks: packages_debian.yml
when: ansible_facts['os_family'] == 'Debian'
- name: Ensure rhel-specific packages are installed
import_tasks: packages_redhat.yml
when: ansible_facts['os_family'] == 'RedHat'

View File

@@ -0,0 +1,7 @@
---
- name: Ensure debian-specific packages are installed
ansible.builtin.apt:
name:
- vim
state: present
update_cache: yes

View File

@@ -0,0 +1,7 @@
---
- name: Ensure redhat-specific packages are installed
ansible.builtin.package:
name:
- vim-enhanced
- yum-cron
state: present

Binary file not shown.

View File

@@ -0,0 +1,20 @@
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg
[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://download.docker.com/linux/centos/7/source/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

View File

@@ -0,0 +1 @@
deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bullseye stable

View File

@@ -0,0 +1,14 @@
---
- name: Install debian packages
import_tasks: packages_debian.yml
when: ansible_facts['os_family'] == 'Debian'
- name: Install rhel packages
import_tasks: packages_redhat.yml
when: ansible_facts['os_family'] == 'RedHat'
- name: Ensure service is started and enabled
ansible.builtin.systemd:
name: docker
state: started
enabled: yes

View File

@@ -0,0 +1,30 @@
---
- name: Remove unwanted packages
ansible.builtin.apt:
name:
- docker
- docker-engine
- docker.io
- containerd
- runc
state: absent
- name: Add docker repo signing key
ansible.builtin.copy:
src: docker-archive-keyring.gpg
dest: /usr/share/keyrings/docker-archive-keyring.gpg
- name: Add docker repo
ansible.builtin.copy:
src: docker.list
dest: /etc/apt/sources.list.d/docker.list
- name: Install docker packages
ansible.builtin.apt:
name:
- docker-ce-cli
- docker-ce-rootless-extras
- docker-ce
- docker-scan-plugin
state: present
update_cache: yes

View File

@@ -0,0 +1,26 @@
---
- name: Remove unwanted packages
ansible.builtin.yum:
name:
- docker
- docker-client
- docker-client-latest
- docker-common
- docker-latest
- docker-latest-logrotate
- docker-logrotate
- docker-engine
state: absent
- name: Add repo
ansible.builtin.copy:
src: docker-ce.repo
dest: /etc/yum.repos.d/docker-ce.repo
- name: Install packages
ansible.builtin.yum:
name:
- docker-ce
- docker-ce-cli
- docker-ce-rootless-extras
- docker-scan-plugin

View File

@@ -0,0 +1,9 @@
---
- name: Reload systemd
ansible.builtin.systemd:
daemon_reload: yes
- name: Restart gpaste
ansible.builtin.systemd:
name: gpaste
state: restarted

View File

@@ -0,0 +1,21 @@
---
- name: Create gpaste.service
ansible.builtin.template:
src: gpaste.service.j2
dest: /etc/systemd/system/gpaste.service
notify:
- Reload systemd
- Restart gpaste
- name: Flush handlers
meta: flush_handlers
- name: Ensure service is started
ansible.builtin.systemd:
state: started
name: gpaste
- name: Ensure service is enabled
ansible.builtin.systemd:
enabled: yes
name: gpaste

View File

@@ -0,0 +1,22 @@
[Unit]
Description=Gpaste Container
After=docker.service
Requires=docker.service
[Service]
TimeoutStartSec=0
Restart=always
ExecStartPre=-/usr/bin/docker stop gpaste
ExecStartPre=-/usr/bin/docker rm gpaste
ExecStartPre=-/usr/bin/docker pull registry.t-juice.club/gpaste:latest
ExecStart=/usr/bin/docker run \
-l "traefik.enable=true" \
-l "traefik.http.routers.gpaste.rule=Host(`paste.t-juice.club`)" \
-l "traefik.http.routers.gpaste.tls=true" \
-l "traefik.http.routers.gpaste.tls.certresolver=le" \
--network proxy \
--name gpaste registry.t-juice.club/gpaste:latest
[Install]
WantedBy=multi-user.target