Getting startedGuidesReferenceChangelog
Apoxy:// Docs / Reference / ServiceRevision

ServiceRevision

API reference for Service Revisions (compute.apoxy.dev/v1alpha1)

API Group: compute.apoxy.dev/v1alpha1

Operations

List ServiceRevision

GET/apis/compute.apoxy.dev/v1alpha1/servicerevisions

List ServiceRevision

Response

  • 200: OK

Create ServiceRevision

POST/apis/compute.apoxy.dev/v1alpha1/servicerevisions

Create a ServiceRevision

Request Body

Spec fields (ServiceRevisionSpec):

FieldTypeDescription
backendBackendConfigBackend selects backend mode and its settings; this is the default mode when neither member is set.
bindingsBinding[]
bundleBundleRefBundle is the resolved OCI artifact this revision runs. It is always digest-pinned and is set by the controller when minting the revision from spec.source; it is never user-authored. (required)
egressServiceEgressEgress selects how outbound network traffic is mediated. Absent means the project "default" egress gateway (egress on by default); see ServiceEgress for the full semantics and the disabled opt-out.
envEnvVar[]
filterFilterConfigFilter selects filter mode and its settings.
runtimeServiceRuntime

Response

  • 200: OK
  • 201: Created
  • 202: Accepted

Delete All ServiceRevision

DELETE/apis/compute.apoxy.dev/v1alpha1/servicerevisions

Delete collection of ServiceRevision

Response

  • 200: OK

Get ServiceRevision

GET/apis/compute.apoxy.dev/v1alpha1/servicerevisions/{name}

Get the specified ServiceRevision

Response

  • 200: OK

Replace ServiceRevision

PUT/apis/compute.apoxy.dev/v1alpha1/servicerevisions/{name}

Replace the specified ServiceRevision

Request Body

Spec fields (ServiceRevisionSpec):

FieldTypeDescription
backendBackendConfigBackend selects backend mode and its settings; this is the default mode when neither member is set.
bindingsBinding[]
bundleBundleRefBundle is the resolved OCI artifact this revision runs. It is always digest-pinned and is set by the controller when minting the revision from spec.source; it is never user-authored. (required)
egressServiceEgressEgress selects how outbound network traffic is mediated. Absent means the project "default" egress gateway (egress on by default); see ServiceEgress for the full semantics and the disabled opt-out.
envEnvVar[]
filterFilterConfigFilter selects filter mode and its settings.
runtimeServiceRuntime

Response

  • 200: OK
  • 201: Created

Update ServiceRevision

PATCH/apis/compute.apoxy.dev/v1alpha1/servicerevisions/{name}

Partially update the specified ServiceRevision

Response

  • 200: OK
  • 201: Created

Delete ServiceRevision

DELETE/apis/compute.apoxy.dev/v1alpha1/servicerevisions/{name}

Delete a ServiceRevision

Response

  • 200: OK
  • 202: Accepted

Schema Reference

BackendConfig

FieldTypeDescription
portinteger (int32)Port is only meaningful for tcp/udp; ignored for http1/http2.
protocolstring

Binding

FieldTypeDescription
kvKVBinding
namestringName is the identifier exposed to service code (env.<Name>). (required)
secretSecretBinding
serviceServiceBinding
typestring(required)

KVBinding

FieldTypeDescription
namespacestringNamespace identifies the KV store partition (a store name, not a k8s namespace). (required)

SecretBinding

FieldTypeDescription
keystringKey within the store's values map. (required)
storestringStore names the SecretStore (cluster-scoped, same project). (required)

ServiceBinding

FieldTypeDescription
serviceRefstring(required)

BundleRef

FieldTypeDescription
credentialsOCICredentialsOnly one of Credentials or CredentialsRef may be set.
credentialsRefOCICredentialsRef
digeststringDigest pins the exact artifact, e.g. "sha256:...". Strongly preferred: the serving path is digest-addressed and immutable.
repostringRepo is the OCI repository, e.g. "registry.apoxy.dev/acme/api". (required)
tagstringTag is resolved to a Digest by the controller if Digest is unset.

OCICredentials

FieldTypeDescription
accessTokenstringAccessToken is a registry bearer token sent as-is (Authorization: Bearer), skipping the token-service exchange.
passwordstringPassword is the write-only plain-text form; use PasswordData when authoring programmatically.
passwordDatastringPasswordData is the RAW password bytes. NOT base64 of the password (unlike the extensions API field of the same name) — JSON's []byte encoding already handles the transport encoding. Takes precedence over Password when both are set.
refreshTokenstringRefreshToken is an OAuth2 refresh token (docker's "identity token") exchanged with the registry's token service for access tokens.
usernamestring

OCICredentialsRef

FieldTypeDescription
groupstring(required)
namestring(required)
namespacestring(required)

ServiceEgress

FieldTypeDescription
disabledbooleanDisabled hard-denies all egress for this service (globalOutbound is unset in workerd and the sandbox netstack resets any outbound attempt). Mutually exclusive with a non-empty gatewayRef.
gatewayRefstringGatewayRef names the compute.apoxy.dev EgressGateway that mediates this service's outbound traffic. Empty means the project "default" gateway. Existence is not validated at admission; a dangling ref surfaces as the EgressReady=False condition on Service status.

EnvVar

FieldTypeDescription
namestring(required)
valuestring(required)

FilterConfig

FieldTypeDescription
failureModestring
phasestring

ServiceRuntime

FieldTypeDescription
compatibilityDatestringCompatibilityDate is required by workerd; pinned per revision. (required)
compatibilityFlagsstring[]
limitsServiceLimits
timeoutDurationTimeout is the wall-clock request timeout. Default 30s.

ServiceLimits

FieldTypeDescription
cpuTimeDurationCPUTime is the per-request CPU budget (workerd-style), e.g. "50ms".
memorystringMemory cap, e.g. "128Mi".