Browse Source
Add more environments to guestbook. Add README content
pull/2/head
Jesse Suen
6 years ago
No known key found for this signature in database
GPG Key ID: 90C911E8A6106562
10 changed files with
83 additions and
4 deletions
-
README.md
-
guestbook/app.yaml
-
guestbook/environments/dev/globals.libsonnet
-
guestbook/environments/dev/main.jsonnet
-
guestbook/environments/dev/params.libsonnet
-
guestbook/environments/prod/globals.libsonnet
-
guestbook/environments/prod/main.jsonnet
-
guestbook/environments/prod/params.libsonnet
-
pre-post-sync/components/post-sync-job.yaml
-
pre-post-sync/components/pre-sync-job.yaml
|
@ -1 +1,12 @@ |
|
|
# ArgoCD Example Apps |
|
|
# ArgoCD Example Apps |
|
|
|
|
|
|
|
|
|
|
|
This repository contains example ksonnet applications for demoing ArgoCD functionality. Feel free |
|
|
|
|
|
to register this repository to your ArgoCD instance, or fork this repo and push your own commits |
|
|
|
|
|
to explore ArgoCD and GitOps! |
|
|
|
|
|
|
|
|
|
|
|
| Application | Description | |
|
|
|
|
|
|-------------|-------------| |
|
|
|
|
|
| [guestbook](guestbook/) | The ksonnet hello word application | |
|
|
|
|
|
| [pre-post-sync](pre-post-sync/) | Demonstrates ArgoCD PreSync and PostSync hooks | |
|
|
|
|
|
| [blue-green-deploy](blue-green-deploy/) | Demonstrates an ArgoCD Sync hook which performs a blue/green deployment | |
|
|
|
|
|
| [sock-shop](sock-shop/) | A microservices demo application (https://microservices-demo.github.io) | |
|
|
|
@ -6,6 +6,18 @@ environments: |
|
|
server: https://kubernetes.default.svc |
|
|
server: https://kubernetes.default.svc |
|
|
k8sVersion: v1.10.0 |
|
|
k8sVersion: v1.10.0 |
|
|
path: default |
|
|
path: default |
|
|
|
|
|
dev: |
|
|
|
|
|
destination: |
|
|
|
|
|
namespace: dev |
|
|
|
|
|
server: https://kubernetes.default.svc |
|
|
|
|
|
k8sVersion: v1.10.0 |
|
|
|
|
|
path: dev |
|
|
|
|
|
prod: |
|
|
|
|
|
destination: |
|
|
|
|
|
namespace: prod |
|
|
|
|
|
server: https://kubernetes.default.svc |
|
|
|
|
|
k8sVersion: v1.10.0 |
|
|
|
|
|
path: prod |
|
|
kind: ksonnet.io/app |
|
|
kind: ksonnet.io/app |
|
|
name: guestbook |
|
|
name: guestbook |
|
|
version: 0.0.1 |
|
|
version: 0.0.1 |
|
|
|
@ -0,0 +1,8 @@ |
|
|
|
|
|
local base = import "base.libsonnet"; |
|
|
|
|
|
// uncomment if you reference ksonnet-lib |
|
|
|
|
|
// local k = import "k.libsonnet"; |
|
|
|
|
|
|
|
|
|
|
|
base + { |
|
|
|
|
|
// Insert user-specified overrides here. For example if a component is named \"nginx-deployment\", you might have something like:\n") |
|
|
|
|
|
// "nginx-deployment"+: k.deployment.mixin.metadata.labels({foo: "bar"}) |
|
|
|
|
|
} |
|
@ -0,0 +1,17 @@ |
|
|
|
|
|
local params = std.extVar("__ksonnet/params"); |
|
|
|
|
|
local globals = import "globals.libsonnet"; |
|
|
|
|
|
local envParams = params + { |
|
|
|
|
|
components +: { |
|
|
|
|
|
// Insert component parameter overrides here. Ex: |
|
|
|
|
|
// guestbook +: { |
|
|
|
|
|
// name: "guestbook-dev", |
|
|
|
|
|
// replicas: params.global.replicas, |
|
|
|
|
|
// }, |
|
|
|
|
|
}, |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
components: { |
|
|
|
|
|
[x]: envParams.components[x] + globals, for x in std.objectFields(envParams.components) |
|
|
|
|
|
}, |
|
|
|
|
|
} |
|
@ -0,0 +1,8 @@ |
|
|
|
|
|
local base = import "base.libsonnet"; |
|
|
|
|
|
// uncomment if you reference ksonnet-lib |
|
|
|
|
|
// local k = import "k.libsonnet"; |
|
|
|
|
|
|
|
|
|
|
|
base + { |
|
|
|
|
|
// Insert user-specified overrides here. For example if a component is named \"nginx-deployment\", you might have something like:\n") |
|
|
|
|
|
// "nginx-deployment"+: k.deployment.mixin.metadata.labels({foo: "bar"}) |
|
|
|
|
|
} |
|
@ -0,0 +1,17 @@ |
|
|
|
|
|
local params = std.extVar("__ksonnet/params"); |
|
|
|
|
|
local globals = import "globals.libsonnet"; |
|
|
|
|
|
local envParams = params + { |
|
|
|
|
|
components +: { |
|
|
|
|
|
// Insert component parameter overrides here. Ex: |
|
|
|
|
|
// guestbook +: { |
|
|
|
|
|
// name: "guestbook-dev", |
|
|
|
|
|
// replicas: params.global.replicas, |
|
|
|
|
|
// }, |
|
|
|
|
|
}, |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
{ |
|
|
|
|
|
components: { |
|
|
|
|
|
[x]: envParams.components[x] + globals, for x in std.objectFields(envParams.components) |
|
|
|
|
|
}, |
|
|
|
|
|
} |
|
@ -4,12 +4,13 @@ metadata: |
|
|
generateName: after- |
|
|
generateName: after- |
|
|
annotations: |
|
|
annotations: |
|
|
argocd.argoproj.io/hook: PostSync |
|
|
argocd.argoproj.io/hook: PostSync |
|
|
|
|
|
argocd.argoproj.io/hook-delete-policy: OnSuccess |
|
|
spec: |
|
|
spec: |
|
|
template: |
|
|
template: |
|
|
spec: |
|
|
spec: |
|
|
containers: |
|
|
containers: |
|
|
- name: sleep |
|
|
- name: sleep |
|
|
image: alpine:latest |
|
|
image: alpine:latest |
|
|
command: ["sleep", "30"] |
|
|
command: ["sleep", "20"] |
|
|
restartPolicy: Never |
|
|
restartPolicy: Never |
|
|
backoffLimit: 4 |
|
|
backoffLimit: 0 |
|
|
|
@ -4,12 +4,13 @@ metadata: |
|
|
generateName: before- |
|
|
generateName: before- |
|
|
annotations: |
|
|
annotations: |
|
|
argocd.argoproj.io/hook: PreSync |
|
|
argocd.argoproj.io/hook: PreSync |
|
|
|
|
|
argocd.argoproj.io/hook-delete-policy: OnSuccess |
|
|
spec: |
|
|
spec: |
|
|
template: |
|
|
template: |
|
|
spec: |
|
|
spec: |
|
|
containers: |
|
|
containers: |
|
|
- name: sleep |
|
|
- name: sleep |
|
|
image: alpine:latest |
|
|
image: alpine:latest |
|
|
command: ["sleep", "30"] |
|
|
command: ["sleep", "20"] |
|
|
restartPolicy: Never |
|
|
restartPolicy: Never |
|
|
backoffLimit: 4 |
|
|
backoffLimit: 0 |
|
|