Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
3f99e3d
feat: refactor connectivity modules and add DNS zone support
mahauber Apr 27, 2026
dc414ff
feat: add DNS zone management to hub-spoke example and update related…
mahauber Apr 27, 2026
e56052c
feat: update naming patterns and refactor network area and firewall c…
mahauber Apr 28, 2026
7530e2b
feat: refactor firewall configuration and update related variables an…
mahauber Apr 28, 2026
301b63b
restructured
mahauber May 4, 2026
f869a35
feat: update README with new requirements and inputs for connectivity…
mahauber May 4, 2026
2712f92
feat: update README to reflect changes in Terraform version and enhan…
mahauber May 4, 2026
760700d
feat: update README to reflect changes in Terraform variable file nam…
mahauber May 4, 2026
fd4b438
feat: remove key variables section from README for clarity
mahauber May 4, 2026
74f8c95
feat: enhance firewall configuration and add DNS zones support
mahauber May 5, 2026
d0e959f
feat: add observability configuration and update related resources
mahauber May 5, 2026
f117d90
feat: standardize firewall variable naming and update related configu…
mahauber May 5, 2026
49eb0a7
Update README files and module configurations
mahauber May 5, 2026
6212843
Add STACKIT logo SVG and update README for improved presentation
mahauber May 5, 2026
6dcc033
chore: update README to add overview section separator
mahauber May 5, 2026
025ec64
chore: remove unnecessary horizontal rule from README
mahauber May 5, 2026
835b4ea
chore: remove promotional text and horizontal rule from README
mahauber May 5, 2026
6d1e9f9
chore: update Terraform and STACKIT badge colors in README
mahauber May 5, 2026
02bc777
chore: remove Deployment Flavours section and related documentation f…
mahauber May 5, 2026
0d07714
chore: add Getting Started guide with deployment instructions and pre…
mahauber May 5, 2026
8afb07c
chore: update getting started guide with improved project creation in…
mahauber May 5, 2026
820eb62
chore: update service account configuration instructions in Getting S…
mahauber May 5, 2026
33ff7d7
chore: use STACKIT_SERVICE_ACCOUNT_KEY_PATH
simpe00 May 5, 2026
d43370c
chore: update getting started guide with service account key path hin…
mahauber May 5, 2026
3ed0964
chore: update configuration files and documentation for improved clar…
mahauber May 6, 2026
824490d
chore: enhance getting started guide with notes on scaling and servic…
mahauber May 6, 2026
21d54b8
chore: update getting started guide with note on Resource Manager fol…
mahauber May 6, 2026
482aec2
chore: update dependabot configuration to include additional director…
mahauber May 6, 2026
13523fe
chore: update getting started guide with detailed notes on Resource M…
mahauber May 6, 2026
f8e4b48
chore: remove scripts directory ownership from CODEOWNERS
mahauber May 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ version: 2
updates:
- package-ecosystem: "terraform"
directories:
- "/modules/*"
- "/src"
- "/src/modules/*"
- "/stackit-verified-modules/*"
schedule:
interval: "weekly"
day: "sunday"
Expand Down
43 changes: 43 additions & 0 deletions .github/images/stackit-logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
17 changes: 0 additions & 17 deletions .terraform-docs.yml

This file was deleted.

20 changes: 0 additions & 20 deletions .tflint.hcl

This file was deleted.

5 changes: 2 additions & 3 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
* david.wenzel@stackit.cloud @mahauber
docs/* @lweberru
scripts/* @lweberru
* @dweezl @mahauber @simpe00
docs/* @lweberru
87 changes: 9 additions & 78 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,91 +1,22 @@
# 🚀 STACKIT Landing Zone Accelerator
<div align="center">
<br>
<img src=".github/images/stackit-logo.svg" alt="STACKIT logo" width="50%"/>
<br>
<br>
</div>

**Accelerate your STACKIT cloud adoption with production-ready, modular landing zones.**
# Landing Zone Accelerator

[![Terraform](https://img.shields.io/badge/Terraform-1.14+-623CE4?logo=terraform&logoColor=white)](https://www.terraform.io/)
[![Terraform](https://img.shields.io/badge/Terraform-1.15+-623CE4?logo=terraform&logoColor=white)](https://www.terraform.io/)
[![OpenTofu](https://img.shields.io/badge/OpenTofu-1.11+-FFDA18?logo=opentofu&logoColor=black)](https://opentofu.org/)
[![STACKIT](https://img.shields.io/badge/STACKIT-Cloud-00A9E0)](https://www.stackit.de/)
[![STACKIT](https://img.shields.io/badge/STACKIT-Cloud-004E5A)](https://www.stackit.de/)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)

---

## ✨ Overview

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.

## 🎯 Key Features

- **🏗️ Modular Architecture** — Compose your infrastructure using reusable, tested Terraform modules
- **🔐 Security First** — Pre-configured RBAC, secrets management, and network segmentation
- **📐 Scalable Templates** — Start small and grow with ready-to-use deployment templates
- **🌐 Multi-Environment** — Seamlessly manage production and non-production workloads
- **⚡ Quick Start** — Get up and running in minutes with sensible defaults

## 📦 Modules

| Module | Description |
|--------|-------------|
| `connectivity-global` | Network areas and regional IP range management including transfer networks and nameservers |
| `connectivity-regional` | Regional connectivity project with WAN/LAN networks, pfSense firewall appliance, public IP, and network area routing |
| `devops` | DevOps project with RBAC and managed Git instance |
| `governance` | Resource Manager folder hierarchy, custom roles, and organization and folder-level role assignments |
| `landing-zone` | Landing zone project with RBAC, networking, Secrets Manager, Object Storage, service accounts, and SKE Kubernetes cluster |
| `management` | Management project with Secrets Manager, Object Storage, service accounts, and observability |
| `sandboxes` | Sandbox projects with RBAC role assignments for experimentation workloads |

## 🚀 Getting Started

```bash
# Clone the repository
git clone https://github.com/stackitcloud/stackit-landing-zone.git

# Navigate to a template
cd examples/01-small-scale

# Fill out the values

# Initialize and apply
terraform init
terraform plan
terraform apply
```

📖 See the [Getting Started Guide](docs/getting-started.md) for detailed instructions.

## 📚 Documentation

- [Getting Started](docs/getting-started.md)
- [Deployment Guide](docs/deployment-guide.md)

## 🔍 Linting (TFLint)

The repository includes automated Terraform linting with `tflint` in GitHub Actions.

- Workflow: `.github/workflows/tflint.yml`
- Config: `.tflint.hcl`

Run locally:

```bash
tflint --init
tflint --recursive
```

Additionally, Terraform variable validations enforce flavor naming patterns for:

- `modules/connectivity-regional` (`firewall_flavor`)
- `modules/devops` (`git_flavor`)
- `modules/landing-zone` (`kubernetes_clusters[*].node_pools[*].machine_type`)

Use `stackit server machine-type list` and the STACKIT Git API docs to verify currently available flavors.

For live validation against current STACKIT SKUs, CI also runs:

```bash
python3 scripts/validate_stackit_flavors.py
```

By default it uses `https://pim.api.stackit.cloud/v2/skus` and fails if a configured flavor is not currently available.

## 🤝 Contributing

Expand Down
Empty file removed docs/deployment-guide.md
Empty file.
Loading
Loading