Commit graph

19 commits

Author SHA1 Message Date
Viktor Barzin
ed6f22fd53 homelab: scaffold unified CLI (registry, manifest, claim/release) in infra/cli
Begin evolving the existing infra/cli into the agent-facing "homelab" CLI
decided in the design/grilling session: one composable, JSON-capable surface
for the operations agents run over and over (mined from 51k commands across
2,225 past sessions; the infra inner-loop is ~29% of them). v0.1 targets that
loop — work/tf/claim — and ships here, in place, in infra/cli.

This first slice:
- command registry + dispatcher (longest-prefix verb matching) and a
  `manifest`/`manifest --json` progressive-discovery entrypoint; every verb
  declares a read|write tier so write-gating can be added later (everything is
  allowed for now).
- claim/release verbs wrapping the existing presence script (not reimplemented),
  with label-taxonomy validation.
- main() front-dispatches the homelab verb surface but falls through to the
  legacy webhook -use-case path verbatim, so the in-cluster infra-cli image is
  unaffected.
- fix a pre-existing vet error (glog.Infof missing format directive) that
  blocked `go test`.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-18 19:12:57 +00:00
Viktor Barzin
fd0f4a0365 fix: restore tree dropped by 6d224861; land stem95su gdrive-sync (10m) [ci skip]
6d224861 came from a --no-checkout worktree whose empty index made the
commit drop every file except two. This restores 05b50d2b's full tree and
correctly adds stacks/stem95su/gdrive-sync.tf + the service-catalog stem95su
entry. Forward-only (parent=6d224861, no force-push); [ci skip] since the
live infra was never applied from the broken commit.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 08:45:33 +00:00
Viktor Barzin
6d224861c4 stem95su: scheduled Drive->site sync CronJob (every 10m)
CronJob stem95su-gdrive-sync (*/10) mounts the content PVC RW and
rclone-syncs the read-only Drive folder "claude" (stem claude/files) onto
it (rclone/rclone:1.74.3, scope=drive.readonly, empty-source guard +
--max-delete 25). ESO ExternalSecret stem95su-rclone <- Vault
secret/stem95su. Requires the GCP OAuth app published to Production or the
refresh token expires ~weekly.

Lands the gdrive-sync stack on master (it had landed on a feature branch
by accident on the shared devvm checkout).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-09 08:42:26 +00:00
Viktor Barzin
a475de6923 update @ record as well 2024-12-02 21:51:05 +00:00
Viktor Barzin
5ae9422083 always update techntiium for test 2024-12-02 21:33:11 +00:00
Viktor Barzin
543fca5dbb update dns update ip job to update technitium via api 2024-01-23 20:30:39 +00:00
Viktor Barzin
33b51bbb09 ensure updating ip job works only with ipv4 2023-09-18 14:14:30 +00:00
Viktor Barzin
3281458c4a add notification when ip changes 2023-05-10 17:22:07 +00:00
Viktor Barzin
e9dcb3840f add cli option to update ip based on the dyndns 2023-05-10 15:42:57 +00:00
Viktor Barzin
b874047a74 add ability to cli to update public-facing ip based on dyndns [ci skip] 2023-05-10 13:43:16 +00:00
viktorbarzin
b46a5722c6 allow infra cli to add email aliases 2021-04-08 23:00:31 +01:00
viktorbarzin
7d6358cf53 add setup open wrt dns use case 2021-03-31 23:54:15 +01:00
viktorbarzin
b7e422f5f8 update base64 regex for pub key 2021-03-25 23:02:20 +00:00
viktorbarzin
c4465b9425 update base64 regex for pub key 2021-03-25 22:57:49 +00:00
viktorbarzin
059283aca1 add flag to print only allocated ip for vpn use case 2021-03-25 19:55:20 +00:00
viktorbarzin
fb9e534cff make pushes to origin trigger drone pipeline 2021-03-17 00:06:19 +00:00
viktorbarzin
34e0e17820 make pushes to origin trigger drone pipeline 2021-03-16 23:43:10 +00:00
viktorbarzin
6894e92eeb add author to commit name 2021-03-16 23:35:22 +00:00
viktorbarzin
70d306d0d2 add cli client for repo 2021-03-15 23:32:56 +00:00