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
Section titled “Export Policies”Detailed Export Policies API Reference
apiVersion: v1items:- apiVersion: telemetry.miloapis.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.miloapis.com"} name: telemetry-metrics - metrics: metricsql: | {service_name="gateway.networking.k8s.io"} name: gateway-metricskind: Listmetadata: {}
apiVersion: telemetry.miloapis.com/v1alpha1kind: ExportPolicymetadata: name: exportpolicy-samplespec:
# 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.miloapis.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
Section titled “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
Section titled “Locations”Detailed Locations API Reference
apiVersion: networking.datumapis.com/v1alphakind: Locationmetadata: name: gcp-us-west1-aspec: 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
Section titled “Networks”Detailed Networks API Reference
apiVersion: networking.datumapis.com/v1alphakind: Networkmetadata: name: defaultspec: ipam: mode: Auto
apiVersion: networking.datumapis.com/v1alphakind: Networkmetadata: name: defaultspec: ipam: mode: Auto ipv4Ranges: - 172.17.0.0/16 ipv6Ranges: - fd20:1234:5678::/48
Network Bindings
Section titled “Network Bindings”Detailed Network Bindings API Reference
Network Contexts
Section titled “Network Contexts”Detailed Network Contexts API Reference
Network Policies
Section titled “Network Policies”Detailed Network Policies API Reference
Projects
Section titled “Projects”Detailed Projects API Reference
kind: Projectmetadata: generateName: sample-project-spec:
Subnet Claims
Section titled “Subnet Claims”Detailed Subnet Claims API Reference
Subnets
Section titled “Subnets”Detailed Subnets API Reference
Workload
Section titled “Workload”Detailed Workload API Reference
apiVersion: compute.datumapis.com/v1alphakind: Workloadmetadata: labels: tier: app name: workload-sandbox-samplespec: 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/v1alphakind: Workloadmetadata: labels: tier: app name: workload-samplespec: 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/v1alphakind: Workloadmetadata: labels: tier: app name: workload-vm-samplespec: 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