Datum is a network cloud you can take anywhere, backed by open source.
The Datum control plane is a collection of multiple projects developed with Kubernetes control plane technology, most of which can be installed into native Kubernetes clusters.
- Quick Start with GCP - Coming Soon!
- Development Guide - Coming Soon!
Our documentation is available at docs.datum.net. If you want to learn more about what's under development or suggest features, please visit our feedback site.
The Datum API server leverages Kubernetes API server libraries to enable compatibility with existing Kubernetes ecosystems tooling such as kubectl, helm, kustomize, Terraform, Pulumi, Ansible, kubebuilder, operator-sdk, and more.
While the Datum API server exposes a handful of existing Kubernetes API types such as Secrets and ConfigMaps, you will not find definitions for Pods, Deployments, Services, etc. This approach takes advantage of recent developments in the Kubernetes project to build a generic control plane, exposing libraries that external software can depend on and build upon.
Datum leverages the operator pattern to define APIs and implement controllers via the use of kubebuilder. Each Datum operator can be deployed into any native Kubernetes cluster that meets minimum API version requirements, and does not rely on specific functionality provided by the Datum API server.
APIs:
- Networks, NetworkContexts, NetworkBindings, and NetworkPolicies
- SubnetClaims and Subnets
- IP Address Management (IPAM)
Controller responsibilities:
- Creating NetworkContexts as required by NetworkBindings.
- Allocating Subnets to SubnetClaims
APIs:
- Workloads, WorkloadDeployments, and Instances
Controller responsibilities:
- Creating one or more WorkloadDeployments for candidate locations based on Workload placement intent.
- Scheduling WorkloadDeployments onto Locations.
The Workloads RFC is recommended reading for those interested in the design goals of this system.
Integrates with the Network Services and Workload Operators to provision resources within Google Cloud Platform (GCP). This operator connects to:
- An upstream control plane hosting Datum entities
- An infrastructure control plane running GCP Config Connector
Controller responsibilities:
- Maintaining instances as Virtual Machines in GCP.
- Maintaining VPC related entities such as networks and subnets.
- Discovering instances provisioned by GCP controllers, such as managed instance groups.
If you choose to contribute to any of our projects, we would love to work with you to ensure a great experience.
- Check out our roadmap and changelog.
- Read and subscribe to the Datum blog.
- For general discussions, join us on the Datum Community Slack team.
- Follow us on LinkedIn.