Configuration ReferenceΒΆ
For AWS resource naming conventions (physical names, SSM paths, CloudFormation logical IDs), see NAMING_CONVENTIONS.md.
Table of ContentsΒΆ
Config File Naming ConventionΒΆ
Config files follow a standardized naming pattern that encodes all discriminators directly in the filename, making it immediately clear what each file configures.
Pattern:
{company_prefix}-{env}-{tenant_id}-{region}-{use_case}-ml-{source_control}[-{vpc_mode}-{vpc_source}][-workload][-rtb].yaml
Segment |
Values |
Notes |
|---|---|---|
|
e.g. |
From |
|
|
From |
|
e.g. |
From |
|
e.g. |
From |
|
e.g. |
From |
|
|
Always present |
|
|
Enterprise tier only |
|
|
Enterprise tier only |
|
|
Present when |
|
|
Present when |
The VPC segments (
vpc_modeandvpc_source) are omitted for starter and professional tiers since VPC integration is an enterprise-only feature.
Examples:
# Starter / Professional tier
techcorp-prod-a001-us-west-2-customer-churn-ml-codecommit.yaml
techcorp-prod-a001-us-west-2-customer-churn-ml-s3.yaml
techcorp-prod-a001-us-west-2-customer-churn-ml-codecommit-workload.yaml
# Enterprise tier
globalbank-prod-c001-us-west-2-demand-forecasting-ml-codecommit-standalone-ssm.yaml
globalbank-prod-c001-us-west-2-demand-forecasting-ml-codecommit-standalone-direct.yaml
globalbank-prod-c001-us-west-2-demand-forecasting-ml-codecommit-sgprov-ssm.yaml
globalbank-prod-c001-us-west-2-demand-forecasting-ml-s3-standalone-ssm.yaml
globalbank-prod-c001-us-west-2-demand-forecasting-ml-codecommit-standalone-ssm-workload.yaml
globalbank-prod-c001-us-west-2-demand-forecasting-ml-codecommit-standalone-direct-rtb.yaml
Configuration DiscriminatorsΒΆ
An ML Provisioner configuration file is defined by three independent discriminators under
the ml_product section. Together they determine which resources are created and how the
tool integrates with your existing AWS infrastructure.
1. source_controlΒΆ
Controls how source code repositories are provisioned for the ML pipelines.
Value |
Description |
|---|---|
|
Creates AWS CodeCommit repositories for model-build and model-deploy source code |
|
Uses an existing S3 bucket as the pipeline source β no CodeCommit repositories are created |
2. vpc_integration.modeΒΆ
Controls how the VPC endpoint Security Group is managed.
Value |
Description |
|---|---|
|
ML Provisioner creates and manages its own endpoint Security Group |
|
Security Group is managed externally by SG Provisioner β ML Provisioner skips SG creation and reads the existing SG ID from SSM Parameter Store |
Note:
modeis nested undervpc_integrationin the config file. The valuesgprovin config filenames is shorthand forsg-provisionerβ the actual YAML value issg-provisioner.
3. vpc_integration.vpc_sourceΒΆ
Controls how the VPC ID and subnet IDs are resolved at deploy time.
Value |
Description |
|---|---|
|
VPC ID and subnet IDs are read from AWS Systems Manager Parameter Store paths β typically populated by VPC Provisioner |
|
VPC ID and subnet IDs are hardcoded directly in the configuration file |
Note:
ssmin config filenames is shorthand forparameter-storeβ the actual YAML value isparameter-store.
Discriminator Combinations (Enterprise Tier)ΒΆ
The three discriminators are independent and can be combined freely.
The workload and rtb suffixes are optional additions on top of the base combinations.
This gives 12 config files for the enterprise tier.
# |
source_control |
mode |
vpc_source |
workload |
rtb |
Config file suffix |
|---|---|---|---|---|---|---|
1 |
codecommit |
standalone |
ssm |
β |
β |
|
2 |
codecommit |
standalone |
ssm |
yes |
β |
|
3 |
codecommit |
standalone |
direct |
β |
β |
|
4 |
codecommit |
standalone |
direct |
β |
yes |
|
5 |
codecommit |
sgprov |
ssm |
β |
β |
|
6 |
codecommit |
sgprov |
direct |
β |
β |
|
7 |
s3 |
standalone |
ssm |
β |
β |
|
8 |
s3 |
standalone |
ssm |
yes |
β |
|
9 |
s3 |
standalone |
direct |
β |
β |
|
10 |
s3 |
standalone |
direct |
β |
yes |
|
11 |
s3 |
sgprov |
ssm |
β |
β |
|
12 |
s3 |
sgprov |
direct |
β |
β |
|
workloadis only supported withvpc_source: ssm.rtbis only supported withvpc_source: direct.
Choosing the right combinationΒΆ
ssmvsdirectβ usessmwhen VPC Provisioner manages your VPC and publishes IDs to Parameter Store (recommended for bundle deployments). Usedirectwhen you know the VPC IDs upfront or are not using VPC Provisioner.standalonevssgprovβ usestandalonefor a self-contained ML deployment. Usesgprovwhen SG Provisioner is already deployed and you want the ML endpoints to use its managed Security Group.codecommitvss3β usecodecommitfor teams that want AWS-native Git repositories. Uses3when source code is managed externally and uploaded to S3 before pipeline execution.