Skip to content
Controller Reference

Controller Reference

Protocol Documentation

Table of Contents

Top

proto/composia/controller/v1/task.proto

CreateMigrationRollbackRequest

CreateMigrationRollbackRequest selects safe recovery actions for one migration task.

FieldTypeLabelDescription
task_idstringtask_id identifies the original migrate task.
rollback_dnsboolrollback_dns syncs DNS back to the source node.
deploy_sourcebooldeploy_source starts the service on the source node again.
stop_targetboolstop_target stops the service on the migration target node.
cleanup_targetboolcleanup_target is reserved for a future destructive cleanup workflow.

FailLostTaskExecutionRequest

FieldTypeLabelDescription
task_idstring
error_summarystring

GetTaskRequest

GetTaskRequest identifies one task by ID.

FieldTypeLabelDescription
task_idstring

GetTaskResponse

GetTaskResponse describes one task, including step state and log metadata.

FieldTypeLabelDescription
task_idstring
typeTaskTypetype identifies the controller task kind.
sourceTaskSourcesource identifies what triggered the task.
service_namestring
node_idstring
statusTaskStatusstatus is the latest task status.
created_atgoogle.protobuf.Timestampcreated_at is the task creation timestamp.
started_atgoogle.protobuf.Timestampstarted_at is unset until task execution begins.
finished_atgoogle.protobuf.Timestampfinished_at is unset until task execution reaches a terminal state.
repo_revisionstringrepo_revision is the repo revision used when the task started.
error_summarystring
stepsTaskStepSummaryrepeatedsteps lists recorded step state snapshots in execution order.
triggered_bystringtriggered_by identifies the actor that created the task.
result_revisionstringresult_revision is the repo revision produced by the task, when applicable.
attempt_of_task_idstringattempt_of_task_id links this task to the prior task it retried.
execution_statestringexecution_state exposes offered, accepted, lease_lost, or completed for agent tasks.
lease_expires_atgoogle.protobuf.Timestamp

ListTasksRequest

ListTasksRequest filters task results by included and excluded values.

FieldTypeLabelDescription
statusTaskStatusrepeatedstatus includes only tasks matching one of these statuses.
service_namestringrepeatedservice_name includes only tasks for these services.
page_sizeuint32page_size is the requested page size.
pageuint32page is the 1-based page number.
node_idstringrepeatednode_id includes only tasks for these nodes.
typeTaskTyperepeatedtype includes only tasks of these types.
exclude_statusTaskStatusrepeatedexclude_status removes tasks matching these statuses.
exclude_service_namestringrepeatedexclude_service_name removes tasks for these services.
exclude_node_idstringrepeatedexclude_node_id removes tasks for these nodes.
exclude_typeTaskTyperepeatedexclude_type removes tasks of these types.

ListTasksResponse

ListTasksResponse returns one page of task summaries.

FieldTypeLabelDescription
tasksTaskSummaryrepeated
total_countuint32

ResolveTaskConfirmationRequest

ResolveTaskConfirmationRequest resolves a task in awaiting_confirmation state.

FieldTypeLabelDescription
task_idstring
decisionTaskConfirmationDecisiondecision resolves the confirmation gate.
commentstring

RunTaskAgainRequest

RunTaskAgainRequest identifies the task to retry as a new task.

FieldTypeLabelDescription
task_idstring

TailTaskLogsRequest

TailTaskLogsRequest identifies the task log stream to follow.

FieldTypeLabelDescription
task_idstring

TailTaskLogsResponse

TailTaskLogsResponse carries one incremental log chunk.

FieldTypeLabelDescription
contentstring

TaskActionResponse

TaskActionResponse reports the async task created by a command RPC.

FieldTypeLabelDescription
task_idstring
statusTaskStatusstatus is the initial status of the created task.
repo_revisionstringrepo_revision is the repo revision associated with the created task.

TaskStepSummary

TaskStepSummary describes one recorded step within a task.

FieldTypeLabelDescription
step_nameTaskStepName
statusTaskStatusstatus is the latest step status.
started_atgoogle.protobuf.Timestampstarted_at is unset when the step has not started.
finished_atgoogle.protobuf.Timestampfinished_at is unset until the step finishes.

TaskSummary

TaskSummary describes one task in list results.

FieldTypeLabelDescription
task_idstring
typeTaskTypetype identifies the controller task kind.
statusTaskStatusstatus is the latest task status.
service_namestring
node_idstring
created_atgoogle.protobuf.Timestampcreated_at is the task creation timestamp.

TaskConfirmationDecision

TaskConfirmationDecision identifies how an operator resolved a confirmation gate.

NameNumberDescription
TASK_CONFIRMATION_DECISION_UNSPECIFIED0
TASK_CONFIRMATION_DECISION_APPROVE1
TASK_CONFIRMATION_DECISION_REJECT2

TaskSource

TaskSource identifies what created a task.

NameNumberDescription
TASK_SOURCE_UNSPECIFIED0
TASK_SOURCE_WEB1
TASK_SOURCE_CLI2
TASK_SOURCE_OTHERS3
TASK_SOURCE_SCHEDULE4
TASK_SOURCE_SYSTEM5
TASK_SOURCE_AUTO_DEPLOY6

TaskStatus

TaskStatus identifies a task lifecycle status.

NameNumberDescription
TASK_STATUS_UNSPECIFIED0
TASK_STATUS_PENDING1
TASK_STATUS_RUNNING2
TASK_STATUS_AWAITING_CONFIRMATION3
TASK_STATUS_SUCCEEDED4
TASK_STATUS_FAILED5
TASK_STATUS_CANCELLED6

TaskStepName

TaskStepName identifies one recorded task step.

NameNumberDescription
TASK_STEP_NAME_UNSPECIFIED0
TASK_STEP_NAME_RENDER1
TASK_STEP_NAME_PULL2
TASK_STEP_NAME_BACKUP3
TASK_STEP_NAME_COMPOSE_DOWN4
TASK_STEP_NAME_COMPOSE_UP5
TASK_STEP_NAME_TRANSFER6
TASK_STEP_NAME_RESTORE7
TASK_STEP_NAME_DNS_UPDATE8
TASK_STEP_NAME_CADDY_SYNC9
TASK_STEP_NAME_CADDY_RELOAD10
TASK_STEP_NAME_IMAGE_CHECK11
TASK_STEP_NAME_INIT12
TASK_STEP_NAME_PRUNE13
TASK_STEP_NAME_AWAITING_CONFIRMATION14
TASK_STEP_NAME_PERSIST_REPO15
TASK_STEP_NAME_FINALIZE16
TASK_STEP_NAME_DOCKER_START17
TASK_STEP_NAME_DOCKER_STOP18
TASK_STEP_NAME_DOCKER_RESTART19
TASK_STEP_NAME_DOCKER_REMOVE20
TASK_STEP_NAME_CLOUDFLARE_TUNNEL_SYNC21

TaskType

TaskType identifies a controller task kind.

