Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/j0hn-b/kubepal
Local GitOps replica kubernetes cluster to develop and test your code.
https://github.com/j0hn-b/kubepal
argocd developer-tools devops gitops go-templates helm k3d k8s kubernetes platform-engineering taskfile terraform
Last synced: about 1 month ago
JSON representation
Local GitOps replica kubernetes cluster to develop and test your code.
- Host: GitHub
- URL: https://github.com/j0hn-b/kubepal
- Owner: J0hn-B
- License: mit
- Created: 2023-01-21T13:26:58.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-04T13:51:52.000Z (9 months ago)
- Last Synced: 2024-07-30T20:49:31.061Z (5 months ago)
- Topics: argocd, developer-tools, devops, gitops, go-templates, helm, k3d, k8s, kubernetes, platform-engineering, taskfile, terraform
- Language: HCL
- Homepage:
- Size: 47.9 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Kubepal
`Kubepal` is a local k3d cluster setup designed for cluster configuration development and app deployment experimentation.
Key features:
- Disposable and Quick-to-Use: Create and delete the cluster set up with a single command
- GitOps Ready: Replicate GitOps practices in a local environment using ArgoCD
- Modular: Each directory is a self-contained module that can be used independently
## Prerequisites
- [Task](https://taskfile.dev/#/installation) | [Docker](https://www.docker.com/products/docker-desktop) | [Kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/) | [Terraform](https://learn.hashicorp.com/tutorials/terraform/install-cli)
## Getting started
```shell
# Clone the repo
git clone https://github.com/J0hn-B/kubepal.git# Change to the kubepal directory
cd kubepal# List all available tasks
task --list
```[Configure Kubepal to use the local kubeconfig file](/docs/kubepal_start_here.md)
---
```shell
# create cluster deploy helm charts using terraform
task deploy# delete cluster
task delete
```---
Available tasks for this project
```shell
$ task --list* create: Create and access a k3d cluster.
If operating on WSL, the KUBECONFIG env var will point to the Windows host.
Kubeconfig path: /mnt/c/Users/devops/.kube/config
* delete: Delete cluster
* deploy: Bootstrap cluster and deploy apps
* test: Run static tests
* tf_init: Initialize terraform
* run:checkov: Checkov, find cloud infra misconfigurations
* run:diff: Git diff to return changed files
* run:kube_scape: Kubescape security platform
* run:lint: GitHub Super-Linter
* run:trivy: Trivy security scanner```
---
- [kubepal overview](/docs/kubepal_structure.md)
---
- Notes:
- [Terraform Kubernetes Manifest Limitations](/docs/terraform_kubernetes_manifest.md)