Browse Source

Merge 3715bf88aa into 53e28ff20c

pull/79/merge
Megha Mehta 4 years ago
committed by GitHub
parent
commit
5c6d62c7c5
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 48
      Commands.md
  2. 42
      Jenkinsfile
  3. 20
      guestbook/ingress.yaml
  4. 16
      kustomize-guestbook/base/argo-app.yaml
  5. 0
      kustomize-guestbook/base/guestbook-ui-deployment.yaml
  6. 0
      kustomize-guestbook/base/guestbook-ui-svc.yaml
  7. 20
      kustomize-guestbook/base/ingress.yaml
  8. 7
      kustomize-guestbook/base/kustomization.yaml
  9. 16
      kustomize-guestbook/overlays/dev/argo-app.yaml
  10. 14
      kustomize-guestbook/overlays/dev/ingress.yaml
  11. 6
      kustomize-guestbook/overlays/dev/kustomization.yaml
  12. 16
      kustomize-guestbook/overlays/prod/argo-app.yaml
  13. 14
      kustomize-guestbook/overlays/prod/ingress.yaml
  14. 6
      kustomize-guestbook/overlays/prod/kustomization.yaml

48
Commands.md

@ -0,0 +1,48 @@
kubectl create ns guestbook
kc create ns helm-guestbook
kc create ns prod-kustomize-guestbook
kc create ns dev-kustomize-guestbook
argocd app create guestbook \
--repo https://github.com/radtac-craft/argocd-example-apps.git \
--path guestbook \
--dest-server https://kubernetes.default.svc \
--dest-namespace guestbook
argocd app sync guestbook
argocd app wait guestbook --sync
argocd app create helm-guestbook \
--repo https://github.com/radtac-craft/argocd-example-apps.git \
--path helm-guestbook \
--dest-server https://kubernetes.default.svc \
--dest-namespace helm-guestbook
argocd app sync helm-guestbook
argocd app wait helm-guestbook --sync
KUSTOMIZE -
PROD:
argocd app create prod-kustomize-guestbook \
--repo https://github.com/radtac-craft/argocd-example-apps.git \
--path kustomize-guestbook/overlays/prod \
--dest-server https://kubernetes.default.svc \
--dest-namespace prod-kustomize-guestbook \
--revision HEAD
argocd app sync prod-kustomize-guestbook
argocd app wait prod-kustomize-guestbook --sync
DEV:
argocd app create dev-kustomize-guestbook \
--repo https://github.com/radtac-craft/argocd-example-apps.git \
--path kustomize-guestbook/overlays/dev \
--dest-server https://kubernetes.default.svc \
--dest-namespace dev-kustomize-guestbook \
--revision dev
argocd app sync dev-kustomize-guestbook
argocd app wait dev-kustomize-guestbook --sync

42
Jenkinsfile

@ -0,0 +1,42 @@
node {
timestamps{
properties([buildDiscarder(logRotator(artifactDaysToKeepStr: '', artifactNumToKeepStr: '', daysToKeepStr: '3', numToKeepStr: '7'))])
stage('Start argocd') {
withKubeConfig(credentialsId: 'aws-eksctl-kubeconfig', serverUrl: '') {
withCredentials([usernamePassword(credentialsId: 'argocd-devops-lab', usernameVariable: 'USERNAME', passwordVariable: 'PASSWORD')]) {
// sh"""
sh 'kubectl port-forward svc/argocd-server -n argocd 8080:443&'
sh 'argocd logout 127.0.0.1:8080'
// sh 'echo $PASSWORD'
// sh"""
// echo $PASSWORD
// """
sh 'argocd login 127.0.0.1:8080 --insecure --username $USERNAME --password $PASSWORD'
sh 'argocd app list'
// """
}
}
}
stage('Create app') {
withKubeConfig(credentialsId: 'aws-eksctl-kubeconfig', serverUrl: '') {
sh """
argocd app create ${env.BRANCH_NAME}-kustomize-guestbook \
--repo https://github.com/radtac-craft/argocd-example-apps.git \
--path kustomize-guestbook/overlays/${env.BRANCH_NAME} \
--dest-server https://kubernetes.default.svc \
--dest-namespace ${env.BRANCH_NAME}-kustomize-guestbook
"""
sh 'argocd app sync $BRANCH_NAME-kustomize-guestbook'
sh 'argocd app wait $BRANCH_NAME-kustomize-guestbook --sync'
}
}
stage('Verify app') {
withKubeConfig(credentialsId: 'aws-eksctl-kubeconfig', serverUrl: '') {
sh 'argocd app list'
}
}
}
}