NameNumberDescription
TASK_TYPE_UNSPECIFIED0
TASK_TYPE_DEPLOY1
TASK_TYPE_STOP2
TASK_TYPE_RESTART3
TASK_TYPE_UPDATE4
TASK_TYPE_BACKUP5
TASK_TYPE_RESTORE6
TASK_TYPE_MIGRATE7
TASK_TYPE_DNS_UPDATE8
TASK_TYPE_CADDY_SYNC9
TASK_TYPE_CADDY_RELOAD10
TASK_TYPE_IMAGE_CHECK11
TASK_TYPE_PRUNE12
TASK_TYPE_RUSTIC_INIT13
TASK_TYPE_RUSTIC_FORGET14
TASK_TYPE_RUSTIC_PRUNE15
TASK_TYPE_DOCKER_START16
TASK_TYPE_DOCKER_STOP17
TASK_TYPE_DOCKER_RESTART18
TASK_TYPE_MIGRATE_ROLLBACK20
TASK_TYPE_DOCKER_REMOVE_CONTAINER21
TASK_TYPE_DOCKER_REMOVE_NETWORK22
TASK_TYPE_DOCKER_REMOVE_VOLUME23
TASK_TYPE_DOCKER_REMOVE_IMAGE24
TASK_TYPE_CLOUDFLARE_TUNNEL_SYNC25

TaskService

TaskService exposes task queries, log streaming, retry operations, and confirmation resolution.

Method NameRequest TypeResponse TypeDescription
ListTasksListTasksRequestListTasksResponseListTasks returns task summaries using include and exclude filters.
GetTaskGetTaskRequestGetTaskResponseGetTask returns the full detail for one task.
TailTaskLogsTailTaskLogsRequestTailTaskLogsResponse streamTailTaskLogs streams incremental log content for one task.
RunTaskAgainRunTaskAgainRequestTaskActionResponseRunTaskAgain starts a new task based on an existing task.
FailLostTaskExecutionFailLostTaskExecutionRequestTaskActionResponseFailLostTaskExecution resolves a lease-lost task after an operator verifies its outcome.
ResolveTaskConfirmationResolveTaskConfirmationRequestTaskActionResponseResolveTaskConfirmation resumes or rejects a task waiting for manual confirmation.
CreateMigrationRollbackCreateMigrationRollbackRequestTaskActionResponseCreateMigrationRollback starts a rollback task from a failed or rejected migration.

Top

proto/composia/controller/v1/system.proto

AccessTokenSummary

AccessTokenSummary describes one controller access token without exposing the token string.

FieldTypeLabelDescription
namestringname is the operator-facing token name.
enabledboolenabled reports whether this token may be used.
commentstringcomment is the optional operator note attached to the token.

BackupConfigSummary

BackupConfigSummary describes optional backup integration state.

FieldTypeLabelDescription
has_rusticboolhas_rustic reports whether Rustic backup integration is configured.

Capability

Capability describes whether a feature or action may currently be used.

FieldTypeLabelDescription
enabledbool
reason_codeCapabilityReasonCodereason_code explains why the capability is disabled when enabled is false.

DNSConfigSummary

DNSConfigSummary describes optional DNS integration state.

FieldTypeLabelDescription
has_cloudflareboolhas_cloudflare reports whether Cloudflare DNS integration is configured.

GetCapabilitiesRequest

GetCapabilitiesRequest requests global controller-backed feature availability.

GetCapabilitiesResponse

GetCapabilitiesResponse returns global feature availability for the web UI.

FieldTypeLabelDescription
globalGlobalCapabilities

GetCurrentConfigRequest

GetCurrentConfigRequest requests the active redacted controller config.

GetCurrentConfigResponse

GetCurrentConfigResponse contains redacted config summaries only.

FieldTypeLabelDescription
listen_addrstringlisten_addr is the controller listen address.
gitGitConfigSummarygit is the configured Git sync summary for the controller repo.
nodesNodeConfigSummaryrepeatednodes lists configured execution nodes.
access_tokensAccessTokenSummaryrepeatedaccess_tokens lists token metadata without returning secret token values.
dnsDNSConfigSummarydns describes optional DNS integration configuration.
backupBackupConfigSummarybackup describes optional backup integration configuration.
secretsSecretsConfigSummarysecrets describes the active secrets provider configuration.

GetSystemStatusRequest

GetSystemStatusRequest requests the current controller runtime state.

GetSystemStatusResponse

GetSystemStatusResponse describes the current controller runtime state.

FieldTypeLabelDescription
versionstringversion is the controller version string.
nowgoogle.protobuf.Timestampnow is the controller time when the response was generated.
configured_node_countuint64configured_node_count is the number of nodes present in config.
online_node_countuint64online_node_count is the number of nodes with a recent heartbeat.
service_countuint64service_count is the total number of declared services.
running_service_countuint64running_service_count is the number of declared services with at least one running instance.

GitConfigSummary

GitConfigSummary describes controller Git sync settings without credentials.

FieldTypeLabelDescription
remote_urlstringremote_url is the configured Git remote URL.
branchstringbranch is the tracked Git branch name.
pull_intervalstringpull_interval stores the configured pull interval duration string.
has_authboolhas_auth reports whether Git auth is configured, not the auth value itself.
author_namestringauthor_name is the Git author name for controller-created commits.
author_emailstringauthor_email is the Git author email for controller-created commits.

GlobalCapabilities

GlobalCapabilities describes controller-wide feature availability.

FieldTypeLabelDescription
backupCapability
dnsCapability
secretsCapability
rustic_maintenanceCapability

NodeConfigSummary

NodeConfigSummary describes one configured node entry.

FieldTypeLabelDescription
idstringid is the stable node identifier used across controller and agents.
display_namestringdisplay_name is the human-readable node label.
enabledboolenabled reports whether the node is eligible for controller actions.
public_ipv4stringpublic_ipv4 is empty when no public IPv4 address is configured.
public_ipv6stringpublic_ipv6 is empty when no public IPv6 address is configured.

ReloadControllerConfigRequest

ReloadControllerConfigRequest requests an in-process controller config reload.

ReloadControllerConfigResponse

ReloadControllerConfigResponse confirms that the reload was accepted.

FieldTypeLabelDescription
acceptedboolaccepted is true when the current config passed reload validation and was scheduled.

SecretsConfigSummary

SecretsConfigSummary describes the active secrets provider setup.

FieldTypeLabelDescription
providerstringprovider is the configured secrets provider name.
has_identityboolhas_identity reports whether an identity source is configured.
has_recipientboolhas_recipient reports whether a recipient source is configured.

CapabilityReasonCode

CapabilityReasonCode explains why a capability is disabled.

