Aggregators

Create core instance

Create core instance within a project. The project in which the core instance is created is parser from the authorization token. Users are not allowed to create core instances.

POSThttps://cloud-api.calyptia.com/v1/aggregators
Authorization
Body
name*string (hostname)
Example: "new-core-instance"
imagenullable string

default core-fluent-bit image to use by the pipelines created on this core_instance.

Example: "ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2"
version*string
Example: "v0.1.12"
addHealthCheckPipeline*boolean
clusterLoggingboolean

Enable cluster-logging functionality on this core instance.

healthCheckPipelinePort*integer (int32)
healthCheckPipelinePortKind*PipelinePortKind (enum)

The kind/type of the service associated to this port.

LoadBalancerClusterIPNodePort
metadatanullable object
environmentIDnullable string

environment ID to associate this core instance with.

skipServiceCreationnullable boolean

If true, kubernetes service creation will be skipped for all pipelines that exists on this core_instance.

Response

Created

Body
id*string (uuid)
token*string
Example: "redacted"
privateRSAKey*string (byte)
publicRSAKey*string (byte)
name*string (hostname)
Example: "my-core-instance"
version*string
Example: "v0.1.12"
image*string

default core-fluent-bit image to use by the pipelines created on this core_instance.

Example: "ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2"
tags*nullable array of string
healthCheckPipeline*Pipeline (object)

Pipeline model.

clusterLoggingPipeline*Pipeline (object)

Pipeline model.

resourceProfiles*array of ResourceProfile (object)
environmentName*string

environment name on which the agent belongs to.

