Deploy a Catalog
Deploy catalog items to provision infrastructure or applications across your clusters and environments.
Summary
Once you've created a catalog, deploy instances with custom configurations through the Konstruct UI.
Prerequisites
- Catalog prerequisites completed
- At least one catalog created in your GitOps repository
- Target cluster or environment configured
Deploy YAML Catalog
YAML catalogs deploy applications to specific environments.
Steps
-
Navigate to Catalogs in the left sidebar
-
Click Deploy next to your YAML catalog
-
Configure deployment:
- Environment: Select target environment (e.g., "dev", "staging", "production")
- Cluster: Choose specific clusters or "All clusters in environment"
-
Configure parameters:
- Fill in all required fields (marked with *)
- Provide optional parameters as needed
- For secret fields, values are stored in your configured secret backend
-
Review deployment summary
-
Click Deploy Catalog
Deployment Path
<org>-gitops/
└── registry/
└── environments/
└── <environment>/
└── <cluster-name>/
├── <catalog-name>.yaml # ArgoCD Application
└── <catalog-name>/ # Additional resources
Monitor Deployment
Check deployment status:
-
ArgoCD UI: Navigate to ArgoCD to view application sync status
-
Konstruct UI: View deployment status in Catalogs → Deployments
-
Kubectl: Check application resources
kubectl get applications -n argocd
kubectl get pods -n <namespace>
Deploy IAC Catalog
IAC catalogs provision infrastructure resources on specific clusters.
Steps
-
Navigate to Catalogs in the left sidebar
-
Click Deploy next to your IAC catalog
-
Configure deployment:
- Cluster: Select target cluster for infrastructure provisioning
-
Configure Terraform variables:
- Provide values in camelCase (UI automatically converts to snake_case)
- Fill in all required variables
- Review default values
-
Review Terraform plan summary
-
Click Deploy Catalog
Deployment Path
<org>-gitops/
└── registry/
└── clusters/
└── <cluster-name>/
└── components/
└── iac/
├── <catalog-name>.yaml # ProviderConfig + Workspace CRDs
└── iac.yaml # ArgoCD Application
Monitor Provisioning
Check infrastructure provisioning:
-
Check Workspace status:
kubectl get workspace -n crossplane-system
kubectl describe workspace <catalog-name> -n crossplane-system -
View Terraform logs:
kubectl logs -n crossplane-system -l crossplane.io/claim-name=<catalog-name> -
Check resource status in cloud provider console
Deploy Hybrid Catalog
Hybrid catalogs deploy both infrastructure and applications.
Steps
-
Navigate to Catalogs in the left sidebar
-
Click Deploy next to your Hybrid catalog
-
Configure deployment:
- Environment: Select target environment(s) for applications
- Cluster: Select target cluster(s)
-
Configure parameters:
- Provide both infrastructure variables (camelCase → snake_case)
- Provide application parameters (camelCase)
- Fill in secrets
-
Review dual deployment summary
-
Click Deploy Catalog
Deployment Sequence
Hybrid catalogs deploy in phases:
- Phase 1 - Infrastructure: IAC components deploy to platform GitOps
- Wait: Operator waits for infrastructure
Availablestate - Phase 2 - Applications: YAML components deploy to application GitOps
Monitor Hybrid Deployment
Monitor both phases:
-
Phase 1 - Infrastructure:
kubectl get workspace <catalog-name> -n crossplane-system -
Phase 2 - Applications:
kubectl get applications -n argocd | grep <catalog-name>
Deployment States
YAML Catalog States
| State | Description | Action |
|---|---|---|
| Pending | Application manifest committed to GitOps | Wait for ArgoCD sync |
| Syncing | ArgoCD syncing resources to cluster | Monitor ArgoCD |
| Healthy | All resources deployed successfully | Deployment complete |
| Degraded | Some resources failed | Check ArgoCD logs |
IAC Catalog States
| State | Description | Action |
|---|---|---|
| Pending | Workspace CRD created | Wait for Terraform init |
| Planning | Terraform plan executing | Review plan output |
| Applying | Terraform apply in progress | Monitor logs |
| Available | Infrastructure provisioned | Deployment complete |
| Failed | Terraform execution failed | Check logs and fix |
Troubleshooting
YAML Catalog Issues
Application Not Syncing:
- Check ArgoCD UI for sync errors
- Verify target namespace exists
- Confirm ArgoCD project permissions
Parameters Not Applied:
- Check values.yaml syntax
- Verify parameter naming (camelCase)
- Confirm all required annotations present
IAC Catalog Issues
Workspace Stuck in Pending:
- Check Crossplane provider status:
kubectl get provider - Verify ProviderConfig credentials
- Review S3 backend access permissions
Terraform Apply Failures:
- View Workspace logs for detailed errors
- Check cloud provider permissions
- Verify variable values match expected types
- Confirm resource quotas not exceeded
Token Detokenization Errors:
- Verify all
<TOKENS>in provider file have corresponding values - Check token naming matches exactly (case-sensitive)
Update Deployed Catalog
To update a deployed catalog:
-
Navigate to Catalogs → Deployments
-
Click Edit next to the deployment
-
Modify parameters as needed
-
Click Update Deployment
-
Monitor sync/apply process
Changes trigger:
- YAML: ArgoCD resync with new values
- IAC: New Terraform plan and apply
- Hybrid: Both phases re-execute if needed
Delete Catalog Deployment
To remove a deployed catalog:
-
Navigate to Catalogs → Deployments
-
Click Delete next to the deployment
-
Confirm deletion
-
Operator performs cleanup:
- Removes files from GitOps repositories
- ArgoCD prunes application resources
- Crossplane runs Terraform destroy (for IAC)
Warning: IAC catalog deletion runs terraform destroy. Ensure you have backups of important data.
Best Practices
- Test in dev first: Deploy to development environment before production
- Review changes: Check GitOps repository commits after deployment
- Monitor actively: Watch deployments until they reach healthy/available state
- Use descriptive names: Name deployments clearly for easy identification
- Document parameters: Keep track of parameter values for each deployment
- Regular cleanup: Remove unused catalog deployments to reduce clutter
What's Next?
- View catalog examples for common patterns
- Learn about dynamic environment provisioning
- Create additional catalogs for your needs