NameNumberDescription
CAPABILITY_REASON_CODE_UNSPECIFIED0
CAPABILITY_REASON_CODE_MISSING_BACKUP_INTEGRATION1
CAPABILITY_REASON_CODE_MISSING_BACKUP_DEFINITION2
CAPABILITY_REASON_CODE_MISSING_RESTORE_DEFINITION3
CAPABILITY_REASON_CODE_MISSING_MIGRATE_DEFINITION4
CAPABILITY_REASON_CODE_MISSING_DNS_INTEGRATION5
CAPABILITY_REASON_CODE_MISSING_SECRETS_CONFIG6
CAPABILITY_REASON_CODE_MISSING_CADDY_INFRA7
CAPABILITY_REASON_CODE_MISSING_SERVICE_META8
CAPABILITY_REASON_CODE_SERVICE_NOT_DECLARED9
CAPABILITY_REASON_CODE_SERVICE_DNS_NOT_DECLARED10
CAPABILITY_REASON_CODE_SERVICE_NOT_CADDY_MANAGED11
CAPABILITY_REASON_CODE_NODE_DISABLED12
CAPABILITY_REASON_CODE_NODE_OFFLINE13
CAPABILITY_REASON_CODE_NODE_NOT_ELIGIBLE14
CAPABILITY_REASON_CODE_NODE_NOT_RUSTIC_MANAGED15
CAPABILITY_REASON_CODE_MISSING_ELIGIBLE_RUSTIC_NODE16
CAPABILITY_REASON_CODE_MISSING_ONLINE_RUSTIC_NODE17
CAPABILITY_REASON_CODE_BACKUP_NOT_SUCCEEDED18
CAPABILITY_REASON_CODE_BACKUP_ARTIFACT_MISSING19
CAPABILITY_REASON_CODE_MISSING_RESTORE_TARGET_NODE20
CAPABILITY_REASON_CODE_MISSING_CLOUDFLARE_TUNNEL_INTEGRATION21
CAPABILITY_REASON_CODE_SERVICE_NOT_CLOUDFLARE_TUNNEL_MANAGED22

SystemService

SystemService exposes read-only controller status and config summary data.

Method NameRequest TypeResponse TypeDescription
GetSystemStatusGetSystemStatusRequestGetSystemStatusResponseGetSystemStatus returns the current controller status and node counts.
ReloadControllerConfigReloadControllerConfigRequestReloadControllerConfigResponseReloadControllerConfig validates and applies the controller config without replacing the process.
GetCurrentConfigGetCurrentConfigRequestGetCurrentConfigResponseGetCurrentConfig returns the active controller config as a redacted summary.
GetCapabilitiesGetCapabilitiesRequestGetCapabilitiesResponseGetCapabilities returns global feature availability for the current controller state.

Top

proto/composia/controller/v1/backup.proto

BackupActionCapabilities

BackupActionCapabilities describes whether backup-scoped actions may run.

FieldTypeLabelDescription
restoreCapability

BackupSummary

BackupSummary describes one backup record in list results.

FieldTypeLabelDescription
backup_idstring
task_idstringtask_id links the backup record to the originating task.
service_namestring
data_namestring
statusstringstatus is the latest backup status string.
started_atstringstarted_at is the backup start timestamp string.
finished_atstringfinished_at is empty until the backup reaches a terminal state.
node_idstring

GetBackupRequest

GetBackupRequest identifies one backup record by ID.

FieldTypeLabelDescription
backup_idstring

GetBackupResponse

GetBackupResponse describes one backup record in detail.

FieldTypeLabelDescription
backup_idstring
task_idstringtask_id links the backup record to the originating task.
service_namestring
data_namestring
statusstringstatus is the latest backup status string.
started_atstringstarted_at is the backup start timestamp string.
finished_atstringfinished_at is empty until the backup reaches a terminal state.
artifact_refstringartifact_ref identifies the produced backup artifact, when present.
error_summarystringerror_summary contains the failure summary when the backup fails.
actionsBackupActionCapabilitiesactions describes whether backup-scoped actions may currently run.
node_idstring

ListBackupsRequest

ListBackupsRequest filters backup records by included and excluded values.

FieldTypeLabelDescription
service_namestringrepeatedservice_name includes only backups for these services.
statusstringrepeatedstatus includes only backups matching one of these status strings.
data_namestringrepeateddata_name includes only backups for these service data entries.
page_sizeuint32page_size is the requested page size.
pageuint32page is the 1-based page number.
node_idstringrepeatednode_id includes only backups for these source nodes.
exclude_service_namestringrepeatedexclude_service_name removes backups for these services.
exclude_statusstringrepeatedexclude_status removes backups matching these status strings.
exclude_data_namestringrepeatedexclude_data_name removes backups for these service data entries.
exclude_node_idstringrepeatedexclude_node_id removes backups for these source nodes.

ListBackupsResponse

ListBackupsResponse returns one page of backup records.

FieldTypeLabelDescription
backupsBackupSummaryrepeated
total_countuint32

RestoreBackupRequest

RestoreBackupRequest identifies the backup record and target node for one restore task.

FieldTypeLabelDescription
backup_idstring
node_idstringnode_id identifies the destination node for the restore task.

BackupCommandService

BackupCommandService starts backup-related actions.

Method NameRequest TypeResponse TypeDescription
RestoreBackupRestoreBackupRequestTaskActionResponseRestoreBackup starts an async restore task from one backup record.

BackupQueryService

BackupQueryService exposes backup record queries.

Method NameRequest TypeResponse TypeDescription
ListBackupsListBackupsRequestListBackupsResponseListBackups returns backup records with filtering and pagination.
GetBackupGetBackupRequestGetBackupResponseGetBackup returns one backup record by ID.

Top

proto/composia/controller/v1/container.proto

GetContainerLogsRequest

GetContainerLogsRequest fetches logs for one container.

FieldTypeLabelDescription
node_idstring
container_idstring
tailstringtail is forwarded to the Docker log tail option.
timestampsbooltimestamps includes Docker timestamps in the returned log output.

GetContainerLogsResponse

GetContainerLogsResponse returns one streamed log chunk.

FieldTypeLabelDescription
contentstring

OpenContainerExecRequest

OpenContainerExecRequest starts an interactive exec session.

FieldTypeLabelDescription
node_idstring
container_idstring
commandstringrepeatedcommand stores the exec command and arguments.
rowsuint32rows is the initial terminal row count.
colsuint32cols is the initial terminal column count.

OpenContainerExecResponse

OpenContainerExecResponse returns the session identity and websocket path.

FieldTypeLabelDescription
session_idstringsession_id identifies the created interactive exec session.
websocket_pathstringwebsocket_path is the controller websocket path for the interactive tunnel.

RemoveContainerRequest

RemoveContainerRequest identifies one node-scoped container deletion.

FieldTypeLabelDescription
node_idstring
container_idstring
forcebool
remove_volumesbool

RemoveImageRequest

RemoveImageRequest identifies one node-scoped image deletion.

FieldTypeLabelDescription
node_idstring
image_idstring
forcebool

RemoveNetworkRequest

RemoveNetworkRequest identifies one node-scoped network deletion.

FieldTypeLabelDescription
node_idstring
network_idstring

RemoveVolumeRequest

RemoveVolumeRequest identifies one node-scoped volume deletion.

FieldTypeLabelDescription
node_idstring
volume_namestring

RunContainerActionRequest

RunContainerActionRequest identifies one node-scoped container action.

FieldTypeLabelDescription
node_idstring
container_idstring
actionContainerAction

RunContainerExecRequest

RunContainerExecRequest runs a non-interactive command in one container.

FieldTypeLabelDescription
node_idstring
container_idstring
commandstringrepeatedcommand stores the exec command and arguments.
stdinbytesstdin carries optional bytes written before stdin is closed.
timeout_secondsuint32timeout_seconds bounds command runtime on the agent.
max_output_bytesuint64max_output_bytes limits each stdout/stderr stream; zero uses the agent default.

RunContainerExecResponse

RunContainerExecResponse returns the completed exec result.

