Skip to content

Module Catalog

This catalog maps every ForgeMT module to its category, install role, example root, and validation expectation. Use it to decide what belongs in a first deployment and what can be skipped.

Platform Modules

Module Role Required? Example root Validation
modules/platform/forge_runners Tenant-facing runner platform entrypoint. Yes examples/deployments/platform Tenant plan/apply plus EC2 or ARC smoke job.
modules/platform/ec2_deployment EC2 ephemeral runner lane. Through forge_runners examples/deployments/platform EC2 smoke job launches, registers, and cleans up.
modules/platform/arc_deployment Tenant ARC runner lane wrapper. Only for ARC examples/deployments/platform ARC smoke job and scale-set reconciliation.
modules/platform/arc ARC controller and scale-set foundation. Only for ARC examples/deployments/infra and platform ARC specs kubectl, Helm, and ARC resource checks.
modules/platform/forge_runners/forge_trust_validator Tenant trust validation support. Through forge_runners examples/deployments/platform Tenant role trust and workflow role assumption.
modules/platform/forge_runners/github_actions_job_logs GitHub Actions log archive support. Through forge_runners examples/deployments/platform Job log archival and reader role checks.
modules/platform/forge_runners/github_app_runner_group GitHub runner group and app registration support. Through forge_runners examples/deployments/platform Runner group exists and app can register runners.
modules/platform/forge_runners/github_global_lock GitHub lock cleanup support. Through forge_runners examples/deployments/platform Lock cleanup Lambda logs and no stale locks.
modules/platform/forge_runners/github_webhook_relay/source GitHub webhook ingress for platform runners. Through forge_runners examples/deployments/platform GitHub workflow_job delivery reaches AWS.
modules/platform/forge_runners/redrive_deadletter Dead-letter redrive support. Through forge_runners examples/deployments/platform DLQ redrive workflow and queue depth checks.

Infrastructure Modules

Module Role Required? Example root Validation
modules/infra/eks EKS foundation for ARC/Kubernetes runner scale sets. Only for ARC examples/deployments/infra kubectl get nodes, helm list -A, ARC pod checks.

EC2-only deployments can skip examples/deployments/infra.

Helper Modules

Module Role Required? Example root Validation
modules/helpers/ami_policy AMI policy support for approved runner images. Optional examples/deployments/helpers Policy plan plus AMI usage review.
modules/helpers/ami_sharing Shares runner AMIs across accounts or regions. Optional examples/deployments/helpers Target account can describe and launch AMI.
modules/helpers/cloud_custodian Cleanup and policy jobs for stale resources. Optional examples/deployments/helpers Custodian dry run and scheduled job output.
modules/helpers/cloud_formation CloudFormation admin/execution roles for setup paths. Optional examples/deployments/helpers Stack role assumption check.
modules/helpers/ecr ECR repositories for runner and CI helper containers. Optional examples/deployments/helpers Push/pull smoke for configured repositories.
modules/helpers/forge_subscription Tenant-side access for ForgeMT jobs and artifacts. Optional examples/deployments/helpers Tenant role can access intended S3/ECR/secrets.
modules/helpers/opt_in_regions Enables AWS opt-in regions. Sometimes examples/deployments/helpers AWS account region status is enabled.
modules/helpers/service_linked_roles Creates service-linked roles such as EC2 Spot roles. Sometimes examples/deployments/helpers Role exists before EC2 runner launch.
modules/helpers/storage S3 buckets for artifacts, templates, logs, and integrations. Optional examples/deployments/helpers Bucket policy, encryption, and access checks.

Helpers are not runtime platform modules. Deploy them only when ForgeMT owns that operating concern.

Integration Modules

Module Role Required? Example root Validation
modules/integrations/github_webhook_relay_destination Optional webhook forwarding destination. No examples/deployments/integrations Receiver gets expected GitHub events.
modules/integrations/github_webhook_relay_destination_receivers Optional receiver modules for relay consumers. No examples/deployments/integrations Receiver-specific smoke event.
modules/integrations/splunk_aws_billing Splunk billing ingestion. No examples/deployments/integrations Billing data lands in target index.
modules/integrations/splunk_cloud_conf_shared Splunk Cloud saved searches, dashboards, shared config. No examples/deployments/integrations Dashboards and searches exist.
modules/integrations/splunk_cloud_data_manager Splunk Data Manager integration. No examples/deployments/integrations Data Manager inputs are active.
modules/integrations/splunk_cloud_data_manager_common Shared Data Manager resources. No examples/deployments/integrations Shared resources are referenced by consumers.
modules/integrations/splunk_cloud_s3_runner_logs S3 runner log ingestion to Splunk. No examples/deployments/integrations Runner log object produces Splunk event.
modules/integrations/splunk_o11y_aws_integration Splunk Observability AWS integration. No examples/deployments/integrations AWS metrics appear in Splunk Observability.
modules/integrations/splunk_o11y_aws_integration_common Shared Splunk Observability AWS resources. No examples/deployments/integrations Shared integration resources exist.
modules/integrations/splunk_o11y_conf_shared Splunk Observability dashboards and detectors. No examples/deployments/integrations Dashboards and detectors exist.
modules/integrations/splunk_opencost_eks OpenCost data path for EKS. No examples/deployments/integrations OpenCost metrics reach target backend.
modules/integrations/splunk_otel_eks Splunk OpenTelemetry collector on EKS. No examples/deployments/integrations Collector pods run and export telemetry.
modules/integrations/splunk_secrets Splunk secret placeholders and secret metadata. No examples/deployments/integrations Secrets exist only when Splunk is used.
modules/integrations/splunk_stuck_workflow_job_dispatcher Stuck workflow redelivery backed by Splunk data. No examples/deployments/integrations Dispatcher can identify and redeliver stuck jobs.
modules/integrations/teleport Teleport access/audit integration. No examples/deployments/integrations Agent joins and access is audited.

If your company does not use Splunk, delete the Splunk example folders from your operating repo. Use Troubleshooting Without Splunk for the baseline support path.

Weekly Validation Coverage

Apply from scratch:

helpers -> infra -> platform -> integrations

Destroy in reverse:

integrations -> platform -> infra -> helpers

The weekly examples repo should include every module family your company supports. If a category is intentionally skipped, remove it from the matrix and document why in the repo README.