Skip to content

Surface Matrix

This matrix classifies exported service.Platform methods across the local CLI, REST operator, and GraphQL operator surfaces. Internal means the method is a helper used by adapters or tests and should not be exposed directly.

Platform methodCLIRESTGraphQLOmit reason
RootInternalInternalInternalAdapter helper.
LoadStackInternalInternalInternalFile-loading primitive; callers expose specific operations.
EmptyStackInternalInternalInternalConstruction helper for stack init/tests.
StackInitYesYesYes-
StackUpdateYesYesYes-
StackUpdateFromTemplateYesNoNoLocal re-render of angee.yaml from its template behind stack update --template; not yet on remote surfaces.
StackDestroyYesYesYes-
StackPrepareYesYesYes-
StackCompileYesNoNoInternal compile flow; remote surfaces use StackPrepare.
StackStatusYesYesYes-
StackBuildYesYesYes-
StackUpYesYesYes-
StackUpForegroundYesYesNoForeground stream; REST GET /stack/up/stream streams the combined output.
StackDevYesYesYesRemote adapter calls non-foreground runtime flow.
StackDevForegroundYesYesNoForeground stream; REST GET /stack/dev/stream streams the combined output.
StackDownYesYesYes-
StackLogsYesYesNoGraphQL uses bounded StackLogsLimited.
StackLogsLimitedNoNoYesGraphQL snapshot guardrail.
StreamServiceLogsNoYesNoPer-service live log socket over WebSocket GET /services/{name}/logs/stream; descriptor advertised in serviceEndpoint. Not proxied by the remote client.
ServiceInitYesYesYes-
ServiceCreateYesYesYesTemplate-based: angee service create; REST POST /services/create; GraphQL serviceCreate.
ServiceUpdateYesYesYes-
ServiceDestroyYesYesYes-
ServiceListYesYesYes-
ServiceEndpointNoYesYesREST GET /services/{name}/endpoint; GraphQL serviceEndpoint ingress route lookup.
ServiceUpYesYesYesCreate-and-start; idempotent across never-created services.
ServiceStartYesYesYes-
ServiceStopYesYesYes-
ServiceRestartYesYesYes-
IngressStatusNoYesYesREST GET /ingress/status; GraphQL ingressStatus route summary.
JobListYesYesYes-
JobRunYesYesYes-
SourceListYesYesYes-
SourceFetchYesYesYes-
SourceStatusYesYesYes-
SourcePullYesYesYes-
SourcePushYesYesYes-
WorkspaceCreateYesYesYes-
WorkspaceListYesYesYes-
WorkspaceGetYesYesYes-
WorkspaceStatusYesYesYes-
WorkspaceUpdateYesYesYes-
WorkspaceDestroyYesYesYes-
WorkspaceLogsYesYesNoGraphQL uses bounded WorkspaceLogsLimited.
WorkspaceLogsLimitedNoNoYesGraphQL snapshot guardrail.
WorkspaceGitStatusYesYesYes-
WorkspacePushYesYesYes-
WorkspaceSyncBaseYesYesYes-
GitOpsTopologyYesYesYesangee gitops topology; REST GET /gitops/topology.
GitOpsTopologyWithCommitsYesYesYesangee gitops topology --with-commits N; REST GET /gitops/topology?with_commits=N.
SourceDiffYesYesYesangee source diff <name>; REST GET /sources/{name}/diff?ref=....
WorkspaceSourceDiffYesYesYesangee workspace source diff <ws> <slot>; REST GET /workspaces/{name}/sources/{slot}/diff?ref=....
WorkspaceSourceFetchYesYesYesangee workspace source fetch; REST POST /workspaces/{name}/sources/{slot}/fetch.
WorkspaceSourcePullYesYesYesangee workspace source pull; REST POST /workspaces/{name}/sources/{slot}/pull.
WorkspaceSourcePushYesYesYesangee workspace source push; REST POST /workspaces/{name}/sources/{slot}/push.
WorkspaceSourceMergeYesYesYesangee workspace source merge; REST POST /workspaces/{name}/sources/{slot}/merge.
WorkspaceSourceRebaseYesYesYesangee workspace source rebase; REST POST /workspaces/{name}/sources/{slot}/rebase.
WorkspaceSourceMergeAbortYesYesYesangee workspace source merge-abort; REST POST /workspaces/{name}/sources/{slot}/merge-abort.
WorkspaceSourceRebaseAbortYesYesYesangee workspace source rebase-abort; REST POST /workspaces/{name}/sources/{slot}/rebase-abort.
WorkspaceSourceRebaseContinueYesYesYesangee workspace source rebase-continue; REST POST /workspaces/{name}/sources/{slot}/rebase-continue.
WorkspaceSourcePublishYesYesYesangee workspace source publish; REST POST /workspaces/{name}/sources/{slot}/publish.
WorkspaceCreatePreflightYesYesYesangee workspace preflight; REST POST /workspaces/preflight.
TemplatesYesYesYesangee template list; REST GET /templates.
TemplateYesYesYesangee template get; REST GET /templates/{ref...}.
SecretsListYesYesYesCLI angee secret list; REST GET /secrets.
SecretGetYesYesYesCLI angee secret get; REST GET /secrets/{name}.
SecretValueYesYesYesCLI angee secret reveal; REST GET /secrets/{name}/value. Privileged value-read.
SecretSetYesYesYesCLI angee secret set; REST POST /secrets/{name}.
SecretDeleteYesYesYesCLI angee secret delete; REST DELETE /secrets/{name}.
FileReadYesYesYesCLI angee file get; REST GET /files; GraphQL file. Raw file read under a stack source.
FileWriteYesYesYesCLI angee file set; REST PUT /files; GraphQL fileWrite. Raw file write under a stack source.

When adding a new exported Platform method, update this table in the same change. internal/service/surface_matrix_test.go verifies that every exported method is classified here.

Released under the AGPL-3.0 License.