FieldTypeLabelDescription
exit_codeint32
stdoutstring
stderrstring
timed_outbool
stdout_truncatedbool
stderr_truncatedbool
started_atgoogle.protobuf.Timestamp
finished_atgoogle.protobuf.Timestamp
durationstring

ContainerAction

ContainerAction identifies a container lifecycle action.

NameNumberDescription
CONTAINER_ACTION_UNSPECIFIED0CONTAINER_ACTION_UNSPECIFIED is invalid and should not be used.
CONTAINER_ACTION_START1CONTAINER_ACTION_START starts the container.
CONTAINER_ACTION_STOP2CONTAINER_ACTION_STOP stops the container.
CONTAINER_ACTION_RESTART3CONTAINER_ACTION_RESTART restarts the container.

DockerCommandService

DockerCommandService exposes node-scoped Docker command entrypoints.

Method NameRequest TypeResponse TypeDescription
RunContainerActionRunContainerActionRequestTaskActionResponseRunContainerAction starts an async action for one container on one node.
RemoveContainerRemoveContainerRequestTaskActionResponseRemoveContainer starts an async deletion for one container on one node.
GetContainerLogsGetContainerLogsRequestGetContainerLogsResponse streamGetContainerLogs streams log text for one container.
OpenContainerExecOpenContainerExecRequestOpenContainerExecResponseOpenContainerExec opens an interactive exec session for one container.
RunContainerExecRunContainerExecRequestRunContainerExecResponseRunContainerExec runs a non-interactive exec command and returns collected output.
RemoveNetworkRemoveNetworkRequestTaskActionResponseRemoveNetwork starts an async deletion for one network on one node.
RemoveVolumeRemoveVolumeRequestTaskActionResponseRemoveVolume starts an async deletion for one volume on one node.
RemoveImageRemoveImageRequestTaskActionResponseRemoveImage starts an async deletion for one image on one node.

Top

proto/composia/controller/v1/node.proto

ContainerInfo

ContainerInfo describes one container for node-scoped list views.

FieldTypeLabelDescription
idstring
namestringname is the runtime container name.
imagestring
statestringstate is the low-level Docker state value.
statusstringstatus is the Docker status string intended for display.
createdstringcreated is the container creation timestamp string.
labelsContainerInfo.LabelsEntryrepeatedlabels is the container label map.
portsstringrepeatedports contains display-formatted published port mappings.
networksstringrepeatednetworks lists connected Docker network names.
image_idstringimage_id is the resolved image ID.

ContainerInfo.LabelsEntry

FieldTypeLabelDescription
keystring
valuestring

DockerStats

DockerStats describes the latest Docker usage snapshot for one node.

FieldTypeLabelDescription
containers_totaluint32
containers_runninguint32containers_running is the number of running containers.
containers_stoppeduint32containers_stopped is the number of stopped containers.
containers_pauseduint32containers_paused is the number of paused containers.
imagesuint32images is the number of local Docker images.
networksuint32networks is the number of local Docker networks.
volumesuint32volumes is the number of local Docker volumes.
volumes_size_bytesuint64volumes_size_bytes is the total reported volume size in bytes.
disks_usage_bytesuint64disks_usage_bytes is the Docker-reported disk usage in bytes.
docker_server_versionstring

ForgetNodeRusticRequest

ForgetNodeRusticRequest forgets backup snapshots for one node and dataset.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
service_namestringservice_name narrows the operation to one service.
data_namestringdata_name narrows the operation to one service data entry.

ForgetNodeRusticResponse

ForgetNodeRusticResponse returns the created maintenance task ID.

FieldTypeLabelDescription
task_idstring

GetNodeDockerStatsRequest

GetNodeDockerStatsRequest identifies the node whose Docker stats should be returned.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.

GetNodeDockerStatsResponse

GetNodeDockerStatsResponse returns the latest known Docker stats snapshot.

FieldTypeLabelDescription
statsDockerStats

GetNodeRequest

GetNodeRequest identifies one node by ID.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.

GetNodeResponse

GetNodeResponse returns one node summary.

FieldTypeLabelDescription
nodeNodeSummarynode contains the requested configured node. The RPC returns NotFound when the requested node does not exist.

ImageInfo

ImageInfo describes one Docker image for node-scoped list views.

FieldTypeLabelDescription
idstring
repo_tagsstringrepeatedrepo_tags lists named tags referencing the image.
sizeint64size is the image size in bytes.
createdstringcreated is the image creation timestamp string.
repo_digestsstringrepeatedrepo_digests lists immutable digest references for the image.
virtual_sizeint64virtual_size is the virtual image size in bytes.
architecturestringarchitecture is the image CPU architecture string.
osstringos is the image operating system string.
containers_countuint32containers_count is the number of containers using the image.
is_danglingboolis_dangling reports whether the image is dangling.
authorstringauthor is the image author metadata, when present.

InitNodeRusticRequest

InitNodeRusticRequest initializes the Rustic repository on one node.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.

InitNodeRusticResponse

InitNodeRusticResponse returns the created maintenance task ID.

FieldTypeLabelDescription
task_idstring

InspectNodeContainerRequest

InspectNodeContainerRequest identifies one node-scoped container.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
container_idstringcontainer_id is the runtime container ID.

InspectNodeContainerResponse

InspectNodeContainerResponse returns raw Docker inspect JSON.

FieldTypeLabelDescription
raw_jsonstring

InspectNodeImageRequest

InspectNodeImageRequest identifies one node-scoped image.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
image_idstringimage_id is the runtime image ID.

InspectNodeImageResponse

InspectNodeImageResponse returns raw Docker inspect JSON.

FieldTypeLabelDescription
raw_jsonstring

InspectNodeNetworkRequest

InspectNodeNetworkRequest identifies one node-scoped network.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
network_idstringnetwork_id is the runtime network ID.

InspectNodeNetworkResponse

InspectNodeNetworkResponse returns raw Docker inspect JSON.

FieldTypeLabelDescription
raw_jsonstring

InspectNodeVolumeRequest

InspectNodeVolumeRequest identifies one node-scoped volume.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
volume_namestringvolume_name is the runtime volume name.

InspectNodeVolumeResponse

InspectNodeVolumeResponse returns raw Docker inspect JSON.

FieldTypeLabelDescription
raw_jsonstring

ListNodeContainersRequest

ListNodeContainersRequest identifies the node whose containers should be listed.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
page_sizeuint32page_size is the requested page size.
pageuint32page is the 1-based page number.
searchstringsearch is a case-insensitive substring match across key fields.
sort_bystringsort_by identifies the field used to sort results.
sort_descboolsort_desc reverses the sort order when true.

ListNodeContainersResponse

ListNodeContainersResponse returns node-scoped container summaries.

FieldTypeLabelDescription
containersContainerInforepeated
total_countuint32

ListNodeImagesRequest

ListNodeImagesRequest identifies the node whose images should be listed.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
page_sizeuint32page_size is the requested page size.
pageuint32page is the 1-based page number.
searchstringsearch is a case-insensitive substring match across key fields.
sort_bystringsort_by identifies the field used to sort results.
sort_descboolsort_desc reverses the sort order when true.

ListNodeImagesResponse

ListNodeImagesResponse returns node-scoped image summaries.

FieldTypeLabelDescription
imagesImageInforepeated
total_countuint32