skipServiceCreation*boolean
createdAt*string (date-time)
Request
const response = await fetch('https://cloud-api.calyptia.com/v1/aggregators', {
    method: 'POST',
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      "name": "new-core-instance",
      "version": "v0.1.12",
      "addHealthCheckPipeline": false,
      "healthCheckPipelinePortKind": "LoadBalancer"
    }),
});
const data = await response.json();
Response
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "token": "redacted",
  "privateRSAKey": "Ynl0ZXM=",
  "publicRSAKey": "Ynl0ZXM=",
  "name": "my-core-instance",
  "version": "v0.1.12",
  "image": "ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2",
  "tags": [
    "text"
  ],
  "healthCheckPipeline": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "my-pipeline",
    "kind": "deployment",
    "config": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "rawConfig": "text",
      "configFormat": "ini",
      "createdAt": "2024-11-21T13:03:43.134Z"
    },
    "configSections": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "projectID": "123e4567-e89b-12d3-a456-426614174000",
        "processingRuleID": "123e4567-e89b-12d3-a456-426614174000",
        "kind": "input",
        "properties": [
          {
            "key": "name",
            "value": "dummy"
          }
        ],
        "createdAt": "2024-11-21T13:03:43.134Z",
        "updatedAt": "2024-11-21T13:03:43.134Z"
      }
    ],
    "status": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "config": {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "rawConfig": "text",
        "createdAt": "2024-11-21T13:03:43.134Z"
      },
      "status": "NEW",
      "events": [
        {
          "source": "k8s:deployment",
          "reason": "text",
          "message": "text",
          "loggedAt": "2024-11-21T13:03:43.134Z"
        }
      ],
      "createdAt": "2024-11-21T13:03:43.134Z"
    },
    "resourceProfile": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "my-resource-profile",
      "storageSyncFull": false,
      "storageBacklogMemLimit": "1Mi",
      "storageVolumeSize": "2Mi",
      "storageMaxChunksPause": false,
      "cpuLimit": "3Mi",
      "cpuRequest": "4Mi",
      "memoryLimit": "5Mi",
      "memoryRequest": "6Mi",
      "createdAt": "2024-11-21T13:03:43.134Z",
      "updatedAt": "2024-11-21T13:03:43.134Z"
    },
    "deploymentStrategy": "recreate",
    "tracingEnabled": false,
    "waitForChecksBeforeDeploying": false,
    "image": "ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2",
    "tags": [
      "text"
    ],
    "secrets": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "key": "mysecret",
        "value": "Ynl0ZXM=",
        "createdAt": "2024-11-21T13:03:43.134Z",
        "updatedAt": "2024-11-21T13:03:43.134Z"
      }
    ],
    "files": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "processingRuleID": "123e4567-e89b-12d3-a456-426614174000",
        "name": "myfile",
        "contents": "Ynl0ZXM=",
        "encrypted": false,
        "createdAt": "2024-11-21T13:03:43.134Z",
        "updatedAt": "2024-11-21T13:03:43.134Z"
      }
    ],
    "ports": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "protocol": "tcp",
        "kind": "LoadBalancer",
        "endpoint": "text",
        "pluginID": "forward.0",
        "pluginName": "forward",
        "pluginAlias": "myforwardinput",
        "createdAt": "2024-11-21T13:03:43.134Z",
        "updatedAt": "2024-11-21T13:03:43.134Z"
      }
    ],
    "scaleUpType": "Unknown",
    "scaleDownType": "Unknown",
    "portKind": "LoadBalancer",
    "createdAt": "2024-11-21T13:03:43.134Z",
    "updatedAt": "2024-11-21T13:03:43.134Z"
  },
  "clusterLoggingPipeline": {
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "name": "my-pipeline",
    "kind": "deployment",
    "config": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "rawConfig": "text",
      "configFormat": "ini",
      "createdAt": "2024-11-21T13:03:43.134Z"
    },
    "configSections": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "projectID": "123e4567-e89b-12d3-a456-426614174000",
        "processingRuleID": "123e4567-e89b-12d3-a456-426614174000",
        "kind": "input",
        "properties": [
          {
            "key": "name",
            "value": "dummy"
          }
        ],
        "createdAt": "2024-11-21T13:03:43.134Z",
        "updatedAt": "2024-11-21T13:03:43.134Z"
      }
    ],
    "status": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "config": {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "rawConfig": "text",
        "createdAt": "2024-11-21T13:03:43.134Z"
      },
      "status": "NEW",
      "events": [
        {
          "source": "k8s:deployment",
          "reason": "text",
          "message": "text",
          "loggedAt": "2024-11-21T13:03:43.134Z"
        }
      ],
      "createdAt": "2024-11-21T13:03:43.134Z"
    },
    "resourceProfile": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "my-resource-profile",
      "storageSyncFull": false,
      "storageBacklogMemLimit": "1Mi",
      "storageVolumeSize": "2Mi",
      "storageMaxChunksPause": false,
      "cpuLimit": "3Mi",
      "cpuRequest": "4Mi",
      "memoryLimit": "5Mi",
      "memoryRequest": "6Mi",
      "createdAt": "2024-11-21T13:03:43.134Z",
      "updatedAt": "2024-11-21T13:03:43.134Z"
    },
    "deploymentStrategy": "recreate",
    "tracingEnabled": false,
    "waitForChecksBeforeDeploying": false,
    "image": "ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2",
    "tags": [
      "text"
    ],
    "secrets": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "key": "mysecret",
        "value": "Ynl0ZXM=",
        "createdAt": "2024-11-21T13:03:43.134Z",
        "updatedAt": "2024-11-21T13:03:43.134Z"
      }
    ],
    "files": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "processingRuleID": "123e4567-e89b-12d3-a456-426614174000",
        "name": "myfile",
        "contents": "Ynl0ZXM=",
        "encrypted": false,
        "createdAt": "2024-11-21T13:03:43.134Z",
        "updatedAt": "2024-11-21T13:03:43.134Z"
      }
    ],
    "ports": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "protocol": "tcp",
        "kind": "LoadBalancer",
        "endpoint": "text",
        "pluginID": "forward.0",
        "pluginName": "forward",
        "pluginAlias": "myforwardinput",
        "createdAt": "2024-11-21T13:03:43.134Z",
        "updatedAt": "2024-11-21T13:03:43.134Z"
      }
    ],
    "scaleUpType": "Unknown",
    "scaleDownType": "Unknown",
    "portKind": "LoadBalancer",
    "createdAt": "2024-11-21T13:03:43.134Z",
    "updatedAt": "2024-11-21T13:03:43.134Z"
  },
  "resourceProfiles": [
    {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "my-resource-profile",
      "storageSyncFull": false,
      "storageBacklogMemLimit": "1Mi",
      "storageVolumeSize": "2Mi",
      "storageMaxChunksPause": false,
      "cpuLimit": "3Mi",
      "cpuRequest": "4Mi",
      "memoryLimit": "5Mi",
      "memoryRequest": "6Mi",
      "createdAt": "2024-11-21T13:03:43.134Z",
      "updatedAt": "2024-11-21T13:03:43.134Z"
    }
  ],
  "environmentName": "default",
  "skipServiceCreation": false,
  "createdAt": "2024-11-21T13:03:43.134Z"
}

