DataCater
Search…
⌃K

Deployments

Deployment Payload

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"
}
}
}

Deployment Response Payload

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 deployments

Get all deployments.
get
/api/v1/deployments

Get deployments

Get a specific deployment identified by its uuid.
get
/api/v1/deployments/{uuid}

Get deployments log

Get the logs of a specific deployment identified by its uuid.
get
/api/v1/deployments/{uuid}/logs

Get deployments log and follow

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 deployments health

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 deployments metrics

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 deployment

Create a new deployment.
post
/api/v1/deployments

Update deployment

Update a specific deployment identified by its uuid.
put
/api/v1/deployments/{uuid}

Delete deployment

Delete a specific deployment identified by its uuid.
delete
/api/v1/deployments/{uuid}