Aggregators

Create aggregator

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

POSThttps://cloud-api.calyptia.com/v1/aggregators
Authorization
Body
name*string (hostname)
Example: "new-aggregator"
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 aggregator 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 aggregator 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-aggregator"
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-aggregator",
      "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-aggregator",
  "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-10-06T10:23:00.596Z"
    },
    "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-10-06T10:23:00.596Z",
        "updatedAt": "2024-10-06T10:23:00.596Z"
      }
    ],
    "status": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "config": {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "rawConfig": "text",
        "createdAt": "2024-10-06T10:23:00.596Z"
      },
      "status": "NEW",
      "events": [
        {
          "source": "k8s:deployment",
          "reason": "text",
          "message": "text",
          "loggedAt": "2024-10-06T10:23:00.596Z"
        }
      ],
      "createdAt": "2024-10-06T10:23:00.596Z"
    },
    "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-10-06T10:23:00.596Z",
      "updatedAt": "2024-10-06T10:23:00.596Z"
    },
    "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-10-06T10:23:00.596Z",
        "updatedAt": "2024-10-06T10:23:00.596Z"
      }
    ],
    "files": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "processingRuleID": "123e4567-e89b-12d3-a456-426614174000",
        "name": "myfile",
        "contents": "Ynl0ZXM=",
        "encrypted": false,
        "createdAt": "2024-10-06T10:23:00.596Z",
        "updatedAt": "2024-10-06T10:23:00.596Z"
      }
    ],
    "ports": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "protocol": "tcp",
        "kind": "LoadBalancer",
        "endpoint": "text",
        "pluginID": "forward.0",
        "pluginName": "forward",
        "pluginAlias": "myforwardinput",
        "createdAt": "2024-10-06T10:23:00.596Z",
        "updatedAt": "2024-10-06T10:23:00.596Z"
      }
    ],
    "scaleUpType": "Unknown",
    "scaleDownType": "Unknown",
    "portKind": "LoadBalancer",
    "createdAt": "2024-10-06T10:23:00.596Z",
    "updatedAt": "2024-10-06T10:23:00.596Z"
  },
  "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-10-06T10:23:00.596Z"
    },
    "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-10-06T10:23:00.596Z",
        "updatedAt": "2024-10-06T10:23:00.596Z"
      }
    ],
    "status": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "config": {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "rawConfig": "text",
        "createdAt": "2024-10-06T10:23:00.596Z"
      },
      "status": "NEW",
      "events": [
        {
          "source": "k8s:deployment",
          "reason": "text",
          "message": "text",
          "loggedAt": "2024-10-06T10:23:00.596Z"
        }
      ],
      "createdAt": "2024-10-06T10:23:00.596Z"
    },
    "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-10-06T10:23:00.596Z",
      "updatedAt": "2024-10-06T10:23:00.596Z"
    },
    "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-10-06T10:23:00.596Z",
        "updatedAt": "2024-10-06T10:23:00.596Z"
      }
    ],
    "files": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "processingRuleID": "123e4567-e89b-12d3-a456-426614174000",
        "name": "myfile",
        "contents": "Ynl0ZXM=",
        "encrypted": false,
        "createdAt": "2024-10-06T10:23:00.596Z",
        "updatedAt": "2024-10-06T10:23:00.596Z"
      }
    ],
    "ports": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "protocol": "tcp",
        "kind": "LoadBalancer",
        "endpoint": "text",
        "pluginID": "forward.0",
        "pluginName": "forward",
        "pluginAlias": "myforwardinput",
        "createdAt": "2024-10-06T10:23:00.596Z",
        "updatedAt": "2024-10-06T10:23:00.596Z"
      }
    ],
    "scaleUpType": "Unknown",
    "scaleDownType": "Unknown",
    "portKind": "LoadBalancer",
    "createdAt": "2024-10-06T10:23:00.596Z",
    "updatedAt": "2024-10-06T10:23:00.596Z"
  },
  "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-10-06T10:23:00.596Z",
      "updatedAt": "2024-10-06T10:23:00.596Z"
    }
  ],
  "environmentName": "default",
  "skipServiceCreation": false,
  "createdAt": "2024-10-06T10:23:00.596Z"
}

Aggregator

Aggregator by ID.

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

OK

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

Running status of the aggregator 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-aggregator",
  "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-10-06T10:23:00.596Z",
  "updatedAt": "2024-10-06T10:23:00.596Z",
  "tags": [
    "text"
  ],
  "environmentName": "default",
  "skipServiceCreation": false
}

Delete aggregator

Delete aggregator 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 aggregator

Update aggregator by its ID.

PATCHhttps://cloud-api.calyptia.com/v1/aggregators/{aggregatorID}
Authorization
Path parameters
aggregatorID*string (uuid)
Body
namenullable string (hostname)
Example: "new-aggregator"
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 aggregator 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();