ListNodeNetworksRequest

ListNodeNetworksRequest identifies the node whose networks should be listed.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
page_sizeuint32page_size is the requested page size.
pageuint32page is the 1-based page number.
searchstringsearch is a case-insensitive substring match across key fields.
sort_bystringsort_by identifies the field used to sort results.
sort_descboolsort_desc reverses the sort order when true.

ListNodeNetworksResponse

ListNodeNetworksResponse returns node-scoped network summaries.

FieldTypeLabelDescription
networksNetworkInforepeated
total_countuint32

ListNodeVolumesRequest

ListNodeVolumesRequest identifies the node whose volumes should be listed.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
page_sizeuint32page_size is the requested page size.
pageuint32page is the 1-based page number.
searchstringsearch is a case-insensitive substring match across key fields.
sort_bystringsort_by identifies the field used to sort results.
sort_descboolsort_desc reverses the sort order when true.

ListNodeVolumesResponse

ListNodeVolumesResponse returns node-scoped volume summaries.

FieldTypeLabelDescription
volumesVolumeInforepeated
total_countuint32

ListNodesRequest

ListNodesRequest requests all configured nodes.

ListNodesResponse

ListNodesResponse returns all configured nodes.

FieldTypeLabelDescription
nodesNodeSummaryrepeated

NetworkInfo

NetworkInfo describes one Docker network for node-scoped list views.

FieldTypeLabelDescription
idstring
namestringname is the runtime network name.
driverstringdriver is the Docker network driver name.
scopestringscope is the Docker network scope.
internalboolinternal reports whether the network is internal-only.
attachableboolattachable reports whether standalone containers may attach to the network.
createdstringcreated is the network creation timestamp string.
labelsNetworkInfo.LabelsEntryrepeatedlabels is the network label map.
subnetstringsubnet is the primary IPv4 subnet, when available.
gatewaystringgateway is the primary IPv4 gateway, when available.
containers_countuint32containers_count is the number of connected containers.
ipv6_enabledboolipv6_enabled reports whether IPv6 is enabled for the network.

NetworkInfo.LabelsEntry

FieldTypeLabelDescription
keystring
valuestring

NodeActionCapabilities

NodeActionCapabilities describes whether node-scoped actions may run.

FieldTypeLabelDescription
caddy_syncCapability
caddy_reloadCapability
rustic_maintenanceCapability

NodeSummary

NodeSummary describes one configured node.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
display_namestringdisplay_name is the human-readable node label.
enabledboolenabled reports whether the node is eligible for controller actions.
is_onlineboolis_online reports whether the node has a recent heartbeat.
last_heartbeatstringlast_heartbeat is the last recorded heartbeat timestamp string.
actionsNodeActionCapabilitiesactions describes whether node-scoped actions may currently run.

PruneNodeDockerRequest

PruneNodeDockerRequest prunes one Docker resource class on a node.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
targetstringtarget identifies which Docker resource group to prune.

PruneNodeDockerResponse

PruneNodeDockerResponse returns the created maintenance task ID.

FieldTypeLabelDescription
task_idstring

PruneNodeRusticRequest

PruneNodeRusticRequest prunes backup data for one node and dataset.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
service_namestringservice_name narrows the operation to one service.
data_namestringdata_name narrows the operation to one service data entry.

PruneNodeRusticResponse

PruneNodeRusticResponse returns the created maintenance task ID.

FieldTypeLabelDescription
task_idstring

ReloadNodeCaddyRequest

ReloadNodeCaddyRequest identifies the node whose Caddy instance should be reloaded.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.

ReloadNodeCaddyResponse

ReloadNodeCaddyResponse returns the created maintenance task ID.

FieldTypeLabelDescription
task_idstring

SyncNodeCaddyFilesRequest

SyncNodeCaddyFilesRequest syncs Caddy files for one node.

FieldTypeLabelDescription
node_idstringnode_id is the stable node identifier.
service_namestringservice_name optionally narrows the sync to one service.
full_rebuildboolfull_rebuild forces a full Caddy file rebuild instead of an incremental sync.

SyncNodeCaddyFilesResponse

SyncNodeCaddyFilesResponse returns the created maintenance task ID.

FieldTypeLabelDescription
task_idstring

VolumeInfo

VolumeInfo describes one Docker volume for node-scoped list views.

FieldTypeLabelDescription
namestringname is the runtime volume name.
driverstringdriver is the Docker volume driver name.
mountpointstringmountpoint is the volume mount path on the node.
scopestringscope is the Docker volume scope.
createdstringcreated is the volume creation timestamp string.
labelsVolumeInfo.LabelsEntryrepeatedlabels is the volume label map.
size_bytesint64size_bytes is the reported volume size in bytes.
containers_countuint32containers_count is the number of attached containers.
in_useboolin_use reports whether any container currently uses the volume.

VolumeInfo.LabelsEntry

FieldTypeLabelDescription
keystring
valuestring

DockerQueryService

DockerQueryService exposes read-only Docker resource queries for one node.

Method NameRequest TypeResponse TypeDescription
ListNodeContainersListNodeContainersRequestListNodeContainersResponseListNodeContainers lists containers on one node.
InspectNodeContainerInspectNodeContainerRequestInspectNodeContainerResponseInspectNodeContainer returns raw Docker inspect JSON for one container.
ListNodeNetworksListNodeNetworksRequestListNodeNetworksResponseListNodeNetworks lists networks on one node.
InspectNodeNetworkInspectNodeNetworkRequestInspectNodeNetworkResponseInspectNodeNetwork returns raw Docker inspect JSON for one network.
ListNodeVolumesListNodeVolumesRequestListNodeVolumesResponseListNodeVolumes lists volumes on one node.
InspectNodeVolumeInspectNodeVolumeRequestInspectNodeVolumeResponseInspectNodeVolume returns raw Docker inspect JSON for one volume.
ListNodeImagesListNodeImagesRequestListNodeImagesResponseListNodeImages lists images on one node.
InspectNodeImageInspectNodeImageRequestInspectNodeImageResponseInspectNodeImage returns raw Docker inspect JSON for one image.

NodeMaintenanceService

NodeMaintenanceService triggers async maintenance work on one node.

Method NameRequest TypeResponse TypeDescription
SyncNodeCaddyFilesSyncNodeCaddyFilesRequestSyncNodeCaddyFilesResponseSyncNodeCaddyFiles starts a task to sync Caddy files on one node.
ReloadNodeCaddyReloadNodeCaddyRequestReloadNodeCaddyResponseReloadNodeCaddy starts a task to reload Caddy on one node.
PruneNodeDockerPruneNodeDockerRequestPruneNodeDockerResponsePruneNodeDocker starts a task to prune Docker resources on one node.
InitNodeRusticInitNodeRusticRequestInitNodeRusticResponseInitNodeRustic starts a task to initialize the Rustic repository on one node.
ForgetNodeRusticForgetNodeRusticRequestForgetNodeRusticResponseForgetNodeRustic starts a task to forget Rustic snapshots for one node.
PruneNodeRusticPruneNodeRusticRequestPruneNodeRusticResponsePruneNodeRustic starts a task to prune Rustic data on one node.

NodeQueryService

NodeQueryService exposes read-only node and node-scoped task queries.

