datumctl
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.
As a result, you will leverage common Kubernetes tooling such as kubectl to interact with Datum.
Install Tools
Section titled “Install Tools”datumctl
Section titled “datumctl”Install datumctl with the Homebrew package manager on macOS or Linux:
brew install datum-cloud/tap/datumctlInstall manually with curl on Linux or macOS
export OS=$(uname -s)export ARCH=$(uname -m)
curl -Lo ./datumctl.tar.gz https://github.com/datum-cloud/datumctl/releases/latest/download/datumctl_${OS}_${ARCH}.tar.gz
# Extract and install the datumctl binarytar zxvf datumctl.tar.gz datumctlchmod +x datumctlmkdir -p ~/.local/binmv ./datumctl ~/.local/bin/datumctl# and then append (or prepend) ~/.local/bin to $PATHInstall via Go
go install go.datum.net/datumctl@latest# Ensure that $GOPATH/bin is in your PATHexport PATH=$PATH:$(go env GOPATH)/binInstall datumctl on Windows using PowerShell
Invoke-WebRequest -Uri "https://github.com/datum-cloud/datumctl/releases/latest/download/datumctl_Windows_x86_64.zip" -OutFile "datumctl.zip"Expand-Archive -Path "datumctl.zip" -DestinationPath "datumctl"Move the datumctl.exe file to a directory in your PATH or simply run it from the current directory:
.\datumctl\datumctl.exekubectl
Section titled “kubectl”Refer to the official Kubernetes documentation for installation instructions, making sure to skip the Verify kubectl configuration section in the guide you choose.
Later in this guide, you will configure a kubeconfig file as required to interact with Datum via kubectl.
For convenience, homebrew instructions are below:
Install kubectl with the Homebrew package manager on macOS or Linux:
brew install kubectlConfigure Tools
Section titled “Configure Tools”Authentication
Section titled “Authentication”datumctl auth login- Run the command to open a browser window and sign in with your organization’s identity provider.
- When Authentication successful appears, credentials are cached locally for subsequent datumctl and kubectl commands.
Add a kubeconfig context for your organization
Section titled “Add a kubeconfig context for your organization”Obtain your organization’s resource ID with datumctl by listing organizations that your user has access to:
datumctl get organizationsThe output is similar to:
DISPLAY NAME RESOURCE IDPersonal Organization pp4zn7tiw5be3beygm2d6mbcfeCreate a kubeconfig context to access your organization’s resources by copying the the RESOURCE ID value and executing following command, replacing RESOURCE_ID with the value:
datumctl auth update-kubeconfig --organization RESOURCE_IDThe output is similar to:
Successfully updated kubeconfig at getting-started.kubeconfigVerify kubectl configuration
Section titled “Verify kubectl configuration”Check that kubectl is properly configured by getting authorized user info:
kubectl auth whoamiThe output is similar to:
ATTRIBUTE VALUEUsername datum@example.comGroups [system:authenticated]Extra: authentication.datum.net/datum-organization-uid [pp4zn7tiw5be3beygm2d6mbcfe]Extra: authentication.kubernetes.io/credential-id [JTI=01jgsr1m8fpb9cn0yrh05taa5v]