20
guestbook/ingress.yaml

@ -0,0 +1,20 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: guestbook-ingress
namespace: guestbook
labels:
app.kubernetes.io/component: server
app.kubernetes.io/name: guestbook-server
app.kubernetes.io/part-of: guestbook
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: guestbook-argocd.natwest-labs.com
http:
paths:
- backend:
serviceName: guestbook-ui
servicePort: 80
path: /

16
kustomize-guestbook/base/argo-app.yaml

@ -0,0 +1,16 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: guestbook
namespace: argocd
# finalizers:
# - resources-finalizer.argocd.argoproj.io
spec:
destination:
namespace: kustomize-guestbook
server: https://kubernetes.default.svc
project: default
source:
path: kustomize-guestbook
repoURL: https://github.com/radtac-craft/argocd-example-apps.git
targetRevision: HEAD

0
kustomize-guestbook/guestbook-ui-deployment.yaml → kustomize-guestbook/base/guestbook-ui-deployment.yaml

0
kustomize-guestbook/guestbook-ui-svc.yaml → kustomize-guestbook/base/guestbook-ui-svc.yaml

20
kustomize-guestbook/base/ingress.yaml

@ -0,0 +1,20 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: guestbook-ingress
# namespace: guestbook
labels:
app.kubernetes.io/component: server
app.kubernetes.io/name: guestbook-server
app.kubernetes.io/part-of: guestbook
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
- host: kustomize-guestbook-argocd.natwest-labs.com
http:
paths:
- backend:
serviceName: guestbook-ui
servicePort: 80
path: /

7
kustomize-guestbook/kustomization.yaml → kustomize-guestbook/base/kustomization.yaml

@ -1,7 +1,10 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
namePrefix: kustomize-
resources:
- guestbook-ui-deployment.yaml
- guestbook-ui-svc.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
- ingress.yaml
- argo-app.yaml

16
kustomize-guestbook/overlays/dev/argo-app.yaml

@ -0,0 +1,16 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: guestbook
namespace: argocd
# finalizers:
# - resources-finalizer.argocd.argoproj.io
spec:
destination:
namespace: dev-kustomize-guestbook
server: https://kubernetes.default.svc
project: default
source:
path: kustomize-guestbook/overlays/dev
repoURL: https://github.com/radtac-craft/argocd-example-apps.git
targetRevision: dev

14
kustomize-guestbook/overlays/dev/ingress.yaml

@ -0,0 +1,14 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: guestbook-ingress
namespace:
spec:
rules:
- host: dev-kustomize-guestbook-argocd-check-deploy.natwest-labs.com
http:
paths:
- backend:
serviceName: guestbook-ui
servicePort: 80
path: /

6
kustomize-guestbook/overlays/dev/kustomization.yaml

@ -0,0 +1,6 @@
bases:
- ../../base
namePrefix: dev-
patchesStrategicMerge:
- ingress.yaml
- argo-app.yaml

16
kustomize-guestbook/overlays/prod/argo-app.yaml

@ -0,0 +1,16 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: guestbook
namespace: argocd
# finalizers:
# - resources-finalizer.argocd.argoproj.io
spec:
destination:
namespace: prod-kustomize-guestbook
server: https://kubernetes.default.svc
project: default
source:
path: kustomize-guestbook/overlays/prod
repoURL: https://github.com/radtac-craft/argocd-example-apps.git
targetRevision: HEAD

14
kustomize-guestbook/overlays/prod/ingress.yaml

@ -0,0 +1,14 @@
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: guestbook-ingress
namespace:
spec:
rules:
- host: kustomize-guestbook-argocd.natwest-labs.com
http:
paths:
- backend:
serviceName: guestbook-ui
servicePort: 80
path: /

6
kustomize-guestbook/overlays/prod/kustomization.yaml

@ -0,0 +1,6 @@
bases:
- ../../base
namePrefix: prod-
patchesStrategicMerge:
- ingress.yaml
- argo-app.yaml
Loading…
Cancel
Save