Deployments
A deployment object is made up of a name and a specification. The name of a deployment is only used for referencing purposes and doesn't make up the actual name of the deployment created in Kubernetes.
The deployment specification is a node containing a reference to the pipeline for creation. It can also contain specifications to overwrite the stream-in or stream-out of the referenced pipeline.
{
"name": "deployment-name",
"spec": {
"pipeline": "dc161a69-fa49-4b1a-b1b1-6d8246d50d71",
"stream-in-config": {
"uuid": "dc161a69-fa49-4b1a-b1b1-6d8246d50d72"
},
"stream-out-config": {
"uuid": "dc161a69-fa49-4b1a-b1b1-6d8246d50d73"
}
}
}
The response body of each deployment endpoint for manipulation (GET, POST, PUT), will return a payload with the same structure, containing the given deployment name, uuid, created and updated timestamps, specification and information about the current status of the Kubernetes deployment. The response payload of a healthy deployment looks as follows:
{
"name": "deployment-name",
"uuid": "d1aea745-b0fc-4dbd-ba31-31e9d9a7a890",
"createdAt": "2022-11-16T14:36:50.517+00:00",
"updatedAt": "2022-11-16T14:36:50.517+00:00",
"spec": {
"pipeline": "5f1bc02a-7e13-43a7-9a3f-dddc0a7d329f",
"stream-in-config": {
"bootstrap.servers": "localhost:9092"
},
"stream-out-config": {
"bootstrap.servers": "localhost:9092"
}
},
"status": {
"datacater-deployment-d1aea745-b0fc-4dbd-ba31-31e9d9a7a890": {
"datacater.io/revision": "1",
"datacater.io/pipeline": "1",
"deployment.kubernetes.io/revision": "1",
"datacater.io/app": "datacater-pipeline",
"Conditions": [
{
"lastTransitionTime": "2022-11-16T14:36:54Z",
"lastUpdateTime": "2022-11-16T14:36:54Z",
"message": "Deployment has minimum availability.",
"reason": "MinimumReplicasAvailable",
"status": "True",
"type": "Available"
},
{
"lastTransitionTime": "2022-11-16T14:36:50Z",
"lastUpdateTime": "2022-11-16T14:36:54Z",
"message": "ReplicaSet \"datacater-deployment-d1aea745-b0fc-4dbd-ba31-31e9d9a7a890-5f787d5c46\" has successfully progressed.",
"reason": "NewReplicaSetAvailable",
"status": "True",
"type": "Progressing"
}
],
"datacater.io/uuid": "d1aea745-b0fc-4dbd-ba31-31e9d9a7a890"
}
}
}
Get all deployments.
get
/api/v1/deployments
Get a specific deployment identified by its uuid.
get
/api/v1/deployments/{uuid}
Get the logs of a specific deployment identified by its uuid.
get
/api/v1/deployments/{uuid}/logs
Get and follow the incoming logs of a specific deployment identified by its uuid. The logs are provided via Server-sent events.
get
/api/v1/deployments/{uuid}/watch-logs
Get the health status of the deployments underlying pipeline identified by the deployments uuid.
For the time being, this endpoint is only supported when the DataCater Platform and Deployment are hosted and running in the same Kubernetes cluster.
get
/api/v1/deployments/{uuid}/health
Get the metrics of the deployments underlying pipeline identified by the deployments uuid.
For the time being, this endpoint is only supported when the DataCater Platform and Deployment are hosted and running in the same Kubernetes cluster.
get
/api/v1/deployments/{uuid}/metrics
Create a new deployment.
post
/api/v1/deployments
Update a specific deployment identified by its uuid.
put
/api/v1/deployments/{uuid}
Delete a specific deployment identified by its uuid.
delete
/api/v1/deployments/{uuid}
Last modified 1mo ago