
This adds k8s resource definitions for running gitea, and an ansible playbook to create them. It also includes ansible playbooks to create orgs and repos. Change-Id: Ib64597512c6a85d7e1495d18ae42b242f9af5a67
57 lines
1.8 KiB
YAML
57 lines
1.8 KiB
YAML
- name: Process org
|
|
debug:
|
|
msg: "Processing org {{ org }}"
|
|
- name: Create org
|
|
when: org not in gitea_orgs
|
|
uri:
|
|
url: "{{ gitea_url }}/api/v1/admin/users/root/orgs"
|
|
user: root
|
|
password: "{{ gitea_root_password }}"
|
|
force_basic_auth: true
|
|
status_code: 201
|
|
method: POST
|
|
body_format: json
|
|
body:
|
|
username: "{{ org }}"
|
|
- name: Get org team list
|
|
uri:
|
|
url: "{{ gitea_url }}/api/v1/orgs/{{ org }}/teams"
|
|
user: root
|
|
password: "{{ gitea_root_password }}"
|
|
force_basic_auth: true
|
|
status_code: 200
|
|
register: gitea_org_team_list
|
|
- name: Get org owners
|
|
uri:
|
|
url: "{{ gitea_url }}/api/v1/teams/{{ (gitea_org_team_list.json | selectattr('name', 'equalto', 'Owners') | list)[0]['id'] }}/members"
|
|
user: root
|
|
password: "{{ gitea_root_password }}"
|
|
force_basic_auth: true
|
|
status_code: 200
|
|
register: gitea_org_members
|
|
- name: Add Gerrit user to org
|
|
when: "'gerrit' not in gitea_org_members.json | map(attribute='username')"
|
|
uri:
|
|
url: "{{ gitea_url }}/api/v1/teams/{{ (gitea_org_team_list.json | selectattr('name', 'equalto', 'Owners') | list)[0]['id'] }}/members/gerrit"
|
|
user: root
|
|
password: "{{ gitea_root_password }}"
|
|
force_basic_auth: true
|
|
status_code: 204
|
|
method: PUT
|
|
- name: Get org repo list
|
|
uri:
|
|
url: "{{ gitea_url }}/api/v1/orgs/{{ org }}/repos"
|
|
user: root
|
|
password: "{{ gitea_root_password }}"
|
|
force_basic_auth: true
|
|
status_code: 200
|
|
register: gitea_org_repo_list
|
|
- name: Parse org repo list
|
|
set_fact:
|
|
gitea_org_repos: "{{ gitea_org_repo_list.json | map(attribute='name') | list }}"
|
|
- name: Create repos in org
|
|
loop: "{{ (gerrit_projects.keys() | map('regex_search', '^' + org + '/.*') | select | map('regex_replace', '^.*/', '') | list) }}"
|
|
loop_control:
|
|
loop_var: repo
|
|
include_tasks: 'setup-repo.yaml'
|