Răsfoiți Sursa

feat: add new roles for docker and freebsd jails

Douglas A 1 an în urmă
părinte
comite
acd92e5782

+ 1 - 1
ansible-conf.yml

@@ -28,4 +28,4 @@
   - name: Set up authorized keys for the deployer user
     authorized_key: user=ansible key="{{item}}"
     with_file:
-      - /home/cmte/.ssh/id_rsa.pub
+      - /home/cmte/.ssh/ansible.pub

+ 32 - 0
main.yaml

@@ -16,4 +16,36 @@
     - { role: centos, tags: centos-update } 
     - { role: packages, tags: centos-packages }
 
+- hosts: docker1
+  gather_facts: yes
+  user: ansible
+  roles:
+    - { role: docker1, tags: docker }
+
+- hosts: docker2
+  gather_facts: yes
+  user: ansible
+  roles:
+    - { role: docker2, tags: docker }
+
+- hosts: bitwarden
+  gather_facts: yes
+  user: cmte
+  roles:
+    - { role: bitwarden, tags: docker }
+
+- hosts: freebsd
+  gather_facts: yes
+  user: ansible
+  become: yes
+  become_user: root
+  roles:
+    - { role: freebsd, tags: freebsd }
 
+- hosts: freebsd_jails
+  gather_facts: yes
+  user: ansible
+  become: yes
+  become_user: root
+  roles:
+    - { role: freebsd-jails, tags: freebsd }

+ 12 - 0
roles/bitwarden/tasks/main.yml

@@ -0,0 +1,12 @@
+---
+- name: Tear down existing service
+  community.docker.docker_compose:
+    project_src: /opt/bitwarden
+    state: absent
+
+- name: Create and start services
+  community.docker.docker_compose:
+    project_src: /opt/bitwarden
+    state: present
+    pull: true
+  register: output

+ 31 - 0
roles/docker1/tasks/main.yml

@@ -0,0 +1,31 @@
+---
+- name: Install required packages
+  package: name={{ item }} state=latest
+  with_items:
+    - docker-compose
+
+
+- name: Tear down existing service - flaresolverr
+  community.docker.docker_compose:
+    project_src: /opt/flaresolverr
+    state: absent
+
+- name: Create and start services - flaresolverr
+  community.docker.docker_compose:
+    project_src: /opt/flaresolverr
+    state: present
+    pull: true
+  register: output
+
+- name: Tear down existing service - monitoring
+  community.docker.docker_compose:
+    project_src: /opt/monitoring
+    state: absent
+
+- name: Create and start services - monitoring
+  community.docker.docker_compose:
+    project_src: /opt/monitoring
+    state: present
+    pull: true
+  register: output
+

+ 25 - 0
roles/docker2/tasks/main.yml

@@ -0,0 +1,25 @@
+---
+- name: Tear down existing service - jenkins-agent
+  community.docker.docker_compose:
+    project_src: /opt/jenkins-agent
+    state: absent
+
+- name: Create and start services - jenkins-agent
+  community.docker.docker_compose:
+    project_src: /opt/jenkins-agent
+    state: present
+    build: true
+  register: output
+
+- name: Tear down existing service - portainer
+  community.docker.docker_compose:
+    project_src: /opt/portainer
+    state: absent
+
+- name: Create and start services - portainer
+  community.docker.docker_compose:
+    project_src: /opt/portainer
+    state: present
+    pull: true
+    recreate: always
+  register: output

+ 5 - 0
roles/freebsd-jails/tasks/main.yml

@@ -0,0 +1,5 @@
+---
+- name: Upgrade jails
+  ansible.builtin.command: 
+    cmd: /usr/local/bin/ezjail-admin update -u
+  register: output

+ 23 - 0
roles/freebsd/tasks/main.yml

@@ -0,0 +1,23 @@
+---
+- name: Install base packages
+  pkgng:
+    autoremove: true
+    cached: false
+    name: rsync,curl,htop
+    state: latest
+
+- name: Update all packages 
+  pkgng:
+    name: "*"
+    state: latest
+
+- name: Fetch any new FreeBSD updates
+  shell: freebsd-update fetch
+  when: ansible_distribution == 'FreeBSD'
+  register: result_update
+  changed_when: "'No updates needed' not in result_update.stdout"
+
+- name: Install FreeBSD updates
+  shell: freebsd-update install
+  when: ansible_distribution == 'FreeBSD' and result_update.changed
+  register: result_update_install