13 changed files with 116 additions and 9 deletions
@ -1,10 +1,10 @@ |
|||||
apiVersion: v1 |
apiVersion: v1 |
||||
kind: Service |
kind: Service |
||||
metadata: |
metadata: |
||||
name: guestbook-ui |
name: guestbook-ui |
||||
spec: |
spec: |
||||
ports: |
ports: |
||||
- port: 80 |
- port: 80 |
||||
targetPort: 80 |
targetPort: 80 |
||||
selector: |
selector: |
||||
app: guestbook-ui |
app: guestbook-ui |
||||
|
@ -0,0 +1,6 @@ |
|||||
|
# Config Management Plugins Examples |
||||
|
|
||||
|
| Application | Description | |
||||
|
|-------------|-------------| |
||||
|
| [kasane](kasane/) | The guestbook application as a `kasane` package. | |
||||
|
| [kustomized-helm](kustomized-helm/) | Application comprised of a `helm` chart and customized using `kustomize` | |
@ -0,0 +1,2 @@ |
|||||
|
vendor |
||||
|
Kasanefile.lock |
@ -0,0 +1,5 @@ |
|||||
|
layers: |
||||
|
- ../../guestbook/guestbook-ui-deployment.yaml |
||||
|
- patch.jsonnet |
||||
|
- ../../guestbook/guestbook-ui-svc.yaml |
||||
|
|
@ -0,0 +1,29 @@ |
|||||
|
# Kasane |
||||
|
|
||||
|
[Kasane](https://github.com/google/kasane) is a layering tool for Kubernetes which utilises Jsonnet for deep object modification and patching. |
||||
|
|
||||
|
Use following steps to try the application: |
||||
|
|
||||
|
* Follow instructions from [custom_tools.md](https://github.com/argoproj/argo-cd/blob/master/docs/custom_tools.md) to make sure `kasane` binary is available in `argocd-repo-server` pod. |
||||
|
* Register `kasane` plugin `argocd-cm` ConfigMap: |
||||
|
|
||||
|
```yaml |
||||
|
apiVersion: v1 |
||||
|
data: |
||||
|
configManagementPlugins: | |
||||
|
- name: kasane |
||||
|
init: |
||||
|
command: [kasane, update] |
||||
|
generate: |
||||
|
command: [kasane, show] |
||||
|
``` |
||||
|
* Create application using `kasane` as a config management plugin name. |
||||
|
|
||||
|
``` |
||||
|
argocd app create kasane \ |
||||
|
--config-management-plugin kasane \ |
||||
|
--repo https://github.com/argoproj/argocd-example-apps \ |
||||
|
--path plugins/kasane \ |
||||
|
--dest-server https://kubernetes.default.svc \ |
||||
|
--dest-namespace default |
||||
|
``` |
@ -0,0 +1,9 @@ |
|||||
|
function (layers) |
||||
|
|
||||
|
[ |
||||
|
layers[0] { |
||||
|
spec+: { |
||||
|
replicas: 2, |
||||
|
}, |
||||
|
} |
||||
|
] |
@ -0,0 +1,3 @@ |
|||||
|
all.yaml |
||||
|
charts |
||||
|
requirements.lock |
@ -0,0 +1 @@ |
|||||
|
name: guestbook |
@ -0,0 +1,30 @@ |
|||||
|
# Helm + Kustomize |
||||
|
|
||||
|
Sometimes Helm chart don't have all required parameters and additional customization is required. This example application demonstrates how to combine Helm and Kustomize and use it |
||||
|
as a config management plugin in Argo CD. |
||||
|
|
||||
|
Use following steps to try the application: |
||||
|
|
||||
|
* configure `kustomized-helm` tool in `argocd-cm` ConfigMap: |
||||
|
|
||||
|
```yaml |
||||
|
configManagementPlugins: | |
||||
|
- name: kustomized-helm |
||||
|
init: |
||||
|
command: [helm, dependency, build] |
||||
|
generate: |
||||
|
command: [sh, -c] |
||||
|
args: ["helm template . > all.yaml && kustomize build"] |
||||
|
``` |
||||
|
|
||||
|
* create application using `kustomized-helm` as a config management plugin name: |
||||
|
|
||||
|
|
||||
|
``` |
||||
|
argocd app create kustomized-helm \ |
||||
|
--config-management-plugin kustomized-helm \ |
||||
|
--repo https://github.com/argoproj/argocd-example-apps \ |
||||
|
--path plugins/kustomized-helm \ |
||||
|
--dest-server https://kubernetes.default.svc \ |
||||
|
--dest-namespace default |
||||
|
``` |
@ -0,0 +1,7 @@ |
|||||
|
namePrefix: kustomize- |
||||
|
|
||||
|
resources: |
||||
|
- ./all.yaml |
||||
|
|
||||
|
patches: |
||||
|
- overlays/guestbook-deployment.yaml |
@ -0,0 +1,10 @@ |
|||||
|
apiVersion: apps/v1beta2 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: release-name-helm-guestbook |
||||
|
spec: |
||||
|
template: |
||||
|
spec: |
||||
|
containers: |
||||
|
- name: helm-guestbook |
||||
|
image: "gcr.io/heptio-images/ks-guestbook-demo:0.2" |
@ -0,0 +1,4 @@ |
|||||
|
dependencies: |
||||
|
- name: helm-guestbook |
||||
|
version: 0.1.0 |
||||
|
repository: file://../../helm-guestbook |
Loading…
Reference in new issue