From 4d5958813a07644cc27f6cfd73ff9d1e85d58d02 Mon Sep 17 00:00:00 2001 From: Salih Bozkaya Date: Wed, 4 Dec 2024 15:58:06 +0300 Subject: [PATCH] update structure and adds new configurations --- argocd_1/application.yaml | 4 --- envs/staging/apps/myapp.yaml | 26 +++++++++++++++++++ envs/staging/apps/secondapp.yaml | 26 +++++++++++++++++++ .../staging/myapp}/0-namespace.yaml | 2 +- .../staging/myapp}/1-deployment.yaml | 2 +- envs/staging/second-app/0-namespace.yaml | 5 ++++ envs/staging/second-app/1-deployment.yaml | 23 ++++++++++++++++ release.sh | 26 +++++++++++++++++++ 8 files changed, 108 insertions(+), 6 deletions(-) create mode 100644 envs/staging/apps/myapp.yaml create mode 100644 envs/staging/apps/secondapp.yaml rename {myapp => envs/staging/myapp}/0-namespace.yaml (73%) rename {myapp => envs/staging/myapp}/1-deployment.yaml (94%) create mode 100644 envs/staging/second-app/0-namespace.yaml create mode 100644 envs/staging/second-app/1-deployment.yaml create mode 100755 release.sh diff --git a/argocd_1/application.yaml b/argocd_1/application.yaml index 2279db8..9f2fe74 100644 --- a/argocd_1/application.yaml +++ b/argocd_1/application.yaml @@ -5,18 +5,14 @@ metadata: namespace: argocd finalizers: - resources-finalizer.argocd.argoproj.io - spec: project: default - source: repoURL: https://github.com/rsship/argomaton.git targetRevision: HEAD path: myapp - destination: server: https://kubernetes.default.svc - syncPolicy: automated: prune: true diff --git a/envs/staging/apps/myapp.yaml b/envs/staging/apps/myapp.yaml new file mode 100644 index 0000000..e73af8f --- /dev/null +++ b/envs/staging/apps/myapp.yaml @@ -0,0 +1,26 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: myapp-staging + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: default + source: + repoURL: https://github.com/rsship/argomaton.git + targetRevision: HEAD + path: envs/staging/myapp + destination: + server: https://kubernetes.default.svc + syncPolicy: + automated: + prune: true + selfHeal: true + allowEmpty: false + syncOptions: + - Validate=true + - CreateNamespace=false + - PrunePropagationPolicy=foreground + - PruneLast=true diff --git a/envs/staging/apps/secondapp.yaml b/envs/staging/apps/secondapp.yaml new file mode 100644 index 0000000..9a4e3c0 --- /dev/null +++ b/envs/staging/apps/secondapp.yaml @@ -0,0 +1,26 @@ +--- +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: secondapp-production + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io +spec: + project: default + source: + repoURL: https://github.com/rsship/argomaton.git + targetRevision: HEAD + path: envs/staging/second-app + destination: + server: https://kubernetes.default.svc + syncPolicy: + automated: + prune: true + selfHeal: true + allowEmpty: false + syncOptions: + - Validate=true + - CreateNamespace=false + - PrunePropagationPolicy=foreground + - PruneLast=true diff --git a/myapp/0-namespace.yaml b/envs/staging/myapp/0-namespace.yaml similarity index 73% rename from myapp/0-namespace.yaml rename to envs/staging/myapp/0-namespace.yaml index 6a9b4b2..2c4cc75 100644 --- a/myapp/0-namespace.yaml +++ b/envs/staging/myapp/0-namespace.yaml @@ -2,4 +2,4 @@ apiVersion: v1 kind: Namespace metadata: - name: foo + name: staging diff --git a/myapp/1-deployment.yaml b/envs/staging/myapp/1-deployment.yaml similarity index 94% rename from myapp/1-deployment.yaml rename to envs/staging/myapp/1-deployment.yaml index beac82a..c9e3903 100644 --- a/myapp/1-deployment.yaml +++ b/envs/staging/myapp/1-deployment.yaml @@ -3,7 +3,7 @@ apiVersion: apps/v1 kind: Deployment metadata: name: nginx - namespace: foo + namespace: staging labels: app: nginx spec: diff --git a/envs/staging/second-app/0-namespace.yaml b/envs/staging/second-app/0-namespace.yaml new file mode 100644 index 0000000..d5659fb --- /dev/null +++ b/envs/staging/second-app/0-namespace.yaml @@ -0,0 +1,5 @@ +--- +apiVersion: v1 +kind: Namespace +metadata: + name: production diff --git a/envs/staging/second-app/1-deployment.yaml b/envs/staging/second-app/1-deployment.yaml new file mode 100644 index 0000000..e044de8 --- /dev/null +++ b/envs/staging/second-app/1-deployment.yaml @@ -0,0 +1,23 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: nginx + namespace: production + labels: + app: nginx +spec: + replicas: 1 + selector: + matchLabels: + app: nginx + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: salihbozkaya1001/nginx:0.0.2 + ports: + - containerPort: 80 diff --git a/release.sh b/release.sh new file mode 100755 index 0000000..21ad63c --- /dev/null +++ b/release.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +set -xe + +new_ver=$1 + +echo "New version $1" + +docker tag nginx salihbozkaya1001/nginx:$new_ver + +docker push salihbozkaya1001/nginx:$new_ver + +tmp_dir=$(mktemp -d) +echo $tmp_dir + +git clone git@github.com:rsship/argomaton.git $tmp_dir + +sed -i '' -e "s/salihbozkaya1001\/nginx:.*/salihbozkaya1001\/nginx:$new_ver/g" $tmp_dir/myapp/1-deployment.yaml + +cd $tmp_dir +git add . +git commit -m "Update Image $new_ver" +git push + +rm -rf $tmp_dir +