spike: automated mirrors for gitlab (w.i.p.)
parent
17267379c5
commit
b4b0508cfe
@ -0,0 +1,60 @@
|
|||||||
|
---
|
||||||
|
# Parameters:
|
||||||
|
# playbook inventory
|
||||||
|
# stage := the name of the stage (e.g. dev, int, qa, prod)
|
||||||
|
# environment variable
|
||||||
|
# GITLAB_API_TOKEN := Access token from gitlab
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
# Creating inventory dynamically for given parameters
|
||||||
|
#############################################################
|
||||||
|
|
||||||
|
- hosts: localhost
|
||||||
|
gather_facts: false
|
||||||
|
connection: local
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Add hosts
|
||||||
|
add_host:
|
||||||
|
name: "{{ stage }}-gitlab"
|
||||||
|
groups: "{{ ['stage_' + stage ] }}"
|
||||||
|
|
||||||
|
#############################################################
|
||||||
|
# Creating gitlab mirrors for current stage
|
||||||
|
#############################################################
|
||||||
|
|
||||||
|
- hosts: "stage_{{ stage }}"
|
||||||
|
serial: "{{ serial_number | default(1) }}"
|
||||||
|
gather_facts: false
|
||||||
|
connection: local
|
||||||
|
vars:
|
||||||
|
projects:
|
||||||
|
- id: 1210
|
||||||
|
name: argocd
|
||||||
|
- id: 1216
|
||||||
|
name: operator-awx
|
||||||
|
- id: 1212
|
||||||
|
name: operator-jaeger
|
||||||
|
- id: 1231
|
||||||
|
name: operator-knative
|
||||||
|
- id: 1233
|
||||||
|
name: smardigo-awx
|
||||||
|
- id: 1232
|
||||||
|
name: smardigo-jaeger
|
||||||
|
|
||||||
|
pre_tasks:
|
||||||
|
- name: "Add repository remote mirror to project"
|
||||||
|
delegate_to: 127.0.0.1
|
||||||
|
become: false
|
||||||
|
uri:
|
||||||
|
url: "https://git.dev-at.de/api/v4/projects/{{ item.id }}/remote_mirrors"
|
||||||
|
method: POST
|
||||||
|
body_format: json
|
||||||
|
body:
|
||||||
|
enabled: true
|
||||||
|
only_protected_branches: true
|
||||||
|
url: "https://{{ gitea_admin_username }}:{{ gitea_admin_password }}@{{ shared_service_gitea_hostname }}/argocd/{{ item.name }}.git"
|
||||||
|
headers:
|
||||||
|
PRIVATE-TOKEN: "{{ lookup('env', 'GITLAB_API_TOKEN') }}"
|
||||||
|
status_code: [201]
|
||||||
|
loop: "{{ projects }}"
|
||||||
Loading…
Reference in New Issue