Core instance

Core instance by ID.

GEThttps://cloud-api.calyptia.com/v1/aggregators/{aggregatorID}
Authorization
Path parameters
aggregatorID*string (uuid)
Query parameters
Response

OK

Body
id*string (uuid)
token*string
Example: "redacted"
name*string (hostname)
Example: "my-core-instance"
versionstring
Example: "v0.1.12"
statusenum

Running status of the core instance in reference to the last ping. Refer to https://pkg.go.dev/github.com/calyptia/api@main/types#pkg-constants if looking up for the current timeout defaults.

runningwaitingunreachable
metadataCoreInstanceMetadata (object)

Core Instance Metadata model.

pipelinesCount*integer
createdAt*string (date-time)
updatedAt*string (date-time)
tagsnullable array of string
environmentName*string
Example: "default"
skipServiceCreation*boolean
Request
const response = await fetch('https://cloud-api.calyptia.com/v1/aggregators/{aggregatorID}', {
    method: 'GET',
    headers: {
      "Authorization": "Bearer <token>"
    },
});
const data = await response.json();
Response
{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "token": "redacted",
  "name": "my-core-instance",
  "version": "v0.1.12",
  "status": "running",
  "metadata": {
    "aws.ami_id": "text",
    "aws.account_id": "text",
    "aws.hostname": "text",
    "aws.vpc_id": "text",
    "aws.private_ipv4": "text",
    "aws.public_ipv4": "text",
    "aws.ec2_instance_id": "text",
    "aws.ec2_instance_type": "text",
    "aws.az": "text"
  },
  "createdAt": "2024-11-21T13:03:43.134Z",
  "updatedAt": "2024-11-21T13:03:43.134Z",
  "tags": [
    "text"
  ],
  "environmentName": "default",
  "skipServiceCreation": false
}

Delete core instance

Delete core instance by its ID.

DELETEhttps://cloud-api.calyptia.com/v1/aggregators/{aggregatorID}
Authorization
Path parameters
aggregatorID*string (uuid)
Response

No Content

Request
const response = await fetch('https://cloud-api.calyptia.com/v1/aggregators/{aggregatorID}', {
    method: 'DELETE',
    headers: {
      "Authorization": "Bearer <token>"
    },
});
const data = await response.json();

Update core instance

Update core instance by its ID.

PATCHhttps://cloud-api.calyptia.com/v1/aggregators/{aggregatorID}
Authorization
Path parameters
aggregatorID*string (uuid)
Body
namenullable string (hostname)
Example: "new-core-instance"
imagenullable string

default core-fluent-bit image to use by the pipelines created on this core_instance.

Example: "ghcr.io/calyptia/core/calyptia-fluent-bit:23.1.2"
clusterLoggingnullable boolean

enable or disable cluster-logging functionality.

versionnullable string
Example: "v0.1.12"
tagsnullable array of string
metadataCoreInstanceMetadata (object)

Core Instance Metadata model.

environmentIDnullable string

environment ID to associate this core instance with.

skipServiceCreationnullable boolean

If true, kubernetes service creation will be skipped for all pipelines that exists on this core_instance.

Response

No Content

Request
const response = await fetch('https://cloud-api.calyptia.com/v1/aggregators/{aggregatorID}', {
    method: 'PATCH',
    headers: {
      "Authorization": "Bearer <token>",
      "Content-Type": "application/json"
    },
    body: JSON.stringify({}),
});
const data = await response.json();