mirror of
https://github.com/Sea-Haven-Industries/apm-wo-analysis.git
synced 2026-09-30 05:23:15 +00:00
Stand up the Phase 0 CDK scaffold for the daily APM work-order analysis pipeline: two-stack CDK app (pipeline + grafana), classifier and slack-post Lambda packages, dashboards-as-code, the local drop-folder uploader, and a classifier smoke-test placeholder. Wire CI/CD to the org reusable workflows: ci.yaml -> ci-python-sam (ruff + cdk synth) and deploy.yaml -> cd-cdk (OIDC, cdk deploy --all). Pin aws-cdk-lib==2.253.1; Lambdas target Python 3.12 / arm64. Rewrite .gitignore to the org Python-CDK standard so the source-of- truth files (CLAUDE.md, docs/, .claude/agents) are tracked while build artifacts (.venv, cdk.out, caches) stay ignored. Domain logic, stack resources, and dashboards are stubbed and filled in across Phases 1-5 (docs/BUILD.md). cdk synth is green for both stacks; ruff check/format pass.
34 lines
775 B
Python
34 lines
775 B
Python
#!/usr/bin/env python3
|
|
"""CDK app entry point for apm-wo-analysis.
|
|
|
|
Two stacks, both pinned to account 328440206208 / us-east-1:
|
|
- apm-wo-analysis-pipeline : S3, classifier + slack-post Lambdas, Glue, Athena, IAM
|
|
- apm-wo-analysis-grafana : self-hosted Grafana on EC2 (VPN-only)
|
|
|
|
See docs/BUILD.md for the phased build-out.
|
|
"""
|
|
|
|
import aws_cdk as cdk
|
|
|
|
from stacks.grafana_stack import GrafanaStack
|
|
from stacks.pipeline_stack import PipelineStack
|
|
|
|
ENV = cdk.Environment(account="328440206208", region="us-east-1")
|
|
|
|
app = cdk.App()
|
|
|
|
PipelineStack(
|
|
app,
|
|
"apm-wo-analysis-pipeline",
|
|
stack_name="apm-wo-analysis-pipeline",
|
|
env=ENV,
|
|
)
|
|
|
|
GrafanaStack(
|
|
app,
|
|
"apm-wo-analysis-grafana",
|
|
stack_name="apm-wo-analysis-grafana",
|
|
env=ENV,
|
|
)
|
|
|
|
app.synth()
|