Admiral

Get Started

Overview

A local walkthrough that connects a kind cluster, deploys a workload, wires an infrastructure component to it, and promotes it to production.

By the end of this walkthrough you will have connected a cluster to Admiral, deployed a real workload, wired an infrastructure component to it, and promoted the whole thing from a dev environment to a production environment. All on your own machine, using a local Kubernetes cluster.

This walkthrough is still being written. Steps 1 and 2 work today. Steps 3 to 5 need changeset apply and the Terraform agent, which have not shipped, so they cannot finish yet. The changelog says what has shipped.

What will I build?

  • An Application with two Environments: dev and prod.
  • A workload component deployed from a public Helm chart.
  • An infrastructure component whose output feeds the workload (the dependency graph).
  • A promotion that ships the same, tested setup from dev to prod.
  • Two agents: a Kubernetes agent in the local cluster from step 1, and a Terraform agent for the infrastructure component, added in step 4.

What are the steps?

What do I need?

Admiral is hosted, so there is no server to install. You need an invitation and a target to deploy into. For this walkthrough the target is a throwaway local cluster.

  • An invitation to Admiral. Connect a cluster covers getting access.
  • The admiral CLI. Connect a cluster installs it.
  • A local Kubernetes target, for the Kubernetes agent. The Terraform example in step 4 creates nothing in a cloud, so it runs locally too.
ToolMinimum versionPurpose
Docker20.10+Container runtime for kind
kind0.20+Local Kubernetes cluster
kubectl1.28+Inspect the cluster

The agent is outbound-only. It dials api.admiral.io and pulls its work, so a local kind cluster with plain internet access is enough. No inbound networking, no port mapping. See Architecture.

Should I use the CLI or the console?

Steps that create resources are shown in two tabs, the CLI and the console. Both create the same resources, so use either.

On this page