Skip to content

Commit abf916e

Browse files
committed
docs: address deployment review feedback
1 parent 0d09fbf commit abf916e

3 files changed

Lines changed: 20 additions & 8 deletions

File tree

README.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ flowchart TD
207207
DeploymentAudience["Configure a compatible OAuth audience"]
208208
DeploymentClient["Create a TV or Limited Input OAuth client"]
209209
DeploymentRuntime["Install FFmpeg, Python, and project scripts"]
210-
DeploymentConfig["Create private encoder and OAuth files"]
210+
DeploymentConfig["Create private encoder, OAuth, and writable service files"]
211211
DeploymentAuthorize["Authorize the channel account"]
212212
DeploymentCamera["Configure camera source and ingest profile"]
213213
DeploymentStreamDecision{"Reusable stream already configured?"}
@@ -233,7 +233,7 @@ flowchart TD
233233
DeploymentStreamDecision -->|"Yes"| DeploymentValidate
234234
DeploymentValidate --> DeploymentValidationDecision
235235
DeploymentValidationDecision -->|"No"| DeploymentDiagnose
236-
DeploymentDiagnose --> DeploymentValidate
236+
DeploymentDiagnose --> DeploymentStreamDecision
237237
DeploymentValidationDecision -->|"Yes"| DeploymentEnable
238238
DeploymentEnable --> DeploymentReboot
239239
DeploymentReboot --> DeploymentVerify
@@ -318,7 +318,17 @@ YTA_OBS_SCENE_FILE=/home/encoder/.config/obs-studio/basic/scenes/Untitled.json
318318
YTA_OBS_SOURCE_NAME=Camera RTSP
319319
```
320320

321-
The OBS service file supplies the reusable YouTube RTMPS server and stream key. A fresh reusable stream can be provisioned by running the visible test with `--create-stream`; the helper then updates this file before starting the test encoder.
321+
The OBS service file supplies the reusable YouTube RTMPS server and stream key. It must exist, be writable by the service user, and contain a non-empty `settings.key` before `--create-stream` runs. For a fresh deployment, keep the service disabled and seed a placeholder key:
322+
323+
```json
324+
{
325+
"settings": {
326+
"key": "provision-new-stream"
327+
}
328+
}
329+
```
330+
331+
The placeholder is not a YouTube stream key. `--create-stream` uses it to confirm that no existing stream matches, then replaces it with the new reusable stream key and writes the ingest server before starting the test encoder. A missing file or empty key does not enter the creation path.
322332

323333
## YouTube API and OAuth Provisioning
324334

@@ -431,7 +441,7 @@ If you already have an OBS-compatible `service.json` with a YouTube stream key:
431441
youtube-autoencoder-api status
432442
```
433443

434-
For a fresh setup, make sure the service user can write the configured OBS service file. Then provision the reusable stream through an API-managed visible test after the rest of the encoder config is in place:
444+
For a fresh setup, create the writable OBS service file with the placeholder `settings.key` shown in the Configuration Model. Then provision the reusable stream through an API-managed visible test after the rest of the encoder config is in place:
435445

436446
```bash
437447
YTA_INSTANCE_ID=encoder-hostname youtube-autoencoder-api run-visible-test \

docs/superpowers/plans/2026-07-10-readme-architecture-diagrams.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ flowchart TD
233233
DeploymentAudience["Configure a compatible OAuth audience"]
234234
DeploymentClient["Create a TV or Limited Input OAuth client"]
235235
DeploymentRuntime["Install FFmpeg, Python, and project scripts"]
236-
DeploymentConfig["Create private encoder and OAuth files"]
236+
DeploymentConfig["Create private encoder, OAuth, and writable service files"]
237237
DeploymentAuthorize["Authorize the channel account"]
238238
DeploymentCamera["Configure camera source and ingest profile"]
239239
DeploymentStreamDecision{"Reusable stream already configured?"}
@@ -259,7 +259,7 @@ flowchart TD
259259
DeploymentStreamDecision -->|"Yes"| DeploymentValidate
260260
DeploymentValidate --> DeploymentValidationDecision
261261
DeploymentValidationDecision -->|"No"| DeploymentDiagnose
262-
DeploymentDiagnose --> DeploymentValidate
262+
DeploymentDiagnose --> DeploymentStreamDecision
263263
DeploymentValidationDecision -->|"Yes"| DeploymentEnable
264264
DeploymentEnable --> DeploymentReboot
265265
DeploymentReboot --> DeploymentVerify
@@ -276,7 +276,7 @@ test "$(rg -c '^```mermaid$' README.md)" -eq 3
276276
test "$(rg -c '^flowchart TB$' README.md)" -eq 1
277277
test "$(rg -c '^flowchart TD$' README.md)" -eq 1
278278
test "$(rg -c '^stateDiagram-v2$' README.md)" -eq 1
279-
rg -n 'DeploymentStreamDecision|DeploymentValidationDecision|remote-management recovery' README.md
279+
rg -n 'DeploymentStreamDecision|DeploymentValidationDecision|DeploymentDiagnose --> DeploymentStreamDecision|remote-management recovery' README.md
280280
git diff --check
281281
```
282282

docs/superpowers/specs/2026-07-10-readme-architecture-diagrams-design.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ Format: Mermaid `flowchart TD` covering:
8282
3. Configure an External or otherwise compatible OAuth audience.
8383
4. Create a TV or Limited Input OAuth client.
8484
5. Install FFmpeg, Python, and project scripts.
85-
6. Create private configuration and OAuth files.
85+
6. Create private configuration, OAuth, and writable service files.
8686
7. Authorize the channel account and persist the refresh token.
8787
8. Configure the camera and reusable ingest stream.
8888
9. Run the visible unlisted validation flow.
@@ -95,6 +95,8 @@ Decision nodes will identify the two operator-significant branches:
9595
- Existing reusable stream versus provisioning one with `--create-stream`.
9696
- Validation failure versus successful service enablement.
9797

98+
The detailed README text will state that `--create-stream` requires an existing writable OBS service file with a non-empty placeholder key. A validation failure returns to the reusable-stream decision so provisioning is retried when the prior attempt did not create a stream.
99+
98100
The existing numbered OAuth section remains the source of command and console detail.
99101

100102
## Mermaid Conventions

0 commit comments

Comments
 (0)