โครงสร้า งพื้นฐานและการส่งมอบ
Alternun provision โครงสร้างพื้นฐานจาก monorepo ผ่าน packages/infra
โครงการนี้ใช้:
- SST เป็น app wrapper และจุดเริ่มต้นของการ deploy
- Pulumi AWS resources ภายในโมดูล infra
- CodeBuild และ CodePipeline สำหรับ flow การส่งมอบแบบมีการจัดการ
- Route53 และ ACM สำหรับ DNS และใบรับรอง
โมเดลของ Stage
แพลตฟอร์มถูกแบ่งออกเป็นหลายตระกูลการปรับใช้
Stage สาธารณะของ AIRS
productiondevmobile
โดเมนสาธารณะเริ่มต้น:
airs.alternun.cotestnet.airs.alternun.copreview.airs.alternun.co
Backend และ stage ภายใน
dashboard-devdashboard-prodapi-devapi-prodadmin-devadmin-prodidentity-devidentity-prod
สิ่งเหล่านี้ทำให้ทีม deploy พื้นผิวภายในได้อย่างอิสระ หรือปล่อยเป็นหน่วยรีลีสเดียวกันก็ได้
โมเดลของโดเมน
ตระกูลโดเมนปัจจุบันแยกพื้นผิวผลิตภัณฑ์สาธารณะออกจากพื้นผิวการตลาด
รายละเอียดที่ควรรู้:
- เว็บไซต์สาธารณะด้านการตลาด/องค์กรยังคงอยู่บน
alternun.io - พื้นผิวแอปและ identity ใช้ตระกูลโดเมน
alternun.co
แพ็กเกจ Infra Provision อะไรบ้าง
การส่งมอบแอปสาธารณะ
สำหรับ AIRS แพ็กเกจ infra จะ provision:
- การส่งมอบเว็บไซต์แบบ static สำหรับ Expo web build
- bucket สำหรับ asset
- เส้นทางการกระจายที่รองรับด้วย CloudFront
- redirect ตาม stage
การส่งมอบ Backend API
สำหรับ API แบบกำหนดเอง แพ็กเกจ infra จะ provision:
- Lambda
- API Gateway HTTP API
- logging ใน CloudWatch
- การแมป custom domain
- ACM และการตรวจสอบ DNS เมื่อจำเป็น
การส่งมอบแอดมิน
สำหรับคอนโซลแอดมิน แพ็กเกจ infra จะ provision:
- static site hosting
- CDN distribution
- custom domain และใบรับรอง
การส่งมอบ identity
สำหรับ Authentik แพ็กเกจ infra จะ provision:
- VPC และ security group
- โฮสต์รันไทม์บน EC2
- RDS PostgreSQL แบบ optional
- payload ใน Secrets Manager
- record ใน Route53
- เส้นทาง TLS แบบ ACME หรือ ACM ตาม stage
โมเดลของ Pipeline
แคตตาล็อก pipeline เริ่มต้นประกอบด้วย:
productiondevidentity-devidentity-proddashboard-devdashboard-prod
การจับคู่ branch เริ่มต้นใน config infra จะส่ง stack ฝั่ง dev ไปที่ develop และ stack ฝั่ง production ไปที่ master