Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dirien/no-yaml
No YAML deployments to K8s
https://github.com/dirien/no-yaml
Last synced: 2 months ago
JSON representation
No YAML deployments to K8s
- Host: GitHub
- URL: https://github.com/dirien/no-yaml
- Owner: dirien
- License: apache-2.0
- Created: 2021-10-10T09:09:57.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-19T17:04:30.000Z (12 months ago)
- Last Synced: 2023-12-19T17:15:38.769Z (12 months ago)
- Language: Go
- Size: 399 KB
- Stars: 11
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# no-yaml
Read the detailed article on my blog:
- [Kubernetes: No YAML, please!?](https://blog.ediri.io/kubernetes-no-yaml-please)
- [Kubernetes: No YAML, please!? - Part 2](https://blog.ediri.io/kubernetes-no-yaml-please-part-2)No YAML deployments to K8s with following approaches:
- Pulumi
- NAML
- cdk8s
- isopodWe will deploy the 📨🚚 CNCF App Delivery SIG Demo [podtato-head](https://github.com/podtato-head/podtato-head)
and use this manifest as a base -> https://github.com/podtato-head/podtato-head/blob/main/delivery/kubectl/manifest.yaml
# Pulumi
```
pulumi new
```And chose the `kubernetes-go` template
# NAML
Create a new Go project and add the NAML libs to your project.
Run go build . to crate your app (or use goreleaser)
```
go build -o podtato .
```Run your app: `./podtato`
# cdk8s
```
npm install -g cdk8s-cli #for the 1.0.0-betabrew install cdk8s # for the 0.33.0
```Then create your project with
```
mkdir podtato-head-cdk8s
cd podtato-head-cdk8s
cdk8s init go-app
cdk8s import
cdk8s synth
kubectl apply -f dist/podtato-head-cdk8s.k8s.yaml
```Update to the `no-yaml` project with `isopod`:
# Isopod
isopod is currently only available for MacOS and Linux systems.
```bash
wget https://github.com/cruise-automation/isopod/releases/download/v1.8.6/isopod-darwin
chmod +x isopod-darwin
mv isopod-darwin /usr/local/bin/isopod
```To execute the deployment, just run:
```bash
cd podtato-head-isopod
isopod -kubeconfig $HOME/.kube/config install main.ipd
```and remove the deployment with:
```bash
isopod -kubeconfig $HOME/.kube/config remove main.ipd
```If you want to know more about [skylark](https://docs.bazel.build/versions/main/skylark/language.html).