From 2375078c375337f81d166b18f014467c90d6d658 Mon Sep 17 00:00:00 2001 From: CroneKorkN Date: Fri, 23 Oct 2026 11:50:26 +0200 Subject: [PATCH] chore: remove build-agent, build-ci and lonercrew build-agent is no longer needed for local static builds; the ci strategy had no repo configured, and lonercrew, its only user, is not deployed on any node. Co-Authored-By: Claude Opus 5.5 Claude-Session: https://claude.ai/code/session_01RywMtsL8qXG7GDY3MHq9Uh --- bundles/build-agent/items.py | 0 bundles/build-agent/metadata.py | 38 -------------------------------- bundles/build-ci/items.py | 9 -------- bundles/build-ci/metadata.py | 29 ------------------------ bundles/build-server/files/ci | 31 -------------------------- bundles/build-server/items.py | 8 ------- bundles/build-server/metadata.py | 19 ---------------- bundles/lonercrew/metadata.py | 28 ----------------------- data/lonercrew/vhost.conf | 11 --------- nodes/htz.mails.py | 1 - 10 files changed, 174 deletions(-) delete mode 100644 bundles/build-agent/items.py delete mode 100644 bundles/build-agent/metadata.py delete mode 100644 bundles/build-ci/items.py delete mode 100644 bundles/build-ci/metadata.py delete mode 100644 bundles/build-server/files/ci delete mode 100644 bundles/lonercrew/metadata.py delete mode 100644 data/lonercrew/vhost.conf diff --git a/bundles/build-agent/items.py b/bundles/build-agent/items.py deleted file mode 100644 index e69de29..0000000 diff --git a/bundles/build-agent/metadata.py b/bundles/build-agent/metadata.py deleted file mode 100644 index 4b5903f..0000000 --- a/bundles/build-agent/metadata.py +++ /dev/null @@ -1,38 +0,0 @@ -defaults = { - 'apt': { - 'packages': { - 'build-essential': {}, - # crystal - 'clang': {}, - 'libssl-dev': {}, - 'libpcre3-dev': {}, - 'libgc-dev': {}, - 'libevent-dev': {}, - 'zlib1g-dev': {}, - }, - }, - 'users': { - 'build-agent': { - 'home': '/var/lib/build-agent', - }, - }, -} - - -@metadata_reactor.provides( - 'users/build-agent/authorized_users', -) -def ssh_keys(metadata): - return { - 'users': { - 'build-agent': { - 'authorized_users': { - f'build-server@{other_node.name}': {} - for other_node in repo.nodes - if other_node.has_bundle('build-server') - for architecture in other_node.metadata.get('build-server/architectures').values() - if architecture['node'] == node.name - }, - }, - }, - } diff --git a/bundles/build-ci/items.py b/bundles/build-ci/items.py deleted file mode 100644 index b2d1e4a..0000000 --- a/bundles/build-ci/items.py +++ /dev/null @@ -1,9 +0,0 @@ -for project, options in node.metadata.get('build-ci').items(): - directories[options['path']] = { - 'owner': 'build-ci', - 'group': options['group'], - 'mode': '770', - 'needs': [ - 'user:build-ci', - ], - } diff --git a/bundles/build-ci/metadata.py b/bundles/build-ci/metadata.py deleted file mode 100644 index 6d7f726..0000000 --- a/bundles/build-ci/metadata.py +++ /dev/null @@ -1,29 +0,0 @@ -from shlex import quote - - -defaults = { - 'build-ci': {}, -} - -@metadata_reactor.provides( - 'users/build-ci/authorized_users', - 'sudoers/build-ci', -) -def ssh_keys(metadata): - return { - 'users': { - 'build-ci': { - 'authorized_users': { - f'build-server@{other_node.name}': {} - for other_node in repo.nodes - if other_node.has_bundle('build-server') - }, - }, - }, - 'sudoers': { - 'build-ci': { - f"/usr/bin/chown -R build-ci\\:{quote(ci['group'])} {quote(ci['path'])}" - for ci in metadata.get('build-ci').values() - } - }, - } diff --git a/bundles/build-server/files/ci b/bundles/build-server/files/ci deleted file mode 100644 index 06f43eb..0000000 --- a/bundles/build-server/files/ci +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -set -xu - - -CONFIG_PATH=${config_path} -JSON="$1" -REPO_NAME=$(jq -r .repository.name <<< $JSON) -CLONE_URL=$(jq -r .repository.clone_url <<< $JSON) -REPO_BRANCH=$(jq -r .ref <<< $JSON | cut -d'/' -f3) -SSH_OPTIONS='-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null' - -for INTEGRATION in "$(cat $CONFIG_PATH | jq -r '.ci | values[]')" -do - [[ $(jq -r '.repo' <<< $INTEGRATION) = "$REPO_NAME" ]] || continue - [[ $(jq -r '.branch' <<< $INTEGRATION) = "$REPO_BRANCH" ]] || continue - - HOSTNAME=$(jq -r '.hostname' <<< $INTEGRATION) - DEST_PATH=$(jq -r '.path' <<< $INTEGRATION) - DEST_GROUP=$(jq -r '.group' <<< $INTEGRATION) - - [[ -z "$HOSTNAME" ]] || [[ -z "$DEST_PATH" ]] || [[ -z "$DEST_GROUP" ]] && exit 5 - - cd ~ - rm -rf "$REPO_NAME" - git clone "$CLONE_URL" "$REPO_NAME" - - ssh $SSH_OPTIONS "build-ci@$HOSTNAME" "find \"$DEST_PATH\" -mindepth 1 -delete" - scp -r $SSH_OPTIONS "$REPO_NAME"/* "build-ci@$HOSTNAME:$DEST_PATH" - ssh $SSH_OPTIONS "build-ci@$HOSTNAME" "sudo chown -R build-ci:$DEST_GROUP $(printf "%q" "$DEST_PATH")" -done diff --git a/bundles/build-server/items.py b/bundles/build-server/items.py index 1739217..1eaf2dc 100644 --- a/bundles/build-server/items.py +++ b/bundles/build-server/items.py @@ -21,12 +21,4 @@ files = { 'download_server': node.metadata.get('build-server/download_server_ip'), }, }, - '/opt/build-server/strategies/ci': { - 'content_type': 'mako', - 'owner': 'build-server', - 'mode': '0777', # FIXME - 'context': { - 'config_path': '/etc/build-server.json', - }, - }, } diff --git a/bundles/build-server/metadata.py b/bundles/build-server/metadata.py index 87d1cbc..f6e184c 100644 --- a/bundles/build-server/metadata.py +++ b/bundles/build-server/metadata.py @@ -34,25 +34,6 @@ def download_server(metadata): }, } -@metadata_reactor.provides( - 'build-server', -) -def ci(metadata): - return { - 'build-server': { - 'ci': { - f'{repo}@{other_node.name}': { - 'hostname': other_node.metadata.get('hostname'), - 'repo': repo, - **options, - } - for other_node in repo.nodes - if other_node.has_bundle('build-ci') - for repo, options in other_node.metadata.get('build-ci').items() - }, - }, - } - @metadata_reactor.provides( 'nginx/vhosts', ) diff --git a/bundles/lonercrew/metadata.py b/bundles/lonercrew/metadata.py deleted file mode 100644 index 756d284..0000000 --- a/bundles/lonercrew/metadata.py +++ /dev/null @@ -1,28 +0,0 @@ -if not node.has_bundle('build-ci'): - raise Exception('lownercrew needs bundle build-ci') - - -defaults = { - 'build-ci': { - 'lonercrew': { - 'path': '/opt/lonercrew', - 'group': 'www-data', - 'branch': 'master', - }, - }, -} - - -@metadata_reactor.provides( - 'nginx/vhosts', -) -def nginx(metadata): - return { - 'nginx': { - 'vhosts': { - 'lonercrew.io': { - 'content': 'lonercrew/vhost.conf', - }, - }, - }, - } diff --git a/data/lonercrew/vhost.conf b/data/lonercrew/vhost.conf deleted file mode 100644 index d66b80e..0000000 --- a/data/lonercrew/vhost.conf +++ /dev/null @@ -1,11 +0,0 @@ -server { - listen 443 ssl http2; - listen [::]:443 ssl http2; - - ssl_certificate /var/lib/dehydrated/certs/${server_name}/fullchain.pem; - ssl_certificate_key /var/lib/dehydrated/certs/${server_name}/privkey.pem; - - server_name ${server_name}; - index index.html; - root /opt/lonercrew; -} diff --git a/nodes/htz.mails.py b/nodes/htz.mails.py index c65f1b4..d9aa935 100644 --- a/nodes/htz.mails.py +++ b/nodes/htz.mails.py @@ -12,7 +12,6 @@ ], 'bundles': [ 'bind-acme', - 'build-ci', 'download-server', 'islamicstate.eu', #'nginx-rtmps',