Drip drip from the TAP don't slip.
This repo holds configurations and integrations for a variety of backing services for Tanzu Application Platform (TAP). Suitable for learning and demonstration purposes only.
- on-cluster/unmanaged
- Kafka
- MongoDB
- MySQL
- PostgreSQL
- RabbitMQ
- Redis
- cloud/managed
- AWS RDS
- GCP CloudSQL
- TAP 1.6 cluster
Offerings:
- rds-postgresql-default-vpc - AWS RDS PostgreSQL instances
- All instances get created in the default VPC
- Requires a one-time manual configuration to open port 5432 on the security group associated with the default VPC
- rds-postgresql-new-vpc-per-instance - AWS RDS PostgreSQL instances
- New VPC and supporting resources created for each new instance
- TODO: Take the Managed Resources in this dir and wrap them in an XRD/Composition/Class
- Operator Steps
- Use
kubectl
to apply cluster-resources/services/aws/provider-family.yml - Export
AWS_ACCESS_KEY_ID
,AWS_SECRET_ACCESS_KEY
andAWS_SESSION_TOKEN
env vars, then run./scripts/create-aws-providerconfig
to create aProviderConfig
for the AWSProvider
family - Choose an offering and apply the corresponding cluster-scoped resources
- E.g.
kubectl apply -f cluster-resources/services/aws/rds-postgresql-default-vpc/
- E.g.
- Use
- Developer Steps
- Create claims for the service
kubectl apply -f namespace-resources/services/claims/managed/aws/rds-postgresql-default-vpc.yml
, ortanzu service class-claim create aws-rds-psql-1 --class rds-postgresql-default-vpc -p storageGB=20
- Create claims for the service
Offerings:
- cloudsql-postgresql - CloudSQL PostgreSQL instances
- Operator Steps
- Use
kubectl
to apply cluster-resources/services/gcp/provider.yml - Run
PROJECT_ID=<GCP PROJECT ID> ./scripts/create-gcp-providerconfig
to create aProviderConfig
for the GCPProvider
- Choose an offering and apply the corresponding cluster-scoped resources
- E.g.
kubectl apply -f cluster-resources/services/gcp/cloudsql-postgresql/
- E.g.
- Use
- Developer Steps
- Create claims for the service
kubectl apply -f namespace-resources/services/claims/managed/gcp/cloudsql-postgresql.yml
, ortanzu service class-claim create gcp-cloudsql-psql-1 --class cloudsql-postgresql -p storageGB=20
- Create claims for the service
- Operator Steps
- No additional steps required
- Developer Steps
- Create claims for whichever services you need
kubectl apply -f namespace-resources/services/claims/unmanaged/kafka.yml
, ortanzu service class-claim create bitnami-kafka-1 --class kafka-unmanaged -p storageGB=5
- Create claims for whichever services you need
- Configure namespace provisioner on a TAP cluster via
tap-values.yml
as follows:
namespace_provisioner:
controller: true
additional_sources:
# ...
- git:
ref: origin/main
subPath: namespace-resources/services/claims/unmanaged # update this per your requirements
url: https://github.com/teddyking/tap-gitops.git
path: _ytt_lib/claims
# ...