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