Method NameRequest TypeResponse TypeDescription
ListNodesListNodesRequestListNodesResponseListNodes returns all configured nodes with current online state.
GetNodeGetNodeRequestGetNodeResponseGetNode returns one node by ID.
GetNodeDockerStatsGetNodeDockerStatsRequestGetNodeDockerStatsResponseGetNodeDockerStats returns the latest Docker stats snapshot for one node.

Top

proto/composia/controller/v1/repo.proto

CreateRepoDirectoryRequest

CreateRepoDirectoryRequest creates one repo-relative directory path.

FieldTypeLabelDescription
pathstringpath is the repo-relative directory path to create.
base_revisionstringbase_revision protects against writing on top of an unexpected HEAD.
commit_messagestringcommit_message is used for the generated Git commit.

DeleteRepoPathRequest

DeleteRepoPathRequest deletes one repo-relative path.

FieldTypeLabelDescription
pathstringpath is the repo-relative path to delete.
base_revisionstringbase_revision protects against writing on top of an unexpected HEAD.
commit_messagestringcommit_message is used for the generated Git commit.

GetRepoFileRequest

GetRepoFileRequest addresses one repo-relative file path.

FieldTypeLabelDescription
pathstring

GetRepoFileResponse

GetRepoFileResponse returns a repo file and its text content.

FieldTypeLabelDescription
pathstringpath is the repo-relative path that was read.
contentstringcontent is the file content as text.
sizeint64size is the file size in bytes.

GetRepoHeadRequest

GetRepoHeadRequest requests the current controller repo state.

GetRepoHeadResponse

GetRepoHeadResponse describes the current repo state known to the controller.

FieldTypeLabelDescription
head_revisionstringhead_revision is the current HEAD commit ID.
branchstring
has_remotebool
clean_worktreeboolclean_worktree reports whether there are uncommitted local changes.
sync_statusstringsync_status is the controller's repo sync status string.
last_sync_errorstringlast_sync_error contains the most recent sync failure, when present.
last_successful_pull_atstringlast_successful_pull_at is the last successful pull timestamp string.

ListRepoCommitsRequest

ListRepoCommitsRequest pages commit history with an opaque cursor.

FieldTypeLabelDescription
page_sizeuint32page_size is the requested page size.
cursorstringcursor is an opaque pagination cursor from a previous response.

ListRepoCommitsResponse

ListRepoCommitsResponse returns one page of commits.

FieldTypeLabelDescription
commitsRepoCommitSummaryrepeated
next_cursorstringnext_cursor is empty when there are no more results.

ListRepoFilesRequest

ListRepoFilesRequest lists repo entries under path.

FieldTypeLabelDescription
pathstringpath is repo-relative. An empty path refers to the repo root.
recursiveboolrecursive includes all descendants under path when true.

ListRepoFilesResponse

ListRepoFilesResponse returns repo entries for the requested path.

FieldTypeLabelDescription
entriesRepoFileEntryrepeated

MoveRepoPathRequest

MoveRepoPathRequest moves one repo-relative path to another.

FieldTypeLabelDescription
source_pathstringsource_path is the existing repo-relative path to move.
destination_pathstringdestination_path is the new repo-relative path.
base_revisionstringbase_revision protects against writing on top of an unexpected HEAD.
commit_messagestringcommit_message is used for the generated Git commit.

RepoCommitSummary

RepoCommitSummary describes one commit in repo history.

FieldTypeLabelDescription
commit_idstring
subjectstringsubject is the commit subject line.
committed_atstringcommitted_at is the commit timestamp string.

RepoFileEntry

RepoFileEntry describes one direct child entry in the repo tree.

FieldTypeLabelDescription
pathstringpath is a repo-relative path.
namestringname is the final path segment.
is_dirboolis_dir reports whether the entry is a directory.
sizeint64size is the file size in bytes. Directories may report zero.

RepoValidationError

RepoValidationError identifies one validation problem in repo content.

FieldTypeLabelDescription
pathstringpath is the repo-relative path where validation failed.
lineuint32line is the 1-based line number when the error maps to one line.
messagestringmessage is a human-readable validation failure description.

RepoWriteResult

RepoWriteResult reports the commit and sync result for a repo write.

FieldTypeLabelDescription
commit_idstringcommit_id is the Git commit created for the write.
sync_statusstringsync_status is the repo sync state after the write.
push_errorstringpush_error contains the last push error when sync_status is failed.
last_successful_pull_atstringlast_successful_pull_at is the last successful pull timestamp string.

SyncRepoRequest

SyncRepoRequest asks the controller to refresh repo state from its remote.

SyncRepoResponse

SyncRepoResponse returns the repo state after a sync attempt.

FieldTypeLabelDescription
head_revisionstringhead_revision is the current HEAD commit ID after the sync attempt.
branchstringbranch is the currently checked out branch name.
sync_statusstringsync_status is the repo sync state after the sync attempt.
last_sync_errorstringlast_sync_error contains the most recent sync failure, when present.
last_successful_pull_atstringlast_successful_pull_at is the last successful pull timestamp string.

UpdateRepoFileRequest

UpdateRepoFileRequest writes one file at a repo-relative path.

FieldTypeLabelDescription
pathstringpath is the repo-relative path to update.
contentstringcontent is the full replacement file content.
base_revisionstringbase_revision protects against writing on top of an unexpected HEAD.
commit_messagestringcommit_message is used for the generated Git commit.

ValidateRepoRequest

ValidateRepoRequest asks the controller to validate repo content.

ValidateRepoResponse

ValidateRepoResponse returns all repo validation problems found.

FieldTypeLabelDescription
errorsRepoValidationErrorrepeated

RepoCommandService

RepoCommandService applies changes to the controller Git repo.

Method NameRequest TypeResponse TypeDescription
UpdateRepoFileUpdateRepoFileRequestRepoWriteResultUpdateRepoFile writes one file, creates a commit, and reports sync state.
CreateRepoDirectoryCreateRepoDirectoryRequestRepoWriteResultCreateRepoDirectory creates one directory, creates a commit, and reports sync state.
MoveRepoPathMoveRepoPathRequestRepoWriteResultMoveRepoPath moves or renames one repo path.
DeleteRepoPathDeleteRepoPathRequestRepoWriteResultDeleteRepoPath deletes one repo path.
SyncRepoSyncRepoRequestSyncRepoResponseSyncRepo pulls or syncs the repo and returns the resulting state snapshot.

RepoQueryService

RepoQueryService exposes read-only views of the controller Git repo.

Method NameRequest TypeResponse TypeDescription
GetRepoHeadGetRepoHeadRequestGetRepoHeadResponseGetRepoHead returns current HEAD and sync metadata.
ListRepoFilesListRepoFilesRequestListRepoFilesResponseListRepoFiles lists direct children for one repo path.
GetRepoFileGetRepoFileRequestGetRepoFileResponseGetRepoFile returns the content of one repo file.
ListRepoCommitsListRepoCommitsRequestListRepoCommitsResponseListRepoCommits returns commit history using cursor pagination.
ValidateRepoValidateRepoRequestValidateRepoResponseValidateRepo runs repo validation and returns structured errors.

Top

proto/composia/controller/v1/secret.proto

GetSecretRequest

