|
2 | 2 |
|
3 | 3 | This file serves as index for the per-component documentation in individual md files in the `memory-bank/components` directory. |
4 | 4 |
|
5 | | -**Use the index to search for keywords to identify component documentation files to read in depth** |
6 | | - |
7 | | -## Core Services |
8 | | - |
9 | | -### [server](components/server.md) |
10 | | -- Keywords: Core backend orchestrator; API (HTTP, WebSocket, gRPC); Auth & User/Workspace mgmt; SCM integration |
11 | | -- Used by: Dashboard, IDE, CLI, public-api-server, other backend services |
12 | | -- Uses: gitpod-db, ws-manager-api, content-service-api, image-builder-api, spicedb |
13 | | - |
14 | | -### [content-service](components/content-service.md) |
15 | | -- Keywords: Manages workspace content, blobs, logs, IDE plugins; gRPC services; Storage & retrieval; Unified content API |
16 | | -- Used by: ws-manager-mk2, ide-service, supervisor, other Gitpod services |
17 | | -- Uses: common-go, content-service-api, Storage Backends |
18 | | - |
19 | | -### [ws-manager-mk2](components/ws-manager-mk2.md) |
20 | | -- Keywords: Kubernetes controller; Workspace lifecycle (CRDs, timeouts, resources); gRPC API; controller-runtime |
21 | | -- Used by: server (via ws-manager-api) |
22 | | -- Uses: K8s API, content-service, registry-facade-api, image-builder-api, ws-daemon-api |
23 | | - |
24 | | -### [ws-daemon](components/ws-daemon.md) |
25 | | -- Keywords: Node-level daemon; Workspace init, content sync, backups, resource mgmt (disk quotas, LVM); gRPC API |
26 | | -- Used by: ws-manager-mk2, supervisor |
27 | | -- Uses: content-service, common-go, Storage Backends, K8s API |
28 | | - |
29 | | -### [image-builder-mk3](components/image-builder-mk3.md) |
30 | | -- Keywords: Custom workspace image builds (Docker); gRPC API for build lifecycle & logs; Image caching & registry push |
31 | | -- Used by: ws-manager-mk2, server |
32 | | -- Uses: K8s API, Container Registries, content-service, ws-manager-api, registry-facade-api, common-go |
33 | | - |
34 | | -## API Components |
35 | | - |
36 | | -### [content-service-api](components/content-service-api.md) |
37 | | -- Keywords: gRPC API definitions (protobuf) for Content Service; Workspace content, blobs, logs, plugins; Code generation |
38 | | -- Used by: content-service, ws-manager-mk2, dashboard, ide, server, image-builder-mk3 |
39 | | -- Uses: Protocol Buffers, gRPC, buf (tooling) |
40 | | - |
41 | | -### [ws-manager-api](components/ws-manager-api.md) |
42 | | -- Keywords: gRPC API definitions (protobuf) for Workspace Manager; Workspace lifecycle, status, control; Code generation |
43 | | -- Used by: ws-manager-mk2 (implements), server, ws-manager-bridge, monitoring/billing/admin tools |
44 | | -- Uses: content-service-api, Protocol Buffers, gRPC, buf/protoc (tooling) |
45 | | - |
46 | | -### [ws-daemon-api](components/ws-daemon-api.md) |
47 | | -- Keywords: gRPC API for Workspace Daemon; Workspace content, filesystem, low-level container ops; Code generation |
48 | | -- Used by: ws-daemon (implements), ws-manager-mk2, workspacekit |
49 | | -- Uses: content-service-api, Protocol Buffers, gRPC, buf/protoc (tooling) |
50 | | - |
51 | | -### [image-builder-api](components/image-builder-api.md) |
52 | | -- Keywords: gRPC API for Image Builder; Workspace image build/management, subassemblies; Code generation |
53 | | -- Used by: image-builder-mk3 (implements), ws-manager-mk2, server, prebuild systems |
54 | | -- Uses: content-service-api, Protocol Buffers, gRPC, buf/protoc (tooling) |
55 | | - |
56 | | -### [supervisor-api](components/supervisor-api.md) |
57 | | -- Keywords: gRPC API for Supervisor (in-workspace); Terminals, port forwarding, tasks, SSH, lifecycle; Code gen (Go, Java, Gateway) |
58 | | -- Used by: supervisor (implements), ide, ws-manager-mk2, local-app, image-builder-mk3 |
59 | | -- Uses: content-service-api, Protocol Buffers, gRPC, buf/protoc (tooling) |
60 | | - |
61 | | -### [registry-facade-api](components/registry-facade-api.md) |
62 | | -- Keywords: gRPC API for Registry Facade; Composite image specs (base, IDE, content, supervisor); Code gen (Go) |
63 | | -- Used by: registry-facade (implements), ws-manager-mk2, content-service, image-builder-mk3 |
64 | | -- Uses: Protocol Buffers, gRPC, buf/protoc (tooling) |
65 | | - |
66 | | -### [ide-service-api](components/ide-service-api.md) |
67 | | -- Keywords: gRPC API for IDE Service; IDE config, workspace IDE resolution; Code gen (Go, ts_proto) |
68 | | -- Used by: ide-service (implements), ws-manager-mk2, supervisor, server |
69 | | -- Uses: Protocol Buffers, gRPC, buf/protoc, ts_proto (tooling) |
70 | | - |
71 | | -### [ide-metrics-api](components/ide-metrics-api.md) |
72 | | -- Keywords: gRPC API for IDE metrics/errors; Counters, histograms, error reports; Code gen (Go, Java, Gateway) |
73 | | -- Used by: ide-metrics (implements), ide (extensions/plugins), supervisor |
74 | | -- Uses: Protocol Buffers, gRPC, buf/protoc, gRPC Gateway (tooling) |
75 | | - |
76 | | -### [ws-manager-bridge-api](components/ws-manager-bridge-api.md) |
77 | | -- Keywords: gRPC API for ws-manager-bridge; Dynamic cluster mgmt (register, update, list); Code gen (Go, TS, buf) |
78 | | -- Used by: ws-manager-bridge (implements), server, cluster/load-balancing/admin/monitoring tools |
79 | | -- Uses: Protocol Buffers, gRPC, buf (tooling) |
80 | | - |
81 | | -### [usage-api](components/usage-api.md) |
82 | | -- Keywords: gRPC API for Usage/Billing; Workspace usage, credits, cost centers, Stripe integration; Code gen (Go, TS, buf) |
83 | | -- Used by: usage (implements), server, ws-manager-mk2, admin/reporting tools |
84 | | -- Uses: Protocol Buffers, gRPC, buf, ts_proto (tooling) |
85 | | - |
86 | | -### [local-app-api](components/local-app-api.md) |
87 | | -- Keywords: gRPC API for Local App; Port tunneling, SSH connections (local-to-remote); Code gen (Go) |
88 | | -- Used by: local-app (implements), ide (extensions), gitpod-cli, server |
89 | | -- Uses: supervisor-api, Protocol Buffers, gRPC, buf/protoc (tooling) |
90 | | - |
91 | | -## Frontend Components |
92 | | - |
93 | | -### [dashboard](components/dashboard.md) |
94 | | -- Keywords: Web UI (SPA); Workspace/account mgmt, settings, billing; React, Tailwind, React Query, Stripe; REST/WebSocket/Public API client |
95 | | -- Used by: End-users |
96 | | -- Uses: server, public-api, ide-service-api, content-service-api, ws-manager-api, Stripe JS, gitpod-protocol |
97 | | - |
98 | | -### [ide](components/ide.md) |
99 | | -- Keywords: IDE packaging (VS Code, JetBrains); Configuration, plugins, Docker images; Sub-components (Code, JetBrains) |
100 | | -- Used by: supervisor, ide-service, ide-proxy; End-users (interact with) |
101 | | -- Uses: supervisor-api, ide-service-api, blobserve, registry-facade, External IDE sources |
102 | | - |
103 | | -## Infrastructure Components |
104 | | - |
105 | | -### [proxy](components/proxy.md) |
106 | | -- Keywords: Main ingress (HTTP/WebSocket); Caddy-based; TLS, routing, security; Custom plugins; Workspace routing |
107 | | -- Used by: External clients (browser, IDE, CLI) |
108 | | -- Uses: server, dashboard, ws-proxy, ide-proxy, public-api-server, ConfigCat |
109 | | - |
110 | | -### [registry-facade](components/registry-facade.md) |
111 | | -- Keywords: Dynamic image layer injection (supervisor, IDE); Docker Registry API; Layer caching; IPFS option |
112 | | -- Used by: Container runtime, ws-manager-mk2 (via API) |
113 | | -- Uses: registry-facade-api, ws-manager-api, ide-service-api, Upstream Registries, blobserve, common-go, IPFS |
114 | | - |
115 | | -### [blobserve](components/blobserve.md) |
116 | | -- Keywords: Serves static assets from OCI images; Layer extraction/caching; HTTP server; Registry auth |
117 | | -- Used by: registry-facade, ws-manager-mk2, ide |
118 | | -- Uses: Container Registries, registry-facade-api, common-go, Prometheus |
119 | | - |
120 | | -### [ipfs](components/ipfs.md) |
121 | | -- Keywords: IPFS (Kubo, Cluster); Container layer caching; Distributed storage; Redis for CID mapping |
122 | | -- Used by: registry-facade, content-service (potentially) |
123 | | -- Uses: Redis, External Container Registries, Kubernetes API, External IPFS images |
124 | | - |
125 | | -### [openvsx-proxy](components/openvsx-proxy.md) |
126 | | -- Keywords: Caching proxy for OpenVSX; Two-tier cache (Redis/BigCache); Fallback access; Prometheus |
127 | | -- Used by: ide (VS Code/Theia), ide-service, supervisor (potentially) |
128 | | -- Uses: OpenVSX Registry (external), Redis, Prometheus, common-go, Gitpod Experiment Framework |
129 | | - |
130 | | -### [scheduler-extender](components/scheduler-extender.md) |
131 | | -- Keywords: K8s scheduler extender; Custom workspace scheduling; Uses external ECR image |
132 | | -- Used by: Kubernetes Scheduler, ws-manager-mk2 (indirectly) |
133 | | -- Uses: AWS ECR (external image), Kubernetes API, node-labeler (data), registry-facade |
134 | | - |
135 | | -## Database and Storage |
136 | | - |
137 | | -### [gitpod-db](components/gitpod-db.md) |
138 | | -- Keywords: Database layer (TypeORM); Entities (User, Workspace, Team), migrations; Repository pattern; MySQL, Redis |
139 | | -- Used by: server, ws-manager-mk2, (components needing DB persistence) |
140 | | -- Uses: gitpod-protocol, TypeORM, MySQL, Redis, Prometheus |
141 | | - |
142 | | -### [gitpod-protocol](components/gitpod-protocol.md) |
143 | | -- Keywords: Core type definitions (TS, Go, Java); Shared data structures & service interfaces; Messaging, encryption |
144 | | -- Used by: server, dashboard, gitpod-db, ws-manager-mk2, ide-service, most components |
145 | | -- Uses: TypeScript, JSON-RPC, WebSocket, Crypto libs (tech) |
146 | | - |
147 | | -## Workspace Components |
148 | | - |
149 | | -### [supervisor](components/supervisor.md) |
150 | | -- Keywords: In-workspace init (PID 1); Manages terminals, IDEs, SSH; gRPC API; Serves workspace UI |
151 | | -- Used by: ide, ws-daemon, ws-manager-mk2, local-app (via API), ide-metrics (via API), ide-service (via API) |
152 | | -- Uses: supervisor-api, content-service-api, ws-daemon-api, ide-metrics-api, public-api, gitpod-protocol, common-go |
153 | | - |
154 | | -### [workspacekit](components/workspacekit.md) |
155 | | -- Keywords: Workspace container init; Namespace isolation (user, mount, net); Multi-ring security; Seccomp; `lift` |
156 | | -- Used by: Container runtime, supervisor |
157 | | -- Uses: ws-daemon-api, content-service-api, common-go, libseccomp, rootlesskit, K8s API |
158 | | - |
159 | | -### [ws-proxy](components/ws-proxy.md) |
160 | | -- Keywords: Workspace HTTP/WebSocket proxy; Port forwarding, SSH gateway; K8s CRD for routing info |
161 | | -- Used by: proxy (main Gitpod proxy) |
162 | | -- Uses: K8s API, ws-manager-api, supervisor-api, content-service-api, registry-facade-api, server (lib), common-go, gitpod-protocol |
163 | | - |
164 | | -### [ide-proxy](components/ide-proxy.md) |
165 | | -- Keywords: Serves static IDE assets (logos, binaries); Caddy-based; Proxies to blobserve/ide-metrics |
166 | | -- Used by: dashboard, proxy (main) |
167 | | -- Uses: blobserve, ide-metrics, local-app (binaries), Caddy, OpenVSX data (static) |
168 | | - |
169 | | -### [ide-service](components/ide-service.md) |
170 | | -- Keywords: Manages IDE configs; Resolves workspace IDE (images, versions); gRPC server; Docker registry/Experiments integration |
171 | | -- Used by: ws-manager-mk2, supervisor, dashboard, content-service |
172 | | -- Uses: ide-service-api, common-go, gitpod-protocol, Docker Registries, Experiments Service |
173 | | - |
174 | | -### [ide-metrics](components/ide-metrics.md) |
175 | | -- Keywords: Collects IDE metrics/errors; Go service (gRPC/HTTP API); Prometheus endpoint; Label/component allowlists |
176 | | -- Used by: supervisor, ide (extensions/workbench), ide-proxy |
177 | | -- Uses: ide-metrics-api, common-go, Prometheus, Error Reporting Service (external) |
178 | | - |
179 | | -### [docker-up](components/docker-up.md) |
180 | | -- Keywords: Rootless Docker/Compose in workspace; Auto-install, daemon mgmt; `runc-facade`; Embedded binaries |
181 | | -- Used by: supervisor, Workspace users (CLI/API) |
182 | | -- Uses: common-go, workspacekit, Container Registries, (Embedded: Docker, Compose, runc) |
183 | | - |
184 | | -## Utility Components |
185 | | - |
186 | | -### [common-go](components/common-go.md) |
187 | | -- Keywords: Shared Go library; Utilities (logging, metrics, tracing, K8s, gRPC); Reduces duplication |
188 | | -- Used by: Most Go-based Gitpod services (content-service, ws-daemon, etc.) |
189 | | -- Uses: scrubber, K8s client libs, gRPC, Prometheus client, OpenTelemetry, Logrus |
190 | | - |
191 | | -### [service-waiter](components/service-waiter.md) |
192 | | -- Keywords: Waits for service readiness (DB, Redis, K8s); Init container utility; Ordered startup |
193 | | -- Used by: K8s deployments, CI/CD, Gitpod services (startup) |
194 | | -- Uses: MySQL (client), Redis (client), Kubernetes API, common-go, gitpod-db |
195 | | - |
196 | | -### [node-labeler](components/node-labeler.md) |
197 | | -- Keywords: K8s controller; Node labels (service readiness); Cluster-autoscaler annotations; Monitors registry-facade/ws-daemon |
198 | | -- Used by: ws-manager-mk2, Cluster Autoscaler (external) |
199 | | -- Uses: Kubernetes API, registry-facade, ws-daemon, common-go, ws-manager-api, ws-manager-mk2 (CRDs) |
200 | | - |
201 | | -### [scrubber](components/scrubber.md) |
202 | | -- Keywords: Go library for data sanitization (PII); Scrubs strings, JSON, structs; Redaction/hashing; Configurable rules |
203 | | -- Used by: common-go, server, workspace/monitoring services |
204 | | -- Uses: golang-lru, reflectwalk (external Go libs) |
205 | | - |
206 | | -### [spicedb](components/spicedb.md) |
207 | | -- Keywords: Authorization (SpiceDB ReBAC); Schema (entities, relations, permissions); Fine-grained access control |
208 | | -- Used by: server, dashboard, public-api-server, ws-manager-mk2 |
209 | | -- Uses: SpiceDB Service (external), YAML libs, Code gen tools |
210 | | - |
211 | | -## Integration Components |
212 | | - |
213 | | -### [public-api-server](components/public-api-server.md) |
214 | | -- Keywords: Programmatic Gitpod API (gRPC/Connect); Auth (Tokens, OIDC); Proxies to internal services; Webhooks |
215 | | -- Used by: External clients (integrations, tools, IDEs, CLI), proxy (main) |
216 | | -- Uses: server, gitpod-db, Redis, usage-api, session-service, common-go, public-api (defs), gitpod-protocol, External IDPs |
217 | | - |
218 | | -### [gitpod-cli](components/gitpod-cli.md) |
219 | | -- Keywords: In-workspace CLI; Workspace/IDE/port/task/env control; Cobra (Go); Analytics |
220 | | -- Used by: Workspace users |
221 | | -- Uses: supervisor-api, gitpod-protocol, common-go, ide-metrics-api, public-api, Git, IDE |
222 | | - |
223 | | -### [local-app](components/local-app.md) |
224 | | -- Keywords: Local tools (CLI, Companion); SSH/port forwarding to workspaces; Auth, self-update; Bastion tunneling |
225 | | -- Used by: End-users (local machine) |
226 | | -- Uses: supervisor-api, gitpod-protocol, local-app-api, public-api, server, ide-proxy |
227 | | - |
228 | | -### [ws-manager-bridge](components/ws-manager-bridge.md) |
229 | | -- Keywords: ws-manager intermediary; Syncs workspace status to DB; Handles lifecycle events; Cluster mgmt API |
230 | | -- Used by: server, other components (via DB/Redis) |
231 | | -- Uses: ws-manager-api, gitpod-db, gitpod-protocol, ws-manager-bridge-api, ws-daemon-api, Redis, Prometheus |
232 | | - |
233 | | -### [image-builder-bob](components/image-builder-bob.md) |
234 | | -- Keywords: Builds workspace images (base/workspace layers); `bob build` (Buildkit), `bob proxy` (auth); Secure registry push |
235 | | -- Used by: image-builder-mk3, workspacekit |
236 | | -- Uses: common-go, Container Registries, Buildkit |
237 | | - |
238 | | -### [usage](components/usage.md) |
239 | | -- Keywords: Tracks workspace usage/billing; Stripe integration; Credit calculation; Scheduled jobs; Cost centers |
240 | | -- Used by: server, ws-manager-mk2, public-api-server |
241 | | -- Uses: usage-api, common-go, gitpod-db, public-api, Stripe, Redis, server (info), ws-manager-api (info) |
| 5 | +- [server](components/server.md) |
| 6 | +- [content-service](components/content-service.md) |
| 7 | +- [ws-manager-mk2](components/ws-manager-mk2.md) |
| 8 | +- [ws-daemon](components/ws-daemon.md) |
| 9 | +- [image-builder-mk3](components/image-builder-mk3.md) |
| 10 | +- [content-service-api](components/content-service-api.md) |
| 11 | +- [ws-manager-api](components/ws-manager-api.md) |
| 12 | +- [ws-daemon-api](components/ws-daemon-api.md) |
| 13 | +- [image-builder-api](components/image-builder-api.md) |
| 14 | +- [supervisor-api](components/supervisor-api.md) |
| 15 | +- [registry-facade-api](components/registry-facade-api.md) |
| 16 | +- [ide-service-api](components/ide-service-api.md) |
| 17 | +- [ide-metrics-api](components/ide-metrics-api.md) |
| 18 | +- [ws-manager-bridge-api](components/ws-manager-bridge-api.md) |
| 19 | +- [usage-api](components/usage-api.md) |
| 20 | +- [local-app-api](components/local-app-api.md) |
| 21 | +- [dashboard](components/dashboard.md) |
| 22 | +- [ide](components/ide.md) |
| 23 | +- [proxy](components/proxy.md) |
| 24 | +- [registry-facade](components/registry-facade.md) |
| 25 | +- [blobserve](components/blobserve.md) |
| 26 | +- [ipfs](components/ipfs.md) |
| 27 | +- [openvsx-proxy](components/openvsx-proxy.md) |
| 28 | +- [scheduler-extender](components/scheduler-extender.md) |
| 29 | +- [gitpod-db](components/gitpod-db.md) |
| 30 | +- [gitpod-protocol](components/gitpod-protocol.md) |
| 31 | +- [supervisor](components/supervisor.md) |
| 32 | +- [workspacekit](components/workspacekit.md) |
| 33 | +- [ws-proxy](components/ws-proxy.md) |
| 34 | +- [ide-proxy](components/ide-proxy.md) |
| 35 | +- [ide-service](components/ide-service.md) |
| 36 | +- [ide-metrics](components/ide-metrics.md) |
| 37 | +- [docker-up](components/docker-up.md) |
| 38 | +- [common-go](components/common-go.md) |
| 39 | +- [service-waiter](components/service-waiter.md) |
| 40 | +- [node-labeler](components/node-labeler.md) |
| 41 | +- [scrubber](components/scrubber.md) |
| 42 | +- [spicedb](components/spicedb.md) |
| 43 | +- [public-api-server](components/public-api-server.md) |
| 44 | +- [gitpod-cli](components/gitpod-cli.md) |
| 45 | +- [local-app](components/local-app.md) |
| 46 | +- [ws-manager-bridge](components/ws-manager-bridge.md) |
| 47 | +- [image-builder-bob](components/image-builder-bob.md) |
| 48 | +- [usage](components/usage.md) |
0 commit comments