mirror of
https://gitea.com/mcereda/oam.git
synced 2026-02-09 05:44:23 +00:00
fix(dblab): use api endpoints for api operations
This commit is contained in:
@@ -1252,7 +1252,7 @@
|
||||
hosts: localhost
|
||||
connection: local
|
||||
vars:
|
||||
dblab_port: 2345
|
||||
dblab_api_port: 2346 # some operations (reset) are not available on the non-api endpoints
|
||||
max_snapshot_age_in_days: 15
|
||||
vars_prompt:
|
||||
- name: dblab_host
|
||||
@@ -1266,7 +1266,7 @@
|
||||
{{
|
||||
dict([
|
||||
[ 'host', dblab_host ],
|
||||
[ 'port', dblab_port ],
|
||||
[ 'port', dblab_api_port ],
|
||||
[ 'token', dblab_token ],
|
||||
[ 'max_snapshot_age_in_days', max_snapshot_age_in_days ],
|
||||
])
|
||||
@@ -1276,7 +1276,7 @@
|
||||
- name: Gather snapshots' status
|
||||
check_mode: false
|
||||
ansible.builtin.uri:
|
||||
url: https://{{ dblab_host }}:{{ dblab_port }}/snapshots
|
||||
url: https://{{ dblab_host }}:{{ dblab_api_port }}/api/snapshots
|
||||
headers:
|
||||
'verification-token': "{{ dblab_token }}"
|
||||
register: snapshots_status
|
||||
@@ -1294,13 +1294,13 @@
|
||||
fail_msg: snapshot {{ item.id }} for pool {{ item.pool }} is too old
|
||||
loop: "{{ snapshots_status.json }}"
|
||||
tasks:
|
||||
- name: Reset protected clones on {{ dblab_host }}
|
||||
tags: reset_protected_clones
|
||||
- name: Reset clones on {{ dblab_host }}
|
||||
tags: reset_clones
|
||||
block:
|
||||
- name: Gather clones on {{ dblab_host }}
|
||||
check_mode: false
|
||||
ansible.builtin.uri:
|
||||
url: http://{{ dblab_host }}:{{ dblab_port }}/status
|
||||
url: http://{{ dblab_host }}:{{ dblab_api_port }}/api/status
|
||||
headers:
|
||||
'verification-token': "{{ dblab_token }}"
|
||||
register: instance_status
|
||||
@@ -1310,15 +1310,16 @@
|
||||
var: instance_status.json
|
||||
- name: Reset protected clones
|
||||
vars:
|
||||
protected_clones: "{{ instance_status.json.cloning.clones | selectattr('protected', 'equalto', true) }}"
|
||||
clones: "{{ instance_status.json.cloning.clones | selectattr('protected', 'equalto', true) }}"
|
||||
ansible.builtin.uri:
|
||||
url: http://{{ dblab_host }}:{{ dblab_port }}/clone/{{ item.id }}/reset
|
||||
url: http://{{ dblab_host }}:{{ dblab_api_port }}/api/clone/{{ item.id }}/reset
|
||||
method: POST
|
||||
headers:
|
||||
'verification-token': "{{ dblab_token }}"
|
||||
body_format: json
|
||||
body:
|
||||
latest: true
|
||||
loop: "{{ protected_clones }}"
|
||||
loop: "{{ clones }}"
|
||||
register: reset_requests
|
||||
|
||||
- name: Gitea-specific operations
|
||||
|
||||
@@ -46,6 +46,10 @@ curl 'https://dblab.example.org:2345/status' -H "Verification-Token: $(gopass sh
|
||||
curl 'https://dblab.example.org:1234/api/status' -H "Verification-Token: $(gopass show -o 'dblab')"
|
||||
dblab instance status
|
||||
|
||||
# Show data refresh status
|
||||
curl 'https://dblab.example.org:2345/instance/retrieval' -H "Verification-Token: $(gopass show -o 'dblab')"
|
||||
curl 'https://dblab.example.org:1234/api/instance/retrieval' -H "Verification-Token: $(gopass show -o 'dblab')"
|
||||
|
||||
# List snapshots
|
||||
curl 'https://dblab.example.org:2345/snapshots' -H "Verification-Token: $(gopass show -o 'dblab')"
|
||||
curl 'https://dblab.example.org:1234/api/snapshots' -H "Verification-Token: $(gopass show -o 'dblab')"
|
||||
@@ -65,14 +69,17 @@ curl -X 'POST' 'https://dblab.example.org:1234/api/clone' -H "Verification-Token
|
||||
}'
|
||||
|
||||
# List clones
|
||||
curl 'https://dblab.example.org:2345/status' -H "Verification-Token: $(gopass show -o 'dblab')" | jq '.' -
|
||||
curl 'https://dblab.example.org:1234/api/status' -H "Verification-Token: $(gopass show -o 'dblab')"
|
||||
dblab clone list
|
||||
|
||||
# Get clones' information
|
||||
curl 'https://dblab.example.org:1234/clone/some-clone' -H "Verification-Token: $(gopass show -o 'dblab')"
|
||||
curl 'https://dblab.example.org:1234/api/clone/some-clone' -H "Verification-Token: $(gopass show -o 'dblab')"
|
||||
dblab clone status 'some-clone'
|
||||
|
||||
# Reset clones
|
||||
# Only available via the '/api' endpoints, no direct ones
|
||||
curl -X 'POST' 'https://dblab.example.org:1234/api/clone/some-clone/reset' \
|
||||
-H "Verification-Token: $(gopass show -o 'dblab')" \
|
||||
-H 'accept: application/json' -H 'content-type: application/json' \
|
||||
@@ -82,7 +89,7 @@ dblab clone reset --async='true' --latest='true' 'some-clone'
|
||||
curl --url 'https://dblab.example.org:2345/status' --header 'verification-token: somePassword' \
|
||||
| jq -r '.cloning.clones[]|select(.protected = "true")|.id' \
|
||||
| xargs -I '%%' \
|
||||
curl --request 'POST' --url 'https://dblab.example.org:2345/clone/%%/reset' \
|
||||
curl --request 'POST' --url 'https://dblab.example.org:1234/api/clone/%%/reset' \
|
||||
--header 'verification-token: somePassword' \
|
||||
--header 'content-type: application/json' \
|
||||
--data '{ "latest": true }'
|
||||
|
||||
Reference in New Issue
Block a user