docs: record standalone deployment session
Все проверки выполнены успешно
CI / test (push) Successful in 2m11s
Docker / Build and publish worker image (push) Successful in 9m30s

Этот коммит содержится в:
Gleb Tv
2026-07-19 15:28:57 +03:00
родитель 3256dcdc12
Коммит 6937674449
2 изменённых файлов: 93 добавлений и 0 удалений

Просмотреть файл

@@ -0,0 +1,57 @@
# Session: Standalone Worker Deployment
Date: 2026-07-19
## Goal
Make `rsmon-worker` independently installable and deployable without requiring
the main `rsmon` repository. Keep direct binary plus systemd installation as the
default and offer the prebuilt Docker image as an explicit alternative.
## Completed
- Audited build and runtime paths for dependencies on `/data/_devops/rsmon` and
`/data/rsmon`.
- Removed the obsolete local certificate-bundle fallback.
- Switched the Dockerfile to public `golang:1-trixie` and `debian:13-slim`
bases.
- Implemented local binary and Docker installation in `internal/installer`.
- Implemented SSH deployment with key, password, passphrase, known-hosts, and
fingerprint support.
- Added `install` and `deploy` command handling and secret-file options to the
CLI.
- Added and updated installer tests, systemd packaging, deployment docs, and
the legacy installation wrapper.
- Reviewed the implementation for release blockers and secret exposure.
- Committed and pushed the work to `origin/master` as `3256dcd`.
## Decisions
- The default service uses `Type=simple`, runs as `root`, and restarts only on
failure.
- Docker deployment pulls `reg.rsxx.ru/rsmon/rsmon-worker:latest` on the target
host instead of uploading a local image or binary.
- The existing source-available license remains unchanged until public-release
licensing is decided.
- Worker credentials are supplied at deployment time and are not stored in the
repository.
## Verification
- `make test`
- `make build`
- `go vet ./cmd/rsmon-worker ./internal/installer`
- `go mod verify`
- Docker image pull and `--version` execution
- Compose configuration with a temporary environment fixture
- Live WebSocket connection, configuration receipt, job execution, and result
reporting
## Operational State
- A local worker was left running as `./bin/rsmon-worker --no-web`, PID
`211207`, with logs in `/tmp/rsmon-worker-local.log`.
- The worker received configuration as worker ID `test` and continued reporting
results after automatic reconnections caused by periodic WebSocket EOFs.
- Pushing `master` triggered `.github/workflows/docker.yml`; workflow completion
was not checked during the session.