Browse Source

Add the guestbook example app (v0.1)

pull/1/head guestbook-v0.1
Jesse Suen 6 years ago
commit
67de934fd7
No known key found for this signature in database GPG Key ID: 90C911E8A6106562
  1. 1
      README.md
  2. 4
      guestbook/.gitignore
  3. 11
      guestbook/app.yaml
  4. 58
      guestbook/components/guestbook-ui.jsonnet
  5. 18
      guestbook/components/params.libsonnet
  6. 4
      guestbook/environments/base.libsonnet
  7. 2
      guestbook/environments/default/globals.libsonnet
  8. 8
      guestbook/environments/default/main.jsonnet
  9. 17
      guestbook/environments/default/params.libsonnet

1
README.md

@ -0,0 +1 @@
# ArgoCD Example Apps

4
guestbook/.gitignore

@ -0,0 +1,4 @@
/lib
/.ksonnet/registries
/app.override.yaml
/.ks_environment

11
guestbook/app.yaml

@ -0,0 +1,11 @@
apiVersion: 0.1.0
environments:
default:
destination:
namespace: default
server: https://kubernetes.default.svc
k8sVersion: v1.10.0
path: default
kind: ksonnet.io/app
name: guestbook
version: 0.0.1

58
guestbook/components/guestbook-ui.jsonnet

@ -0,0 +1,58 @@
local env = std.extVar("__ksonnet/environments");
local params = std.extVar("__ksonnet/params").components["guestbook-ui"];
[
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"name": params.name
},
"spec": {
"ports": [
{
"port": params.servicePort,
"targetPort": params.containerPort
}
],
"selector": {
"app": params.name
},
"type": params.type
}
},
{
"apiVersion": "apps/v1beta2",
"kind": "Deployment",
"metadata": {
"name": params.name
},
"spec": {
"replicas": params.replicas,
"selector": {
"matchLabels": {
"app": params.name
},
},
"template": {
"metadata": {
"labels": {
"app": params.name
}
},
"spec": {
"containers": [
{
"image": params.image,
"name": params.name,
"ports": [
{
"containerPort": params.containerPort
}
]
}
]
}
}
}
}
]

18
guestbook/components/params.libsonnet

@ -0,0 +1,18 @@
{
global: {
// User-defined global parameters; accessible to all component and environments, Ex:
// replicas: 4,
},
components: {
// Component-level parameters, defined initially from 'ks prototype use ...'
// Each object below should correspond to a component in the components/ directory
"guestbook-ui": {
containerPort: 80,
image: "gcr.io/heptio-images/ks-guestbook-demo:0.1",
name: "guestbook-ui",
replicas: 1,
servicePort: 80,
type: "LoadBalancer",
},
},
}

4
guestbook/environments/base.libsonnet

@ -0,0 +1,4 @@
local components = std.extVar("__ksonnet/components");
components + {
// Insert user-specified overrides here.
}

2
guestbook/environments/default/globals.libsonnet

@ -0,0 +1,2 @@
{
}

8
guestbook/environments/default/main.jsonnet

@ -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"})
}

17
guestbook/environments/default/params.libsonnet

@ -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)
},
}
Loading…
Cancel
Save