diff options
author | Lars Wirzenius <liw@liw.fi> | 2024-02-22 12:12:49 +0200 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2024-02-22 12:12:49 +0200 |
commit | 35160c4b91f9314bdc54b314c591c6daca74cdf4 (patch) | |
tree | 304c1e5329ab2f4c25070a2bcdbb7df3cd636fee | |
parent | f74cdbf9acbd43bb34b3341aea38322aebd766f4 (diff) | |
download | debian-ansible-35160c4b91f9314bdc54b314c591c6daca74cdf4.tar.gz |
radicle-node: ping all repositories in the web UI
Signed-off-by: Lars Wirzenius <liw@liw.fi>
Sponsored-by: author
-rw-r--r-- | roles/radicle_node/files/rad-config-pin | 23 | ||||
-rw-r--r-- | roles/radicle_node/tasks/main.yml | 10 |
2 files changed, 33 insertions, 0 deletions
diff --git a/roles/radicle_node/files/rad-config-pin b/roles/radicle_node/files/rad-config-pin new file mode 100644 index 0000000..0e40f00 --- /dev/null +++ b/roles/radicle_node/files/rad-config-pin @@ -0,0 +1,23 @@ +#!/usr/bin/python3 + +import json, os, subprocess, sys + +rid = sys.argv[1] + +p = subprocess.run(["rad", "config", "show"], check=True, capture_output=True) +if p.returncode != 0: + sys.exit("rad config show failed") +config = json.loads(p.stdout.decode()) + +config["web"]["pinned"]["repositories"].append(rid) + +p = subprocess.run(["rad", "self", "--home"], check=True, capture_output=True) +if p.returncode != 0: + sys.exit("rad self --home failed") + +home = p.stdout.decode().strip() +filename = os.path.join(home, "config.json") +if os.path.exists(filename): + os.rename(filename, filename + ".bak") +with open(filename, "w") as f: + f.write(json.dumps(config, indent=4)) diff --git a/roles/radicle_node/tasks/main.yml b/roles/radicle_node/tasks/main.yml index b119aa9..4cb9bf8 100644 --- a/roles/radicle_node/tasks/main.yml +++ b/roles/radicle_node/tasks/main.yml @@ -128,11 +128,21 @@ "{{ radicle_node_scope }}" \ "{{ item.nid }}@{{ item.host }}:{{ item.port }}" +- name: "install script to add update Radicle repository pinning" + when: radicle_node_repositories is defined + copy: + src: rad-config-pin + dest: /home/_rad/rad-config-pin + owner: _rad + group: _rad + mode: 0755 + - name: "seed Radicle repositories" when: radicle_node_repositories is defined with_items: "{{ radicle_node_repositories }}" shell: | sudo -u _rad rad seed "{{ item.rid }}" + sudo -u _rad -i ./rad-config-pin "{{ item.rid }}" - name: "(re)start systemd unit for Radicle node" systemd: |