GetSecretRequest identifies one decrypted secret file for a service.

FieldTypeLabelDescription
service_namestring
file_pathstring
service_dirstring

GetSecretResponse

GetSecretResponse returns one decrypted secret file.

FieldTypeLabelDescription
service_namestring
file_pathstring
contentstring

UpdateSecretRequest

UpdateSecretRequest writes one decrypted secret file for a service.

FieldTypeLabelDescription
service_namestring
file_pathstringfile_path is the repo-relative secret file path for the service.
contentstringcontent is the full decrypted secret file content to store.
base_revisionstringbase_revision protects against writing on top of an unexpected HEAD.
commit_messagestringcommit_message is used for the generated Git commit.
service_dirstring

SecretService

SecretService reads and updates encrypted secret files stored in the repo.

Method NameRequest TypeResponse TypeDescription
GetSecretGetSecretRequestGetSecretResponseGetSecret returns the decrypted content for one service secret file.
UpdateSecretUpdateSecretRequestRepoWriteResultUpdateSecret writes one secret file and reports the resulting repo sync state.

Top

proto/composia/controller/v1/service.proto

GetServiceImageUpdateChecksRequest

GetServiceImageUpdateChecksRequest identifies one service and optional node.

FieldTypeLabelDescription
service_namestring
node_idstring

GetServiceImageUpdateChecksResponse

GetServiceImageUpdateChecksResponse returns latest image update checks.

FieldTypeLabelDescription
checksServiceImageUpdateCheckSummaryrepeated

GetServiceInstanceRequest

GetServiceInstanceRequest identifies one service instance by service and node.

FieldTypeLabelDescription
service_namestringservice_name is the logical service name.
node_idstringnode_id identifies the node hosting the requested instance.
include_containersboolinclude_containers includes instance container details when true.

GetServiceInstanceResponse

GetServiceInstanceResponse returns one service instance detail.

FieldTypeLabelDescription
instanceServiceInstanceDetailinstance contains the requested service instance. The RPC returns NotFound when the requested instance does not exist.

GetServiceRequest

GetServiceRequest addresses one service by logical name.

FieldTypeLabelDescription
service_namestringservice_name is the logical service name.
include_containersboolinclude_containers includes per-instance container details when true.

GetServiceResponse

GetServiceResponse describes one service and all known instances.

FieldTypeLabelDescription
namestring
runtime_statusstringruntime_status is the controller's aggregated status string.
updated_atstringupdated_at is the last known status update timestamp string.
nodesstringrepeatednodes lists the declared target nodes for this service.
enabledboolenabled reports the desired-state enabled flag for this service.
directorystringdirectory is the service directory inside the repo.
instancesServiceInstanceDetailrepeatedinstances lists per-node runtime details known to the controller.
actionsServiceActionCapabilitiesactions describes whether service-scoped actions may currently run.

GetServiceWorkspaceRequest

GetServiceWorkspaceRequest identifies one top-level service workspace folder.

FieldTypeLabelDescription
folderstring

GetServiceWorkspaceResponse

GetServiceWorkspaceResponse returns one top-level repo service workspace.

FieldTypeLabelDescription
workspaceServiceWorkspaceSummary

ImageUpdateSelection

ImageUpdateSelection identifies one configured image update to apply.

FieldTypeLabelDescription
image_namestring
target_tagstring
use_detectedbool

ListServiceInstancesRequest

ListServiceInstancesRequest addresses one service by logical name.

FieldTypeLabelDescription
service_namestringservice_name is the logical service name.

ListServiceInstancesResponse

ListServiceInstancesResponse returns known instances for one service.

FieldTypeLabelDescription
instancesServiceInstanceSummaryrepeated

ListServiceWorkspacesRequest

ListServiceWorkspacesRequest requests all top-level service workspaces.

ListServiceWorkspacesResponse

ListServiceWorkspacesResponse returns top-level repo service workspaces.

FieldTypeLabelDescription
workspacesServiceWorkspaceSummaryrepeated

ListServicesRequest

ListServicesRequest filters services by runtime status and page.

FieldTypeLabelDescription
runtime_statusstringruntime_status narrows results to one aggregated status string when set.
page_sizeuint32page_size is the requested page size.
pageuint32page is the 1-based page number.

ListServicesResponse

ListServicesResponse returns one page of service summaries.

FieldTypeLabelDescription
servicesServiceSummaryrepeated
total_countuint32total_count is the total number of matches before pagination.

MigrateServiceRequest

MigrateServiceRequest moves a service from one node to another.

FieldTypeLabelDescription
service_namestring
source_node_idstringsource_node_id identifies the current source node.
target_node_idstringtarget_node_id identifies the destination node.

RunServiceActionRequest

RunServiceActionRequest starts an async action for a service.

FieldTypeLabelDescription
service_namestringservice_name is the logical service name.
actionServiceActionaction is the async operation to start.
node_idsstringrepeatednode_ids optionally narrows the action to selected nodes.
data_namesstringrepeateddata_names narrows backup-like actions to selected data entries.
compose_recreate_modeComposeRecreateModecompose_recreate_mode controls deploy/update container recreation behavior.
image_updatesImageUpdateSelectionrepeatedimage_updates applies selected configured image updates before running update.
use_all_detected_image_updatesbooluse_all_detected_image_updates applies every detected image update for the service.
backup_before_updatebooloptionalbackup_before_update overrides the service config cascade for this request.
base_revisionstringbase_revision protects repo-backed image updates against stale HEAD writes.
commit_messagestringcommit_message is used for repo-backed image update commits.

RunServiceActionResponse

RunServiceActionResponse returns every queued task and any repo write side effect.

FieldTypeLabelDescription
tasksTaskActionResponserepeated
repo_writeRepoWriteResult

ServiceActionCapabilities

ServiceActionCapabilities describes whether service-scoped actions may run.

FieldTypeLabelDescription
backupCapability
restoreCapability
migrateCapability
dns_updateCapability
caddy_syncCapability
cloudflare_tunnel_syncCapability

ServiceContainerSummary

ServiceContainerSummary describes one container belonging to a service instance.

FieldTypeLabelDescription
container_idstringcontainer_id is the runtime container ID.
namestringname is the runtime container name.
imagestring
statestringstate is the low-level Docker state value.
statusstringstatus is the Docker status string intended for display.
createdstringcreated is the container creation timestamp string.
compose_projectstringcompose_project is the Compose project label, when present.
compose_servicestringcompose_service is the Compose service label, when present.

ServiceImageUpdateCheckSummary

ServiceImageUpdateCheckSummary describes the latest update check for one configured image.

FieldTypeLabelDescription
service_namestring
node_idstring
image_namestring
image_refstring
policy_typestring
current_valuestring
current_tagstring
current_digeststring
candidate_tagstring
candidate_digeststring
candidate_tagsstringrepeated
update_availablebool
check_statusstring
error_summarystring
checked_atstring

ServiceInstanceDetail

ServiceInstanceDetail extends the instance summary with container details.

FieldTypeLabelDescription
service_namestringservice_name is the logical service name.
node_idstringnode_id identifies the node hosting this instance.
runtime_statusstringruntime_status is the controller's current status string for this instance.
updated_atstringupdated_at is the last known status update timestamp string.
is_declaredboolis_declared reports whether this instance is part of desired state.
containersServiceContainerSummaryrepeatedcontainers lists runtime containers currently associated with the instance.
pending_deploy_revisionstringpending_deploy_revision is set when a repo change affects this service and a deploy is pending.

