https://github.com/imshakil/k8s-with-kops
Kubernetes Internal Developer Platform on AWS with Terraform & kOps
https://github.com/imshakil/k8s-with-kops
aws cloud k8s k8s-cluster kops kubernetes terraform
Last synced: 6 months ago
JSON representation
Kubernetes Internal Developer Platform on AWS with Terraform & kOps
- Host: GitHub
- URL: https://github.com/imshakil/k8s-with-kops
- Owner: imShakil
- Created: 2025-11-26T17:50:04.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-12-14T05:50:23.000Z (7 months ago)
- Last Synced: 2025-12-15T10:51:21.765Z (7 months ago)
- Topics: aws, cloud, k8s, k8s-cluster, kops, kubernetes, terraform
- Language: HCL
- Homepage:
- Size: 258 KB
- Stars: 1
- Watchers: 0
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Internal Developer Platform For K8S cluster on AWS with Terraform & Kops
[](https://sonarcloud.io/summary/new_code?id=imShakil_k8s-with-kops)
[](https://sonarcloud.io/summary/new_code?id=imShakil_k8s-with-kops)
[](https://sonarcloud.io/summary/new_code?id=imShakil_k8s-with-kops)
[](https://sonarcloud.io/summary/new_code?id=imShakil_k8s-with-kops)
[](https://sonarcloud.io/summary/new_code?id=imShakil_k8s-with-kops)
[](https://sonarcloud.io/summary/new_code?id=imShakil_k8s-with-kops)
[](https://sonarcloud.io/summary/new_code?id=imShakil_k8s-with-kops)
This repository contains Terraform configurations and Kops setup scripts to create and manage a Kubernetes cluster on AWS.
It is designed to facilitate internal development and deployment of applications within a Kubernetes environment.
## Table of Contents
- [What is IDP?](#what-is-idp)
- [Project Details](#project-details)
- [Structure](#structure)
- [Pre-requisites](#prerequisites)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [License](#license)
## What is IDP?
IDP is an internal development platform designed to streamline the creation and management of Kubernetes clusters on AWS. It leverages Terraform for infrastructure provisioning and Kops for Kubernetes cluster management, providing a robust foundation for deploying and scaling applications.
## Project Details
- Purpose: Internal development platform for managing Kubernetes clusters on AWS
- Primary Tools:
- Terraform
- Kops
- AWS CLI
- Kubectl
- GitHub Actions
## Structure
```files
── README.md
├── docs
│ ├── deployment.md
│ ├── developer-guidelines.md
│ └── setup_cluster_domain.md
├── kops-infra
│ └── backend.tf
├── kops-init
│ ├── backend.tf.example
│ ├── main.tf
│ ├── outputs.tf
│ ├── provider.tf
│ ├── README.md
│ ├── terraform.tfvars.example
│ ├── variables.tf
│ └── templates
│ └── backend.hcl.tpl
├── scripts
│ ├── create-cluster.sh
│ ├── destroy-cluster.sh
│ ├── prepare-vm.sh
│ ├── README.md
│ └── update-iam-profile.sh
└── tf-modules
├── ec2
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
├── ecr
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
├── envs
│ ├── dev.tfvars
│ ├── prod.tfvars
│ ├── README.md
│ └── stage.tfvars
├── iam
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
├── rds
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
├── s3
│ ├── main.tf
│ ├── outputs.tf
│ └── variables.tf
└── vpc
├── main.tf
├── outputs.tf
└── variables.tf
```
**Structure Overview**:
- `kops-infra/`: Contains Terraform configurations for the Kops infrastructure.
- `kops-init/`: Contains Terraform configurations for initializing Kops.
- `scripts/`: Contains scripts for cluster management and VM preparation.
- `tf-modules/`: Contains reusable Terraform modules for various AWS resources.
- `docs/`: Contains documentation for deployment and developer guidelines.
## Prerequisites
- AWS account with appropriate permissions
- Terraform installed
- kOps installed
- kubectl installed
## Documentation
Want to build you own internal developer platform for Kubernetes cluster on AWS with Terraform & Kops? Checkout the deployment guidelines and developer guidelines below:
- [Deployment Guidelines](./docs/deployment.md) (in progress)
- [Developer Guidelines](./docs/developer-guidelines.md) (in progress)
- [Setup Cluster Domain](./docs/setup_cluster_domain.md)
## Contributing
Contributions are welcome. Please open an issue or submit a pull request.
Please follow the existing code style and conventions on the [developer guidelines](./docs/developer-guidelines.md).
## License
This project is not licensed and is intended for internal use only.