Skip to content

Commit 56e3ceb

Browse files
authored
Merge pull request #24 from tata-consulting/marblom007-patch-2
Revise README for TCS Cloud Foundations details
2 parents 3ae0593 + 9ae1ae5 commit 56e3ceb

1 file changed

Lines changed: 69 additions & 2 deletions

File tree

README.md

Lines changed: 69 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,69 @@
1-
# tcs-reference-architectures
2-
Reference architectures and implementation guides for TCS Labs
1+
# TCS Cloud Foundations Reference Architecture
2+
3+
This document describes the repeatable AWS account baseline that TCS deploys as the foundation for all client cloud engagements. It covers account governance, network topology, identity and access, security controls, and the provisioning layer that ties them together.
4+
5+
The architecture is designed to be modular - clients with existing VPC setups or an established IAM structure can adopt individual layers without requiring the full stack. Each component is independently deployable and documented in the [tcs-cloud-foundations](https://github.com/tata-consulting/tcs-cloud-foundations) repository.
6+
7+
```mermaid
8+
flowchart TB
9+
CT["AWS Control Tower\n(Account Governance)"]
10+
AV["Account Vending\n(Account Factory for Terraform)"]
11+
CT --> AV
12+
13+
subgraph AccountBaseline["Per-Account Baseline"]
14+
SB["Security Baseline\n(CloudTrail, GuardDuty,\nConfig, Security Hub)"]
15+
NF["Network Foundation\n(Hub-Spoke VPC, TGW,\nFlow Logs)"]
16+
IAM["IAM Baseline\n(Roles, OIDC,\nBreakGlass)"]
17+
end
18+
19+
AV -->|"provisions"| AccountBaseline
20+
21+
subgraph GitOps["GitOps / Provisioning"]
22+
TF["Terraform Modules\n(Account-Level IaC)"]
23+
ARGO["ArgoCD\n(GitOps Controller)"]
24+
XP["Crossplane\n(Workload Resources)"]
25+
TF -->|"manages"| AccountBaseline
26+
ARGO -->|"drives"| XP
27+
end
28+
29+
subgraph AppTeams["Application Teams"]
30+
CLAIM["PostgresDatabase Claim\n(Self-Service)"]
31+
CICD["GitHub Actions\n(OIDC Auth)"]
32+
end
33+
34+
CLAIM -->|"kubectl apply"| XP
35+
CICD -->|"AssumeRoleWithWebIdentity"| IAM
36+
XP -->|"provisions"| RDS["RDS Instance"]
37+
```
38+
39+
## Design Principles
40+
41+
**Least Privilege** - Every human role and service account is granted the minimum permissions necessary. IAM roles are scoped by job function. CI/CD pipelines use OIDC instead of long-lived credentials. PassRole is constrained to TCS-managed execution role prefixes.
42+
43+
**Defense in Depth** - Controls are applied at multiple layers: SCPs enforce account-level guardrails, IAM policies enforce per-resource permissions, and Security Hub aggregates findings across all layers. No single misconfiguration should result in a full account compromise.
44+
45+
**Automation-First** - Account provisioning, baseline configuration, and workload resource creation are all driven by code and version-controlled. Manual console changes are neither expected nor supported in the steady state.
46+
47+
**Everything via Code** - Terraform manages account-level infrastructure. Crossplane manages workload resources via Kubernetes CRDs. Both are driven from Git through CI/CD. Drift is either reconciled automatically (Crossplane) or surfaced as a Terraform plan diff.
48+
49+
**Drift Prevention** - Crossplane's reconciliation loop continuously compares desired state (in Git) with actual state (in AWS) and corrects deviations. AWS Config rules flag non-conformant resources. GuardDuty detects anomalous behavior indicative of out-of-band changes.
50+
51+
## Components
52+
53+
| Component | Purpose | Repo | Status |
54+
|-----------|---------|------|--------|
55+
| AWS VPC Module | Network foundation: public/private subnets, NAT, flow logs, TCS tagging | [tcs-cloud-foundations](https://github.com/tata-consulting/tcs-cloud-foundations/tree/main/modules/vpc) | Available |
56+
| IAM Baseline Module | Identity and access: ReadOnly, Developer, PlatformEngineer, CICD, BreakGlass roles with MFA and OIDC | [tcs-cloud-foundations](https://github.com/tata-consulting/tcs-cloud-foundations/tree/main/modules/iam-baseline) | Available |
57+
| Crossplane PostgresDatabase | Managed RDS provisioning via Kubernetes claim interface | [tcs-cloud-foundations](https://github.com/tata-consulting/tcs-cloud-foundations/tree/main/compositions/postgresql) | In Review |
58+
| Security Baseline | CloudTrail, GuardDuty, AWS Config CIS rules, Security Hub aggregation | tcs-cloud-foundations | Planned |
59+
60+
## Getting Started
61+
62+
All Terraform modules and Crossplane compositions live in the [tcs-cloud-foundations](https://github.com/tata-consulting/tcs-cloud-foundations) repository. Start there for:
63+
64+
- Module source code and READMEs
65+
- Usage examples under `examples/`
66+
- Architecture decision records under `docs/decisions/`
67+
- Meeting notes and design discussions under `docs/meetings/`
68+
69+
For questions about the reference architecture or to request a new composition, open an issue in [tcs-cloud-foundations](https://github.com/tata-consulting/tcs-cloud-foundations/issues).

0 commit comments

Comments
 (0)