graylog-deploy/.forgejo/workflows/deploy-from-scratch.yml
byrsapty ab3f560d4a CI: pass GRAYLOG_ADMIN_PASSWORD through deploy-from-scratch.yml too
deploy.yml already forwarded this secret; deploy-from-scratch.yml didn't,
so a re-run against an already-initialized Graylog (one-time credentials
file already consumed by an earlier successful run) died at
resolve_admin_password with "Cannot find admin password" - confirmed
live.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 03:33:23 +03:00

43 lines
2 KiB
YAML

name: Deploy Graylog from scratch (host-level)
on:
workflow_dispatch:
jobs:
deploy:
runs-on: proxmox-host
steps:
# No actions/checkout: same reasoning as deploy.yml - this runner has
# no Node.js and shouldn't need one just for CI checkout.
#
# Destroying the existing container (pct destroy) is deliberately NOT
# part of this workflow - that stays a manual, deliberate step run by
# a human on the Proxmox host. This workflow only re-runs the
# idempotent create+install path, safe to trigger any time: if VMID
# 200 already exists it just repairs/updates it in place; if it was
# destroyed manually beforehand, this recreates it from scratch.
- name: Deploy from scratch
env:
CI_TOKEN: ${{ secrets.GITHUB_TOKEN }}
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }}
# Only used on a re-run after the one-time credentials file was
# already consumed by an earlier successful run (fresh installs
# generate their own password and don't need this). Without it,
# a repeat run of this workflow against an already-initialized
# Graylog dies at resolve_admin_password with "Cannot find admin
# password" - confirmed live.
GRAYLOG_ADMIN_PASSWORD: ${{ secrets.GRAYLOG_ADMIN_PASSWORD }}
run: |
rm -rf /tmp/graylog-deploy-ci-host
git clone --depth 1 --branch main "https://x-access-token:${CI_TOKEN}@git.zotac.keenetic.link/zotac/graylog-deploy.git" /tmp/graylog-deploy-ci-host
cd /tmp/graylog-deploy-ci-host
chmod +x create-graylog-lxc.sh
./create-graylog-lxc.sh \
--vmid 200 \
--ip 10.254.254.202/24 \
--gw 10.254.254.235 \
--vlan 1254 \
--disk 50 \
--template-storage local-btrfs \
--rootfs-storage EX-Ceph \
--external-uri http://93.171.241.5:9000/ \
--discord-webhook "$DISCORD_WEBHOOK_URL"