sync: auto-sync from GURU-5070 at 2026-06-09 18:41:07

Author: Mike Swanson
Machine: GURU-5070
Timestamp: 2026-06-09 18:41:07
This commit is contained in:
2026-06-09 18:41:46 -07:00
parent 2a006483f9
commit 222849251f

View File

@@ -0,0 +1,58 @@
# Session Log — 2026-06-09 — Datto RMM API Credential Vaulting
## User
- **User:** Mike Swanson (mike)
- **Machine:** GURU-5070
- **Role:** admin
## Session Summary
Routine `/sync` at session start — repo was already in sync (HEAD `2a006483`), no commits moved in either direction, vault clean.
Mike asked to check the Downloads folder for a Datto RMM API text file. Located two files: `DattoRMM-API.txt` (plaintext API key/secret for the zinfandel CentraStage platform) and `DattoRMMDevices.csv` (a device export). He confirmed he had staged the credentials there for collection and vaulting.
Vaulted the Datto RMM API credentials into the SOPS vault at `msp-tools/datto-rmm.sops.yaml`, matching the existing `msp-tools` API-key schema (modeled on `autotask.sops.yaml` / `msp360-api.sops.yaml`). Wrote the plaintext entry, encrypted in place with `sops --encrypt --in-place`, verified the round-trip decrypt, then committed and pushed the vault repo. The `credentials` and `notes` blocks encrypted; structural metadata (base URL, swagger link, tags) left readable. Encrypted to both age recipients (Mike + Howard).
Mike opted to delete the Downloads source files himself, then requested a save + machine reboot.
## Key Decisions
- Placed the entry under `msp-tools/` (alongside autotask, syncro, gravityzone, msp360-api) rather than `clients/` or `services/` — Datto RMM is an MSP-wide tool, not client- or single-service-scoped.
- Used `kind: api-key` schema with `credentials.api_key` / `credentials.api_secret` to match the encrypted_regex (`^(credentials|password|secret|api_key|token|...|notes|content)$`) so the secret fields cipher automatically.
- Encrypted via direct `sops --encrypt --in-place` on a hand-written plaintext file rather than `vault add` + `vault edit` (edit opens `$EDITOR` interactively — not usable non-interactively).
- Left `DattoRMMDevices.csv` untouched (device data, not a credential); deferred its disposition to Mike.
## Configuration Changes
- Created: `D:/vault/msp-tools/datto-rmm.sops.yaml` (encrypted, committed + pushed to vault repo)
## Credentials & Secrets
- **Datto RMM API (zinfandel / CentraStage)** — vaulted at `msp-tools/datto-rmm.sops.yaml`
- api_key: `DGV7L0HT8GL9P0D0H7OBDO5EFP328LAS`
- api_secret: `52RAI4OO0B3U4LLN0A54GNP9ARE0L536`
- Retrieve: `bash .claude/scripts/vault.sh get msp-tools/datto-rmm.sops.yaml`
## Infrastructure & Servers
- Datto RMM API base URL: `https://zinfandel-api.centrastage.net`
- Swagger UI: `https://zinfandel-api.centrastage.net/api/swagger-ui/index.html`
- Auth: OAuth2 password grant (api_key + api_secret → bearer token → REST under `/api`)
## Commands & Outputs
- `sops --encrypt --in-place msp-tools/datto-rmm.sops.yaml` → encrypted; decrypt round-trip confirmed both secret fields intact.
- Vault commit: `vault: add Datto RMM (zinfandel) API credentials` — pushed to origin.
## Pending / Incomplete Tasks
- Mike to delete plaintext source `C:\Users\guru\Downloads\DattoRMM-API.txt` (now redundant — vaulted).
- Disposition of `C:\Users\guru\Downloads\DattoRMMDevices.csv` undecided (leave / vault / import).
- No Datto RMM integration code written yet — credentials are collected only.
- Machine reboot requested after save.
## Reference Information
- Vault entry: `msp-tools/datto-rmm.sops.yaml`
- Source files: `C:\Users\guru\Downloads\DattoRMM-API.txt`, `C:\Users\guru\Downloads\DattoRMMDevices.csv`
- Session-start HEAD: `2a006483`