summaryrefslogtreecommitdiff
path: root/playbooks/image-build/docker-registry.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'playbooks/image-build/docker-registry.yaml')
-rw-r--r--playbooks/image-build/docker-registry.yaml68
1 files changed, 68 insertions, 0 deletions
diff --git a/playbooks/image-build/docker-registry.yaml b/playbooks/image-build/docker-registry.yaml
new file mode 100644
index 00000000..fc9074f1
--- /dev/null
+++ b/playbooks/image-build/docker-registry.yaml
@@ -0,0 +1,68 @@
+- hosts: all
+ tasks:
+ - name: Ensure artifacts/images directory exists
+ file:
+ path: '{{ ansible_user_dir }}/images'
+ state: directory
+ - name: Install docker
+ become: true
+ package:
+ name: docker.io
+ state: present
+ - name: Start docker
+ become: true
+ systemd:
+ name: docker.io
+ daemon_reload: true
+ - name: Run docker registry
+ become: true
+ shell: docker run -d --net=host --restart=always -v /opt/trove_registry/:/var/lib/registry --name registry registry:2
+ - name: Pull and push trove datastore images
+ become: true
+ shell: docker pull {{ item }} && docker tag {{item}} 127.0.0.1:5000/trove-datastores/{{ item }} && \
+ docker push 127.0.0.1:5000/trove-datastores/{{ item }}
+ loop:
+ - "mysql:5.7"
+ - "mysql:8.0"
+ - "mariadb:10.4"
+ - "postgres:12"
+ - name: Build mysql 5.7 backup image
+ become: true
+ shell: docker build -t 127.0.0.1:5000/trove-datastores/db-backup-mysql5.7:1.1.0 .
+ args:
+ chdir: "{{ ansible_user_dir }}/src/opendev.org/openstack/trove/backup"
+ - name: Build mysql 8.0 backup image
+ become: true
+ shell: sed -i s/mysql5.7/mysql8.0/ Dockerfile && \
+ docker build -t 127.0.0.1:5000/trove-datastores/db-backup-mysql8.0:1.1.0 .
+ args:
+ chdir: "{{ ansible_user_dir }}/src/opendev.org/openstack/trove/backup"
+ - name: Build mariadb backup image
+ become: true
+ shell: sed -i s/mysql8.0/mariadb/ Dockerfile && \
+ docker build -t 127.0.0.1:5000/trove-datastores/db-backup-mariadb:1.1.0 .
+ args:
+ chdir: "{{ ansible_user_dir }}/src/opendev.org/openstack/trove/backup"
+ - name: Build postgresql backup image
+ become: true
+ shell: sed -i s/mariadb/postgresql/ Dockerfile && \
+ docker build -t 127.0.0.1:5000/trove-datastores/db-backup-postgresql:1.1.2 .
+ args:
+ chdir: "{{ ansible_user_dir }}/src/opendev.org/openstack/trove/backup"
+ - name: Push the backup images
+ become: true
+ shell: docker push 127.0.0.1:5000/trove-datastores/db-backup-{{item}}
+ loop:
+ - "mariadb:1.1.0"
+ - "postgresql:1.1.2"
+ - name: Push mysql backup images
+ become: true
+ shell: docker push 127.0.0.1:5000/trove-datastores/db-backup-mysql{{ item }}:1.1.0
+ loop:
+ - "5.7"
+ - "8.0"
+ - name: Compress the docker registry files
+ become: true
+ archive:
+ path: "/opt/trove_registry/"
+ dest: '{{ ansible_user_dir }}/images/trove-datastore-registry-master.tar.gz' \ No newline at end of file