Deploy an application
Deploy a container image to your cluster as an AstroPulse application and watch it start. A dry run checks the application before anything is deployed. The example deploys hello-world from the image astropulse/latency:v1.0.0 to the cluster prod-01; a Helm chart, a Git repository or YAML takes the same steps with a different source.
Before you start
- A cluster AstroPulse created or registered, ready under Infrastructure › Kubernetes. No cluster yet: create one.
- An image the cluster can pull. For a private registry, give the cluster access first, keyless or with a pull Secret: Registry access.
In the console
Open Workloads › Applications › Deploy application. Each step ends with Continue to …; the next step opens once this one is complete.
-
Name and cluster. Enter Application name
hello-worldand pickprod-01as the Target Cluster.Open zoom view -
Profile. The cluster's profile is picked for you under Use Existing. A cluster with no profile yet gets one: Create New fills in
prod-01-profile. An application's profile can't be changed after it is deployed; to move it, deploy it again under a new name.Open zoom view -
Image. At the top, pick Container image as the source (Repository, Helm chart and YAML manifests deploy the other sources the same way). In Container Image, enter
astropulse/latencyand the tagv1.0.0. Leave Container Port empty for 8080. Validate confirms the image and tag can be pulled: Valid · "Image and tag found."Open zoom view -
Access. Keep Internal only (default), or pick a verified domain to serve it publicly (Subdomain is optional; left empty, one is generated).
-
Options. Nothing to change: the platform picks the namespace, and Sync Type stays Automatic. Deleting the application later removes the namespace only if the platform picked it; a namespace you named stays.
-
Notifications. Optional. Turning a channel on applies to the whole organization at once.
-
Review. Select Run dry run. It checks this exact manifest and changes nothing. You should see: Dry run passed.
Open zoom view -
Deploy. Select Deploy hello-world, then Follow in Events to watch it start.
Open zoom view
When a new profile is created in step 2, Review shows Dry run at deploy: the profile is created first, then the same dry run runs before anything is deployed.
You should see
The application's page, hello-world, reads Running. Events shows each step of the rollout, and Logs streams the container's output. If it does not start, they say why: Troubleshoot.
Other ways in
- Nova: ask it, for example "deploy hello-world from astropulse/latency:v1.0.0 on prod-01".
- Python SDK: Python SDK.
- API: the same operations, in the API reference.
With astroctl
Review shows the same manifest under Deploy with astroctl, ready to download. To write it yourself:
apiVersion: platform.astropulse.io/v1
kind: Application
metadata:
name: hello-world
spec:
profileName: prod-01-profile
source:
type: Image
image:
repository: astropulse/latency
tag: v1.0.0
astroctl app apply -f hello-world.yaml --dry-run
astroctl app apply -f hello-world.yaml
astroctl app status hello-world
astroctl app template prints an annotated starter manifest, and --schema lists every field.
Every flag: astroctl app apply.
Next
- Sources: a Helm chart, a Git repository or YAML
- Custom domain
- Access a cloud bucket