|
1 | | -# 🚀 STACKIT Landing Zone Accelerator |
| 1 | +<div align="center"> |
| 2 | +<br> |
| 3 | +<img src=".github/images/stackit-logo.svg" alt="STACKIT logo" width="50%"/> |
| 4 | +<br> |
| 5 | +<br> |
| 6 | +</div> |
2 | 7 |
|
3 | | -**Accelerate your STACKIT cloud adoption with production-ready, modular landing zones.** |
| 8 | +# Landing Zone Accelerator |
4 | 9 |
|
5 | | -[](https://www.terraform.io/) |
| 10 | +[](https://www.terraform.io/) |
6 | 11 | [](https://opentofu.org/) |
7 | | -[](https://www.stackit.de/) |
| 12 | +[](https://www.stackit.de/) |
8 | 13 | [](LICENSE) |
9 | 14 |
|
10 | | ---- |
11 | | - |
12 | | -## ✨ Overview |
13 | | - |
14 | 15 | The STACKIT Landing Zone Accelerator provides a comprehensive Terraform-based framework for deploying secure, scalable, and well-architected cloud environments on STACKIT. Built with enterprise best practices, it enables teams to quickly establish governance, networking, and security foundations. |
15 | 16 |
|
16 | | -## 🎯 Key Features |
17 | | - |
18 | | -- **🏗️ Modular Architecture** — Compose your infrastructure using reusable, tested Terraform modules |
19 | | -- **🔐 Security First** — Pre-configured RBAC, secrets management, and network segmentation |
20 | | -- **📐 Scalable Templates** — Start small and grow with ready-to-use deployment templates |
21 | | -- **🌐 Multi-Environment** — Seamlessly manage production and non-production workloads |
22 | | -- **⚡ Quick Start** — Get up and running in minutes with sensible defaults |
23 | | - |
24 | | -## 📦 Modules |
25 | | - |
26 | | -| Module | Description | |
27 | | -|--------|-------------| |
28 | | -| `connectivity-global` | Network areas and regional IP range management including transfer networks and nameservers | |
29 | | -| `connectivity-regional` | Regional connectivity project with WAN/LAN networks, pfSense firewall appliance, public IP, and network area routing | |
30 | | -| `devops` | DevOps project with RBAC and managed Git instance | |
31 | | -| `governance` | Resource Manager folder hierarchy, custom roles, and organization and folder-level role assignments | |
32 | | -| `landing-zone` | Landing zone project with RBAC, networking, Secrets Manager, Object Storage, service accounts, and SKE Kubernetes cluster | |
33 | | -| `management` | Management project with Secrets Manager, Object Storage, service accounts, and observability | |
34 | | -| `sandboxes` | Sandbox projects with RBAC role assignments for experimentation workloads | |
35 | | - |
36 | | -## 🚀 Getting Started |
37 | | - |
38 | | -```bash |
39 | | -# Clone the repository |
40 | | -git clone https://github.com/stackitcloud/stackit-landing-zone.git |
41 | | - |
42 | | -# Navigate to a template |
43 | | -cd examples/01-small-scale |
44 | | - |
45 | | -# Fill out the values |
46 | | - |
47 | | -# Initialize and apply |
48 | | -terraform init |
49 | | -terraform plan |
50 | | -terraform apply |
51 | | -``` |
52 | | - |
53 | | -📖 See the [Getting Started Guide](docs/getting-started.md) for detailed instructions. |
54 | | - |
55 | 17 | ## 📚 Documentation |
56 | 18 |
|
57 | 19 | - [Getting Started](docs/getting-started.md) |
58 | | -- [Deployment Guide](docs/deployment-guide.md) |
59 | | - |
60 | | -## 🔍 Linting (TFLint) |
61 | | - |
62 | | -The repository includes automated Terraform linting with `tflint` in GitHub Actions. |
63 | | - |
64 | | -- Workflow: `.github/workflows/tflint.yml` |
65 | | -- Config: `.tflint.hcl` |
66 | | - |
67 | | -Run locally: |
68 | | - |
69 | | -```bash |
70 | | -tflint --init |
71 | | -tflint --recursive |
72 | | -``` |
73 | | - |
74 | | -Additionally, Terraform variable validations enforce flavor naming patterns for: |
75 | | - |
76 | | -- `modules/connectivity-regional` (`firewall_flavor`) |
77 | | -- `modules/devops` (`git_flavor`) |
78 | | -- `modules/landing-zone` (`kubernetes_clusters[*].node_pools[*].machine_type`) |
79 | | - |
80 | | -Use `stackit server machine-type list` and the STACKIT Git API docs to verify currently available flavors. |
81 | | - |
82 | | -For live validation against current STACKIT SKUs, CI also runs: |
83 | | - |
84 | | -```bash |
85 | | -python3 scripts/validate_stackit_flavors.py |
86 | | -``` |
87 | | - |
88 | | -By default it uses `https://pim.api.stackit.cloud/v2/skus` and fails if a configured flavor is not currently available. |
89 | 20 |
|
90 | 21 | ## 🤝 Contributing |
91 | 22 |
|
|
0 commit comments