From 3abec789cf86ccb637bc275da779aa55f878c86b Mon Sep 17 00:00:00 2001 From: vigneshrajsb Date: Tue, 15 Sep 2026 13:31:05 -0700 Subject: [PATCH 1/9] docs(sites): document private sites and owner access --- documentation-metadata.json | 20 ++ public/llms.txt | 16 +- .../docs/api-authentication/api-keys.mdx | 30 ++- src/pages/docs/features/cli.mdx | 27 ++- src/pages/docs/features/mcp-server.mdx | 15 +- src/pages/docs/features/sites.mdx | 199 ++++++++++++------ src/pages/docs/operations/configuration.mdx | 157 +++++++++++++- src/pages/docs/operations/security.mdx | 39 +++- src/pages/docs/releases/compatibility.mdx | 74 ++++++- src/pages/docs/setup/install-lifecycle.mdx | 14 +- 10 files changed, 503 insertions(+), 88 deletions(-) diff --git a/documentation-metadata.json b/documentation-metadata.json index 891dea8..39a851d 100644 --- a/documentation-metadata.json +++ b/documentation-metadata.json @@ -53,6 +53,26 @@ "helm-charts": "78b680595d4beda3184124312d61d86ce0cc51e7", "lifecycle-opentofu": "b14865912608096379c28ef648f7ed99538b5600" } + }, + "2026-09-14-sites-pending-release": { + "verifiedOn": "2026-09-14", + "sources": { + "lifecycle": "3e313fae532c4997c595e676e551a4f590dcc691", + "lifecycle-ui": "ab98c292aa2155ca0a08e62d6a9823507feeecd6", + "lifecycle-cli": "14552f966cc0eff3e4bb067a1f072f2d0b9dd57a", + "helm-charts": "992cfe38aa1175ea2acef517932a38f9dd974fef" + }, + "notes": "These commits identify baseline checkouts only. Sites access-control behavior was reviewed in uncommitted working trees and is pending release. The implementation tracker records the exact file SHA256 manifest. Replace this baseline with implementing commit revisions before publication." + }, + "2026-09-15-sites-rollout-pending-release": { + "verifiedOn": "2026-09-15", + "sources": { + "lifecycle": "3e313fae532c4997c595e676e551a4f590dcc691", + "lifecycle-ui": "ab98c292aa2155ca0a08e62d6a9823507feeecd6", + "lifecycle-cli": "14552f966cc0eff3e4bb067a1f072f2d0b9dd57a", + "helm-charts": "992cfe38aa1175ea2acef517932a38f9dd974fef" + }, + "notes": "These commits identify baseline checkouts only. Rollout and directory configuration refer to uncommitted Sites access-control working trees, pending release. Restricted Keycloak 26.4.7 directory roles and token introspection were exercised in disposable realms. Current viewer source retains the exact authorizing token encrypted with a purpose-separated key derived from the existing bridge Secret, caps each record to 15 minutes and token/login expiry, and introspects that token on private reads. No session-list fallback or new configuration is used. This does not establish a supported released version set, production rollout, or final application acceptance. Replace with implementing commit revisions before publication." } } } diff --git a/public/llms.txt b/public/llms.txt index a54e48a..a8925ea 100644 --- a/public/llms.txt +++ b/public/llms.txt @@ -32,22 +32,22 @@ This index is generated from the human documentation. Follow the linked page for - [Cloud secrets](https://uselifecycle.com/docs/features/secrets.md): Reference External Secrets Operator values from Lifecycle Services and native Helm deployments. _(audience: application-developer, platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ - [Environment expiration and cleanup](https://uselifecycle.com/docs/features/environment-ttl.md): Understand how Lifecycle cleans up pull-request environments and expires API-created environments. _(audience: application-developer, platform-operator, administrator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ - [API-created Environments](https://uselifecycle.com/docs/features/api-environments.md): Create branch-based Lifecycle Environments without a pull request. Then, track, extend, redeploy, or tear them down. _(audience: api-user, application-developer; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ -- [Sites](https://uselifecycle.com/docs/features/sites.md): Upload and manage static HTML sites through Lifecycle's UI, CLI, or authenticated v2 API. _(audience: application-developer, platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ +- [Sites](https://uselifecycle.com/docs/features/sites.md): Upload and manage static HTML sites through Lifecycle's UI, CLI, or authenticated v2 API. _(audience: application-developer, platform-operator; last verified: 2026-09-15; baseline: 2026-09-15-sites-rollout-pending-release)_ - [Lifecycle Agent](https://uselifecycle.com/docs/features/ai-agent.md): Investigate a Lifecycle Environment, examine evidence, and do approved recovery tasks from the Environment details page. _(audience: agent-user; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ - [Configure Lifecycle Agent](https://uselifecycle.com/docs/features/ai-agent-configuration.md): Configure models, instructions, tools, approvals, and repository overrides for Lifecycle Agent from Settings. _(audience: administrator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ - [Agent Sessions](https://uselifecycle.com/docs/features/agent-sessions.md): Start, examine, and continue repository work with Lifecycle Agent in an isolated workspace. _(audience: agent-user; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ - [Agent administration](https://uselifecycle.com/docs/features/agent-administration.md): Administer Lifecycle Agent availability, models, instructions, permissions, tools, workspaces, and session audit. _(audience: administrator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ - [Agent workspace backends](https://uselifecycle.com/docs/features/workspace-backends.md): Compare and safely activate the runtime backend used for new Lifecycle Agent workspaces. _(audience: administrator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ - [Connect external MCP servers](https://uselifecycle.com/docs/features/mcp-integration.md): Add administrator-approved Model Context Protocol servers and complete authentication for each Lifecycle Agent user. _(audience: agent-user, administrator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ -- [Lifecycle MCP](https://uselifecycle.com/docs/features/mcp-server.md): Enable Lifecycle MCP, connect an OAuth client, and use Lifecycle tools with existing user permissions. _(audience: agent-user, administrator, platform-operator; last verified: 2026-08-01; baseline: 2026-08-01-lifecycle-mcp-preparation)_ -- [CLI (lfc)](https://uselifecycle.com/docs/features/cli.md): Install and use the Lifecycle CLI to examine Environments, manage Services, stream logs, and validate configuration. _(audience: application-developer, platform-operator; last verified: 2026-08-01; baseline: 2026-08-01-configuration-schema-fix)_ +- [Lifecycle MCP](https://uselifecycle.com/docs/features/mcp-server.md): Enable Lifecycle MCP, connect an OAuth client, and use Lifecycle tools with existing user permissions. _(audience: agent-user, administrator, platform-operator; last verified: 2026-09-14; baseline: 2026-09-14-sites-pending-release)_ +- [CLI (lfc)](https://uselifecycle.com/docs/features/cli.md): Install and use the Lifecycle CLI to examine Environments, manage Services, stream logs, and validate configuration. _(audience: application-developer, platform-operator; last verified: 2026-09-14; baseline: 2026-09-14-sites-pending-release)_ - [Lifecycle CLI telemetry](https://uselifecycle.com/docs/features/cli-telemetry.md): Understand the pseudonymous command-usage event sent by lfc, its destination, and how to opt out. _(audience: application-developer, platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ - [Use the Lifecycle UI](https://uselifecycle.com/docs/features/lifecycle-ui.md): Use the web UI to find Environments, examine Services and logs, run actions, and examine webhooks. _(audience: application-developer, platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ ## API authentication - [API authentication](https://uselifecycle.com/docs/api-authentication/overview.md): Select a supported authentication method for Lifecycle v2 API requests and understand typical authorization failures. _(audience: api-user, administrator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ -- [API keys](https://uselifecycle.com/docs/api-authentication/api-keys.md): Create, scope, use, rotate, and revoke personal or service API keys for authenticated Lifecycle v2 requests. _(audience: api-user, administrator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ +- [API keys](https://uselifecycle.com/docs/api-authentication/api-keys.md): Create, scope, use, rotate, and revoke personal or service API keys for authenticated Lifecycle v2 requests. _(audience: api-user, administrator; last verified: 2026-09-15; baseline: 2026-09-15-sites-rollout-pending-release)_ ## HTTP API @@ -74,22 +74,22 @@ This index is generated from the human documentation. Follow the linked page for - [Starter infrastructure prerequisites](https://uselifecycle.com/docs/setup/prerequisites.md): Prepare cloud, DNS, domain, and command-line access for the starter OpenTofu evaluation path. _(audience: evaluator, platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ - [Set up an evaluation cluster](https://uselifecycle.com/docs/setup/setup-infra.md): Provision starter GKE or EKS infrastructure, DNS, dependencies, and Lifecycle for evaluation. _(audience: evaluator, platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ -- [Install Lifecycle](https://uselifecycle.com/docs/setup/install-lifecycle.md): Select the OpenTofu-managed or standalone Helm installation path. Make sure that the API, UI, identity, and cluster are healthy. _(audience: evaluator, platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ +- [Install Lifecycle](https://uselifecycle.com/docs/setup/install-lifecycle.md): Select the OpenTofu-managed or standalone Helm installation path. Make sure that the API, UI, identity, and cluster are healthy. _(audience: evaluator, platform-operator; last verified: 2026-09-15; baseline: 2026-09-15-sites-rollout-pending-release)_ - [Create the GitHub App](https://uselifecycle.com/docs/setup/create-github-app.md): Create and connect a private GitHub App for Lifecycle. _(audience: platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ - [Optional configuration](https://uselifecycle.com/docs/setup/configure-lifecycle.md): Apply optional installation-wide settings safely after Lifecycle is running. _(audience: platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ ## Operations - [Lifecycle architecture](https://uselifecycle.com/docs/operations/architecture.md): Understand how requests become Lifecycle Environments and plan dependencies, security controls, availability, and recovery. _(audience: evaluator, platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ -- [Runtime configuration surfaces](https://uselifecycle.com/docs/operations/configuration.md): Select a supported UI, API, Helm, or repository configuration surface and verify each change. _(audience: platform-operator, administrator; last verified: 2026-08-01; baseline: 2026-08-01-lifecycle-mcp-preparation)_ -- [Security boundaries](https://uselifecycle.com/docs/operations/security.md): Understand Lifecycle authentication, network, Kubernetes, secret, and Agent boundaries before other networks can reach a deployment. _(audience: platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ +- [Runtime configuration surfaces](https://uselifecycle.com/docs/operations/configuration.md): Select a supported UI, API, Helm, or repository configuration surface and verify each change. _(audience: platform-operator, administrator; last verified: 2026-09-15; baseline: 2026-09-15-sites-rollout-pending-release)_ +- [Security boundaries](https://uselifecycle.com/docs/operations/security.md): Understand Lifecycle authentication, network, Kubernetes, secret, and Agent boundaries before other networks can reach a deployment. _(audience: platform-operator; last verified: 2026-09-15; baseline: 2026-09-15-sites-rollout-pending-release)_ - [Monitor Lifecycle](https://uselifecycle.com/docs/operations/monitoring.md): Interpret health endpoints, verify end-to-end operation, and collect safe diagnostic data for stuck work. _(audience: platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ - [Day-two operations](https://uselifecycle.com/docs/operations/day-two.md): Plan Lifecycle upgrades, backups, rollback decisions, recovery validation, and uninstall. _(audience: platform-operator; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ ## Releases and compatibility - [Releases](https://uselifecycle.com/docs/releases.md): Find your installed Lifecycle versions and the release information for an upgrade. _(audience: platform-operator, application-developer; last verified: 2026-08-01; baseline: 2026-08-01-adopt-lifecycle-mcp-browser-validation)_ -- [Compatibility and deprecation policy](https://uselifecycle.com/docs/releases/compatibility.md): Select compatible Lifecycle components and prepare a safe upgrade or rollback. _(audience: platform-operator, application-developer; last verified: 2026-07-24; baseline: 2026-07-24-comprehensive-audit)_ +- [Compatibility and deprecation policy](https://uselifecycle.com/docs/releases/compatibility.md): Select compatible Lifecycle components and prepare a safe upgrade or rollback. _(audience: platform-operator, application-developer; last verified: 2026-09-15; baseline: 2026-09-15-sites-rollout-pending-release)_ ## Troubleshooting diff --git a/src/pages/docs/api-authentication/api-keys.mdx b/src/pages/docs/api-authentication/api-keys.mdx index 0f0a4aa..806a4cf 100644 --- a/src/pages/docs/api-authentication/api-keys.mdx +++ b/src/pages/docs/api-authentication/api-keys.mdx @@ -4,8 +4,8 @@ description: Create, scope, use, rotate, and revoke personal or service API keys audience: - api-user - administrator -lastVerified: "2026-07-24" -verificationBaseline: "2026-07-24-comprehensive-audit" +lastVerified: "2026-09-15" +verificationBaseline: "2026-09-15-sites-rollout-pending-release" contentProfile: asd-ste100 tags: - api @@ -76,6 +76,32 @@ grant `sites:read`. repositories. +## Sites access with API keys + + + The following Sites access controls are pending release. + + +`sites:read` permits public reads and reads of sites owned by the caller. +`sites:write` also permits creation and changes to owned sites, including visibility changes. +Scopes do not grant access to another user's private site. +Administrator status does not override ownership. + +A personal key uses its user's ownership and defaults to private uploads. +After migration, older personal keys without the required identity binding cannot access Sites. +Create replacement personal keys through your signed-in account. + +Service keys create public sites only. +Each service key owns only the sites created with that exact key. +A replacement service key does not inherit site ownership. +Before you retire a service key that owns sites, contact your platform operator. +Revoked or expired keys cannot manage their sites. +For sites with retired keys, see [Sites ownership limitations](/docs/features/sites#choose-who-can-access-a-site). + +Keep API keys in authorization headers. +Do not put API keys in site content or URLs. +For request details, see [Sites](/docs/features/sites#api-access). + ## Select an expiration The personal-key policy defaults to a 168-hour (7-day) selection and caps finite diff --git a/src/pages/docs/features/cli.mdx b/src/pages/docs/features/cli.mdx index 40a6f38..b1a6c83 100644 --- a/src/pages/docs/features/cli.mdx +++ b/src/pages/docs/features/cli.mdx @@ -4,8 +4,8 @@ description: Install and use the Lifecycle CLI to examine Environments, manage S audience: - application-developer - platform-operator -lastVerified: "2026-08-01" -verificationBaseline: "2026-08-01-configuration-schema-fix" +lastVerified: "2026-09-14" +verificationBaseline: "2026-09-14-sites-pending-release" contentProfile: asd-ste100 tags: - cli @@ -222,15 +222,32 @@ each field. Exit code `3` means that the CLI did not find a configuration file. ### Static sites + + Sites visibility controls are pending release and require compatible server + and CLI versions. + + +User uploads default to private. +Public uploads require confirmation when you specify `--visibility public`. +Only the owner can change a site. +`--mine` selects ownership, and `--public` selects public sites. +These filters cannot be combined. + ```sh -lfc sites create [--name