Close playkit ops gap: require npm publish, mark Outline/npm done.
Remove release soft-fail now that NPM_PUBLISH_TOKEN works; refresh OPS/OUTLINE/ROADMAP for the live Outline doc and published 0.4.0 registry package.
This commit is contained in:
+19
-44
@@ -9,53 +9,28 @@ Living ops/status after releases. Update when an item closes.
|
||||
| Pushgateway + `live-playkit` Grafana board | Applied (`10.0.10.24:9091`) |
|
||||
| Tag release workflow + `RELEASE_TOKEN` | Working (`v0.3.1`, `v0.4.0` Gitea releases) |
|
||||
| Selftest CI | Green (Playwright image pinned to package version) |
|
||||
| Outline **QA & Dev → Playkit** content @ v0.4.0 | Updated 2026-07-15 (browser sync); keep in sync via script once API scopes fixed |
|
||||
| Outline **QA & Dev → Playkit** @ v0.4.0 | Synced via API 2026-07-15 → https://notes.levkin.ca/doc/playkit-CrPJq5x2qQ |
|
||||
| Playkit sync probe cleanup | Deleted via API 2026-07-15 |
|
||||
| Outline API key (`documents.update` / `delete`) | Vault + `.env` updated (`vault_outline_api_key`) |
|
||||
| Gitea npm publish (`write:package`) | `@levkin/playkit@0.4.0` on registry; Actions secret `NPM_PUBLISH_TOKEN` set; vault `vault_playkit_npm_token` |
|
||||
| v0.4 CLI / retry presets / registry wiring | Shipped on `main` |
|
||||
|
||||
## Outstanding (needs human UI once)
|
||||
## Outstanding
|
||||
|
||||
### 1. Gitea npm publish token (`write:package`)
|
||||
|
||||
`v0.4.0` **Gitea Release** succeeded; `npm publish` failed with **E401** because
|
||||
Actions `RELEASE_TOKEN` lacks package scopes.
|
||||
|
||||
1. Gitea → **Settings → Applications → Generate New Token**
|
||||
2. Scopes: **`write:package`** (implies read) + keep `write:repository` if this token also cuts releases
|
||||
3. Prefer a dedicated token named `playkit-npm-publish`
|
||||
4. Store as repo Action secret **`NPM_PUBLISH_TOKEN`** on `ilia/playkit`
|
||||
(optional: also `vault_playkit_npm_token` in ansible vault — see ansible `docs/hardening/SECRETS.md`)
|
||||
5. Publish once:
|
||||
|
||||
```bash
|
||||
cd /path/to/playkit # on main @ v0.4.0
|
||||
npm ci && npm run build
|
||||
npm publish --registry https://git.levkin.ca/api/packages/ilia/npm/
|
||||
# or: ./scripts/publish-gitea-npm.sh
|
||||
```
|
||||
|
||||
6. Verify: `npm view @levkin/playkit version --registry https://git.levkin.ca/api/packages/ilia/npm/`
|
||||
|
||||
Until then consumers use the git pin: `#v0.4.0`.
|
||||
|
||||
### 2. Outline API key scopes
|
||||
|
||||
Vault `vault_outline_api_key` can **list/create/info/export** but **not**
|
||||
`documents.update` / `delete` / `archive` (HTTP 403).
|
||||
|
||||
1. Outline → **Settings → API** (API & Access)
|
||||
2. Edit/recreate key with scopes at least:
|
||||
|
||||
```
|
||||
collections.list documents.list documents.info documents.create documents.update documents.delete documents.archive documents.search
|
||||
```
|
||||
|
||||
(Full recommended list: ansible `docs/guides/authentik-apps.md` → Outline API key)
|
||||
|
||||
3. Update vault + `make vault-export-env`
|
||||
4. `python3 scripts/outline-sync-playkit.py`
|
||||
5. Delete leftover **QA & Dev → Playkit sync probe** if still present
|
||||
|
||||
### 3. Adoption soak
|
||||
### Adoption soak
|
||||
|
||||
Keep **no new consumer repos** until punimtag e2e + kit CI + metrics stay green
|
||||
for a few days. Then prefer `screening` as the next adopter.
|
||||
|
||||
## Recurring (after each release)
|
||||
|
||||
```bash
|
||||
# Outline living page
|
||||
cd /path/to/ansible && make vault-export-env
|
||||
set -a && source .env && set +a
|
||||
cd /path/to/playkit
|
||||
python3 scripts/outline-sync-playkit.py
|
||||
|
||||
# Manual publish (CI also publishes on tag when NPM_PUBLISH_TOKEN is set)
|
||||
./scripts/publish-gitea-npm.sh
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user