Execute confirmed timezone provisioning safely #6
1 changed files with 44 additions and 1 deletions
45
.github/workflows/linux-control-agent.yml
vendored
45
.github/workflows/linux-control-agent.yml
vendored
|
|
@ -10,7 +10,7 @@ permissions:
|
|||
|
||||
jobs:
|
||||
build-and-test:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-24.04
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v6
|
||||
|
|
@ -50,3 +50,46 @@ jobs:
|
|||
|
||||
- name: Publish agent arm64
|
||||
run: dotnet publish src/ServerMonitorManager.Agent/ServerMonitorManager.Agent.csproj --configuration Release --runtime linux-arm64 --self-contained true -p:PublishSingleFile=true -p:PublishTrimmed=true
|
||||
|
||||
- name: Build systemd smoke release
|
||||
run: |
|
||||
dotnet publish src/ServerMonitorManager.Agent/ServerMonitorManager.Agent.csproj \
|
||||
--configuration Release --runtime linux-x64 --self-contained true \
|
||||
-p:PublishSingleFile=true -p:PublishTrimmed=true -o smoke/agent
|
||||
dotnet publish src/ServerMonitorManager.Control/ServerMonitorManager.Control.csproj \
|
||||
--configuration Release --runtime linux-x64 --self-contained true \
|
||||
-p:PublishSingleFile=true -p:PublishTrimmed=true -o smoke/control
|
||||
install -d smoke/deploy smoke/bootstrap
|
||||
install -m 0644 deploy/ochenstarik-smm-control.service smoke/deploy/
|
||||
install -m 0644 deploy/ochenstarik-smm-agent.service smoke/deploy/
|
||||
install -m 0644 deploy/ochenstarik-smm-firewall.service smoke/deploy/
|
||||
install -m 0755 deploy/ochenstarik-smm-policy-apply smoke/deploy/
|
||||
install -m 0755 deploy/ochenstarik-server-monitor-manager.sh smoke/bootstrap/
|
||||
tar -C smoke -czf smoke-release.tar.gz agent control deploy bootstrap
|
||||
sha256sum smoke-release.tar.gz > smoke-release.tar.gz.sha256
|
||||
|
||||
- name: Verify repeated systemd installation
|
||||
run: |
|
||||
set -Eeuo pipefail
|
||||
sudo deploy/ochenstarik-server-monitor-manager.sh install-control \
|
||||
smoke-release.tar.gz 127.0.0.1 7443
|
||||
for _ in {1..30}; do
|
||||
curl --fail --silent --cacert /etc/ochenstarik-server-monitor-manager/control-ca.crt \
|
||||
https://127.0.0.1:7443/healthz && break
|
||||
sleep 1
|
||||
done
|
||||
curl --fail --silent --show-error \
|
||||
--cacert /etc/ochenstarik-server-monitor-manager/control-ca.crt \
|
||||
https://127.0.0.1:7443/healthz
|
||||
sudo deploy/ochenstarik-server-monitor-manager.sh install-control \
|
||||
smoke-release.tar.gz 127.0.0.1 7443
|
||||
sudo systemctl restart ochenstarik-smm-control.service
|
||||
sudo systemctl is-active --quiet ochenstarik-smm-control.service
|
||||
curl --fail --silent --show-error \
|
||||
--retry 10 --retry-all-errors --retry-delay 1 \
|
||||
--cacert /etc/ochenstarik-server-monitor-manager/control-ca.crt \
|
||||
https://127.0.0.1:7443/healthz
|
||||
|
||||
- name: Clean up systemd smoke installation
|
||||
if: always()
|
||||
run: sudo deploy/ochenstarik-server-monitor-manager.sh uninstall-control --confirm-destroy-control || true
|
||||
|
|
|
|||
Loading…
Reference in a new issue