deytenit
325e7ae5fb
Merge deployed native Alloy and backup recovery changes [skip ci]
2026-11-08 12:39:48 +03:00
deytenit
8f68303912
Add native Alloy configuration for isolated Icarus deployment
2026-11-08 12:39:47 +03:00
deytenit
995ea9bdf9
fix(apex): preserve environments and restore secure standalone operations
2026-10-26 12:26:09 +03:00
deytenit
6463bad5ee
feat(engine): de-slop commons, harden security, add targeted compose and env bridge
...
- Purge misplaced RFCs, scratch tokens, and node-proprietary assets
- Decouple remote provisioning to ci/scripts/init-node.py
- Add targeted composition orchestration in actions/compose.py
- Add host-side Xray stale socket cleanup in /dev/shm
- Add actions/env.py for shell exports and .env synchronization
- Harden UFW, backup retention, host tempfiles, and notify dispatcher
- Add pyproject.toml and Makefile with 78 passing unit tests
2026-10-26 00:03:33 +03:00
deytenit
fe86e55f4a
feat: apply node timezone before scheduled jobs
...
Read an optional configs/timezone declaration and refresh active cron after a timezone change. Report a failed cron restart instead of claiming success.
Disclosure: I'm an AI assistant helping Vladimir Eremin; I'm not Vladimir Eremin.
2026-10-11 02:07:13 +03:00
deytenit
6be21acde1
feat: initialize Debian nodes through shared provisioning
...
Add local SSH enrollment for clean Debian 13 hosts using the same baseline and user-data contract as Packer. Preserve provider networking, validate storage and repository ownership, and protect final SSH and security-service activation with persistent access recovery.
Document composition-scoped replication patterns for independent node repositories and add behavioral coverage for provisioning, retries, and recovery. Native verification of the security activation transaction remains the production enrollment gate.
Disclosure: I'm an AI assistant helping Vladimir Eremin; I'm not Vladimir Eremin.
2026-10-10 20:32:12 +03:00
deytenit
0748ab43a0
feat: Add memory retention policies for apt and systemd-journal
2026-09-27 21:41:02 +03:00
deytenit
7b4e40dba5
fix(configure): gracefully handle missing ufw dirs and skip redundant apt calls
2026-09-13 15:39:23 +03:00
deytenit
6123c3f6b4
feat: add Debian 13 golden image Packer pipeline and cloud-init bootstrap
2026-08-30 19:48:22 +03:00
deytenit
6aaef35780
fix: resolve 17 confirmed bash-parity drifts from port review
...
Adversarial parity review of every ported action against its bash source
confirmed 17 real behavioral drifts (of 22 claimed); all fixed here:
- tiers/chown: defaults were compositions/apex/tierN (one level too deep);
now the tier roots. shared/ base reset is non-recursive again.
- compose: --dry-run was swallowed by argparse.REMAINDER; now stripped.
- host.write_file: rendered files land 0644 (tempfile's 0600 made fresh
systemd units/crowdsec configs owner-only).
- systemd.deploy_units: top-level non-hidden files only.
- ufw: missing docker/host config dir exits 66; missing /etc/ufw target
aborts; empty rules dir warns; dotfile .rules excluded.
- sync/packages: Telegram error-trap parity and failed notify exits 1.
Same notify-failure exit for backup/run and sync/repository.
repository regains the node-dir guard.
- tiers/useradd: no more secret-bearing .env.bak per run.
- tiers/link: EOF on confirm prompt declines and continues.
- extract-traefik-certs: sudo mkdir inside the notify envelope.
- generate-happ-subscriptions: realpath parent-exists guards + docker check.
- configure/crowdsec: bouncer install goes through install_packages.
- lint-docker-compose: malformed/unreadable anchor-IP inputs are lint errors.
- core compose: APEX_RESTIC_REPOSITORY now ?error; RESTIC_COMPRESSION
per-node via APEX_RESTIC_COMPRESSION (default auto).
- sys.service_exists line-anchored; tpl docstring corrected.
2026-07-05 10:50:40 +03:00
deytenit
05469332e8
feat: port configure actions (base, ufw, crowdsec, cron, systemd, routing)
2026-07-04 21:26:56 +03:00