You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
101 lines
2.7 KiB
YAML
101 lines
2.7 KiB
YAML
---
|
|
- name: "Check if project <{{ project_name }}> exists"
|
|
delegate_to: 127.0.0.1
|
|
become: false
|
|
uri:
|
|
url: "{{ shared_service_url_harbor }}/api/v2.0/projects/{{ project_name }}"
|
|
user: '{{ harbor_admin_username }}'
|
|
password: '{{ harbor_admin_password }}'
|
|
method: GET
|
|
body_format: json
|
|
force_basic_auth: yes
|
|
headers:
|
|
Content-Type: application/json
|
|
status_code: [200,404]
|
|
register: project_exists
|
|
|
|
- name: "Check if project <{{ project_name }}> exists"
|
|
debug:
|
|
msg: '{{ project_exists.json }}'
|
|
when: debug
|
|
|
|
- name: "Create project <{{ project_name }}>"
|
|
delegate_to: 127.0.0.1
|
|
become: false
|
|
uri:
|
|
url: "{{ shared_service_url_harbor }}/api/v2.0/projects"
|
|
user: '{{ harbor_admin_username }}'
|
|
password: '{{ harbor_admin_password }}'
|
|
method: POST
|
|
body_format: json
|
|
body: '{{ project.project_attributes | to_json }}'
|
|
force_basic_auth: yes
|
|
headers:
|
|
Content-Type: application/json
|
|
status_code: [200,201]
|
|
register: project_create
|
|
when:
|
|
- project_exists.status in [404]
|
|
- project.project_state == 'present'
|
|
|
|
- name: "Create project <{{ project_name }}>"
|
|
debug:
|
|
msg: '{{ project_create.json }}'
|
|
when:
|
|
- debug
|
|
- project_exists.status in [404]
|
|
- project.project_state == 'present'
|
|
|
|
- name: "Update project <{{ project_name }}>"
|
|
delegate_to: 127.0.0.1
|
|
become: false
|
|
uri:
|
|
url: "{{ shared_service_url_harbor }}/api/v2.0/projects/{{ project_name }}"
|
|
user: '{{ harbor_admin_username }}'
|
|
password: '{{ harbor_admin_password }}'
|
|
method: PUT
|
|
body_format: json
|
|
body: '{{ project.project_attributes | to_json }}'
|
|
force_basic_auth: yes
|
|
headers:
|
|
Content-Type: application/json
|
|
status_code: [200,201]
|
|
register: project_update
|
|
when:
|
|
- project_exists.status in [200]
|
|
- project.project_state == 'present'
|
|
|
|
- name: "Update project <{{ project_name }}>"
|
|
debug:
|
|
msg: '{{ project_update.json }}'
|
|
when:
|
|
- debug
|
|
- project_exists.status in [200]
|
|
- project.project_state == 'present'
|
|
|
|
- name: "Delete project <{{ project_name }}>"
|
|
delegate_to: 127.0.0.1
|
|
become: false
|
|
uri:
|
|
url: "{{ shared_service_url_harbor }}/api/v2.0/projects/{{ project_name }}"
|
|
user: '{{ harbor_admin_username }}'
|
|
password: '{{ harbor_admin_password }}'
|
|
method: DELETE
|
|
body_format: json
|
|
force_basic_auth: yes
|
|
headers:
|
|
Content-Type: application/json
|
|
status_code: [200]
|
|
register: project_delete
|
|
when:
|
|
- project_exists.status in [200]
|
|
- project.project_state == 'absent'
|
|
|
|
- name: "Delete project <{{ project_name }}>"
|
|
debug:
|
|
msg: '{{ project_update.json }}'
|
|
when:
|
|
- debug
|
|
- project_exists.status in [200]
|
|
- project.project_state == 'absent'
|