https://github.com/hops-ops/aws-crossplane-stack
Install and configure Crossplane and providers to target cluster - crossplane-contrib providers included: aws, kubernetes, helm, github.
https://github.com/hops-ops/aws-crossplane-stack
Last synced: 17 days ago
JSON representation
Install and configure Crossplane and providers to target cluster - crossplane-contrib providers included: aws, kubernetes, helm, github.
- Host: GitHub
- URL: https://github.com/hops-ops/aws-crossplane-stack
- Owner: hops-ops
- Created: 2026-03-05T21:03:30.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-23T03:48:56.000Z (about 2 months ago)
- Last Synced: 2026-04-23T05:31:36.095Z (about 2 months ago)
- Language: Go Template
- Size: 47.9 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# aws-crossplane-stack
Installs Crossplane via Helm and configures AWS (IRSA), Kubernetes, Helm, and GitHub providers with toggle flags.
## Overview
Single unified XRD that replaces multiple separate configurations for Crossplane + providers. Creates:
1. **Crossplane Helm Release** — Crossplane from the stable chart repo
2. **AWS Provider** — IRSA IAM Role + ProviderConfig + DRC + provider-family-aws + sub-providers
3. **Kubernetes Provider** — ProviderConfig (InjectedIdentity) + DRC + provider-kubernetes
4. **Helm Provider** — ProviderConfig (InjectedIdentity) + DRC + provider-helm
5. **GitHub Provider** (optional) — ProviderConfig + DRC + provider-upjet-github + ExternalSecret
6. **Functions** — function-auto-ready
## Usage
### Minimal
```yaml
apiVersion: aws.hops.ops.com.ai/v1alpha1
kind: CrossplaneStack
metadata:
name: crossplane
namespace: default
spec:
clusterName: my-cluster
aws:
accountId: "123456789012"
oidc: oidc.eks.us-east-1.amazonaws.com/id/EXAMPLE123
region: us-east-1
```
### With GitHub provider and sub-providers
```yaml
apiVersion: aws.hops.ops.com.ai/v1alpha1
kind: CrossplaneStack
metadata:
name: crossplane
namespace: default
spec:
clusterName: production
labels:
team: platform
tags:
environment: production
aws:
accountId: "123456789012"
oidc: oidc.eks.us-east-1.amazonaws.com/id/EXAMPLE123
region: us-east-1
providers:
aws:
providers:
iam: {}
s3: {}
ec2: {}
github:
enabled: true
githubOrg: my-org
secretName: github-provider-token
```
## Development
```bash
make render # Render all examples
make validate # Validate rendered output
make test # Run KCL unit tests
make render:minimal # Render single example
```