add template and create script
This commit is contained in:
parent
aebb340f53
commit
0c63a9682c
20
templates/appname-application.yaml
Normal file
20
templates/appname-application.yaml
Normal file
@ -0,0 +1,20 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: argo-app-appname
|
||||
namespace: argocd
|
||||
spec:
|
||||
destination:
|
||||
name: ''
|
||||
namespace: default
|
||||
server: https://kubernetes.default.svc
|
||||
source:
|
||||
path: appname
|
||||
repoURL: https://git.mziesel.nl/mans/argocd-test
|
||||
targetRevision: HEAD
|
||||
sources: []
|
||||
project: default
|
||||
syncPolicy:
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
20
templates/bin/new-app.sh
Executable file
20
templates/bin/new-app.sh
Executable file
@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
[ $# != 1 ] &&
|
||||
echo "wrong number of args, run with --help" &&
|
||||
exit 1;
|
||||
|
||||
APPNAME=$1
|
||||
|
||||
cp -r ./templates/new-svc "$APPNAME"
|
||||
cp ./templates/appname-application.yaml "argocd-applications/base/$APPNAME-application.yaml"
|
||||
|
||||
for file in "$APPNAME"/base/* ; do
|
||||
rename appname "$APPNAME" "$file"
|
||||
# NEWFILE=$(echo "$file" | sed "s/appname/$APPNAME/g")
|
||||
NEWFILE=${file//appname/$APPNAME}
|
||||
sed -i "s/appname/$APPNAME/g" "$NEWFILE"
|
||||
done
|
||||
|
||||
sed -i "s/appname/$APPNAME/g" "./$APPNAME/kustomization.yaml"
|
||||
sed -i "s/appname/$APPNAME/g" "argocd-applications/base/$APPNAME-application.yaml"
|
21
templates/new-svc/base/appname-deployment.yaml
Normal file
21
templates/new-svc/base/appname-deployment.yaml
Normal file
@ -0,0 +1,21 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: appname
|
||||
namespace: appname
|
||||
spec:
|
||||
replicas: 3
|
||||
selector:
|
||||
matchLabels:
|
||||
app: appname
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: appname
|
||||
spec:
|
||||
containers:
|
||||
- image: ghcr.io/gchq/appname:10.19.4
|
||||
name: appname
|
||||
ports:
|
||||
- name: web
|
||||
containerPort: 80
|
12
templates/new-svc/base/appname-ingress.yaml
Normal file
12
templates/new-svc/base/appname-ingress.yaml
Normal file
@ -0,0 +1,12 @@
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: appname-ingressroute
|
||||
spec:
|
||||
routes:
|
||||
- match: Host(`appname.mziesel.nl`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: appname
|
||||
port: web
|
||||
tls: {}
|
4
templates/new-svc/base/appname-namespace.yaml
Normal file
4
templates/new-svc/base/appname-namespace.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: appname
|
11
templates/new-svc/base/appname-svc.yaml
Normal file
11
templates/new-svc/base/appname-svc.yaml
Normal file
@ -0,0 +1,11 @@
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: appname
|
||||
spec:
|
||||
ports:
|
||||
- name: web
|
||||
port: 80
|
||||
targetPort: web
|
||||
selector:
|
||||
app: appname
|
10
templates/new-svc/kustomization.yaml
Normal file
10
templates/new-svc/kustomization.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
namespace: appname
|
||||
|
||||
resources:
|
||||
- ./base/appname-namespace.yaml
|
||||
- ./base/appname-deployment.yaml
|
||||
- ./base/appname-svc.yaml
|
||||
- ./base/appname-ingress.yaml
|
Loading…
Reference in New Issue
Block a user