Add example for jsonnet using functions with top level arguments (#30)

master
Liviu Costea 2019-06-13 04:06:34 +03:00 committed by Alexander Matyushentsev
parent 0ad95c51bc
commit 454cc52962
2 changed files with 66 additions and 0 deletions

View File

@ -10,6 +10,7 @@ to explore ArgoCD and GitOps!
| [ksonnet-guestbook](ksonnet-guestbook/) | The guestbook application as a ksonnet app | | [ksonnet-guestbook](ksonnet-guestbook/) | The guestbook application as a ksonnet app |
| [helm-guestbook](helm-guestbook/) | The guestbook application as a Helm chart | | [helm-guestbook](helm-guestbook/) | The guestbook application as a Helm chart |
| [jsonnet-guestbook](jsonnet-guestbook/) | The guestbook application as a raw jsonnet | | [jsonnet-guestbook](jsonnet-guestbook/) | The guestbook application as a raw jsonnet |
| [jsonnet-guestbook-tla](jsonnet-guestbook-tla/) | The guestbook application as a raw jsonnet with support for top level arguments |
| [kustomize-guestbook](kustomize-guestbook/) | The guestbook application as a Kustomize 2 app | | [kustomize-guestbook](kustomize-guestbook/) | The guestbook application as a Kustomize 2 app |
| [pre-post-sync](pre-post-sync/) | Demonstrates Argo CD PreSync and PostSync hooks | | [pre-post-sync](pre-post-sync/) | Demonstrates Argo CD PreSync and PostSync hooks |
| [sync-waves](sync-waves/) | Demonstrates Argo CD sync waves with hooks | | [sync-waves](sync-waves/) | Demonstrates Argo CD sync waves with hooks |

View File

@ -0,0 +1,65 @@
function (
containerPort=80,
image="gcr.io/heptio-images/ks-guestbook-demo:0.2",
name="jsonnet-guestbook-ui",
replicas=1,
servicePort=80,
type="LoadBalancer"
)
[
{
"apiVersion": "v1",
"kind": "Service",
"metadata": {
"name": name
},
"spec": {
"ports": [
{
"port": servicePort,
"targetPort": containerPort
}
],
"selector": {
"app": name
},
"type": type
}
},
{
"apiVersion": "apps/v1beta2",
"kind": "Deployment",
"metadata": {
"name": name
},
"spec": {
"replicas": replicas,
"revisionHistoryLimit": 3,
"selector": {
"matchLabels": {
"app": name
},
},
"template": {
"metadata": {
"labels": {
"app": name
}
},
"spec": {
"containers": [
{
"image": image,
"name": name,
"ports": [
{
"containerPort": containerPort
}
]
}
]
}
}
}
}
]