Glossary of Resources
There are many resources available in the Datum Cloud API that can be used to manage your infrastructure. This document provides an overview of the available resources and how to use them.
Export Policies
Detailed Export Policies API Reference
apiVersion: v1
items:
- apiVersion: telemetry.datumapis.com/v1alpha1
kind: ExportPolicy
metadata:
name: exportpolicy
spec:
sinks:
- name: grafana-cloud-metrics
sources:
- telemetry-metrics
- gateway-metrics
target:
prometheusRemoteWrite:
authentication:
basicAuth:
secretRef:
name: grafana-cloud-credentials
batch:
maxSize: 500
timeout: 5s
endpoint: https://prometheus-prod-56-prod-us-east-2.grafana.net/api/prom/push
retry:
backoffDuration: 2s
maxAttempts: 3
sources:
- metrics:
metricsql: |
{service_name="telemetry.datumapis.com"}
name: telemetry-metrics
- metrics:
metricsql: |
{service_name="gateway.networking.k8s.io"}
name: gateway-metrics
kind: List
metadata: {}
apiVersion: telemetry.datumapis.com/v1alpha1
kind: ExportPolicy
metadata:
name: exportpolicy-sample
spec:
# Defines the telemetry sources that should be exported. An export policy can
# define multiple telemetry sources. Telemetry data will **not** be de-duped if
# its selected from multiple sources
sources:
- name: "telemetry-metrics" # Descriptive name for the source
# Source metrics from the Datum Cloud platform
metrics:
# The options in this section are expected to be mutually exclusive. Users
# can either leverage metricsql or resource selectors.
#
# This option allows user to supply a metricsql query if they're already
# familiar with using metricsql queries to select metric data from
# Victoria Metrics.
metricsql: |
{service_name="telemetry.datumapis.com"}
sinks:
- name: grafana-cloud-metrics
sources:
- telemetry-metrics
target:
prometheusRemoteWrite:
endpoint: "https://prometheus-prod-56-prod-us-east-2.grafana.net/api/prom/push"
authentication:
basicAuth:
secretRef:
name: "grafana-cloud-credentials"
batch:
timeout: 5s # Batch timeout before sending telemetry
maxSize: 500 # Maximum number of telemetry entries per batch
retry:
maxAttempts: 3 # Maximum retry attempts
backoffDuration: 2s # Delay between retry attempts
Instances
Detailed Instances API Reference
Instances are what a workload creates.
Let’s say you create a workload to run a container and set the location to a GCP region. Datum’s workload operator will create a GCP virtual machine in that region and run the container on it. The GCP virtual machine is the instance.
Locations
Detailed Locations API Reference
apiVersion: networking.datumapis.com/v1alpha
kind: Location
metadata:
name: gcp-us-west1-a
spec:
locationClassName: datum-managed
topology:
topology.datum.net/city-code: DLS
provider:
gcp:
projectId: datum-cloud-poc-1
region: us-west1
zone: us-west1-a
Networks
Detailed Networks API Reference
apiVersion: networking.datumapis.com/v1alpha
kind: Network
metadata:
name: default
spec:
ipam:
mode: Auto
apiVersion: networking.datumapis.com/v1alpha
kind: Network
metadata:
name: default
spec:
ipam:
mode: Auto
ipv4Ranges:
- 172.17.0.0/16
ipv6Ranges:
- fd20:1234:5678::/48
Network Bindings
Detailed Network Bindings API Reference
Network Contexts
Detailed Network Contexts API Reference
Network Policies
Detailed Network Policies API Reference
Projects
Detailed Projects API Reference
kind: Project
metadata:
generateName: sample-project-
spec:
Subnet Claims
Detailed Subnet Claims API Reference
Subnets
Detailed Subnets API Reference
Workload
Detailed Workload API Reference
apiVersion: compute.datumapis.com/v1alpha
kind: Workload
metadata:
labels:
tier: app
name: workload-sandbox-sample
spec:
template:
metadata:
labels:
tier: app
spec:
runtime:
resources:
instanceType: datumcloud/d1-standard-2
sandbox:
containers:
- name: netdata
image: docker.io/netdata/netdata:latest
volumeAttachments:
- name: secret
mountPath: /secret
- name: configmap
mountPath: /configmap
networkInterfaces:
- network:
name: default
networkPolicy:
ingress:
- ports:
- port: 19999
- port: 22
from:
- ipBlock:
cidr: 0.0.0.0/0
volumes:
- name: secret
secret:
secretName: workload-sandbox-sample-secret
- name: configmap
configMap:
name: workload-sandbox-sample-configmap
placements:
- name: us
cityCodes:
- DFW
scaleSettings:
minReplicas: 1
apiVersion: compute.datumapis.com/v1alpha
kind: Workload
metadata:
labels:
tier: app
name: workload-sample
spec:
template:
metadata:
labels:
tier: app
spec:
runtime:
resources:
instanceType: datumcloud/d1-standard-2
sandbox:
containers:
- name: netdata
image: docker.io/netdata/netdata:latest
networkInterfaces:
- network:
name: default
networkPolicy:
ingress:
- ports:
- port: 19999
from:
- ipBlock:
cidr: 0.0.0.0/0
placements:
- name: us-south
cityCodes:
- DFW
scaleSettings:
minReplicas: 1
- name: us-south2
cityCodes:
- DFW
scaleSettings:
minReplicas: 1
apiVersion: compute.datumapis.com/v1alpha
kind: Workload
metadata:
labels:
tier: app
name: workload-vm-sample
spec:
template:
metadata:
annotations:
compute.datumapis.com/ssh-keys: |
myuser:ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAqyjfr0gTk1lxqA/eEac0djYWuw+ZLFphPHmfWwxbO5 joshlreese@gmail.com
labels:
tier: app
spec:
runtime:
resources:
instanceType: datumcloud/d1-standard-2
virtualMachine:
volumeAttachments:
- name: boot
- name: secret
mountPath: /secret
- name: configmap
mountPath: /configmap
networkInterfaces:
- network:
name: default
networkPolicy:
ingress:
- ports:
- port: 22
from:
- ipBlock:
cidr: 0.0.0.0/0
volumes:
- name: boot
disk:
template:
spec:
type: pd-standard
populator:
image:
name: datumcloud/ubuntu-2204-lts
- name: secret
secret:
secretName: workload-vm-sample-secret
- name: configmap
configMap:
name: workload-vm-sample-configmap
placements:
- name: us-south
cityCodes:
- DFW
scaleSettings:
minReplicas: 1