Skip to main content

Application Deployment Context Examples

Per-application deployment-context.json examples. See the parent README for how to load a file with cfc-testing or as CDK context, and for the Private CA option when no domain is configured.

Before deploying​

KeyNotes
stackNameUnique CloudFormation stack name in the target account and region.
domain, subdomainYour DNS zone and host name, or omit both for a Private CA certificate on the load balancer DNS name.
cognitoDomainPrefixReplace the -changeme suffix. Lowercase letters, digits, and hyphens; CloudForge appends the stack name.
regionTarget AWS region.
applicationIdThe compliance-* files use the placeholder REPLACE_WITH_APP_ID; set it to an ID from the catalog.

By application​

FileApplicationProfileNotes
jenkins-dev.jsonjenkinsdevFargate, public network, no auth
jenkins-dev-auth.jsonjenkinsdevapplication-oidc with Cognito
jenkins-dev-quick.jsonjenkinsdevalb-oidc with Cognito, no domain (Private CA)
jenkins-production.jsonjenkinsproductionEC2, application-oidc, SOC 2, build agent port
mattermost-dev.jsonmattermost-teamdevFargate, public network, no auth
mattermost-production.jsonmattermost-teamproductionEC2, RDS PostgreSQL, application-oidc, SOC 2
metabase-dev.jsonmetabasedevNo RDS database (Metabase uses its embedded H2 store)
metabase-production.jsonmetabaseproductionEC2, RDS PostgreSQL, alb-oidc, SOC 2
gitlab-production.jsongitlabproductionEC2, RDS PostgreSQL 16, application-oidc, SSH and metrics ports
grafana-production.jsongrafanaproductionEC2, RDS PostgreSQL, application-oidc
harbor-production.jsonharborproductionEC2, RDS PostgreSQL, Notary and Trivy ports; no OIDC integration
sonarqube-production.jsonsonarqubeproductionEC2, SOC 2; no OIDC integration
cloudforge-manager-dev.jsoncloudforge-managerdevFargate, no database, no auth
cloudforge-manager-dev-auth.jsoncloudforge-managerdevapplication-oidc with Cognito
cloudforge-manager-production.jsoncloudforge-managerproductionRDS PostgreSQL (Multi-AZ), alb-oidc

cloudforge-manager is provided by the separate com.cloudforgeci:cloudforge-manager-deployment artifact (version managed by the cfc-core BOM), not by cloudforge-api; it must be on the classpath for its applicationId to resolve. Its database is optional and defaults to MySQL 8.0 when provisionDatabase is true and no engine is given.

Optional ports (enableAgents, enableSsh, enableMetrics, enableNotary, enableTrivy, enableSmtp) are only opened for applications that declare the matching port; see the catalog.

If authMode names a mode the application does not support, CloudForge replaces it with the application's recommended mode and prints a warning.

By compliance framework​

FileFrameworksModeNotes
compliance-soc2-quick.jsonSOC 2advisorystaging, no domain (Private CA)
compliance-hipaa-quick.jsonSOC 2 + HIPAAadvisorystaging, no domain (Private CA), 2190-day log retention
compliance-soc2-staging.jsonSOC 2advisorystaging
compliance-soc2-production.jsonSOC 2enforceproduction
compliance-hipaa-production.jsonHIPAA + SOC 2enforceproduction, RDS PostgreSQL, Config remediations
compliance-pci-dss-production.jsonPCI-DSS + SOC 2enforceproduction, Aurora PostgreSQL

File naming​

{applicationId}-{environment}[-variant].json
compliance-{framework}-{environment}.json