https://github.com/eser/kubernext
offering modern structure for every software team
https://github.com/eser/kubernext
argo argocd iac k8s
Last synced: about 1 year ago
JSON representation
offering modern structure for every software team
- Host: GitHub
- URL: https://github.com/eser/kubernext
- Owner: eser
- License: apache-2.0
- Created: 2023-09-20T06:41:32.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-19T12:32:20.000Z (about 2 years ago)
- Last Synced: 2024-05-02T05:54:23.771Z (about 2 years ago)
- Topics: argo, argocd, iac, k8s
- Language: Go
- Homepage:
- Size: 217 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Codeowners: CODEOWNERS
Awesome Lists containing this project
README
# Project KuberNeXT
KuberNeXT is a powerful tool designed to deploy a meticulously crafted DevOps stack in minutes, whether on a remote server or your local development environment. This stack includes fully-featured tools for GitOps, monitoring, metrics, and workflows—just like the robust infrastructure you'd find in a leading software company.
## Infrastructure
This project uses [Infrastructure as Code](./infra/) with Pulumi. Current stack consists of:
- [Kubernetes](https://kubernetes.io/) for container orchestration
- [kind](https://kind.sigs.k8s.io/) for creating local Kubernetes cluster(s)
- [Pulumi](https://www.pulumi.com/) for infrastructure provisioning
- [Argo Workflows](https://argoproj.github.io/workflows) for worker tasks
- [ArgoCD](https://argoproj.github.io/cd) for GitOps
- [Prometheus](https://prometheus.io/) for metrics
- [Grafana](https://grafana.com/) for monitoring
- [Istio](https://istio.io/) for service mesh
- [MetalLB](https://metallb.universe.tf/) for load balancer
## Deployment
To deploy your infrastructure, follow the steps below.
### Prerequisites
1. [Install kind](https://kind.sigs.k8s.io/docs/user/quick-start/#installation) for local Kubernetes cluster
2. [Install Pulumi](https://www.pulumi.com/docs/get-started/install/)
3. Install NPM Dependencies
4. [Install `kubectl`](https://kubernetes.io/docs/tasks/tools/install-kubectl/)
### Steps
After cloning this repo, run these commands from the working directory:
#### kind
```bash
$ kind create cluster --name local --config kind-config.yaml
```
#### Pulumi
1. Login to pulumi:
```bash
$ pulumi login --local
```
2. Create a new stack:
```bash
$ pulumi stack init production
```
2. Execute the Pulumi program to create or update your infra:
```bash
$ pulumi up --stack production
```
#### Argo CD
1. Visit `http://localhost`
2. Get password with
`kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d`
command
3. Login as admin with the password
#### Argo Workflow
1. Argo port forward
```bash
$ kubectl -n argowf port-forward deployment/argo-server 2746:2746
```
### License
This project is licensed under the Apache 2.0 License. For further details,
please see the [LICENSE](LICENSE) file.
### To support the project...
[Visit my GitHub Sponsors profile at github.com/sponsors/eser](https://github.com/sponsors/eser)