104 lines
2.1 KiB
Markdown
104 lines
2.1 KiB
Markdown
## Commands
|
|
go mod init github.com/Pingu-Studio/MaidnCLI
|
|
go get -u github.com/spf13/cobra@latest
|
|
go get golang.org/x/term
|
|
go mod tidy
|
|
go get gopkg.in/yaml.v3
|
|
|
|
in powershell run
|
|
```powershell
|
|
go install github.com/go-delve/delve/cmd/dlv@latest
|
|
dlv version
|
|
```
|
|
|
|
## TODO
|
|
create the file:
|
|
within the main flux repo dynamically changing the org and repo location based on the user's input
|
|
|
|
```yaml
|
|
---
|
|
apiVersion: source.toolkit.fluxcd.io/v1beta2
|
|
kind: HelmRepository
|
|
metadata:
|
|
name: ghcr-charts
|
|
namespace: flux-system
|
|
spec:
|
|
interval: 5m
|
|
type: oci
|
|
url: oci://ghcr.io/pingu-studio
|
|
secretRef:
|
|
name: github-auth
|
|
---
|
|
apiVersion: source.toolkit.fluxcd.io/v1
|
|
kind: GitRepository
|
|
metadata:
|
|
name: cicd-deployment-manifests
|
|
namespace: flux-system
|
|
spec:
|
|
interval: 1m0s
|
|
url: https://github.com/Pingu-Studio/cicd-deployment-manifests
|
|
ref:
|
|
branch: main
|
|
secretRef:
|
|
name: github-auth
|
|
---
|
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
|
kind: Kustomization
|
|
metadata:
|
|
name: namespaces
|
|
namespace: flux-system
|
|
spec:
|
|
interval: 10m
|
|
path: ./namespaces
|
|
prune: true
|
|
sourceRef:
|
|
kind: GitRepository
|
|
name: cicd-deployment-manifests
|
|
---
|
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
|
kind: Kustomization
|
|
metadata:
|
|
name: preview-apps
|
|
namespace: flux-system
|
|
spec:
|
|
dependsOn:
|
|
- name: namespaces
|
|
interval: 2m0s
|
|
path: ./apps/previews
|
|
prune: true
|
|
sourceRef:
|
|
kind: GitRepository
|
|
name: cicd-deployment-manifests
|
|
---
|
|
apiVersion: kustomize.toolkit.fluxcd.io/v1
|
|
kind: Kustomization
|
|
metadata:
|
|
name: staging-apps
|
|
namespace: flux-system
|
|
spec:
|
|
dependsOn:
|
|
- name: namespaces
|
|
interval: 2m0s
|
|
path: ./apps/staging
|
|
prune: true
|
|
sourceRef:
|
|
kind: GitRepository
|
|
name: cicd-deployment-manifests
|
|
```
|
|
|
|
and in the cicd-deployment-manifests repo create:
|
|
|
|
CICD-DEPLOYMENT-MANIFESTS
|
|
├── apps
|
|
│ ├── previews
|
|
│ │ └── .gitkeep
|
|
│ ├── production
|
|
│ │ └── .gitkeep
|
|
│ └── staging
|
|
│ └── .gitkeep
|
|
├── namespaces
|
|
│ ├── kustomization.yaml
|
|
│ ├── previews.yaml
|
|
│ ├── production.yaml
|
|
│ └── staging.yaml
|
|
└── .gitkeep |