ServiceInstanceSummary

ServiceInstanceSummary describes one service instance on one node.

FieldTypeLabelDescription
service_namestringservice_name is the logical service name.
node_idstringnode_id identifies the node hosting this instance.
runtime_statusstringruntime_status is the controller's current status string for this instance.
updated_atstringupdated_at is the last known status update timestamp string.
is_declaredboolis_declared reports whether this instance is part of desired state.
pending_deploy_revisionstringpending_deploy_revision is set when a repo change affects this service and a deploy is pending.

ServiceSummary

ServiceSummary describes one service for list views.

FieldTypeLabelDescription
namestringname is the logical service name.
is_declaredboolis_declared reports whether the service exists in desired state.
runtime_statusstringruntime_status is the controller's aggregated status string.
updated_atstringupdated_at is the last known status update timestamp string.
instance_countuint32instance_count is the number of known service instances.
running_countuint32running_count is the number of running service instances.
target_node_countuint32target_node_count is the number of declared target nodes.

ServiceWorkspaceSummary

ServiceWorkspaceSummary describes one top-level repo workspace and any merged service state.

FieldTypeLabelDescription
folderstringfolder is the repo-relative top-level folder name for this workspace.
display_namestringdisplay_name is the preferred workspace label for operator-facing lists.
service_namestringservice_name is empty until the workspace has a parseable service name.
has_metaboolhas_meta reports whether composia-meta.yaml exists in the workspace.
is_declaredboolis_declared reports whether this workspace currently maps to a declared controller service.
runtime_statusstringruntime_status is the merged controller status or a workspace-local placeholder.
updated_atstringupdated_at is the last known controller update timestamp string.
nodesstringrepeatednodes lists declared target nodes when the workspace meta is parseable.
enabledboolenabled reports the desired-state enabled flag when the workspace meta is parseable.
actionsServiceActionCapabilitiesactions describes whether service-scoped actions may currently run.

ComposeRecreateMode

ComposeRecreateMode controls whether docker compose up recreates containers.

NameNumberDescription
COMPOSE_RECREATE_MODE_UNSPECIFIED0COMPOSE_RECREATE_MODE_UNSPECIFIED uses the default automatic behavior.
COMPOSE_RECREATE_MODE_AUTO1COMPOSE_RECREATE_MODE_AUTO recreates when bind mounts need refreshed.
COMPOSE_RECREATE_MODE_NO_RECREATE2COMPOSE_RECREATE_MODE_NO_RECREATE runs docker compose up without forcing recreation.
COMPOSE_RECREATE_MODE_FORCE_RECREATE3COMPOSE_RECREATE_MODE_FORCE_RECREATE always passes –force-recreate.

ServiceAction

ServiceAction identifies an async action that targets a service.

NameNumberDescription
SERVICE_ACTION_UNSPECIFIED0SERVICE_ACTION_UNSPECIFIED is invalid and should not be used.
SERVICE_ACTION_DEPLOY1SERVICE_ACTION_DEPLOY creates or reconciles the service on target nodes.
SERVICE_ACTION_UPDATE2SERVICE_ACTION_UPDATE refreshes the running service from desired state.
SERVICE_ACTION_STOP3SERVICE_ACTION_STOP stops the service.
SERVICE_ACTION_RESTART4SERVICE_ACTION_RESTART restarts the service.
SERVICE_ACTION_BACKUP5SERVICE_ACTION_BACKUP triggers a backup task.
SERVICE_ACTION_DNS_UPDATE6SERVICE_ACTION_DNS_UPDATE refreshes DNS records for the service.
SERVICE_ACTION_CADDY_SYNC7SERVICE_ACTION_CADDY_SYNC syncs related Caddy configuration.
SERVICE_ACTION_CLOUDFLARE_TUNNEL_SYNC8SERVICE_ACTION_CLOUDFLARE_TUNNEL_SYNC syncs related Cloudflare Tunnel configuration.

ServiceCommandService

ServiceCommandService triggers service-level state changes and async actions.

Method NameRequest TypeResponse TypeDescription
RunServiceActionRunServiceActionRequestRunServiceActionResponseRunServiceAction starts an async action for a service and returns all created tasks.
MigrateServiceMigrateServiceRequestTaskActionResponseMigrateService starts an async service migration between two nodes.

ServiceInstanceService

ServiceInstanceService queries and operates on one concrete service instance.

Method NameRequest TypeResponse TypeDescription
ListServiceInstancesListServiceInstancesRequestListServiceInstancesResponseListServiceInstances lists all instances for one service.
GetServiceInstanceGetServiceInstanceRequestGetServiceInstanceResponseGetServiceInstance returns the detail for one service instance on one node.

ServiceQueryService

ServiceQueryService exposes read-only service workspace, declared service, task, and backup queries.

Method NameRequest TypeResponse TypeDescription
ListServicesListServicesRequestListServicesResponseListServices returns declared services with pagination.
ListServiceWorkspacesListServiceWorkspacesRequestListServiceWorkspacesResponseListServiceWorkspaces returns top-level repo service workspaces with merged controller state.
GetServiceGetServiceRequestGetServiceResponseGetService returns the full detail for a single service.
GetServiceWorkspaceGetServiceWorkspaceRequestGetServiceWorkspaceResponseGetServiceWorkspace returns one top-level repo service workspace.
GetServiceImageUpdateChecksGetServiceImageUpdateChecksRequestGetServiceImageUpdateChecksResponseGetServiceImageUpdateChecks returns latest configured image update checks for one service.

Scalar Value Types

.proto TypeNotesC++JavaPythonGoC#PHPRuby
doubledoubledoublefloatfloat64doublefloatFloat
floatfloatfloatfloatfloat32floatfloatFloat
int32Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.int32intintint32intintegerBignum or Fixnum (as required)
int64Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.int64longint/longint64longinteger/stringBignum
uint32Uses variable-length encoding.uint32intint/longuint32uintintegerBignum or Fixnum (as required)
uint64Uses variable-length encoding.uint64longint/longuint64ulonginteger/stringBignum or Fixnum (as required)
sint32Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.int32intintint32intintegerBignum or Fixnum (as required)
sint64Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.int64longint/longint64longinteger/stringBignum
fixed32Always four bytes. More efficient than uint32 if values are often greater than 2^28.uint32intintuint32uintintegerBignum or Fixnum (as required)
fixed64Always eight bytes. More efficient than uint64 if values are often greater than 2^56.uint64longint/longuint64ulonginteger/stringBignum
sfixed32Always four bytes.int32intintint32intintegerBignum or Fixnum (as required)
sfixed64Always eight bytes.int64longint/longint64longinteger/stringBignum
boolboolbooleanbooleanboolboolbooleanTrueClass/FalseClass
stringA string must always contain UTF-8 encoded or 7-bit ASCII text.stringStringstr/unicodestringstringstringString (UTF-8)
bytesMay contain any arbitrary sequence of bytes.stringByteStringstr[]byteByteStringstringString (ASCII-8BIT)
Last updated on • Renovate Bot