Skip to content

BaseEnvConfig

Open in ChatGPTOpen in Claude

Defined in: packages/core/src/config/types.ts:276

The minimal set of properties the Axis framework needs to operate. Every project creates its own interface that extends this.

Example: interface ReadyUrlConfig extends BaseEnvConfig { publicShortDomain?: string; defaultFreePlanId: string; }

[key: string]: unknown

Allow SSM parameter references in config strings. Format: ${ssm:/path/to/param} or ${ssm:/path/to/param:version} Resolved at synth time by resolveConfigValue().

optional apiCertificateArn?: string

Defined in: packages/core/src/config/types.ts:312

API Gateway custom domain cert. If omitted, falls back to certificateArn.


appName: string

Defined in: packages/core/src/config/types.ts:278

Identifier used for SSM namespacing: /appName/stageName/…


certificateArn: string

Defined in: packages/core/src/config/types.ts:300

Primary ACM certificate ARN. For multi-certificate setups (CloudFront needs us-east-1) you can add apiCertificateArn and cloudFrontCertificateArn in your extension.


optional cloudFrontCertificateArn?: string

Defined in: packages/core/src/config/types.ts:306

CloudFront-specific cert (must be in us-east-1). If omitted, falls back to certificateArn.


hostedZoneId: string

Defined in: packages/core/src/config/types.ts:293

Route53 Hosted Zone ID for rootDomain


optional lambdaDefaults?: LambdaDefaults

Defined in: packages/core/src/config/types.ts:318

Project-wide Lambda defaults — applied to every lambda before per-lambda config overrides. Set once here instead of repeating on every config.


optional region?: string

Defined in: packages/core/src/config/types.ts:287

AWS region this config targets. Used for environment props.


optional removalPolicy?: RemovalPolicyValue

Defined in: packages/core/src/config/types.ts:324

DynamoDB / S3 removal policy. The framework enforces RETAIN for prod automatically if omitted.


rootDomain: string

Defined in: packages/core/src/config/types.ts:290

Root domain managed in Route53 (e.g. “myapp.co”)


stageName: string

Defined in: packages/core/src/config/types.ts:284

Stage identifier. The framework does NOT restrict values — use whatever makes sense: “dev”, “staging”, “prod”, “feature-xyz”, “nithin-local” etc.

© 2026 Axis Tech. Powered by axis-tech.co.