Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pacphi/tf4k8s
Random experiments with Terraform and Kubernetes
https://github.com/pacphi/tf4k8s
clouds k8s terraform
Last synced: 1 day ago
JSON representation
Random experiments with Terraform and Kubernetes
- Host: GitHub
- URL: https://github.com/pacphi/tf4k8s
- Owner: pacphi
- License: apache-2.0
- Created: 2020-05-14T01:15:17.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-01-12T01:58:21.000Z (14 days ago)
- Last Synced: 2025-01-12T02:37:47.380Z (14 days ago)
- Topics: clouds, k8s, terraform
- Language: HCL
- Size: 918 KB
- Stars: 17
- Watchers: 5
- Forks: 7
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Terraform for Kubernetes
An exploration into the use of Terraform to provision Kubernetes clusters on popular IaaS.
## Vision
Launch a relatively comprehensive end-to-end demo environment for discussion purposes and/or hands-on workshops in under an hour.
## Getting Started
Choose your own adventure on one of the following cloud providers
- [x] [Google Cloud Platform (GKE)](experiments/gcp)
- [x] [Microsoft Azure (AKS)](experiments/azure)
- [x] [Amazon Web Service (EKS)](experiments/amazon)
- [x] VMWare Tanzu Kubernetes Grid
- on AWS [management](experiments/tkg/aws/mgmt) and [workload](experiments/tkg/aws/workload) clusters
- on Azure [management](experiments/tkg/azure/mgmt) and [workload](experiments/tkg/azure/workload) clusters
- [x] [VMWare Tanzu Kubernetes Grid Integrated](experiments/tkgi/cluster)Or provision new / attach existing Kubernetes clusters via
- [ ] VMWare Tanzu Mission Control
## Current experiments
- [x] Identity management
- [x] Add DNS Zone management
- [x] Add Certificate management
- [x] Add Ingress and External DNS
- [x] Install [Sealed Secrets](experiments/k8s/sealed-secrets)
- [x] Install a registry like [ACR](experiments/azure/registry), [GCR](experiments/gcp/registry), [Harbor](experiments/k8s/harbor) or [JCR](experiments/k8s/jcr)
- [x] Install [VMWare Tanzu Build Service](experiments/k8s/tbs)
- [x] Install [cf-for-k8s](experiments/k8s/cf4k8s)
- [x] Install [VMWare Tanzu Application Service for Kubernetes](experiments/k8s/tas4k8s)
- [x] Install [Tanzu Services Manager](experiments/k8s/tsmgr)
- [x] Install [Cloud Service Broker](experiments/k8s/cloud-service-broker)
- [x] Install [Kubeapps](experiments/k8s/kubeapps)
- [x] Install [Stratos](experiments/k8s/stratos)
- [x] Install [Loki Stack](experiments/k8s/loki-stack)
- [x] Install [EFK Stack](experiments/k8s/efk-stack)
- [x] Integrate a cloud provider's blobstore or install [Minio](experiments/k8s/minio)
- [x] Integrate [VMware Tanzu Observability](experiments/k8s/wavefront)
- [x] Provision a distributed version control system with [Gitea](experiments/k8s/gitea)
- [x] Enable continuous integration (and deployment) with [Concourse](experiments/k8s/concourse) or [Jenkins](experiments/k8s/jenkins)
- [x] Enable continuous deployment with [Argo CD](experiments/k8s/argo-cd) or [Tekton](experiments/k8s/tekton)
- [x] Install [edukates](experiments/k8s/eduk8s) a set of custom resources used to deploy workshop training portals## Organization
Sub-directories of this repository contain
* `bom`
* Bill of materials; what do you need to get started?
* `experiments`
* Progressively build out a platform to deliver software delivery agility underpinned by Kubernetes
* `modules`
* Building blocks to be composed as you see fit
* `ytt-libs`
* YAML-based templates consumed by [ytt](https://get-ytt.io) then deployed with [kapp](https://get-kapp.io)## Roadmap
Above-mentioned experiments will evolve to include automating base configuration and installation of an additional complement of capabilities/components aimed at modeling a modern enterprise software factory / product delivery supply chain.
### Cloud Foundry
#### Administration
- [x] Stratos
#### Open Service Broker-compatible API servers
Provision your own collection of services
- [x] [Tanzu Services Manager](https://docs.pivotal.io/ksm/0-11/index.html)
Provision managed services in a public cloud and bind them to applications
- [x] [Open Service Broker for Cloud Platform (GCP, Azure, AWS)](https://github.com/cloudfoundry-incubator/cloud-service-broker)
### Service catalog
Deploy and manage application and services with ease through an administrative interface
- [x] [Kubeapps](https://kubeapps.com/)
### Distributed Version Control
- [x] Gitea
- [ ] Gitlab### CI/CD
- [x] Argo CD
- [x] Jenkins
- [ ] Gitlab
- [x] VMWare Tanzu Build Service
- [x] Concourse
- [x] Tekton#### Reference Pipelines
* See [tf4k8s-pipelines](https://github.com/pacphi/tf4k8s-pipelines)
### Logging/Monitoring/Metrics
- [x] [FluentBit](https://docs.fluentbit.io/manual/installation/kubernetes)
- [x] Elasticsearch, Kibana
- [x] Prometheus
- [x] Grafana
- [x] VMWare Tanzu Observability### Cluster/Policy Management
- [ ] VMWare Tanzu Mission Control
### Additional "building blocks" and maintenance
- [x] [Contour](https://github.com/projectcontour/contour)
- [x] Registries: [ACR](https://docs.microsoft.com/en-us/azure/container-registry/container-registry-intro), [GCR](https://cloud.google.com/container-registry), [JFrog Container Registry](https://github.com/jfrog/charts/tree/master/stable/artifactory-jcr)
- [ ] [Velero](https://velero.io)### Services
#### Blob stores
- [x] Minio
- [x] Amazon S3
- [x] Google Cloud Storage Bucket
- [x] Azure Blob Storage#### Stream Processing
- [ ] Kafka
- [x] [RabbitMQ](experiments/k8s/tds/rabbitmq)#### Caching
- [x] [Gemfire](experiments/k8s/tds/gemfire)
- [ ] Redis#### Databases
- [ ] Mongo
- [x] [MySQL](experiments/k8s/tds/mysql)
- [x] [Postgres](experiments/k8s/tds/postgres)##### Spring Cloud
- [x] [Gateway](experiments/k8s/spring-cloud/gateway)
- [x] [Configuration Service](experiments/k8s/spring-cloud/config-service)
- [ ] Spring Cloud Dataflow