Skip to main content

Application Profile

An application profile is an organization-level runtime blueprint for applications. Applications reference a profile by profileName; the profile then controls the deployment target and defaults such as cluster selection, provider selection, resources, and tier behavior.

Use profiles to keep application manifests portable. A developer can deploy the same application manifest to a different environment by changing the profile reference instead of embedding cluster access details in the application.

Application Profile

What a Profile Contains

FieldPurpose
profileNameDNS-style profile name used by application manifests.
clusterNameOptional fixed target cluster. This is the clearest option when you already know the cluster.
cloudProviderOptional provider and region selection for platform-assisted target selection.
Tier settingsOptional runtime tier for image-based applications.
Profile selection is sticky

The profile selected by an application should be treated as part of the application deployment contract. If an application needs to move to a different profile, create or redeploy the application with the intended profileName.

Discover Inputs

List clusters:

astroctl infra k8s get

List supported cloud providers:

astroctl cloud list

List provider regions:

astroctl cloud aws regions list
astroctl cloud gcp regions list
astroctl cloud azure regions list

List available profile tiers:

astroctl app profile tiers

Get one tier:

astroctl app profile tiers standard

Manifest Examples

Fixed Cluster

Use clusterName when you want the profile to deploy to a specific cluster:

dev-profile.yaml
profileName: dev-profile
clusterName: dev-stack-aws

Apply it:

astroctl app profile apply -f dev-profile.yaml

Provider and Region

Use cloudProvider when the platform should select a target from a provider and region:

gcp-us-west2-profile.yaml
profileName: gcp-us-west2-profile
cloudProvider:
providerName: gcp
region: us-west2

Apply it:

astroctl app profile apply -f gcp-us-west2-profile.yaml

Platform Selection

If you omit both clusterName and cloudProvider, the platform can select an eligible target based on available organization configuration:

platform-selected-profile.yaml
profileName: platform-selected-profile

Apply it:

astroctl app profile apply -f platform-selected-profile.yaml

Manage Profiles

List profiles:

astroctl app profile get

Get one profile:

astroctl app profile get dev-profile

Delete a profile:

astroctl app profile delete -n dev-profile
Profile deletion

Deleting a profile can affect applications that reference it. Confirm no running application depends on the profile before deleting it.