Compute is in preview. The
v1alpha APIs can change, and Datum reviews Compute access requests manually.Before you begin
- Create a Datum Cloud account, an organization, and a project. For more information, see Account setup.
- Install
datumctl. For more information, see Install. - Run
datumctl login. For more information, see Logging in. - Run
datumctl plugin install compute. For more information, see Using plugins. - Select the project to deploy in with
datumctl ctx use ORG_ID/PROJECT_ID. To confirm your account and project, rundatumctl whoami. For more information, see Contexts and scoping. - Make sure that Compute access is active for the project. Run
datumctl compute accessand check that theStatusline showsActive. If it doesn’t, see Request Compute access.
Deploy draw.io
This page deploys draw.io, an open source diagramming app, using the officialdocker.io/jgraph/drawio image with the general-purpose runtime class, which runs standard container images without changes. The app fits in one Instance (1 vCPU and 2 GiB of memory), stores nothing on the Instance, and needs no passwords or config files.
1
Deploy draw.io
To deploy draw.io to Dallas (The flags do the following:The last line is the hostname of the ALB attached to the workload. Your hostname is different. The command also saves the workload definition to
us-central-1) and publish it on a public URL, run the following command:--image: the container image to run, pinned to a draw.io release. Compute requires the registry host in the image reference, such asdocker.io.--runtime-class=general-purpose: runs the image as a standard container in a lightweight virtual machine. Without this flag, Datum uses theunikernelclass, which needs a specially packaged image. To compare the two, see Choose a runtime class.--location=us-central-1: runs one Instance in Dallas.--http-port=8080: attaches an ALB to the workload and publishes port8080, where draw.io serves HTTP.
- The first time you deploy in a project, it asks whether to create a network named
default. Entery. - It prints a plan and asks
Apply? (Y/n). Entery.
workload.yaml in the current directory.2
Check that draw.io is available
To list the workloads in your project, run the following command:Continue when
HEALTH is Available and READY is 1/1. The URL column shows the ALB hostname from the deploy output.3
Open draw.io and draw a diagram
In your web browser, go to the URL from the deploy output. Datum’s ALB serves draw.io over HTTPS, and the app opens a blank diagram. If the browser can’t find the site, wait a minute and try again.Click the rectangle in the General shape panel, double-click it, and type
Hello from Datum. To keep it, click File > Export as > PNG….The editor runs in your browser, so your diagrams stay with you even when Datum restarts or replaces the Instance.4
Optional: See the Instance
To list the workload’s Instances, run the following command:The
INTERNAL IP column shows the Instance’s private IPv6 address on the default gVPC network. The Instance has no public address, so traffic from the internet reaches draw.io only through the ALB.Clean up
-
To delete the draw.io workload, its Instance, and its ALB, run the following command and enter
yto confirm: -
Delete
workload.yamlfrom the current directory. -
Optional: If this tutorial created the
defaultnetwork and no other workload uses it, delete the network:
What’s next
- To deploy your own image, check that your app listens on IPv6 and serves plain HTTP. During the preview, Instances have no persistent disks and no readiness checks. For details, see Compute limitations.
- To pass configuration and secrets to a workload, see Compute configuration.
- To package your own app as a fast-starting unikernel, see Unikernels.
- To run in more locations or with more Instances, see Placement and scaling.
- To learn how Datum’s control plane turns your resources into running Instances, DNS, and load balancers, see Platform API.