From 6db4d37d2749d449e134c6466bf99bd148b0a98e Mon Sep 17 00:00:00 2001 From: bobbravo2 Date: Thu, 18 Dec 2025 15:26:08 -0500 Subject: [PATCH] docs: Replace vteam references with ACP naming - Update all API groups from vteam.ambient-code to acp.ambient-code - Update namespaces from vteam-dev to acp-dev - Update container images from vteam_* to acp_* - Update routes/URLs from vteam-frontend/backend to acp-frontend/backend - Replace 'vTeam' product name with 'Ambient Code Platform' or 'ACP' - Add new Mermaid architecture diagrams to docs/ - Update components/README.md with diagram references Affected areas: - User guides and getting started documentation - GitLab integration documentation (5 files) - Development and testing documentation - Build metadata and deployment docs - Design documents and ADRs - Implementation plans - Reference documentation and API docs - Lab exercises Total: 27 modified files, 4 new diagram files All vteam references removed from platform/docs/ --- components/README.md | 10 +- docs/LOCAL_DEVELOPMENT.md | 4 +- docs/SECURITY_DEV_MODE.md | 6 +- docs/adr/0003-multi-repo-support.md | 2 +- docs/agentic-session-flow.mmd | 57 ++++++++ docs/api/gitlab-endpoints.md | 62 ++++---- docs/build-metadata.md | 8 +- docs/component-structure.mmd | 69 +++++++++ docs/deployment-stack.mmd | 125 ++++++++++++++++ .../design/OPERATOR_CENTRIC_MIGRATION_PLAN.md | 4 +- docs/design/action-migration-guide.md | 2 +- .../declarative-session-reconciliation.md | 2 +- docs/design/session-status-redesign.md | 2 +- docs/design/spec-runtime-synchronization.md | 2 +- docs/design/status-update-comparison.md | 2 +- docs/gitlab-integration-test-plan.md | 42 +++--- docs/gitlab-integration.md | 80 +++++------ docs/gitlab-self-hosted.md | 134 +++++++++--------- docs/gitlab-testing-procedures.md | 94 ++++++------ docs/gitlab-token-setup.md | 94 ++++++------ .../amber-implementation.md | 2 +- .../memory-system-implementation.md | 10 +- docs/labs/basic/lab-1-first-rfe.md | 4 +- docs/labs/index.md | 2 +- docs/platform-architecture.mmd | 72 ++++++++++ docs/reference/index.md | 16 +-- docs/testing/e2e-guide.md | 10 +- docs/testing/testing-summary.md | 22 +-- docs/user-guide/getting-started.md | 22 +-- docs/user-guide/index.md | 2 +- docs/user-guide/working-with-amber.md | 12 +- 31 files changed, 653 insertions(+), 322 deletions(-) create mode 100644 docs/agentic-session-flow.mmd create mode 100644 docs/component-structure.mmd create mode 100644 docs/deployment-stack.mmd create mode 100644 docs/platform-architecture.mmd diff --git a/components/README.md b/components/README.md index 7e496292d..92250642a 100644 --- a/components/README.md +++ b/components/README.md @@ -4,6 +4,14 @@ This directory contains the core components of the Ambient Code Platform. See the main [README.md](../README.md) for complete documentation, deployment instructions, and usage examples. +## πŸ“Š Architecture Diagrams + +View the platform architecture in detail: +- [Platform Architecture](../docs/platform-architecture.mmd) - Overall system architecture and data flow +- [Component Structure](../docs/component-structure.mmd) - Directory structure and development workflow +- [Agentic Session Flow](../docs/agentic-session-flow.mmd) - Detailed sequence diagram of session execution +- [Deployment Stack](../docs/deployment-stack.mmd) - Technology stack and deployment options + ## Component Directory Structure ``` @@ -41,7 +49,7 @@ make dev-start **What you get:** - βœ… Complete OpenShift development environment -- βœ… Frontend: `https://vteam-frontend-vteam-dev.apps-crc.testing` +- βœ… Frontend: `https://acp-frontend-acp-dev.apps-crc.testing` - βœ… Backend API working with authentication - βœ… OpenShift console access - βœ… Ready for project creation and agentic sessions diff --git a/docs/LOCAL_DEVELOPMENT.md b/docs/LOCAL_DEVELOPMENT.md index 8f0694c88..dbe727526 100644 --- a/docs/LOCAL_DEVELOPMENT.md +++ b/docs/LOCAL_DEVELOPMENT.md @@ -140,10 +140,10 @@ make local-delete # Delete minikube cluster 2. Rebuild images: ```bash # Build with Podman (default) - podman build -t vteam-backend:latest components/backend + podman build -t acp-backend:latest components/backend # Load into minikube - minikube image load vteam-backend:latest + minikube image load acp-backend:latest ``` 3. Restart deployment: ```bash diff --git a/docs/SECURITY_DEV_MODE.md b/docs/SECURITY_DEV_MODE.md index 5f32acd6b..29a5e0945 100644 --- a/docs/SECURITY_DEV_MODE.md +++ b/docs/SECURITY_DEV_MODE.md @@ -64,13 +64,13 @@ func isLocalDevEnvironment() bool { ### 🟒 **MITIGATED: Allow-List Namespace Validation** -**Current:** Uses allow-list of specific namespaces (ambient-code, vteam-dev) +**Current:** Uses allow-list of specific namespaces (ambient-code, acp-dev) **Protection:** ```bash # Would PASS (correctly enable dev mode): NAMESPACE=ambient-code DISABLE_AUTH=true ENVIRONMENT=local # βœ… Allowed -NAMESPACE=vteam-dev DISABLE_AUTH=true ENVIRONMENT=local # βœ… Allowed +NAMESPACE=acp-dev DISABLE_AUTH=true ENVIRONMENT=local # βœ… Allowed # Would FAIL (correctly reject): NAMESPACE=staging DISABLE_AUTH=true ENVIRONMENT=local # ❌ Rejected @@ -109,7 +109,7 @@ func isLocalDevEnvironment() bool { // ALLOW-LIST approach instead of DENY-LIST allowedNamespaces := []string{ "ambient-code", // Default minikube namespace - "vteam-dev", // Legacy local dev namespace + "acp-dev", // Local dev namespace } namespace := os.Getenv("NAMESPACE") diff --git a/docs/adr/0003-multi-repo-support.md b/docs/adr/0003-multi-repo-support.md index 8ca36932b..8d93a5c7c 100644 --- a/docs/adr/0003-multi-repo-support.md +++ b/docs/adr/0003-multi-repo-support.md @@ -71,7 +71,7 @@ Chosen option: "Multiple repos with mainRepoIndex", because: **AgenticSession Spec Structure:** ```yaml -apiVersion: vteam.ambient-code/v1alpha1 +apiVersion: acp.ambient-code/v1alpha1 kind: AgenticSession metadata: name: multi-repo-session diff --git a/docs/agentic-session-flow.mmd b/docs/agentic-session-flow.mmd new file mode 100644 index 000000000..2f1a288f0 --- /dev/null +++ b/docs/agentic-session-flow.mmd @@ -0,0 +1,57 @@ +--- +title: Agentic Session Flow - Sequence Diagram +--- + +%%{init: {'theme':'dark', 'sequence': {'actorMargin': 50, 'participantMargin': 30, 'messageMargin': 30}}}%% + +sequenceDiagram + participant User as πŸ‘€ User + participant UI as 🎨 Frontend
(NextJS) + participant API as ⚑ Backend API
(Go) + participant K8s as ☸️ Kubernetes + participant Op as βš™οΈ Operator
(Go) + participant Job as πŸ“‹ K8s Job + participant Pod as πŸƒ Execution Pod + participant AI as πŸ€– Claude Runner
(Python + MCP) + participant CR as πŸ“„ Custom Resource
(AgenticSession) + + User->>UI: Create new agentic session + Note over UI: User specifies task
and parameters + + UI->>API: POST /sessions
(session details) + Note over API: Validate request
Create session object + + API->>K8s: Create AgenticSession CR + K8s->>CR: Store Custom Resource + CR-->>API: CR created successfully + API-->>UI: Session ID returned + UI-->>User: Session created
(show status) + + Note over Op: Watching for new CRs + Op->>CR: Detect new AgenticSession + Op->>K8s: Create Kubernetes Job + K8s->>Job: Job scheduled + + Job->>K8s: Request Pod creation + K8s->>Pod: Spawn execution pod + Note over Pod: Container with:
- AI CLI
- Playwright MCP server + + Pod->>AI: Initialize Claude Runner + AI->>AI: Setup MCP capabilities + Note over AI: Browser automation
Code execution
File operations + + AI->>Pod: Execute specified task + Note over Pod: Task execution
using MCP tools + + Pod->>CR: Store execution results + CR->>CR: Update status: completed + + Op->>CR: Detect status change + Op->>K8s: Clean up Job + + API->>CR: Poll for updates + CR-->>API: Return results + API-->>UI: Send results via WebSocket/polling + UI-->>User: Display completed session
with results + + Note over User: View results
Download artifacts
Create follow-up tasks diff --git a/docs/api/gitlab-endpoints.md b/docs/api/gitlab-endpoints.md index 0f326f4b9..1e48bb197 100644 --- a/docs/api/gitlab-endpoints.md +++ b/docs/api/gitlab-endpoints.md @@ -1,11 +1,11 @@ # GitLab Integration API Endpoints -This document describes the GitLab integration API endpoints available in vTeam. +This document describes the GitLab integration API endpoints available in ACP. ## Base URL ``` -http://vteam-backend:8080/api +http://acp-backend:8080/api ``` For production deployments, replace with your actual backend URL. @@ -15,7 +15,7 @@ For production deployments, replace with your actual backend URL. All endpoints require authentication via Bearer token in the Authorization header: ```http -Authorization: Bearer +Authorization: Bearer ``` --- @@ -24,14 +24,14 @@ Authorization: Bearer ### 1. Connect GitLab Account -Connect a GitLab account to vTeam by providing a Personal Access Token. +Connect a GitLab account to ACP by providing a Personal Access Token. **Endpoint**: `POST /auth/gitlab/connect` **Request Headers**: ```http Content-Type: application/json -Authorization: Bearer +Authorization: Bearer ``` **Request Body**: @@ -51,9 +51,9 @@ Authorization: Bearer **Example Request**: ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ +curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -d '{ "personalAccessToken": "glpat-xyz123abc456", "instanceUrl": "https://gitlab.com" @@ -114,13 +114,13 @@ Check if user has a GitLab account connected and retrieve connection details. **Request Headers**: ```http -Authorization: Bearer +Authorization: Bearer ``` **Example Request**: ```bash -curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ - -H "Authorization: Bearer " +curl -X GET http://acp-backend:8080/api/auth/gitlab/status \ + -H "Authorization: Bearer " ``` **Success Response (Connected)** (`200 OK`): @@ -162,19 +162,19 @@ curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ ### 3. Disconnect GitLab Account -Disconnect GitLab account from vTeam and remove stored credentials. +Disconnect GitLab account from ACP and remove stored credentials. **Endpoint**: `POST /auth/gitlab/disconnect` **Request Headers**: ```http -Authorization: Bearer +Authorization: Bearer ``` **Example Request**: ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/disconnect \ - -H "Authorization: Bearer " +curl -X POST http://acp-backend:8080/api/auth/gitlab/disconnect \ + -H "Authorization: Bearer " ``` **Success Response** (`200 OK`): @@ -254,7 +254,7 @@ interface ConnectGitLabResponse { ``` **Fields**: -- `userId`: vTeam user ID +- `userId`: ACP user ID - `gitlabUserId`: GitLab user ID (from GitLab API) - `username`: GitLab username - `instanceUrl`: GitLab instance URL (GitLab.com or self-hosted) @@ -331,7 +331,7 @@ All error responses follow this format: | Status Code | Meaning | Common Causes | |-------------|---------|---------------| | 400 | Bad Request | Invalid request body, missing required fields | -| 401 | Unauthorized | vTeam authentication token missing or invalid | +| 401 | Unauthorized | ACP authentication token missing or invalid | | 500 | Internal Server Error | GitLab token validation failed, database error, network error | ### GitLab-Specific Errors @@ -371,8 +371,8 @@ When GitLab token validation fails, error messages include specific remediation: #### 1. Check if Connected ```bash -curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ - -H "Authorization: Bearer $VTEAM_TOKEN" +curl -X GET http://acp-backend:8080/api/auth/gitlab/status \ + -H "Authorization: Bearer $ACP_TOKEN" ``` Response: @@ -383,9 +383,9 @@ Response: #### 2. Connect Account ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ +curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer $VTEAM_TOKEN" \ + -H "Authorization: Bearer $ACP_TOKEN" \ -d '{ "personalAccessToken": "'"$GITLAB_TOKEN"'", "instanceUrl": "https://gitlab.com" @@ -407,8 +407,8 @@ Response: #### 3. Verify Connection ```bash -curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ - -H "Authorization: Bearer $VTEAM_TOKEN" +curl -X GET http://acp-backend:8080/api/auth/gitlab/status \ + -H "Authorization: Bearer $ACP_TOKEN" ``` Response: @@ -424,8 +424,8 @@ Response: #### 4. Disconnect (if needed) ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/disconnect \ - -H "Authorization: Bearer $VTEAM_TOKEN" +curl -X POST http://acp-backend:8080/api/auth/gitlab/disconnect \ + -H "Authorization: Bearer $ACP_TOKEN" ``` Response: @@ -442,9 +442,9 @@ Response: ```bash # Connect to self-hosted instance -curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ +curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer $VTEAM_TOKEN" \ + -H "Authorization: Bearer $ACP_TOKEN" \ -d '{ "personalAccessToken": "glpat-selfhosted-token", "instanceUrl": "https://gitlab.company.com" @@ -489,7 +489,7 @@ Required GitLab token scopes: 2. **Rotate Tokens**: Encourage users to rotate GitLab tokens every 90 days 3. **Minimum Scopes**: Only request required scopes 4. **Token Expiration**: Set expiration dates on GitLab tokens -5. **Secure vTeam Tokens**: Protect vTeam authentication tokens +5. **Secure ACP Tokens**: Protect ACP authentication tokens --- @@ -504,9 +504,9 @@ Required GitLab token scopes: Limits configured by GitLab administrator (may differ from GitLab.com). -### vTeam Behavior +### ACP Behavior -- No rate limit enforcement on vTeam side +- No rate limit enforcement on ACP side - GitLab API errors (429 Too Many Requests) passed through to user - Error messages include wait time recommendation @@ -550,11 +550,11 @@ See examples throughout this document. ### "User not authenticated" -**Cause**: vTeam authentication token missing or invalid +**Cause**: ACP authentication token missing or invalid **Solution**: - Include `Authorization: Bearer ` header -- Verify vTeam token is valid +- Verify ACP token is valid - Check token hasn't expired ### "GitLab token validation failed: 401" diff --git a/docs/build-metadata.md b/docs/build-metadata.md index d7cabda0f..5df6cfd5d 100644 --- a/docs/build-metadata.md +++ b/docs/build-metadata.md @@ -44,7 +44,7 @@ podman build \ --build-arg GIT_VERSION=v1.2.3-dirty \ --build-arg BUILD_DATE=2025-12-15T10:30:00Z \ --build-arg BUILD_USER=gkrumbac@MacBook \ - -t vteam-backend:latest . + -t acp-backend:latest . ``` ### 2. Build Time: Dockerfiles Embed Metadata as Environment Variables @@ -131,7 +131,7 @@ Backend API - Build Information Version: v1.2.3-dirty Commit: abc123def456789... Branch: feature/build-metadata -Repository: https://github.com/ambient-code/vteam.git +Repository: https://github.com/ambient-code/platform.git Built: 2025-12-15T10:30:45Z Built by: gkrumbac@MacBook-Pro.local ============================================== @@ -161,7 +161,7 @@ oc logs job/session-abc123 -n project-namespace | head -20 ```bash # Using podman/docker -podman run --rm vteam-backend:latest env | grep GIT +podman run --rm acp-backend:latest env | grep GIT # In Kubernetes kubectl exec deployment/backend-api -n ambient-code -- env | grep GIT @@ -172,7 +172,7 @@ kubectl exec deployment/backend-api -n ambient-code -- env | grep GIT You can also add this metadata as image labels for inspection without running the container: ```bash -podman inspect vteam-backend:latest | jq '.[0].Config.Labels' +podman inspect acp-backend:latest | jq '.[0].Config.Labels' ``` ## Development Workflow diff --git a/docs/component-structure.mmd b/docs/component-structure.mmd new file mode 100644 index 000000000..c043e85e7 --- /dev/null +++ b/docs/component-structure.mmd @@ -0,0 +1,69 @@ +--- +title: Ambient Code Platform - Component Structure & Development Flow +--- + +%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#e5e7eb', 'primaryTextColor': '#1f2937', 'primaryBorderColor': '#9ca3af', 'lineColor': '#6b7280', 'secondaryColor': '#f3f4f6', 'tertiaryColor': '#f9fafb'}}}%% + +graph LR + subgraph "πŸ“ components/" + Frontend[frontend/
NextJS + Shadcn UI
🎨 Web Interface] + Backend[backend/
Go API Service
⚑ CRD Management] + Operator[operator/
Kubernetes Operator
βš™οΈ Go] + Runners[runners/
AI Runner Services] + Manifests[manifests/
K8s Deployments
πŸ“‹ YAML Files] + + subgraph "runners/" + ClaudeRunner[claude-code-runner/
Python Service
πŸ€– MCP Integration] + end + end + + subgraph "Development Commands" + DevStart[make dev-start
πŸš€ Complete Stack] + DevSync[make dev-sync
♻️ Hot Reloading] + Deploy[make deploy
πŸ“¦ Production] + BuildPush[make build-all push-all
πŸ—οΈ Container Images] + end + + subgraph "Environments" + Local[Local Development
Minikube + OpenShift] + Prod[Production
OpenShift/K8s Cluster] + end + + subgraph "Access Points" + FrontendURL[Frontend URL
https://acp-frontend-acp-dev.apps-crc.testing] + BackendAPI[Backend API
Authenticated] + Console[OpenShift Console
Admin Access] + end + + %% Development flow + DevStart --> Local + Local --> FrontendURL + Local --> BackendAPI + Local --> Console + DevSync -.->|File Sync| Local + + %% Production flow + BuildPush --> Prod + Deploy --> Prod + + %% Component relationships + Frontend <-->|API Calls| Backend + Backend <-->|Manages| Operator + Operator -->|Schedules| ClaudeRunner + Manifests -->|Defines| Frontend + Manifests -->|Defines| Backend + Manifests -->|Defines| Operator + Manifests -->|Defines| ClaudeRunner + + %% Styling + classDef component fill:#ddd6fe,stroke:#9333ea,stroke-width:2px,color:#1f2937 + classDef command fill:#fed7aa,stroke:#ea580c,stroke-width:2px,color:#1f2937 + classDef env fill:#bbf7d0,stroke:#16a34a,stroke-width:2px,color:#1f2937 + classDef access fill:#bfdbfe,stroke:#2563eb,stroke-width:2px,color:#1f2937 + classDef runner fill:#fef3c7,stroke:#f59e0b,stroke-width:2px,color:#1f2937 + + class Frontend,Backend,Operator,Manifests component + class ClaudeRunner runner + class DevStart,DevSync,Deploy,BuildPush command + class Local,Prod env + class FrontendURL,BackendAPI,Console access diff --git a/docs/deployment-stack.mmd b/docs/deployment-stack.mmd new file mode 100644 index 000000000..a72ce07b6 --- /dev/null +++ b/docs/deployment-stack.mmd @@ -0,0 +1,125 @@ +--- +title: Ambient Code Platform - Deployment & Technology Stack +--- + +%%{init: {'theme':'base', 'themeVariables': { 'primaryColor': '#f3f4f6', 'primaryTextColor': '#111827', 'primaryBorderColor': '#d1d5db', 'lineColor': '#9ca3af'}}}%% + +graph TD + subgraph "πŸš€ Deployment Options" + subgraph "Local Development" + MK[Minikube] + CRC[OpenShift Local/CRC] + DevCmd[make dev-start] + HotReload[DEV_MODE=true
make dev-sync] + end + + subgraph "Production" + OCP[OpenShift Cluster] + K8sCluster[Kubernetes Cluster] + Registry[Container Registry] + ProdCmd[make deploy
NAMESPACE=prod] + end + end + + subgraph "πŸ—οΈ Technology Stack" + subgraph "Frontend Stack" + Next[NextJS 14+] + Shadcn[Shadcn/UI] + TS1[TypeScript] + React[React 18+] + TW[Tailwind CSS] + end + + subgraph "Backend Stack" + Go1[Go 1.21+] + Gin[Gin Framework] + K8sClient[Kubernetes Client-Go] + OIDC[OpenID Connect] + end + + subgraph "Operator Stack" + Go2[Go 1.21+] + OperatorSDK[Operator SDK] + Controller[Controller Runtime] + end + + subgraph "AI Runner Stack" + Python[Python 3.11+] + Claude[Claude Code CLI] + MCP[Model Context Protocol] + Playwright[Playwright MCP Server] + end + end + + subgraph "πŸ“¦ Infrastructure" + subgraph "Kubernetes Resources" + CRD[Custom Resource Definitions] + Jobs[Kubernetes Jobs] + Pods[Execution Pods] + Services[K8s Services] + Routes[OpenShift Routes/
Ingress] + end + + subgraph "Storage & State" + CR2[AgenticSession CRs] + ConfigMaps[ConfigMaps] + Secrets[Secrets] + PVC[Persistent Volumes] + end + + subgraph "Security" + OAuth[OpenShift OAuth] + RBAC[RBAC Policies] + SA[Service Accounts] + NetPol[Network Policies] + end + end + + subgraph "πŸ“‹ Prerequisites" + Docker[Docker/Podman] + Kubectl[kubectl CLI] + Make[GNU Make] + RedHatSecret["Red Hat Pull Secret
for OpenShift"] + end + + %% Relationships + DevCmd --> MK + DevCmd --> CRC + HotReload --> CRC + ProdCmd --> OCP + ProdCmd --> K8sCluster + + Registry --> OCP + Registry --> K8sCluster + + Next --> React + React --> TS1 + Shadcn --> TW + + Go1 --> Gin + Go1 --> K8sClient + OIDC --> OAuth + + Go2 --> OperatorSDK + OperatorSDK --> Controller + + Python --> Claude + Claude --> MCP + MCP --> Playwright + + CRD --> CR2 + Jobs --> Pods + Services --> Routes + + %% Styling + classDef dev fill:#e0f2fe,stroke:#0284c7,stroke-width:2px,color:#0c4a6e + classDef prod fill:#dcfce7,stroke:#16a34a,stroke-width:2px,color:#14532d + classDef tech fill:#fef3c7,stroke:#f59e0b,stroke-width:2px,color:#78350f + classDef infra fill:#e9d5ff,stroke:#a855f7,stroke-width:2px,color:#581c87 + classDef prereq fill:#fee2e2,stroke:#ef4444,stroke-width:2px,color:#7f1d1d + + class MK,CRC,DevCmd,HotReload dev + class OCP,K8sCluster,Registry,ProdCmd prod + class Next,Shadcn,TS1,React,TW,Go1,Gin,K8sClient,OIDC,Go2,OperatorSDK,Controller,Python,Claude,MCP,Playwright tech + class CRD,Jobs,Pods,Services,Routes,CR2,ConfigMaps,Secrets,PVC,OAuth,RBAC,SA,NetPol infra + class Docker,Kubectl,Make,RedHatSecret prereq diff --git a/docs/design/OPERATOR_CENTRIC_MIGRATION_PLAN.md b/docs/design/OPERATOR_CENTRIC_MIGRATION_PLAN.md index 950975ffb..cccf0fcc7 100644 --- a/docs/design/OPERATOR_CENTRIC_MIGRATION_PLAN.md +++ b/docs/design/OPERATOR_CENTRIC_MIGRATION_PLAN.md @@ -615,13 +615,13 @@ func (r *SessionReconciler) handleContainerTerminated(ctx, session, cs) (ctrl.Re ```yaml # BEFORE rules: - - apiGroups: ["vteam.ambient-code"] + - apiGroups: ["acp.ambient-code"] resources: ["agenticsessions/status"] verbs: ["get", "update", "patch"] # AFTER rules: - - apiGroups: ["vteam.ambient-code"] + - apiGroups: ["acp.ambient-code"] resources: ["agenticsessions"] verbs: ["get", "patch"] # Only for annotations ``` diff --git a/docs/design/action-migration-guide.md b/docs/design/action-migration-guide.md index 04d96c99f..7fc978c7c 100644 --- a/docs/design/action-migration-guide.md +++ b/docs/design/action-migration-guide.md @@ -846,7 +846,7 @@ func CloneSession(c *gin.Context) { // Create new session with cloned spec newSession := map[string]interface{}{ - "apiVersion": "vteam.ambient-code/v1alpha1", + "apiVersion": "acp.ambient-code/v1alpha1", "kind": "AgenticSession", "metadata": map[string]interface{}{ "name": req.NewSessionName, diff --git a/docs/design/declarative-session-reconciliation.md b/docs/design/declarative-session-reconciliation.md index e5d56e116..e96165ffd 100644 --- a/docs/design/declarative-session-reconciliation.md +++ b/docs/design/declarative-session-reconciliation.md @@ -25,7 +25,7 @@ This is **declarative** (what should exist) vs **imperative** (do this action no ### The CR Structure ```yaml -apiVersion: vteam.ambient-code/v1alpha1 +apiVersion: acp.ambient-code/v1alpha1 kind: AgenticSession metadata: name: session-123 diff --git a/docs/design/session-status-redesign.md b/docs/design/session-status-redesign.md index 6d46fc16c..9ca0d9d27 100644 --- a/docs/design/session-status-redesign.md +++ b/docs/design/session-status-redesign.md @@ -164,7 +164,7 @@ status: - type: RunnerStarted status: "False" reason: ImagePullBackOff - message: "Failed to pull image: quay.io/ambient_code/vteam_claude_runner:latest" + message: "Failed to pull image: quay.io/ambient_code/acp_claude_runner:latest" lastTransitionTime: "2025-11-15T12:02:00Z" - type: Failed status: "True" diff --git a/docs/design/spec-runtime-synchronization.md b/docs/design/spec-runtime-synchronization.md index a00d9c453..a2043a941 100644 --- a/docs/design/spec-runtime-synchronization.md +++ b/docs/design/spec-runtime-synchronization.md @@ -19,7 +19,7 @@ When a session is running, users can make dynamic changes: ### Spec vs Status vs Annotations ```yaml -apiVersion: vteam.ambient-code/v1alpha1 +apiVersion: acp.ambient-code/v1alpha1 kind: AgenticSession metadata: name: session-123 diff --git a/docs/design/status-update-comparison.md b/docs/design/status-update-comparison.md index fd06cecc8..052e1e04d 100644 --- a/docs/design/status-update-comparison.md +++ b/docs/design/status-update-comparison.md @@ -263,7 +263,7 @@ status: - type: RunnerStarted status: "False" reason: ImagePullBackOff - message: "Failed to pull image: quay.io/ambient_code/vteam_claude_runner:bad-tag" + message: "Failed to pull image: quay.io/ambient_code/acp_claude_runner:bad-tag" - type: Failed status: "True" reason: ImagePullBackOff diff --git a/docs/gitlab-integration-test-plan.md b/docs/gitlab-integration-test-plan.md index b92eefaac..9d59bffd9 100644 --- a/docs/gitlab-integration-test-plan.md +++ b/docs/gitlab-integration-test-plan.md @@ -1,13 +1,13 @@ # GitLab Integration Test Plan -**Feature**: GitLab Support for vTeam +**Feature**: GitLab Support for Ambient Code Platform **Branch**: `feature/gitlab-support` **Date**: 2025-11-05 **Status**: Ready for Testing ## Overview -This test plan validates the GitLab integration implemented in vTeam, covering User Story 1 (Configure GitLab Repository) and User Story 3 (Execute AgenticSession with GitLab). +This test plan validates the GitLab integration implemented in Ambient Code Platform, covering User Story 1 (Configure GitLab Repository) and User Story 3 (Execute AgenticSession with GitLab). ## Prerequisites @@ -29,9 +29,9 @@ This test plan validates the GitLab integration implemented in vTeam, covering U - `write_repository` (push to repositories) - Create at: https://gitlab.com/-/profile/personal_access_tokens -4. **vTeam Environment** - - vTeam backend running with Kubernetes access - - Backend namespace: `vteam-backend` +4. **Ambient Code Platform Environment** + - Ambient Code Platform backend running with Kubernetes access + - Backend namespace: `acp-backend` - kubectl access to backend namespace - Valid user authentication token @@ -40,7 +40,7 @@ This test plan validates the GitLab integration implemented in vTeam, covering U **GitLab.com Test Repository**: ``` URL: https://gitlab.com//.git -Example: https://gitlab.com/testuser/vteam-test-repo.git +Example: https://gitlab.com/testuser/acp-test-repo.git ``` **Self-Hosted Test Repository** (if applicable): @@ -55,7 +55,7 @@ Example: https://gitlab.example.com/dev/integration-test.git ### TC-001: GitLab Connection - Connect with Valid Token (GitLab.com) -**User Story**: US1 - Configure vTeam Project with GitLab Repository +**User Story**: US1 - Configure Ambient Code Platform Project with GitLab Repository **Priority**: P1 (Critical) **Setup**: @@ -84,19 +84,19 @@ Example: https://gitlab.example.com/dev/integration-test.git "message": "GitLab account connected successfully" } ``` -- Kubernetes Secret `gitlab-user-tokens` created in `vteam-backend` namespace +- Kubernetes Secret `gitlab-user-tokens` created in `acp-backend` namespace - Secret contains entry with key=``, value=`` -- ConfigMap `gitlab-connections` created in `vteam-backend` namespace +- ConfigMap `gitlab-connections` created in `acp-backend` namespace - ConfigMap contains JSON entry with connection metadata **Validation**: ```bash # Check secret -kubectl get secret gitlab-user-tokens -n vteam-backend -o json | \ +kubectl get secret gitlab-user-tokens -n acp-backend -o json | \ jq '.data[""]' | base64 -d # Check configmap -kubectl get configmap gitlab-connections -n vteam-backend -o json | \ +kubectl get configmap gitlab-connections -n acp-backend -o json | \ jq '.data[""]' ``` @@ -226,11 +226,11 @@ kubectl get configmap gitlab-connections -n vteam-backend -o json | \ **Validation**: ```bash # Verify token removed -kubectl get secret gitlab-user-tokens -n vteam-backend -o json | \ +kubectl get secret gitlab-user-tokens -n acp-backend -o json | \ jq '.data[""]' # Should return null # Verify connection removed -kubectl get configmap gitlab-connections -n vteam-backend -o json | \ +kubectl get configmap gitlab-connections -n acp-backend -o json | \ jq '.data[""]' # Should return null ``` @@ -277,14 +277,14 @@ kubectl get configmap gitlab-connections -n vteam-backend -o json | \ **Setup**: 1. Complete TC-001 (GitLab connected) -2. Create or use existing vTeam project +2. Create or use existing Ambient Code Platform project **Steps**: 1. Update ProjectSettings CR with GitLab repository: ```yaml spec: repositories: - - url: "https://gitlab.com/testuser/vteam-test-repo.git" + - url: "https://gitlab.com/testuser/acp-test-repo.git" branch: "main" ``` @@ -506,8 +506,8 @@ curl -H "Authorization: Bearer " \ **Validation**: ```bash # Search backend logs for tokens -kubectl logs -n vteam-backend | grep -i "glpat-" # Should find no matches -kubectl logs -n vteam-backend | grep "oauth2:" | grep -v "***" # Should find no matches +kubectl logs -n acp-backend | grep -i "glpat-" # Should find no matches +kubectl logs -n acp-backend | grep "oauth2:" | grep -v "***" # Should find no matches # Search session logs kubectl logs -n | grep -i "token" | grep -v "***" # Should find no matches @@ -642,8 +642,8 @@ kubectl logs -n | grep -i "token" | grep -v "***" # Sho ## Manual Testing Checklist ### Setup Phase -- [ ] Deploy vTeam backend with GitLab support -- [ ] Verify backend namespace exists (`vteam-backend`) +- [ ] Deploy Ambient Code Platform backend with GitLab support +- [ ] Verify backend namespace exists (`acp-backend`) - [ ] Create GitLab.com test account and repository - [ ] Generate GitLab PAT with required scopes - [ ] (Optional) Set up self-hosted GitLab instance @@ -739,7 +739,7 @@ kubectl logs -n | grep -i "token" | grep -v "***" # Sho ## Support For issues or questions during testing: -- Review backend logs: `kubectl logs -l app=vteam-backend -n vteam-backend` +- Review backend logs: `kubectl logs -l app=acp-backend -n acp-backend` - Review session logs: `kubectl logs -n ` - Check GitLab API responses using curl with PAT -- Verify Kubernetes resources: Secrets and ConfigMaps in `vteam-backend` namespace +- Verify Kubernetes resources: Secrets and ConfigMaps in `acp-backend` namespace diff --git a/docs/gitlab-integration.md b/docs/gitlab-integration.md index 543850c8d..df3f66fea 100644 --- a/docs/gitlab-integration.md +++ b/docs/gitlab-integration.md @@ -1,6 +1,6 @@ -# GitLab Integration for vTeam +# GitLab Integration for Ambient Code Platform -vTeam now supports GitLab repositories alongside GitHub, enabling you to use your GitLab projects with AgenticSessions. This guide covers everything you need to know about using GitLab with vTeam. +Ambient Code Platform now supports GitLab repositories alongside GitHub, enabling you to use your GitLab projects with AgenticSessions. This guide covers everything you need to know about using GitLab with Ambient Code Platform. ## Overview @@ -16,7 +16,7 @@ vTeam now supports GitLab repositories alongside GitHub, enabling you to use you **Requirements:** - GitLab Personal Access Token with appropriate scopes - Repository with write access (for AgenticSessions) -- vTeam backend v1.1.0 or higher +- Ambient Code Platform backend v1.1.0 or higher --- @@ -32,7 +32,7 @@ vTeam now supports GitLab repositories alongside GitHub, enabling you to use you - Or visit: https://gitlab.com/-/profile/personal_access_tokens 3. **Create Token**: - - **Token name**: `vTeam Integration` + - **Token name**: `Ambient Code Platform Integration` - **Expiration**: Set 90+ days from now - **Select scopes**: - βœ… `api` - Full API access (required) @@ -46,9 +46,9 @@ vTeam now supports GitLab repositories alongside GitHub, enabling you to use you --- -### 2. Connect GitLab Account to vTeam +### 2. Connect GitLab Account to Ambient Code Platform -**Via vTeam UI** (if available): +**Via Ambient Code Platform UI** (if available): 1. Navigate to Settings β†’ Integrations 2. Click "Connect GitLab" 3. Paste your Personal Access Token @@ -57,9 +57,9 @@ vTeam now supports GitLab repositories alongside GitHub, enabling you to use you **Via API**: ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ +curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -d '{ "personalAccessToken": "glpat-your-token-here", "instanceUrl": "" @@ -90,8 +90,8 @@ curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ ### 3. Configure Project with GitLab Repository -**Option A: Via vTeam UI** -1. Open your vTeam project +**Option A: Via Ambient Code Platform UI** +1. Open your Ambient Code Platform project 2. Navigate to Project Settings 3. Under "Repositories", click "Add Repository" 4. Enter GitLab repository URL: @@ -171,7 +171,7 @@ https://gitlab.com/myteam/backend/-/tree/feature/add-feature-x ## Supported URL Formats -vTeam automatically detects and normalizes GitLab URLs: +Ambient Code Platform automatically detects and normalizes GitLab URLs: ### HTTPS URLs (Recommended) ``` @@ -196,7 +196,7 @@ vTeam automatically detects and normalizes GitLab URLs: ## Repository Access Validation -vTeam validates your access to GitLab repositories before allowing operations: +Ambient Code Platform validates your access to GitLab repositories before allowing operations: **Validation Checks**: 1. βœ… Token is valid and not expired @@ -226,8 +226,8 @@ vTeam validates your access to GitLab repositories before allowing operations: **Via API**: ```bash -curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ - -H "Authorization: Bearer " +curl -X GET http://acp-backend:8080/api/auth/gitlab/status \ + -H "Authorization: Bearer " ``` **Response (Connected)**: @@ -251,12 +251,12 @@ curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ **Via API**: ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/disconnect \ - -H "Authorization: Bearer " +curl -X POST http://acp-backend:8080/api/auth/gitlab/disconnect \ + -H "Authorization: Bearer " ``` This removes: -- Your GitLab PAT from vTeam secrets +- Your GitLab PAT from Ambient Code Platform secrets - Connection metadata - Access to GitLab repositories (AgenticSessions will fail) @@ -274,11 +274,11 @@ To update your token (when expired or scopes changed): ## Self-Hosted GitLab -vTeam fully supports self-hosted GitLab instances (Community and Enterprise editions). +Ambient Code Platform fully supports self-hosted GitLab instances (Community and Enterprise editions). ### Requirements -- GitLab instance accessible from vTeam backend pods +- GitLab instance accessible from Ambient Code Platform backend pods - Personal Access Token from your GitLab instance - Network connectivity to GitLab API (default: port 443) @@ -287,9 +287,9 @@ vTeam fully supports self-hosted GitLab instances (Community and Enterprise edit When connecting, provide your instance URL: ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ +curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -d '{ "personalAccessToken": "glpat-xxx", "instanceUrl": "https://gitlab.company.com" @@ -312,7 +312,7 @@ curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ ### API URL Construction -vTeam automatically constructs the correct API URL: +Ambient Code Platform automatically constructs the correct API URL: | Instance URL | API URL | |--------------|---------| @@ -328,7 +328,7 @@ vTeam automatically constructs the correct API URL: 1. Verify instance URL is correct and accessible 2. Check network connectivity from backend pods: ```bash - kubectl exec -it -n vteam-backend -- curl https://gitlab.company.com + kubectl exec -it -n acp-backend -- curl https://gitlab.company.com ``` 3. Verify SSL certificate is valid (or configure trust for self-signed) 4. Check firewall rules allow traffic from Kubernetes cluster @@ -394,7 +394,7 @@ vTeam automatically constructs the correct API URL: **Process**: 1. Create new token in GitLab with same scopes 2. Test new token works (curl to GitLab API) -3. Disconnect vTeam GitLab connection +3. Disconnect Ambient Code Platform GitLab connection 4. Reconnect with new token 5. Revoke old token in GitLab @@ -440,7 +440,7 @@ vTeam automatically constructs the correct API URL: - `read_repository` βœ… - `write_repository` βœ… 2. Recreate token with correct scopes -3. Reconnect vTeam with new token +3. Reconnect Ambient Code Platform with new token --- @@ -476,7 +476,7 @@ vTeam automatically constructs the correct API URL: 1. Verify GitLab account is connected 2. Check token stored in secret: ```bash - kubectl get secret gitlab-user-tokens -n vteam-backend + kubectl get secret gitlab-user-tokens -n acp-backend ``` 3. Verify repository URL is correct 4. Check session logs: @@ -516,7 +516,7 @@ your GitLab account with the required permissions. - 300 requests per minute per user - 10,000 requests per hour per user -**How vTeam Handles Rate Limits**: +**How Ambient Code Platform Handles Rate Limits**: - Errors returned with clear message - Recommended wait time provided - No automatic retry (to avoid making it worse) @@ -535,7 +535,7 @@ Self-hosted instances may have different limits configured by admins. Check with ## Mixing GitHub and GitLab -vTeam supports projects with both GitHub and GitLab repositories. +Ambient Code Platform supports projects with both GitHub and GitLab repositories. **Example Multi-Provider Project**: ```yaml @@ -576,7 +576,7 @@ spec: ```http POST /api/auth/gitlab/connect Content-Type: application/json -Authorization: Bearer +Authorization: Bearer { "personalAccessToken": "glpat-xxx", @@ -602,7 +602,7 @@ Authorization: Bearer ```http GET /api/auth/gitlab/status -Authorization: Bearer +Authorization: Bearer ``` **Response (200 OK - Connected)**: @@ -628,7 +628,7 @@ Authorization: Bearer ```http POST /api/auth/gitlab/disconnect -Authorization: Bearer +Authorization: Bearer ``` **Response (200 OK)**: @@ -643,8 +643,8 @@ Authorization: Bearer ## FAQ -**Q: Can I use the same token for multiple vTeam users?** -A: No. Each vTeam user should connect their own GitLab account with their own PAT. This ensures: +**Q: Can I use the same token for multiple Ambient Code Platform users?** +A: No. Each Ambient Code Platform user should connect their own GitLab account with their own PAT. This ensures: - Audit trail shows real user - Correct permissions enforcement - Individual token rotation @@ -653,21 +653,21 @@ A: No. Each vTeam user should connect their own GitLab account with their own PA A: AgenticSessions will fail with "Authentication failed" error. Reconnect with a new token. **Q: Can I use SSH URLs?** -A: Yes, vTeam accepts SSH URLs and automatically converts them to HTTPS for authentication. +A: Yes, Ambient Code Platform accepts SSH URLs and automatically converts them to HTTPS for authentication. **Q: Do I need to configure SSH keys?** -A: No. vTeam uses HTTPS + Personal Access Token authentication exclusively. +A: No. Ambient Code Platform uses HTTPS + Personal Access Token authentication exclusively. **Q: Can I use Deploy Tokens instead of PATs?** A: Not currently. Only Personal Access Tokens are supported. -**Q: Does vTeam support GitLab Groups/Subgroups?** +**Q: Does Ambient Code Platform support GitLab Groups/Subgroups?** A: Yes. URLs like `https://gitlab.com/group/subgroup/project.git` work correctly. **Q: What if I don't have a GitLab account?** A: Create one at https://gitlab.com - it's free for public and private repositories. -**Q: Can I use vTeam with GitLab Enterprise?** +**Q: Can I use Ambient Code Platform with GitLab Enterprise?** A: Yes. Self-hosted GitLab Enterprise Edition is fully supported. **Q: How do I know if my token has the right scopes?** @@ -695,13 +695,13 @@ A: No. GitHub and GitLab integrations are independent and work side-by-side. - [GitLab Permissions](https://docs.gitlab.com/ee/user/permissions.html) **Troubleshooting**: -- Check backend logs: `kubectl logs -l app=vteam-backend -n vteam-backend` +- Check backend logs: `kubectl logs -l app=acp-backend -n acp-backend` - Check session logs: `kubectl logs -n ` - Verify GitLab status: https://status.gitlab.com (for GitLab.com) **Getting Help**: -- vTeam GitHub Issues: [Create an issue](https://github.com/natifridman/vTeam/issues) -- vTeam Documentation: [Main README](https://github.com/ambient-code/platform/blob/main/README.md) +- Ambient Code Platform GitHub Issues: [Create an issue](https://github.com/natifridman/Ambient Code Platform/issues) +- Ambient Code Platform Documentation: [Main README](https://github.com/ambient-code/platform/blob/main/README.md) --- diff --git a/docs/gitlab-self-hosted.md b/docs/gitlab-self-hosted.md index 4d9270a53..b24945773 100644 --- a/docs/gitlab-self-hosted.md +++ b/docs/gitlab-self-hosted.md @@ -1,10 +1,10 @@ -# Self-Hosted GitLab Configuration for vTeam +# Self-Hosted GitLab Configuration for Ambient Code Platform -This guide covers everything you need to configure vTeam with self-hosted GitLab instances (GitLab Community Edition or GitLab Enterprise Edition). +This guide covers everything you need to configure Ambient Code Platform with self-hosted GitLab instances (GitLab Community Edition or GitLab Enterprise Edition). ## Overview -vTeam fully supports self-hosted GitLab installations, including: +Ambient Code Platform fully supports self-hosted GitLab installations, including: - βœ… GitLab Community Edition (CE) - βœ… GitLab Enterprise Edition (EE) - βœ… Custom domains and ports @@ -18,14 +18,14 @@ vTeam fully supports self-hosted GitLab installations, including: ### Network Requirements -**From vTeam Backend Pods**: +**From Ambient Code Platform Backend Pods**: - HTTPS access to GitLab instance (typically port 443) - DNS resolution of GitLab hostname - No firewall blocking outbound connections **From GitLab Instance**: -- No inbound access required from vTeam -- All communication is outbound from vTeam to GitLab +- No inbound access required from Ambient Code Platform +- All communication is outbound from Ambient Code Platform to GitLab ### GitLab Requirements @@ -56,14 +56,14 @@ vTeam fully supports self-hosted GitLab installations, including: ### Step 1: Verify GitLab Accessibility -Before configuring vTeam, verify GitLab is accessible from Kubernetes cluster: +Before configuring Ambient Code Platform, verify GitLab is accessible from Kubernetes cluster: ```bash # From your local machine (should work if GitLab is public) curl -I https://gitlab.company.com -# From vTeam backend pod (critical test) -kubectl exec -it -n vteam-backend -- \ +# From Ambient Code Platform backend pod (critical test) +kubectl exec -it -n acp-backend -- \ curl -I https://gitlab.company.com ``` @@ -146,7 +146,7 @@ curl -H "Authorization: Bearer glpat-your-token" \ **Test from Backend Pod** (critical): ```bash -kubectl exec -it -n vteam-backend -- \ +kubectl exec -it -n acp-backend -- \ curl -H "Authorization: Bearer glpat-your-token" \ https://gitlab.company.com/api/v4/user ``` @@ -155,14 +155,14 @@ If this fails but works from your machine, there's a network/firewall issue. --- -### Step 4: Connect to vTeam +### Step 4: Connect to Ambient Code Platform **Via API** (recommended for initial testing): ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ +curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -d '{ "personalAccessToken": "glpat-your-gitlab-token", "instanceUrl": "https://gitlab.company.com" @@ -190,8 +190,8 @@ curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ **Check Connection**: ```bash -curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ - -H "Authorization: Bearer " +curl -X GET http://acp-backend:8080/api/auth/gitlab/status \ + -H "Authorization: Bearer " ``` Expected: @@ -222,7 +222,7 @@ curl https://gitlab.company.com ### Self-Signed SSL Certificates -If your GitLab uses self-signed certificates, you must configure vTeam backend pods to trust them. +If your GitLab uses self-signed certificates, you must configure Ambient Code Platform backend pods to trust them. #### Option 1: Add CA Certificate to Backend Pods @@ -239,14 +239,14 @@ echo | openssl s_client -showcerts -connect gitlab.company.com:443 2>/dev/null | ```bash kubectl create configmap gitlab-ca-cert \ --from-file=gitlab-ca.crt=gitlab-ca.crt \ - -n vteam-backend + -n acp-backend ``` **Step 3: Mount CA Certificate in Backend Deployment** Edit backend deployment: ```bash -kubectl edit deployment vteam-backend -n vteam-backend +kubectl edit deployment acp-backend -n acp-backend ``` Add volume and volumeMount: @@ -294,7 +294,7 @@ spec: ```bash # After pod restarts -kubectl exec -it -n vteam-backend -- \ +kubectl exec -it -n acp-backend -- \ curl https://gitlab.company.com # Should not show certificate errors ``` @@ -331,7 +331,7 @@ env: **Solutions**: 1. Contact GitLab administrator to renew certificate -2. Cannot be worked around from vTeam side +2. Cannot be worked around from Ambient Code Platform side **Problem**: "x509: certificate is valid for gitlab.local, not gitlab.company.com" @@ -348,9 +348,9 @@ env: ### Firewall Rules -**Required Outbound Access** (from vTeam backend pods): +**Required Outbound Access** (from Ambient Code Platform backend pods): ``` -Source: vTeam backend pods (namespace: vteam-backend) +Source: Ambient Code Platform backend pods (namespace: acp-backend) Destination: GitLab instance Protocol: HTTPS (TCP) Port: 443 (or custom if GitLab uses different port) @@ -361,17 +361,17 @@ Port: 443 (or custom if GitLab uses different port) ALLOW tcp from 10.0.0.0/8 (Kubernetes pod network) to 192.168.1.100 port 443 ``` -**No Inbound Access Required**: GitLab doesn't need to reach vTeam. +**No Inbound Access Required**: GitLab doesn't need to reach Ambient Code Platform. --- ### DNS Configuration -vTeam backend pods must be able to resolve GitLab hostname. +Ambient Code Platform backend pods must be able to resolve GitLab hostname. **Test DNS Resolution**: ```bash -kubectl exec -it -n vteam-backend -- \ +kubectl exec -it -n acp-backend -- \ nslookup gitlab.company.com ``` @@ -407,7 +407,7 @@ Address: 192.168.1.100 ### Proxy Configuration -If vTeam backend pods require HTTP proxy to reach GitLab: +If Ambient Code Platform backend pods require HTTP proxy to reach GitLab: **Add Proxy Environment Variables**: ```yaml @@ -447,7 +447,7 @@ If your GitLab instance runs on a non-standard port: GitLab URL: https://gitlab.company.com:8443 ``` -**Configure in vTeam**: +**Configure in Ambient Code Platform**: ```json { "personalAccessToken": "glpat-xxx", @@ -461,7 +461,7 @@ Instance URL: https://gitlab.company.com:8443 API URL: https://gitlab.company.com:8443/api/v4 ``` -vTeam automatically preserves the custom port. +Ambient Code Platform automatically preserves the custom port. --- @@ -475,10 +475,10 @@ Self-hosted GitLab administrators can configure custom rate limits. 1. Admin Area β†’ Settings β†’ Network β†’ Rate Limits 2. Default: Same as GitLab.com (300/min, 10000/hour) -**Recommended Settings for vTeam**: +**Recommended Settings for Ambient Code Platform**: - Authenticated API rate limit: 300 requests/minute (default) - Unauthenticated rate limit: Can be lower -- Protected paths rate limit: Not applicable to vTeam +- Protected paths rate limit: Not applicable to Ambient Code Platform **If Users Hit Rate Limits Frequently**: - Consider increasing limits for authenticated API calls @@ -498,12 +498,12 @@ Administrators can restrict PAT creation and usage. **Recommended Settings**: - βœ… Personal Access Tokens: **Enabled** -- βœ… Project Access Tokens: Can be disabled (not used by vTeam) +- βœ… Project Access Tokens: Can be disabled (not used by Ambient Code Platform) - ⚠️ Token expiration: Enforce 90-day maximum (recommended) - ⚠️ Limit token lifetime: Yes (security best practice) **If PAT Creation is Disabled**: -- Users cannot connect to vTeam +- Users cannot connect to Ambient Code Platform - Administrator must enable PATs - Or use alternative authentication (not currently supported) @@ -516,7 +516,7 @@ Administrators can restrict PAT creation and usage. 2. Expand "Visibility and access controls" 3. Check "Enable access to the GitLab API" is **ON** -If disabled, vTeam cannot function. +If disabled, Ambient Code Platform cannot function. --- @@ -530,18 +530,18 @@ For completely air-gapped GitLab installations: - Accessible from Kubernetes cluster (internal network) - Does NOT need internet access -**vTeam Backend**: +**Ambient Code Platform Backend**: - Must reach GitLab instance (internal network) - Does NOT need internet access for GitLab operations ### Configuration -Same as standard self-hosted setup - air-gap doesn't affect vTeam β†’ GitLab communication. +Same as standard self-hosted setup - air-gap doesn't affect Ambient Code Platform β†’ GitLab communication. **Network Diagram**: ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” -β”‚ vTeam Backend Pods │────────▢│ GitLab Instance β”‚ +β”‚ Ambient Code Platform Backend Pods │────────▢│ GitLab Instance β”‚ β”‚ (Kubernetes) β”‚ HTTPS β”‚ (Self-Hosted) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ Internal Network Only @@ -552,9 +552,9 @@ Same as standard self-hosted setup - air-gap doesn't affect vTeam β†’ GitLab com ## Multi-Instance Support -vTeam users can connect to multiple self-hosted GitLab instances simultaneously. +Ambient Code Platform users can connect to multiple self-hosted GitLab instances simultaneously. -**Limitation**: Each vTeam user can connect to **one** GitLab instance at a time. +**Limitation**: Each Ambient Code Platform user can connect to **one** GitLab instance at a time. **Use Cases**: @@ -566,7 +566,7 @@ vTeam users can connect to multiple self-hosted GitLab instances simultaneously. **Scenario 2: One User, Multiple Instances** - User needs access to both `gitlab-dev` and `gitlab-prod` - ❌ Not supported - must choose one instance per user -- Workaround: Use different vTeam user accounts +- Workaround: Use different Ambient Code Platform user accounts **Scenario 3: Mixed GitLab.com and Self-Hosted** - User connects to `https://gitlab.company.com` (self-hosted) @@ -592,7 +592,7 @@ vTeam users can connect to multiple self-hosted GitLab instances simultaneously. 2. **Test from backend pod**: ```bash - kubectl exec -it -n vteam-backend -- \ + kubectl exec -it -n acp-backend -- \ curl https://gitlab.company.com ``` - If fails: Firewall or network issue @@ -600,16 +600,16 @@ vTeam users can connect to multiple self-hosted GitLab instances simultaneously. 3. **Test GitLab API**: ```bash - kubectl exec -it -n vteam-backend -- \ + kubectl exec -it -n acp-backend -- \ curl -H "Authorization: Bearer glpat-xxx" \ https://gitlab.company.com/api/v4/user ``` - If fails: API disabled or token invalid - - If succeeds: vTeam configuration issue + - If succeeds: Ambient Code Platform configuration issue -4. **Check vTeam logs**: +4. **Check Ambient Code Platform logs**: ```bash - kubectl logs -l app=vteam-backend -n vteam-backend | grep -i gitlab + kubectl logs -l app=acp-backend -n acp-backend | grep -i gitlab ``` --- @@ -655,7 +655,7 @@ curl https://gitlab.company.com/api/v4/version 2. **Check network latency**: ```bash - kubectl exec -it -n vteam-backend -- \ + kubectl exec -it -n acp-backend -- \ ping -c 5 gitlab.company.com ``` - Should be < 50ms for same datacenter @@ -673,12 +673,12 @@ curl https://gitlab.company.com/api/v4/version ### Token Storage **Where Tokens Are Stored**: -- Kubernetes Secret: `gitlab-user-tokens` in `vteam-backend` namespace +- Kubernetes Secret: `gitlab-user-tokens` in `acp-backend` namespace - Encrypted at rest (Kubernetes default encryption) - Never logged in plaintext **Access Control**: -- Only vTeam backend pods can read secret +- Only Ambient Code Platform backend pods can read secret - Kubernetes RBAC enforced - Administrators can view secret but not decode tokens automatically @@ -698,7 +698,7 @@ curl https://gitlab.company.com/api/v4/version - All tokens sent over HTTPS 2. **Restrict Network Access** - - Firewall: Only allow vTeam backend pods β†’ GitLab + - Firewall: Only allow Ambient Code Platform backend pods β†’ GitLab - No direct user access from pods to GitLab UI needed 3. **SSL/TLS Configuration** @@ -725,11 +725,11 @@ For regulated environments (HIPAA, SOC 2, etc.): **Audit Trail**: - βœ… GitLab logs all API calls with user identity -- βœ… vTeam logs all operations with redacted tokens +- βœ… Ambient Code Platform logs all operations with redacted tokens - βœ… Kubernetes audit logs track secret access **Access Control**: -- βœ… RBAC controls who can access vTeam +- βœ… RBAC controls who can access Ambient Code Platform - βœ… GitLab permissions control repository access - βœ… No elevated privileges required @@ -755,7 +755,7 @@ For regulated environments (HIPAA, SOC 2, etc.): 4. **Maintain GitLab Version** - Keep GitLab up to date (security patches) - - Test vTeam compatibility before major upgrades + - Test Ambient Code Platform compatibility before major upgrades - Minimum: GitLab 13.0+ 5. **SSL Certificate Management** @@ -765,11 +765,11 @@ For regulated environments (HIPAA, SOC 2, etc.): --- -### For vTeam Users +### For Ambient Code Platform Users 1. **Use Strong Tokens** - - Create separate token for vTeam - - Use descriptive name: "vTeam Integration" + - Create separate token for Ambient Code Platform + - Use descriptive name: "Ambient Code Platform Integration" - Minimum required scopes only 2. **Rotate Tokens Regularly** @@ -791,9 +791,9 @@ For regulated environments (HIPAA, SOC 2, etc.): ## Reference -### API Endpoints Used by vTeam +### API Endpoints Used by Ambient Code Platform -vTeam uses these GitLab API v4 endpoints: +Ambient Code Platform uses these GitLab API v4 endpoints: **Authentication & User**: ``` @@ -833,9 +833,9 @@ git push https://oauth2:TOKEN@gitlab.company.com/owner/repo.git - Check GitLab logs: `/var/log/gitlab/` - GitLab Community Forum: https://forum.gitlab.com -**For vTeam Integration Issues**: -- vTeam GitHub Issues: https://github.com/natifridman/vTeam/issues -- Check vTeam logs: `kubectl logs -l app=vteam-backend -n vteam-backend` +**For Ambient Code Platform Integration Issues**: +- Ambient Code Platform GitHub Issues: https://github.com/natifridman/Ambient Code Platform/issues +- Check Ambient Code Platform logs: `kubectl logs -l app=acp-backend -n acp-backend` **For Network/Firewall Issues**: - Contact your network/infrastructure team @@ -848,32 +848,32 @@ git push https://oauth2:TOKEN@gitlab.company.com/owner/repo.git **Test Connectivity**: ```bash # From backend pod -kubectl exec -it -n vteam-backend -- \ +kubectl exec -it -n acp-backend -- \ curl https://gitlab.company.com ``` **Test API**: ```bash -kubectl exec -it -n vteam-backend -- \ +kubectl exec -it -n acp-backend -- \ curl -H "Authorization: Bearer glpat-xxx" \ https://gitlab.company.com/api/v4/user ``` -**Connect to vTeam**: +**Connect to Ambient Code Platform**: ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ +curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -d '{"personalAccessToken":"glpat-xxx","instanceUrl":"https://gitlab.company.com"}' ``` **Check Status**: ```bash -curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ - -H "Authorization: Bearer " +curl -X GET http://acp-backend:8080/api/auth/gitlab/status \ + -H "Authorization: Bearer " ``` **View Logs**: ```bash -kubectl logs -l app=vteam-backend -n vteam-backend | grep -i gitlab +kubectl logs -l app=acp-backend -n acp-backend | grep -i gitlab ``` diff --git a/docs/gitlab-testing-procedures.md b/docs/gitlab-testing-procedures.md index 6af59c59d..1afbdb534 100644 --- a/docs/gitlab-testing-procedures.md +++ b/docs/gitlab-testing-procedures.md @@ -2,7 +2,7 @@ ## Quick Start Guide for Testing GitLab Support -This guide provides step-by-step instructions for manually testing the GitLab integration in vTeam. +This guide provides step-by-step instructions for manually testing the GitLab integration in Ambient Code Platform. --- @@ -21,7 +21,7 @@ This guide provides step-by-step instructions for manually testing the GitLab in - Or direct link: https://gitlab.com/-/profile/personal_access_tokens 3. **Create New Token**: - - **Token name**: `vTeam Integration Test` + - **Token name**: `Ambient Code Platform Integration Test` - **Expiration date**: Set 30+ days from now - **Scopes** (select ALL of these): - βœ… `api` - Full API access @@ -42,41 +42,41 @@ This guide provides step-by-step instructions for manually testing the GitLab in 1. **Create Test Repository** (GitLab.com): - Go to https://gitlab.com/projects/new - - Project name: `vteam-test-repo` + - Project name: `acp-test-repo` - Visibility: Private or Public (your choice) - Initialize with README: βœ… - Click "Create project" 2. **Note Repository URL**: - Clone button β†’ Copy HTTPS URL - - Example: `https://gitlab.com/yourusername/vteam-test-repo.git` + - Example: `https://gitlab.com/yourusername/acp-test-repo.git` 3. **Verify Access**: ```bash - git clone https://oauth2:@gitlab.com/yourusername/vteam-test-repo.git + git clone https://oauth2:@gitlab.com/yourusername/acp-test-repo.git ``` - Should clone successfully - Delete cloned folder after verification --- -### 3. vTeam Environment Setup +### 3. Ambient Code Platform Environment Setup 1. **Verify Backend Running**: ```bash - kubectl get pods -n vteam-backend + kubectl get pods -n acp-backend ``` - Should show backend pod in Running state 2. **Get Backend URL**: ```bash # Get service URL (adjust for your environment) - kubectl get svc -n vteam-backend + kubectl get svc -n acp-backend ``` - - Note the backend API URL (e.g., `http://vteam-backend.vteam-backend.svc.cluster.local:8080`) + - Note the backend API URL (e.g., `http://acp-backend.acp-backend.svc.cluster.local:8080`) 3. **Get User Auth Token**: - - Log in to vTeam UI + - Log in to Ambient Code Platform UI - Open browser developer console - Find auth token in localStorage or cookies - Or use test user token if available @@ -87,15 +87,15 @@ This guide provides step-by-step instructions for manually testing the GitLab in ### Test 1: Connect GitLab Account -**Objective**: Verify user can connect their GitLab account to vTeam +**Objective**: Verify user can connect their GitLab account to Ambient Code Platform **Steps**: 1. **Send Connect Request**: ```bash - curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ + curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -d '{ "personalAccessToken": "glpat-your-actual-token-here", "instanceUrl": "" @@ -117,10 +117,10 @@ This guide provides step-by-step instructions for manually testing the GitLab in 3. **Verify in Kubernetes**: ```bash # Check secret created - kubectl get secret gitlab-user-tokens -n vteam-backend -o yaml + kubectl get secret gitlab-user-tokens -n acp-backend -o yaml # Check configmap created - kubectl get configmap gitlab-connections -n vteam-backend -o yaml + kubectl get configmap gitlab-connections -n acp-backend -o yaml ``` **Success Criteria**: @@ -140,8 +140,8 @@ This guide provides step-by-step instructions for manually testing the GitLab in 1. **Send Status Request**: ```bash - curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ - -H "Authorization: Bearer " + curl -X GET http://acp-backend:8080/api/auth/gitlab/status \ + -H "Authorization: Bearer " ``` 2. **Expected Response** (200 OK): @@ -164,12 +164,12 @@ This guide provides step-by-step instructions for manually testing the GitLab in ### Test 3: Configure Project with GitLab Repository -**Objective**: Add GitLab repository to vTeam project +**Objective**: Add GitLab repository to Ambient Code Platform project **Steps**: 1. **Create or Select Project**: - - Use existing vTeam project or create new one + - Use existing Ambient Code Platform project or create new one - Note project namespace (e.g., `my-project`) 2. **Update ProjectSettings CR**: @@ -181,7 +181,7 @@ This guide provides step-by-step instructions for manually testing the GitLab in ```yaml spec: repositories: - - url: "https://gitlab.com/yourusername/vteam-test-repo.git" + - url: "https://gitlab.com/yourusername/acp-test-repo.git" branch: "main" ``` @@ -214,7 +214,7 @@ This guide provides step-by-step instructions for manually testing the GitLab in spec: description: "Test GitLab integration by adding a comment to README" outputRepo: - url: "https://gitlab.com/yourusername/vteam-test-repo.git" + url: "https://gitlab.com/yourusername/acp-test-repo.git" branch: "test-branch" EOF ``` @@ -235,7 +235,7 @@ This guide provides step-by-step instructions for manually testing the GitLab in - GitLab branch URL in completion notification 4. **Verify in GitLab UI**: - - Open repository in GitLab: https://gitlab.com/yourusername/vteam-test-repo + - Open repository in GitLab: https://gitlab.com/yourusername/acp-test-repo - Click "Branches" dropdown - Find `test-branch` - Verify commits appear from session @@ -247,7 +247,7 @@ This guide provides step-by-step instructions for manually testing the GitLab in - βœ… Push to GitLab succeeds - βœ… Branch visible in GitLab UI - βœ… Completion notification includes GitLab URL format: - - `https://gitlab.com/yourusername/vteam-test-repo/-/tree/test-branch` + - `https://gitlab.com/yourusername/acp-test-repo/-/tree/test-branch` --- @@ -266,9 +266,9 @@ This guide provides step-by-step instructions for manually testing the GitLab in 2. **Connect with Read-Only Token**: ```bash - curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ + curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -d '{ "personalAccessToken": "glpat-readonly-token-here", "instanceUrl": "" @@ -304,10 +304,10 @@ GitLab push failed: Insufficient permissions. Ensure your GitLab token has 'writ 1. **Search Backend Logs**: ```bash # Should find NO raw tokens - kubectl logs -l app=vteam-backend -n vteam-backend | grep "glpat-" + kubectl logs -l app=acp-backend -n acp-backend | grep "glpat-" # Should only find redacted tokens (with ***) - kubectl logs -l app=vteam-backend -n vteam-backend | grep "oauth2:" + kubectl logs -l app=acp-backend -n acp-backend | grep "oauth2:" ``` 2. **Search Session Logs**: @@ -335,8 +335,8 @@ GitLab push failed: Insufficient permissions. Ensure your GitLab token has 'writ 1. **Send Disconnect Request**: ```bash - curl -X POST http://vteam-backend:8080/api/auth/gitlab/disconnect \ - -H "Authorization: Bearer " + curl -X POST http://acp-backend:8080/api/auth/gitlab/disconnect \ + -H "Authorization: Bearer " ``` 2. **Expected Response** (200 OK): @@ -350,18 +350,18 @@ GitLab push failed: Insufficient permissions. Ensure your GitLab token has 'writ 3. **Verify Removal**: ```bash # Check token removed from secret - kubectl get secret gitlab-user-tokens -n vteam-backend -o json | \ + kubectl get secret gitlab-user-tokens -n acp-backend -o json | \ jq '.data | keys' # Check connection removed from configmap - kubectl get configmap gitlab-connections -n vteam-backend -o json | \ + kubectl get configmap gitlab-connections -n acp-backend -o json | \ jq '.data | keys' ``` 4. **Verify Status Shows Disconnected**: ```bash - curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ - -H "Authorization: Bearer " + curl -X GET http://acp-backend:8080/api/auth/gitlab/status \ + -H "Authorization: Bearer " ``` Expected: `{"connected": false}` @@ -387,9 +387,9 @@ GitLab push failed: Insufficient permissions. Ensure your GitLab token has 'writ 1. **Connect with Instance URL**: ```bash - curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ + curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -d '{ "personalAccessToken": "glpat-self-hosted-token", "instanceUrl": "https://gitlab.example.com" @@ -471,7 +471,7 @@ GitLab push failed: Insufficient permissions. Ensure your GitLab token has 'writ ``` 4. Check backend logs: ```bash - kubectl logs -l app=vteam-backend -n vteam-backend | grep -i "gitlab" + kubectl logs -l app=acp-backend -n acp-backend | grep -i "gitlab" ``` --- @@ -485,14 +485,14 @@ GitLab push failed: Insufficient permissions. Ensure your GitLab token has 'writ **Solutions**: 1. Verify GitLab account connected: ```bash - curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ + curl -X GET http://acp-backend:8080/api/auth/gitlab/status \ -H "Authorization: Bearer " ``` 2. Check token exists in Secret: ```bash - kubectl get secret gitlab-user-tokens -n vteam-backend -o yaml + kubectl get secret gitlab-user-tokens -n acp-backend -o yaml ``` -3. Verify namespace is correct (`vteam-backend`) +3. Verify namespace is correct (`acp-backend`) 4. Check session logs for detailed error: ```bash kubectl logs -n @@ -514,11 +514,11 @@ GitLab push failed: Insufficient permissions. Ensure your GitLab token has 'writ 3. Reconnect account: ```bash # Disconnect - curl -X POST http://vteam-backend:8080/api/auth/gitlab/disconnect \ + curl -X POST http://acp-backend:8080/api/auth/gitlab/disconnect \ -H "Authorization: Bearer " # Reconnect with new token - curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ + curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ -H "Authorization: Bearer " \ -d '{"personalAccessToken": "glpat-new-token", "instanceUrl": ""}' @@ -560,7 +560,7 @@ GitLab push failed: Insufficient permissions. Ensure your GitLab token has 'writ 2. Rotate all affected tokens in GitLab 3. Check backend logs for redaction failures: ```bash - kubectl logs -l app=vteam-backend -n vteam-backend | grep -E "(glpat-|oauth2:)" | grep -v "***" + kubectl logs -l app=acp-backend -n acp-backend | grep -E "(glpat-|oauth2:)" | grep -v "***" ``` --- @@ -609,7 +609,7 @@ After completing all tests, verify: ### Backend Logs ```bash -kubectl logs -l app=vteam-backend -n vteam-backend -f +kubectl logs -l app=acp-backend -n acp-backend -f ``` ### Session Logs @@ -619,12 +619,12 @@ kubectl logs -l agenticsession= -n -f ### Check Secrets ```bash -kubectl get secret gitlab-user-tokens -n vteam-backend -o yaml +kubectl get secret gitlab-user-tokens -n acp-backend -o yaml ``` ### Check ConfigMaps ```bash -kubectl get configmap gitlab-connections -n vteam-backend -o yaml +kubectl get configmap gitlab-connections -n acp-backend -o yaml ``` ### GitLab API Test @@ -640,7 +640,7 @@ curl -H "Authorization: Bearer glpat-..." \ kubectl delete agenticsession test-gitlab-session -n # Disconnect GitLab -curl -X POST http://vteam-backend:8080/api/auth/gitlab/disconnect \ +curl -X POST http://acp-backend:8080/api/auth/gitlab/disconnect \ -H "Authorization: Bearer " ``` @@ -667,5 +667,5 @@ For production deployment: - **GitLab API Docs**: https://docs.gitlab.com/ee/api/ - **GitLab PAT Docs**: https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html -- **vTeam GitLab Test Plan**: `/docs/gitlab-integration-test-plan.md` +- **Ambient Code Platform GitLab Test Plan**: `/docs/gitlab-integration-test-plan.md` - **GitLab Integration Spec**: `specs/001-gitlab-support/spec.md` diff --git a/docs/gitlab-token-setup.md b/docs/gitlab-token-setup.md index e08f23391..916387afe 100644 --- a/docs/gitlab-token-setup.md +++ b/docs/gitlab-token-setup.md @@ -1,14 +1,14 @@ # GitLab Personal Access Token Setup Guide -This guide provides step-by-step instructions for creating a GitLab Personal Access Token (PAT) for use with vTeam. +This guide provides step-by-step instructions for creating a GitLab Personal Access Token (PAT) for use with Ambient Code Platform. ## Overview **What is a Personal Access Token?** -A Personal Access Token (PAT) is a secure credential that allows vTeam to access your GitLab repositories on your behalf without needing your password. +A Personal Access Token (PAT) is a secure credential that allows Ambient Code Platform to access your GitLab repositories on your behalf without needing your password. **Why do I need one?** -vTeam uses your PAT to: +Ambient Code Platform uses your PAT to: - Validate your access to repositories - Clone repositories for AgenticSessions - Commit and push changes to your GitLab repositories @@ -46,20 +46,20 @@ vTeam uses your PAT to: On the Personal Access Tokens page, you'll see a form to create a new token: **1. Token Name** -- Enter: `vTeam Integration` (or any descriptive name) +- Enter: `Ambient Code Platform Integration` (or any descriptive name) - This helps you identify the token later **2. Expiration Date** - **Recommended**: Set 90 days from today - **Maximum**: GitLab allows up to 1 year -- **Important**: You'll need to create a new token and reconnect vTeam before expiration +- **Important**: You'll need to create a new token and reconnect Ambient Code Platform before expiration **3. Select Scopes** (IMPORTANT - must select all of these): Check the following scopes: - βœ… **`api`** - Full API access - - *Required*: Allows vTeam to access GitLab API endpoints + - *Required*: Allows Ambient Code Platform to access GitLab API endpoints - Grants read and write access to repositories, merge requests, etc. - βœ… **`read_api`** - Read API @@ -67,11 +67,11 @@ Check the following scopes: - Used for validation and repository browsing - βœ… **`read_user`** - Read user information - - *Required*: Allows vTeam to verify your identity + - *Required*: Allows Ambient Code Platform to verify your identity - Used to get your GitLab username and user ID - βœ… **`write_repository`** - Write to repository - - *Required*: Allows vTeam to push changes + - *Required*: Allows Ambient Code Platform to push changes - Essential for AgenticSessions to commit and push code **DO NOT SELECT** (not needed, grants excessive privileges): @@ -143,7 +143,7 @@ Follow Steps 3-4 from the GitLab.com instructions above. ## Verifying Your Token -Before using the token with vTeam, verify it works: +Before using the token with Ambient Code Platform, verify it works: ### Using cURL (Command Line) @@ -203,7 +203,7 @@ curl -H "Authorization: Bearer glpat-your-token-here" \ ```json { "id": 123456, - "name": "vTeam Integration", + "name": "Ambient Code Platform Integration", "revoked": false, "created_at": "2025-11-05T10:00:00.000Z", "scopes": ["api", "read_api", "read_user", "write_repository"], @@ -261,11 +261,11 @@ curl -H "Authorization: Bearer glpat-xxx" \ --- -## Using Your Token with vTeam +## Using Your Token with Ambient Code Platform -Once you have your token, connect it to vTeam: +Once you have your token, connect it to Ambient Code Platform: -### Via vTeam UI +### Via Ambient Code Platform UI 1. Navigate to **Settings** β†’ **Integrations** 2. Find **GitLab** section @@ -280,9 +280,9 @@ Once you have your token, connect it to vTeam: **For GitLab.com**: ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ +curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -d '{ "personalAccessToken": "glpat-your-gitlab-token-here", "instanceUrl": "" @@ -291,9 +291,9 @@ curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ **For Self-Hosted GitLab**: ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ +curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -d '{ "personalAccessToken": "glpat-your-gitlab-token-here", "instanceUrl": "https://gitlab.company.com" @@ -360,7 +360,7 @@ Token rotation improves security by limiting exposure if a token is compromised. 1. **Create New Token**: - Follow steps above to create new token - - Use same name with date: `vTeam Integration (Nov 2025)` + - Use same name with date: `Ambient Code Platform Integration (Nov 2025)` - Select same scopes 2. **Test New Token**: @@ -369,12 +369,12 @@ Token rotation improves security by limiting exposure if a token is compromised. https://gitlab.com/api/v4/user ``` -3. **Update vTeam**: - - Disconnect current GitLab connection in vTeam +3. **Update Ambient Code Platform**: + - Disconnect current GitLab connection in Ambient Code Platform - Reconnect with new token -4. **Verify vTeam Works**: - - Check connection status in vTeam +4. **Verify Ambient Code Platform Works**: + - Check connection status in Ambient Code Platform - Test with a simple AgenticSession 5. **Revoke Old Token**: @@ -387,9 +387,9 @@ Token rotation improves security by limiting exposure if a token is compromised. ## Troubleshooting -### Token Not Working with vTeam +### Token Not Working with Ambient Code Platform -**Problem**: vTeam shows "Invalid token" error +**Problem**: Ambient Code Platform shows "Invalid token" error **Solutions**: 1. **Verify token copied correctly**: @@ -418,7 +418,7 @@ Token rotation improves security by limiting exposure if a token is compromised. ### Insufficient Permissions Error -**Problem**: vTeam shows "Insufficient permissions" when pushing +**Problem**: Ambient Code Platform shows "Insufficient permissions" when pushing **Solutions**: 1. **Check token scopes**: @@ -435,7 +435,7 @@ Token rotation improves security by limiting exposure if a token is compromised. 3. **Recreate token with correct scopes**: - Create new token with all scopes - - Update vTeam connection + - Update Ambient Code Platform connection - Revoke old token 4. **Check repository access**: @@ -496,7 +496,7 @@ Token rotation improves security by limiting exposure if a token is compromised. - Immediately if compromised 5. **Use Separate Tokens** - - Different token for vTeam vs other applications + - Different token for Ambient Code Platform vs other applications - Easier to identify in audit logs - Can revoke individually @@ -514,11 +514,11 @@ Token rotation improves security by limiting exposure if a token is compromised. 2. **Never Share Tokens** - Each user should have their own token - - Team members need individual vTeam connections + - Team members need individual Ambient Code Platform connections 3. **Never Use Sudo Scope** - Grants excessive admin privileges - - Not needed for vTeam + - Not needed for Ambient Code Platform 4. **Never Set "No Expiration"** - Security risk if token leaks @@ -527,7 +527,7 @@ Token rotation improves security by limiting exposure if a token is compromised. 5. **Never Log Tokens** - Don't print tokens in application logs - Don't include in error messages - - vTeam automatically redacts tokens + - Ambient Code Platform automatically redacts tokens 6. **Never Hardcode Tokens** ```python @@ -543,13 +543,13 @@ Token rotation improves security by limiting exposure if a token is compromised. A: **90 days** is recommended. This balances security (shorter is better) with convenience (longer reduces rotation overhead). **Q: What if I lose my token?** -A: Create a new token and update vTeam. You cannot retrieve a lost token - GitLab only shows it once during creation. +A: Create a new token and update Ambient Code Platform. You cannot retrieve a lost token - GitLab only shows it once during creation. -**Q: Can I use the same token for multiple vTeam projects?** -A: Yes, one token works for all vTeam projects under your user account. +**Q: Can I use the same token for multiple Ambient Code Platform projects?** +A: Yes, one token works for all Ambient Code Platform projects under your user account. **Q: Can multiple team members share one token?** -A: **No**. Each person should create their own token and connect individually to vTeam. This ensures proper audit trails. +A: **No**. Each person should create their own token and connect individually to Ambient Code Platform. This ensures proper audit trails. **Q: What's the difference between `api` and `write_repository` scopes?** A: `api` grants full API access (read + write). `write_repository` specifically grants push access to git repositories. Both are needed. @@ -558,7 +558,7 @@ A: `api` grants full API access (read + write). `write_repository` specifically A: No. One token works for all repositories you have access to. **Q: What happens when my token expires?** -A: AgenticSessions will fail with "Authentication failed" error. Create a new token and reconnect to vTeam. +A: AgenticSessions will fail with "Authentication failed" error. Create a new token and reconnect to Ambient Code Platform. **Q: Can I extend a token's expiration date?** A: No. You must create a new token with a new expiration date. @@ -570,10 +570,10 @@ A: Check "Last Used" date in GitLab. If it shows activity you didn't perform, re A: No. GitLab doesn't show token values to anyone, including admins. However, admins can revoke tokens on self-hosted instances. **Q: What's the difference between Personal Access Token and Deploy Token?** -A: Personal Access Tokens are tied to your user account. Deploy Tokens are scoped to specific projects and have limited permissions. vTeam requires Personal Access Tokens. +A: Personal Access Tokens are tied to your user account. Deploy Tokens are scoped to specific projects and have limited permissions. Ambient Code Platform requires Personal Access Tokens. **Q: Can I use OAuth instead of PAT?** -A: Not currently. vTeam only supports Personal Access Token authentication for GitLab. +A: Not currently. Ambient Code Platform only supports Personal Access Token authentication for GitLab. --- @@ -584,7 +584,7 @@ A: Not currently. vTeam only supports Personal Access Token authentication for G - [GitLab API Authentication](https://docs.gitlab.com/ee/api/index.html#authentication) - [Token Security](https://docs.gitlab.com/ee/security/token_overview.html) -**vTeam Documentation**: +**Ambient Code Platform Documentation**: - [GitLab Integration Guide](./gitlab-integration.md) - [Self-Hosted GitLab Configuration](./gitlab-self-hosted.md) - [Troubleshooting Guide](./gitlab-integration.md#troubleshooting) @@ -607,9 +607,9 @@ Need help with token creation? - Contact your GitLab administrator - Check your organization's GitLab documentation -**For vTeam Integration Issues**: -- vTeam GitHub Issues: https://github.com/natifridman/vTeam/issues -- vTeam Documentation: [Main README](https://github.com/ambient-code/platform/blob/main/README.md) +**For Ambient Code Platform Integration Issues**: +- Ambient Code Platform GitHub Issues: https://github.com/natifridman/Ambient Code Platform/issues +- Ambient Code Platform Documentation: [Main README](https://github.com/ambient-code/platform/blob/main/README.md) --- @@ -634,16 +634,16 @@ curl -H "Authorization: Bearer glpat-xxx" \ https://gitlab.com/api/v4/user ``` -**Connect to vTeam**: +**Connect to Ambient Code Platform**: ```bash -curl -X POST http://vteam-backend:8080/api/auth/gitlab/connect \ +curl -X POST http://acp-backend:8080/api/auth/gitlab/connect \ -H "Content-Type: application/json" \ - -H "Authorization: Bearer " \ + -H "Authorization: Bearer " \ -d '{"personalAccessToken":"glpat-xxx","instanceUrl":""}' ``` -**Check vTeam Connection**: +**Check Ambient Code Platform Connection**: ```bash -curl -X GET http://vteam-backend:8080/api/auth/gitlab/status \ - -H "Authorization: Bearer " +curl -X GET http://acp-backend:8080/api/auth/gitlab/status \ + -H "Authorization: Bearer " ``` diff --git a/docs/implementation-plans/amber-implementation.md b/docs/implementation-plans/amber-implementation.md index fbd797482..d89becdf3 100644 --- a/docs/implementation-plans/amber-implementation.md +++ b/docs/implementation-plans/amber-implementation.md @@ -270,7 +270,7 @@ Add these to existing signature phrases: - "This is broken and will cause production issuesβ€”here's the fix" **8. Remove RFEWorkflow:** -Delete line: `- \`RFEWorkflow\` (rfeworkflows.vteam.ambient-code): Engineering refinement workflows` +Delete line: `- \`RFEWorkflow\` (rfeworkflows.acp.ambient-code): Engineering refinement workflows` **9. Add Constitution Compliance & Hierarchy Section (after "Your Expertise"):** ```markdown diff --git a/docs/implementation-plans/memory-system-implementation.md b/docs/implementation-plans/memory-system-implementation.md index d87b339d6..6b2c90da7 100644 --- a/docs/implementation-plans/memory-system-implementation.md +++ b/docs/implementation-plans/memory-system-implementation.md @@ -428,7 +428,7 @@ func customRedactingFormatter(param gin.LogFormatterParams) string { ssar := &authv1.SelfSubjectAccessReview{ Spec: authv1.SelfSubjectAccessReviewSpec{ ResourceAttributes: &authv1.ResourceAttributes{ - Group: "vteam.ambient-code", + Group: "acp.ambient-code", Resource: "agenticsessions", Verb: "list", Namespace: project, @@ -1177,7 +1177,7 @@ Chosen option: "Multiple repos with mainRepoIndex", because: **AgenticSession Spec Structure:** ```yaml -apiVersion: vteam.ambient-code/v1alpha1 +apiVersion: acp.ambient-code/v1alpha1 kind: AgenticSession metadata: name: multi-repo-session @@ -2240,7 +2240,7 @@ func CreateSession(c *gin.Context) { ssar := &authv1.SelfSubjectAccessReview{ Spec: authv1.SelfSubjectAccessReviewSpec{ ResourceAttributes: &authv1.ResourceAttributes{ - Group: "vteam.ambient-code", + Group: "acp.ambient-code", Resource: "agenticsessions", Verb: "create", Namespace: projectName, @@ -2578,7 +2578,7 @@ func CreateSession(c *gin.Context) { ssar := &authv1.SelfSubjectAccessReview{ Spec: authv1.SelfSubjectAccessReviewSpec{ ResourceAttributes: &authv1.ResourceAttributes{ - Group: "vteam.ambient-code", + Group: "acp.ambient-code", Resource: "agenticsessions", Verb: "create", Namespace: projectName, @@ -2683,7 +2683,7 @@ func ListAllProjects(c *gin.Context) { // List namespaces user can access (use user token) nsList, err := reqK8s.CoreV1().Namespaces().List(ctx, v1.ListOptions{ - LabelSelector: "vteam.ambient-code/project=true", + LabelSelector: "acp.ambient-code/project=true", }) if err != nil { log.Printf("Failed to list namespaces: %v", err) diff --git a/docs/labs/basic/lab-1-first-rfe.md b/docs/labs/basic/lab-1-first-rfe.md index e74fe1920..62c5baacf 100644 --- a/docs/labs/basic/lab-1-first-rfe.md +++ b/docs/labs/basic/lab-1-first-rfe.md @@ -39,7 +39,7 @@ You're a developer who wants to automate code analysis and documentation tasks. 2. **Get the frontend URL**: ```bash - echo "https://$(oc get route vteam-frontend -n vteam-dev -o jsonpath='{.spec.host}')" + echo "https://$(oc get route acp-frontend -n acp-dev -o jsonpath='{.spec.host}')" ``` 3. **Open your browser** to the frontend URL @@ -278,7 +278,7 @@ A successful AgenticSession should have: - **Cause**: Operator not running or Job creation failed - **Solution**: Check operator logs and RBAC permissions ```bash - oc logs deployment/vteam-operator -n vteam-dev + oc logs deployment/acp-operator -n acp-dev oc describe job -n ``` diff --git a/docs/labs/index.md b/docs/labs/index.md index 28d1d8b34..dcbdcbac5 100644 --- a/docs/labs/index.md +++ b/docs/labs/index.md @@ -73,7 +73,7 @@ cd platform make dev-start # Access the frontend -echo "https://$(oc get route vteam-frontend -n vteam-dev -o jsonpath='{.spec.host}')" +echo "https://$(oc get route acp-frontend -n acp-dev -o jsonpath='{.spec.host}')" ``` See the [Getting Started Guide](../user-guide/getting-started.md) for detailed deployment instructions. diff --git a/docs/platform-architecture.mmd b/docs/platform-architecture.mmd new file mode 100644 index 000000000..923f1db1f --- /dev/null +++ b/docs/platform-architecture.mmd @@ -0,0 +1,72 @@ +--- +title: Ambient Code Platform Architecture +--- + +%%{init: {'theme':'dark', 'themeVariables': { 'primaryColor': '#1f2937', 'primaryTextColor': '#fff', 'primaryBorderColor': '#4b5563', 'lineColor': '#6b7280', 'secondaryColor': '#374151', 'tertiaryColor': '#111827', 'background': '#0f172a'}}}%% + +graph TB + subgraph "User Layer" + User[πŸ‘€ User] + Browser[🌐 Web Browser] + end + + subgraph "Frontend Layer" + UI[NextJS Frontend
with Shadcn UI] + end + + subgraph "API Layer" + Backend[Go Backend API
K8s CRD Management] + end + + subgraph "Kubernetes Control Plane" + Operator[Kubernetes Operator
Go] + CR[AgenticSession
Custom Resource] + end + + subgraph "Execution Layer" + Job[Kubernetes Job] + Pod[Execution Pod
AI CLI + MCP Server] + Runner[Claude Code Runner
Python Service] + end + + subgraph "Storage Layer" + Storage[(Results Storage)] + end + + %% User interactions + User --> Browser + Browser --> UI + + %% Session creation flow + UI -->|1. Create Session| Backend + Backend -->|2. Create CR| CR + Operator -->|3. Watch CR| CR + Operator -->|4. Create Job| Job + Job -->|5. Spawn Pod| Pod + Pod --> Runner + Runner -->|6. Execute Task
via MCP| Pod + Pod -->|7. Store Results| Storage + Storage -->|8. Update CR| CR + CR -->|9. Read Status| Backend + Backend -->|10. Display Results| UI + UI -->|11. Show to User| Browser + + %% Component relationships + Backend -.->|Manages| CR + Operator -.->|Monitors| CR + Runner -.->|MCP Capabilities| Pod + + %% Styling + classDef frontend fill:#3b82f6,stroke:#2563eb,stroke-width:2px,color:#fff + classDef backend fill:#8b5cf6,stroke:#7c3aed,stroke-width:2px,color:#fff + classDef kubernetes fill:#10b981,stroke:#059669,stroke-width:2px,color:#fff + classDef execution fill:#f59e0b,stroke:#d97706,stroke-width:2px,color:#fff + classDef storage fill:#6b7280,stroke:#4b5563,stroke-width:2px,color:#fff + classDef user fill:#06b6d4,stroke:#0891b2,stroke-width:2px,color:#fff + + class User,Browser user + class UI frontend + class Backend backend + class Operator,CR,Job kubernetes + class Pod,Runner execution + class Storage storage diff --git a/docs/reference/index.md b/docs/reference/index.md index 6cd2fc693..08e73a370 100644 --- a/docs/reference/index.md +++ b/docs/reference/index.md @@ -15,7 +15,7 @@ The platform uses Kubernetes Custom Resource Definitions (CRDs) for declarative The primary Custom Resource for AI-powered automation tasks. -**API Version**: `vteam.ambient-code/v1alpha1` +**API Version**: `acp.ambient-code/v1alpha1` **Kind**: `AgenticSession` **Key Spec Fields:** @@ -41,7 +41,7 @@ The primary Custom Resource for AI-powered automation tasks. **Example AgenticSession:** ```yaml -apiVersion: vteam.ambient-code/v1alpha1 +apiVersion: acp.ambient-code/v1alpha1 kind: AgenticSession metadata: name: analyze-codebase @@ -63,7 +63,7 @@ spec: Namespace-scoped configuration for platform projects, managing API keys, access control, and default settings. -**API Version**: `vteam.ambient-code/v1alpha1` +**API Version**: `acp.ambient-code/v1alpha1` **Kind**: `ProjectSettings` **Key Spec Fields:** @@ -85,7 +85,7 @@ type: Opaque stringData: ANTHROPIC_API_KEY: "sk-ant-api03-your-key-here" --- -apiVersion: vteam.ambient-code/v1alpha1 +apiVersion: acp.ambient-code/v1alpha1 kind: ProjectSettings metadata: name: projectsettings @@ -103,7 +103,7 @@ spec: Specialized Custom Resource for Request for Enhancement workflows using a 7-agent council process. This is an advanced feature for structured engineering refinement. -**API Version**: `vteam.ambient-code/v1alpha1` +**API Version**: `acp.ambient-code/v1alpha1` **Kind**: `RFEWorkflow` This is an advanced feature not covered in the standard user documentation. For implementation details, see the project's CLAUDE.md file in the repository root. @@ -115,7 +115,7 @@ The backend API provides HTTP endpoints for managing projects and sessions. ### Base URLs - **Development**: `http://localhost:8080` -- **Production**: `https://vteam-backend.` +- **Production**: `https://acp-backend.` ### Authentication @@ -161,7 +161,7 @@ Content-Type: application/json ```bash curl -X POST \ - https://vteam-backend.apps.example.com/api/projects/my-project/agentic-sessions \ + https://acp-backend.apps.example.com/api/projects/my-project/agentic-sessions \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{ @@ -186,7 +186,7 @@ curl -X POST \ Real-time session updates are available via WebSocket connection to the backend. This enables live status monitoring in the web interface. -**Connection URL**: `wss://vteam-backend./ws` +**Connection URL**: `wss://acp-backend./ws` Messages are broadcasted when AgenticSession status changes (phase transitions, completion, errors). diff --git a/docs/testing/e2e-guide.md b/docs/testing/e2e-guide.md index 4f9ea5213..f11332f91 100644 --- a/docs/testing/e2e-guide.md +++ b/docs/testing/e2e-guide.md @@ -45,8 +45,8 @@ env: Auto-detects container runtime: ```bash -Docker: ports 80/443 β†’ http://vteam.local -Podman: ports 8080/8443 β†’ http://vteam.local:8080 +Docker: ports 80/443 β†’ http://acp.local +Podman: ports 8080/8443 β†’ http://acp.local:8080 ``` ### 4. Manifest Management @@ -88,7 +88,7 @@ it('should create a new project', () => { ### 6. Adding Tests for New Features -- Add test to `e2e/cypress/e2e/vteam.cy.ts` +- Add test to `e2e/cypress/e2e/acp.cy.ts` - Ensure auth header is automatically added (no manual setup needed) - Use `cy.visit()`, `cy.contains()`, `cy.get()` for UI interactions - Use `cy.request()` for direct API testing @@ -188,7 +188,7 @@ Before committing e2e test changes: make e2e-test CONTAINER_ENGINE=podman # Verify video -open e2e/cypress/videos/vteam.cy.ts.mp4 +open e2e/cypress/videos/acp.cy.ts.mp4 # Check for console errors # Review screenshots if any tests failed @@ -213,7 +213,7 @@ kubectl describe ingress frontend-ingress -n ambient-code ### Test Manually ```bash -curl http://vteam.local:8080/api/cluster-info +curl http://acp.local:8080/api/cluster-info ``` ### Run with UI for Debugging diff --git a/docs/testing/testing-summary.md b/docs/testing/testing-summary.md index c4649064f..5eb2c3907 100644 --- a/docs/testing/testing-summary.md +++ b/docs/testing/testing-summary.md @@ -30,7 +30,7 @@ ### Test File Locations **E2E Tests** (`e2e/`): -- `cypress/e2e/vteam.cy.ts` - Main test suite (5 test cases) +- `cypress/e2e/acp.cy.ts` - Main test suite (5 test cases) - `cypress/support/commands.ts` - Custom Cypress commands - `cypress.config.ts` - Cypress configuration @@ -75,9 +75,9 @@ **Workflow Steps**: 1. **Change Detection** - Identifies modified components (frontend, backend, operator, runner) 2. **Conditional Builds** - Builds only changed components, pulls `latest` for unchanged ones -3. **Kind Cluster Setup** - Creates `vteam-e2e` cluster (vanilla Kubernetes) +3. **Kind Cluster Setup** - Creates `acp-e2e` cluster (vanilla Kubernetes) 4. **Image Loading** - Loads all 4 component images into Kind cluster -5. **Deployment** - Deploys complete vTeam stack via kustomize +5. **Deployment** - Deploys complete ACP stack via kustomize 6. **Cypress Tests** - Runs 5 test cases covering: - UI authentication and loading - Workspace creation dialog @@ -87,7 +87,7 @@ 7. **Failure Handling** - Uploads screenshots, videos, and component logs on failure 8. **Cleanup** - Destroys cluster and artifacts -**Test Coverage** (from `e2e/cypress/e2e/vteam.cy.ts`): +**Test Coverage** (from `e2e/cypress/e2e/acp.cy.ts`): - βœ… Token authentication flow - βœ… Frontend UI rendering and navigation - βœ… Workspace creation (end-to-end user journey) @@ -183,7 +183,7 @@ make e2e-test CONTAINER_ENGINE=podman # Manual E2E workflow (step-by-step) cd e2e ./scripts/setup-kind.sh # Create Kind cluster -./scripts/deploy.sh # Deploy vTeam stack +./scripts/deploy.sh # Deploy ACP stack ./scripts/run-tests.sh # Run Cypress tests ./scripts/cleanup.sh # Clean up cluster ``` @@ -203,7 +203,7 @@ make test-unit make test-contract # Integration tests (requires running K8s cluster) -TEST_NAMESPACE=test-vteam make test-integration-local +TEST_NAMESPACE=test-acp make test-integration-local # Integration tests with cleanup CLEANUP_RESOURCES=true make test-integration-local @@ -445,7 +445,7 @@ ok components/backend/handlers 0.456s **Infrastructure**: - **Kind (Kubernetes in Docker)**: Vanilla K8s cluster (not OpenShift) -- **Cluster Name**: `vteam-e2e` +- **Cluster Name**: `acp-e2e` - **Namespace**: `ambient-code` - **Ingress**: Nginx ingress controller with path-based routing @@ -457,11 +457,11 @@ ok components/backend/handlers 0.456s **Change Detection Optimization**: ```bash # If component changed: build from PR code -docker build -t quay.io/ambient_code/vteam_frontend:e2e-test ... +docker build -t quay.io/ambient_code/acp_frontend:e2e-test ... # If component unchanged: pull latest -docker pull quay.io/ambient_code/vteam_frontend:latest -docker tag quay.io/ambient_code/vteam_frontend:latest ... +docker pull quay.io/ambient_code/acp_frontend:latest +docker tag quay.io/ambient_code/acp_frontend:latest ... ``` **Deployment Pattern**: @@ -711,7 +711,7 @@ pytest # Run tests - [`.github/workflows/test-local-dev.yml`](https://github.com/ambient-code/platform/blob/main/.github/workflows/test-local-dev.yml) - Local dev tests ### Test Files -- [`e2e/cypress/e2e/vteam.cy.ts`](https://github.com/ambient-code/platform/blob/main/e2e/cypress/e2e/vteam.cy.ts) - E2E test suite +- [`e2e/cypress/e2e/acp.cy.ts`](https://github.com/ambient-code/platform/blob/main/e2e/cypress/e2e/acp.cy.ts) - E2E test suite - [`components/backend/tests/`](https://github.com/ambient-code/platform/tree/main/components/backend/tests) - Backend tests - [`components/operator/internal/handlers/sessions_test.go`](https://github.com/ambient-code/platform/blob/main/components/operator/internal/handlers/sessions_test.go) - Operator tests - [`components/runners/claude-code-runner/tests/`](https://github.com/ambient-code/platform/tree/main/components/runners/claude-code-runner/tests) - Runner tests diff --git a/docs/user-guide/getting-started.md b/docs/user-guide/getting-started.md index 4baaec7e5..e01898cbd 100644 --- a/docs/user-guide/getting-started.md +++ b/docs/user-guide/getting-started.md @@ -49,7 +49,7 @@ make dev-start This command will: - Start OpenShift Local if not running -- Create the vteam-dev project/namespace +- Create the acp-dev project/namespace - Deploy all components (frontend, backend, operator, runner) - Configure routes and services - Display the frontend URL when ready @@ -74,7 +74,7 @@ apiVersion: v1 kind: Secret metadata: name: runner-secrets - namespace: vteam-dev + namespace: acp-dev type: Opaque stringData: ANTHROPIC_API_KEY: "sk-ant-api03-your-key-here" @@ -82,11 +82,11 @@ EOF # Create the ProjectSettings referencing the Secret oc apply -f - < -n vteam-dev +oc describe pod -n acp-dev # Check pod logs -oc logs -n vteam-dev +oc logs -n acp-dev # Verify images are accessible -oc get pods -n vteam-dev -o jsonpath='{.items[*].spec.containers[*].image}' +oc get pods -n acp-dev -o jsonpath='{.items[*].spec.containers[*].image}' ``` ### Deployment Failures @@ -165,14 +165,14 @@ oc get pods -n vteam-dev -o jsonpath='{.items[*].spec.containers[*].image}' 1. Check CRC status: `crc status` 2. Ensure CRC has enough resources (recommend 8GB RAM minimum) 3. Check deployment logs: `make dev-logs` -4. Verify all CRDs are installed: `oc get crd | grep vteam` +4. Verify all CRDs are installed: `oc get crd | grep acp` ### Session Job Failures **Symptom**: AgenticSession jobs fail or timeout **Solution**: -1. Check job logs: `oc logs job/ -n vteam-dev` +1. Check job logs: `oc logs job/ -n acp-dev` 2. Verify workspace PVC is accessible 3. Check operator logs for errors: `make dev-logs-operator` 4. Ensure sufficient cluster resources for job pods diff --git a/docs/user-guide/index.md b/docs/user-guide/index.md index 53cb68327..ee9a68d74 100644 --- a/docs/user-guide/index.md +++ b/docs/user-guide/index.md @@ -57,7 +57,7 @@ The platform uses Kubernetes namespaces for multi-tenant isolation: **Example session:** ```yaml -apiVersion: vteam.ambient-code/v1alpha1 +apiVersion: acp.ambient-code/v1alpha1 kind: AgenticSession metadata: name: analyze-repo diff --git a/docs/user-guide/working-with-amber.md b/docs/user-guide/working-with-amber.md index 23629734a..04e62afbb 100644 --- a/docs/user-guide/working-with-amber.md +++ b/docs/user-guide/working-with-amber.md @@ -50,7 +50,7 @@ Amber is the Ambient Code Platform's AI colleagueβ€”an expert in your codebase w ### On-Demand via kubectl ```yaml -apiVersion: vteam.ambient-code/v1alpha1 +apiVersion: acp.ambient-code/v1alpha1 kind: AgenticSession metadata: name: amber-analysis @@ -147,7 +147,7 @@ Amber can operate autonomously to manage your backlog and prevent issue accumula **Automatic Issue Triage (GitHub Webhook):** ```yaml # Webhook creates AgenticSession on issue creation -apiVersion: vteam.ambient-code/v1alpha1 +apiVersion: acp.ambient-code/v1alpha1 kind: AgenticSession metadata: name: amber-triage-{{ issue.number }} @@ -195,7 +195,7 @@ spec: - -c - | cat < | grep **Common causes:** 1. Missing API key: `kubectl get projectsettings -n -o yaml` -2. RBAC permissions: `kubectl auth can-i create agenticsessions.vteam.ambient-code -n ` +2. RBAC permissions: `kubectl auth can-i create agenticsessions.acp.ambient-code -n ` 3. Operator not running: `kubectl get pods -n ambient-code -l app=operator` **View logs:**