125 changed files with 124 additions and 21321 deletions
			
			
		| @ -1,21 +0,0 @@ | |||
| # ArgoCD Example Apps | |||
| 
 | |||
| This repository contains example 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/) | A hello word guestbook app as plain YAML | | |||
| | [ksonnet-guestbook](ksonnet-guestbook/) | The guestbook app as a ksonnet app | | |||
| | [helm-guestbook](helm-guestbook/) | The guestbook app as a Helm chart | | |||
| | [jsonnet-guestbook](jsonnet-guestbook/) | The guestbook app as a raw jsonnet | | |||
| | [jsonnet-guestbook-tla](jsonnet-guestbook-tla/) | The guestbook app as a raw jsonnet with support for top level arguments | | |||
| | [kustomize-guestbook](kustomize-guestbook/) | The guestbook app as a Kustomize 2 app | | |||
| | [pre-post-sync](pre-post-sync/) | Demonstrates Argo CD PreSync and PostSync hooks | | |||
| | [sync-waves](sync-waves/) | Demonstrates Argo CD sync waves with hooks | | |||
| | [helm-dependency](helm-dependency/) | Demonstrates how to customize an OTS (off-the-shelf) helm chart from an upstream repo | | |||
| | [sock-shop](sock-shop/) | A microservices demo app (https://microservices-demo.github.io) | | |||
| | [plugins](plugins/) | Apps which demonstrate config management plugins usage | | |||
| | [blue-green](blue-green/) | Demonstrates how to implement blue-green deployment using [Argo Rollouts](https://github.com/argoproj/argo-rollouts) | |||
| | [apps](apps/) | An app composed of other apps | | |||
| @ -1,239 +0,0 @@ | |||
| apiVersion: apiextensions.k8s.io/v1beta1 | |||
| kind: CustomResourceDefinition | |||
| metadata: | |||
|   creationTimestamp: null | |||
|   name: applications.app.k8s.io | |||
| spec: | |||
|   group: app.k8s.io | |||
|   names: | |||
|     kind: Application | |||
|     plural: applications | |||
|   scope: Namespaced | |||
|   validation: | |||
|     openAPIV3Schema: | |||
|       properties: | |||
|         apiVersion: | |||
|           type: string | |||
|         kind: | |||
|           type: string | |||
|         metadata: | |||
|           type: object | |||
|         spec: | |||
|           properties: | |||
|             addOwnerRef: | |||
|               type: boolean | |||
|             assemblyPhase: | |||
|               type: string | |||
|             componentKinds: | |||
|               items: | |||
|                 type: object | |||
|               type: array | |||
|             descriptor: | |||
|               properties: | |||
|                 description: | |||
|                   type: string | |||
|                 icons: | |||
|                   items: | |||
|                     properties: | |||
|                       size: | |||
|                         type: string | |||
|                       src: | |||
|                         type: string | |||
|                       type: | |||
|                         type: string | |||
|                     required: | |||
|                     - src | |||
|                     type: object | |||
|                   type: array | |||
|                 keywords: | |||
|                   items: | |||
|                     type: string | |||
|                   type: array | |||
|                 links: | |||
|                   items: | |||
|                     properties: | |||
|                       description: | |||
|                         type: string | |||
|                       url: | |||
|                         type: string | |||
|                     type: object | |||
|                   type: array | |||
|                 maintainers: | |||
|                   items: | |||
|                     properties: | |||
|                       email: | |||
|                         type: string | |||
|                       name: | |||
|                         type: string | |||
|                       url: | |||
|                         type: string | |||
|                     type: object | |||
|                   type: array | |||
|                 notes: | |||
|                   type: string | |||
|                 owners: | |||
|                   items: | |||
|                     properties: | |||
|                       email: | |||
|                         type: string | |||
|                       name: | |||
|                         type: string | |||
|                       url: | |||
|                         type: string | |||
|                     type: object | |||
|                   type: array | |||
|                 type: | |||
|                   type: string | |||
|                 version: | |||
|                   type: string | |||
|               type: object | |||
|             info: | |||
|               items: | |||
|                 properties: | |||
|                   name: | |||
|                     type: string | |||
|                   type: | |||
|                     type: string | |||
|                   value: | |||
|                     type: string | |||
|                   valueFrom: | |||
|                     properties: | |||
|                       configMapKeyRef: | |||
|                         properties: | |||
|                           apiVersion: | |||
|                             type: string | |||
|                           fieldPath: | |||
|                             type: string | |||
|                           key: | |||
|                             type: string | |||
|                           kind: | |||
|                             type: string | |||
|                           name: | |||
|                             type: string | |||
|                           namespace: | |||
|                             type: string | |||
|                           resourceVersion: | |||
|                             type: string | |||
|                           uid: | |||
|                             type: string | |||
|                         type: object | |||
|                       ingressRef: | |||
|                         properties: | |||
|                           apiVersion: | |||
|                             type: string | |||
|                           fieldPath: | |||
|                             type: string | |||
|                           host: | |||
|                             type: string | |||
|                           kind: | |||
|                             type: string | |||
|                           name: | |||
|                             type: string | |||
|                           namespace: | |||
|                             type: string | |||
|                           path: | |||
|                             type: string | |||
|                           resourceVersion: | |||
|                             type: string | |||
|                           uid: | |||
|                             type: string | |||
|                         type: object | |||
|                       secretKeyRef: | |||
|                         properties: | |||
|                           apiVersion: | |||
|                             type: string | |||
|                           fieldPath: | |||
|                             type: string | |||
|                           key: | |||
|                             type: string | |||
|                           kind: | |||
|                             type: string | |||
|                           name: | |||
|                             type: string | |||
|                           namespace: | |||
|                             type: string | |||
|                           resourceVersion: | |||
|                             type: string | |||
|                           uid: | |||
|                             type: string | |||
|                         type: object | |||
|                       serviceRef: | |||
|                         properties: | |||
|                           apiVersion: | |||
|                             type: string | |||
|                           fieldPath: | |||
|                             type: string | |||
|                           kind: | |||
|                             type: string | |||
|                           name: | |||
|                             type: string | |||
|                           namespace: | |||
|                             type: string | |||
|                           path: | |||
|                             type: string | |||
|                           port: | |||
|                             format: int32 | |||
|                             type: integer | |||
|                           resourceVersion: | |||
|                             type: string | |||
|                           uid: | |||
|                             type: string | |||
|                         type: object | |||
|                       type: | |||
|                         type: string | |||
|                     type: object | |||
|                 type: object | |||
|               type: array | |||
|             selector: | |||
|               type: object | |||
|           type: object | |||
|         status: | |||
|           properties: | |||
|             components: | |||
|               items: | |||
|                 properties: | |||
|                   group: | |||
|                     type: string | |||
|                   kind: | |||
|                     type: string | |||
|                   link: | |||
|                     type: string | |||
|                   name: | |||
|                     type: string | |||
|                   status: | |||
|                     type: string | |||
|                 type: object | |||
|               type: array | |||
|             conditions: | |||
|               items: | |||
|                 properties: | |||
|                   lastTransitionTime: | |||
|                     format: date-time | |||
|                     type: string | |||
|                   lastUpdateTime: | |||
|                     format: date-time | |||
|                     type: string | |||
|                   message: | |||
|                     type: string | |||
|                   reason: | |||
|                     type: string | |||
|                   status: | |||
|                     type: string | |||
|                   type: | |||
|                     type: string | |||
|                 required: | |||
|                 - type | |||
|                 - status | |||
|                 type: object | |||
|               type: array | |||
|             observedGeneration: | |||
|               format: int64 | |||
|               type: integer | |||
|           type: object | |||
|   version: v1beta1 | |||
| status: | |||
|   acceptedNames: | |||
|     kind: "" | |||
|     plural: "" | |||
|   conditions: [] | |||
|   storedVersions: [] | |||
| @ -1,4 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| kind: Kustomization | |||
| resources: | |||
| - crd.yaml | |||
| @ -1,11 +0,0 @@ | |||
| apiVersion: rbac.authorization.k8s.io/v1 | |||
| kind: ClusterRoleBinding | |||
| metadata: | |||
|   name: cluster-role-binding | |||
| roleRef: | |||
|   apiGroup: rbac.authorization.k8s.io | |||
|   kind: ClusterRole | |||
|   name: cluster-role | |||
| subjects: | |||
| - kind: ServiceAccount | |||
|   name: service-account | |||
| @ -1,21 +0,0 @@ | |||
| apiVersion: rbac.authorization.k8s.io/v1 | |||
| kind: ClusterRole | |||
| metadata: | |||
|   name: cluster-role | |||
| rules: | |||
| - apiGroups: | |||
|   - '*' | |||
|   resources: | |||
|   - '*' | |||
|   verbs: | |||
|   - get | |||
|   - list | |||
|   - update | |||
|   - patch | |||
|   - watch | |||
| - apiGroups: | |||
|   - app.k8s.io | |||
|   resources: | |||
|   - '*' | |||
|   verbs: | |||
|   - '*' | |||
| @ -1,29 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| kind: Kustomization | |||
| resources: | |||
| - cluster-role.yaml | |||
| - cluster-role-binding.yaml | |||
| - service-account.yaml | |||
| - service.yaml | |||
| - stateful-set.yaml | |||
| namespace: kubeflow | |||
| nameprefix: application-controller- | |||
| configMapGenerator: | |||
| - name: parameters | |||
|   env: params.env | |||
| generatorOptions: | |||
|   disableNameSuffixHash: true | |||
| images: | |||
| - name: gcr.io/kubeflow-images-public/kubernetes-sigs/application | |||
|   newName: gcr.io/kubeflow-images-public/kubernetes-sigs/application | |||
|   newTag: 1.0-beta | |||
| vars: | |||
| - name: project | |||
|   objref: | |||
|     kind: ConfigMap | |||
|     name: parameters | |||
|     apiVersion: v1 | |||
|   fieldref: | |||
|     fieldpath: data.project | |||
| configurations: | |||
| - params.yaml | |||
| @ -1 +0,0 @@ | |||
| project= | |||
| @ -1,3 +0,0 @@ | |||
| varReference: | |||
| - path: spec/template/spec/containers/image | |||
|   kind: StatefulSet | |||
| @ -1,4 +0,0 @@ | |||
| apiVersion: v1 | |||
| kind: ServiceAccount | |||
| metadata: | |||
|   name: service-account | |||
| @ -1,7 +0,0 @@ | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: service | |||
| spec: | |||
|   ports: | |||
|   - port: 443 | |||
| @ -1,27 +0,0 @@ | |||
| apiVersion: apps/v1 | |||
| kind: StatefulSet | |||
| metadata: | |||
|   name: stateful-set | |||
| spec: | |||
|   serviceName: service | |||
|   selector: | |||
|     matchLabels: | |||
|       app: application-controller | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         app: application-controller | |||
|       annotations: | |||
|         sidecar.istio.io/inject: "false" | |||
|     spec: | |||
|       containers: | |||
|       - name: manager | |||
|         command: | |||
|         - /root/manager | |||
|         image: gcr.io/kubeflow-images-public/kubernetes-sigs/application | |||
|         imagePullPolicy: Always | |||
|         env: | |||
|         - name: project | |||
|           value: $(project) | |||
|       serviceAccountName: service-account | |||
|   volumeClaimTemplates: [] | |||
| @ -1,15 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - base | |||
| commonLabels: | |||
|   app.kubernetes.io/component: kubeflow | |||
|   app.kubernetes.io/instance: kubeflow-v0.7.0 | |||
|   app.kubernetes.io/managed-by: kfctl | |||
|   app.kubernetes.io/name: kubeflow | |||
|   app.kubernetes.io/part-of: kubeflow | |||
|   app.kubernetes.io/version: v0.7.0 | |||
| kind: Kustomization | |||
| namespace: kubeflow | |||
| resources: | |||
| - overlays/application/application.yaml | |||
| namePrefix: application1 | |||
| @ -1,34 +0,0 @@ | |||
| apiVersion: app.k8s.io/v1beta1 | |||
| kind: Application | |||
| metadata: | |||
|   name: kubeflow | |||
| spec: | |||
|   selector: | |||
|     matchLabels: | |||
|       app.kubernetes.io/name: kubeflow | |||
|       app.kubernetes.io/instance: kubeflow-v0.7.0 | |||
|       app.kubernetes.io/managed-by: kfctl | |||
|       app.kubernetes.io/component: kubeflow | |||
|       app.kubernetes.io/part-of: kubeflow | |||
|       app.kubernetes.io/version: v0.7.0 | |||
|   componentKinds: | |||
|     - group: app.k8s.io | |||
|       kind: Application | |||
|   descriptor:  | |||
|     type: kubeflow | |||
|     version: v1beta1 | |||
|     description: application that aggregates all kubeflow applications | |||
|     maintainers: | |||
|     - name: Jeremy Lewi | |||
|       email: jlewi@google.com | |||
|     - name: Kam Kasravi | |||
|       email: kam.d.kasravi@intel.com | |||
|     owners: | |||
|     - name: Jeremy Lewi | |||
|       email: jlewi@google.com | |||
|     keywords: | |||
|      - kubeflow | |||
|     links: | |||
|     - description: About | |||
|       url: "https://kubeflow.org" | |||
|   addOwnerRef: true | |||
| @ -1,13 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| kind: Kustomization | |||
| bases: | |||
| - ../../base | |||
| resources: | |||
| - application.yaml | |||
| commonLabels: | |||
|   app.kubernetes.io/name: kubeflow | |||
|   app.kubernetes.io/instance: kubeflow-v0.7.0 | |||
|   app.kubernetes.io/managed-by: kfctl | |||
|   app.kubernetes.io/component: kubeflow | |||
|   app.kubernetes.io/part-of: kubeflow | |||
|   app.kubernetes.io/version: v0.7.0 | |||
| @ -1,10 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| kind: Kustomization | |||
| bases: | |||
| - ../../base | |||
| patchesStrategicMerge: | |||
| - stateful-set.yaml | |||
| images: | |||
| - name: gcr.io/$(project)/application-controller | |||
|   newName: gcr.io/$(project)/application-controller | |||
|   newTag: latest | |||
| @ -1,25 +0,0 @@ | |||
| apiVersion: apps/v1 | |||
| kind: StatefulSet | |||
| metadata: | |||
|   name: stateful-set | |||
| spec: | |||
|   template: | |||
|     metadata: | |||
|       annotations: | |||
|         sidecar.istio.io/inject: "false" | |||
|     spec: | |||
|       containers: | |||
|       - name: manager | |||
|         image: gcr.io/$(project)/application-controller:latest | |||
|         command: | |||
|         - /go/bin/dlv | |||
|         args: | |||
|         - --listen=:2345 | |||
|         - --headless=true | |||
|         - --api-version=2 | |||
|         - exec | |||
|         - /go/src/github.com/kubernetes-sigs/application/manager | |||
|         ports: | |||
|         - containerPort: 2345 | |||
|         securityContext: | |||
|           privileged: true | |||
| @ -1,82 +0,0 @@ | |||
| --- | |||
| apiVersion: batch/v1 | |||
| kind: Job | |||
| metadata: | |||
|   generateName: upgrade-sql-schema | |||
|   annotations: | |||
|     helm.sh/hook: pre-install | |||
|     helm.sh/hook-weight: "-2" | |||
| spec: | |||
|   template: | |||
|     spec: | |||
|       containers: | |||
|         - name: upgrade-sql-schema | |||
|           image: alpine:latest | |||
|           command: ["sleep", "5"] | |||
|       restartPolicy: Never | |||
| --- | |||
| apiVersion: batch/v1 | |||
| kind: Job | |||
| metadata: | |||
|   name: maint-page-up | |||
|   annotations: | |||
|     helm.sh/hook: pre-install | |||
|     helm.sh/hook-delete-policy: before-hook-creation | |||
|     helm.sh/hook-weight: "-1" | |||
| spec: | |||
|   template: | |||
|     spec: | |||
|       containers: | |||
|         - name: page-up | |||
|           image: alpine:latest | |||
|           command: ["sleep", "2"] | |||
|       restartPolicy: Never | |||
|   backoffLimit: 0 | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: ReplicaSet | |||
| metadata: | |||
|   name: frontend | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       tier: frontend | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         tier: frontend | |||
|     spec: | |||
|       containers: | |||
|         - name: main | |||
|           image: nginx:latest | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: frontend | |||
|   annotations: | |||
|     helm.sh/hook-weight: "2" | |||
| spec: | |||
|   selector: | |||
|     tier: frontend | |||
|   ports: | |||
|     - protocol: TCP | |||
|       port: 80 | |||
|       targetPort: 80 | |||
| --- | |||
| apiVersion: batch/v1 | |||
| kind: Job | |||
| metadata: | |||
|   name: maint-page-down | |||
|   annotations: | |||
|     helm.sh/hook: post-install | |||
|     helm.sh/hook-delete-policy: before-hook-creation | |||
| spec: | |||
|   template: | |||
|     spec: | |||
|       containers: | |||
|         - name: page-down | |||
|           image: alpine:latest | |||
|           command: ["sleep", "2"] | |||
|       restartPolicy: Never | |||
								
									
										File diff suppressed because it is too large
									
								
							
						
					| @ -1,5 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| kind: Kustomization | |||
| resources: | |||
| - crds.yaml | |||
| namespace: kubeflow | |||
								
									
										File diff suppressed because it is too large
									
								
							
						
					| @ -1,39 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| kind: Kustomization | |||
| resources: | |||
| - istio-noauth.yaml | |||
| namespace: kubeflow | |||
| images: | |||
| - name: docker.io/istio/kubectl | |||
|   newName: docker.io/istio/kubectl | |||
|   newTag: 1.1.6 | |||
| - name: docker.io/istio/galley | |||
|   newName: docker.io/istio/galley | |||
|   newTag: 1.1.6 | |||
| - name: docker.io/istio/proxyv2 | |||
|   newName: docker.io/istio/proxyv2 | |||
|   newTag: 1.1.6 | |||
| - name: grafana/grafana | |||
|   newName: grafana/grafana | |||
|   newTag: 6.0.2 | |||
| - name: docker.io/kiali/kiali | |||
|   newName: docker.io/kiali/kiali | |||
|   newTag: v0.16 | |||
| - name: docker.io/istio/mixer | |||
|   newName: docker.io/istio/mixer | |||
|   newTag: 1.1.6 | |||
| - name: docker.io/istio/pilot | |||
|   newName: docker.io/istio/pilot | |||
|   newTag: 1.1.6 | |||
| - name: docker.io/prom/prometheus | |||
|   newName: docker.io/prom/prometheus | |||
|   newTag: v2.3.1 | |||
| - name: docker.io/istio/citadel | |||
|   newName: docker.io/istio/citadel | |||
|   newTag: 1.1.6 | |||
| - name: docker.io/istio/sidecar_injector | |||
|   newName: docker.io/istio/sidecar_injector | |||
|   newTag: 1.1.6 | |||
| - name: docker.io/jaegertracing/all-in-one | |||
|   newName: docker.io/jaegertracing/all-in-one | |||
|   newTag: '1.9' | |||
| @ -1,7 +0,0 @@ | |||
| # Manifest for Istio in Kubeflow | |||
| 
 | |||
| - `install` dir contains the manifest to install Istio | |||
| - kf-istio-resources.yaml has | |||
|   - Gateway for routing | |||
|   - VirtualService for Grafana | |||
|   - ServiceEntry and VirtualService for egress traffic | |||
| @ -1,51 +0,0 @@ | |||
| --- | |||
| 
 | |||
| apiVersion: rbac.authorization.k8s.io/v1 | |||
| kind: ClusterRole | |||
| metadata: | |||
|   name: kubeflow-istio-admin | |||
|   labels: | |||
|     rbac.authorization.kubeflow.org/aggregate-to-kubeflow-admin: "true" | |||
| aggregationRule: | |||
|   clusterRoleSelectors: | |||
|   - matchLabels: | |||
|       rbac.authorization.kubeflow.org/aggregate-to-kubeflow-istio-admin: "true" | |||
| rules: [] | |||
| 
 | |||
| --- | |||
| 
 | |||
| apiVersion: rbac.authorization.k8s.io/v1 | |||
| kind: ClusterRole | |||
| metadata: | |||
|   name: kubeflow-istio-edit | |||
|   labels: | |||
|     rbac.authorization.kubeflow.org/aggregate-to-kubeflow-edit: "true" | |||
|     rbac.authorization.kubeflow.org/aggregate-to-kubeflow-istio-admin: "true" | |||
| rules: | |||
| - apiGroups: ["istio.io"] | |||
|   resources: ["*"] | |||
|   verbs: | |||
|   - get | |||
|   - list | |||
|   - watch | |||
|   - create | |||
|   - delete | |||
|   - deletecollection | |||
|   - patch | |||
|   - update | |||
| 
 | |||
| --- | |||
| 
 | |||
| apiVersion: rbac.authorization.k8s.io/v1 | |||
| kind: ClusterRole | |||
| metadata: | |||
|   name: kubeflow-istio-view | |||
|   labels: | |||
|     rbac.authorization.kubeflow.org/aggregate-to-kubeflow-view: "true" | |||
| rules: | |||
| - apiGroups: ["istio.io"] | |||
|   resources: ["*"] | |||
|   verbs: | |||
|   - get | |||
|   - list | |||
|   - watch | |||
| @ -1,110 +0,0 @@ | |||
| apiVersion: networking.istio.io/v1alpha3 | |||
| kind: Gateway | |||
| metadata: | |||
|   name: kubeflow-gateway | |||
| spec: | |||
|   selector: | |||
|     istio: $(gatewaySelector) | |||
|   servers: | |||
|   - port: | |||
|       number: 80 | |||
|       name: http | |||
|       protocol: HTTP | |||
|     hosts: | |||
|     - "*" | |||
| --- | |||
| apiVersion: networking.istio.io/v1alpha3 | |||
| kind: VirtualService | |||
| metadata: | |||
|   name: grafana-vs | |||
| spec: | |||
|   hosts: | |||
|   - "*" | |||
|   gateways: | |||
|   - "kubeflow-gateway" | |||
|   http: | |||
|   - match: | |||
|     - uri: | |||
|         prefix: "/istio/grafana/" | |||
|       method: | |||
|         exact: "GET" | |||
|     rewrite: | |||
|       uri: "/" | |||
|     route: | |||
|     - destination: | |||
|         host: "grafana.istio-system.svc.cluster.local" | |||
|         port: | |||
|           number: 3000 | |||
| --- | |||
| apiVersion: networking.istio.io/v1alpha3 | |||
| kind: ServiceEntry | |||
| metadata: | |||
|   name: google-api-entry | |||
| spec: | |||
|   hosts: | |||
|   - www.googleapis.com | |||
|   ports: | |||
|   - number: 443 | |||
|     name: https | |||
|     protocol: HTTPS | |||
|   resolution: DNS | |||
|   location: MESH_EXTERNAL | |||
| --- | |||
| apiVersion: networking.istio.io/v1alpha3 | |||
| kind: VirtualService | |||
| metadata: | |||
|   name: google-api-vs | |||
| spec: | |||
|   hosts: | |||
|   - www.googleapis.com | |||
|   tls: | |||
|   - match: | |||
|     - port: 443 | |||
|       sni_hosts: | |||
|       - www.googleapis.com | |||
|     route: | |||
|     - destination: | |||
|         host: www.googleapis.com | |||
|         port: | |||
|           number: 443 | |||
|       weight: 100 | |||
| --- | |||
| apiVersion: networking.istio.io/v1alpha3 | |||
| kind: ServiceEntry | |||
| metadata: | |||
|   name: google-storage-api-entry | |||
| spec: | |||
|   hosts: | |||
|   - storage.googleapis.com | |||
|   ports: | |||
|   - number: 443 | |||
|     name: https | |||
|     protocol: HTTPS | |||
|   resolution: DNS | |||
|   location: MESH_EXTERNAL | |||
| --- | |||
| apiVersion: networking.istio.io/v1alpha3 | |||
| kind: VirtualService | |||
| metadata: | |||
|   name: google-storage-api-vs | |||
| spec: | |||
|   hosts: | |||
|   - storage.googleapis.com | |||
|   tls: | |||
|   - match: | |||
|     - port: 443 | |||
|       sni_hosts: | |||
|       - storage.googleapis.com | |||
|     route: | |||
|     - destination: | |||
|         host: storage.googleapis.com | |||
|         port: | |||
|           number: 443 | |||
|       weight: 100 | |||
| --- | |||
| apiVersion: rbac.istio.io/v1alpha1 | |||
| kind: ClusterRbacConfig | |||
| metadata: | |||
|   name: default | |||
| spec: | |||
|   mode: $(clusterRbacConfig) | |||
| @ -1,26 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| kind: Kustomization | |||
| resources: | |||
| - kf-istio-resources.yaml | |||
| - cluster-roles.yaml | |||
| namespace: kubeflow | |||
| configMapGenerator: | |||
| - name: istio-parameters | |||
|   env: params.env | |||
| vars: | |||
| - name: clusterRbacConfig | |||
|   objref: | |||
|     kind: ConfigMap | |||
|     name: istio-parameters | |||
|     apiVersion: v1 | |||
|   fieldref: | |||
|     fieldpath: data.clusterRbacConfig | |||
| - name: gatewaySelector | |||
|   objref: | |||
|     kind: ConfigMap | |||
|     name: istio-parameters | |||
|     apiVersion: v1 | |||
|   fieldref: | |||
|     fieldpath: data.gatewaySelector | |||
| configurations: | |||
| - params.yaml | |||
| @ -1,2 +0,0 @@ | |||
| clusterRbacConfig=ON | |||
| gatewaySelector=ingressgateway | |||
| @ -1,5 +0,0 @@ | |||
| varReference: | |||
| - path: spec/mode | |||
|   kind: ClusterRbacConfig | |||
| - path: spec/selector | |||
|   kind: Gateway | |||
| @ -1,18 +0,0 @@ | |||
| apiVersion: networking.istio.io/v1alpha3 | |||
| kind: Gateway | |||
| metadata: | |||
|   name: kubeflow-gateway | |||
| spec: | |||
|   selector: | |||
|     istio: $(gatewaySelector) | |||
|   servers: | |||
|   - hosts: | |||
|     - '*' | |||
|     port: | |||
|       name: https | |||
|       number: 443 | |||
|       protocol: HTTPS | |||
|     tls: | |||
|       mode: SIMPLE | |||
|       privateKey: /etc/istio/ingressgateway-certs/tls.key | |||
|       serverCertificate: /etc/istio/ingressgateway-certs/tls.crt | |||
| @ -1,13 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| kind: Kustomization | |||
| bases: | |||
| - ../../base | |||
| patchesStrategicMerge: | |||
| - kf-istio-resources.yaml | |||
| 
 | |||
| configMapGenerator: | |||
| - name: istio-parameters | |||
|   behavior: merge | |||
|   env: params.env | |||
| configurations: | |||
| - params.yaml | |||
| @ -1 +0,0 @@ | |||
| gatewaySelector=ingressgateway | |||
| @ -1,3 +0,0 @@ | |||
| varReference: | |||
| - path: spec/selector | |||
|   kind: Gateway | |||
| @ -1,11 +0,0 @@ | |||
| apiVersion: rbac.authorization.k8s.io/v1 | |||
| kind: ClusterRoleBinding | |||
| metadata: | |||
|   name: cluster-role-binding | |||
| roleRef: | |||
|   apiGroup: rbac.authorization.k8s.io | |||
|   kind: ClusterRole | |||
|   name: cluster-role | |||
| subjects: | |||
| - kind: ServiceAccount | |||
|   name: service-account | |||
| @ -1,54 +0,0 @@ | |||
| apiVersion: rbac.authorization.k8s.io/v1 | |||
| kind: ClusterRole | |||
| metadata: | |||
|   name: cluster-role | |||
| rules: | |||
| - apiGroups: | |||
|   - "" | |||
|   resources: | |||
|   - namespaces | |||
|   verbs: | |||
|   - get | |||
|   - list | |||
|   - create | |||
|   - delete | |||
| - apiGroups: | |||
|   - authorization.k8s.io | |||
|   resources: | |||
|   - subjectaccessreviews | |||
|   verbs: | |||
|   - create | |||
| - apiGroups: | |||
|   - kubeflow.org | |||
|   resources: | |||
|   - notebooks | |||
|   - notebooks/finalizers | |||
|   - poddefaults | |||
|   verbs: | |||
|   - get | |||
|   - list | |||
|   - create | |||
|   - delete | |||
| - apiGroups: | |||
|   - "" | |||
|   resources: | |||
|   - persistentvolumeclaims | |||
|   verbs: | |||
|   - create | |||
|   - delete | |||
|   - get | |||
|   - list | |||
| - apiGroups: | |||
|   - "" | |||
|   resources: | |||
|   - events | |||
|   verbs: | |||
|   - list | |||
| - apiGroups: | |||
|   - storage.k8s.io | |||
|   resources: | |||
|   - storageclasses | |||
|   verbs: | |||
|   - get | |||
|   - list | |||
|   - watch | |||
| @ -1,127 +0,0 @@ | |||
| apiVersion: v1 | |||
| data: | |||
|   spawner_ui_config.yaml: | | |||
|     # Configuration file for the Jupyter UI. | |||
|     # | |||
|     # Each Jupyter UI option is configured by two keys: 'value' and 'readOnly' | |||
|     # - The 'value' key contains the default value | |||
|     # - The 'readOnly' key determines if the option will be available to users | |||
|     # | |||
|     # If the 'readOnly' key is present and set to 'true', the respective option | |||
|     # will be disabled for users and only set by the admin. Also when a | |||
|     # Notebook is POSTED to the API if a necessary field is not present then | |||
|     # the value from the config will be used. | |||
|     # | |||
|     # If the 'readOnly' key is missing (defaults to 'false'), the respective option | |||
|     # will be available for users to edit. | |||
|     # | |||
|     # Note that some values can be templated. Such values are the names of the | |||
|     # Volumes as well as their StorageClass | |||
|     spawnerFormDefaults: | |||
|       image: | |||
|         # The container Image for the user's Jupyter Notebook | |||
|         # If readonly, this value must be a member of the list below | |||
|         value: gcr.io/kubeflow-images-public/tensorflow-1.14.0-notebook-cpu:v-base-ef41372-1177829795472347138 | |||
|         # The list of available standard container Images | |||
|         options: | |||
|           - gcr.io/kubeflow-images-public/tensorflow-1.14.0-notebook-cpu:v0.7.0 | |||
|           - gcr.io/kubeflow-images-public/tensorflow-1.14.0-notebook-gpu:v0.7.0 | |||
|           - gcr.io/kubeflow-images-public/tensorflow-2.0.0a0-notebook-cpu:v0.7.0 | |||
|           - gcr.io/kubeflow-images-public/tensorflow-2.0.0a0-notebook-gpu:v0.7.0 | |||
|         # By default, custom container Images are allowed | |||
|         # Uncomment the following line to only enable standard container Images | |||
|         readOnly: false | |||
|       cpu: | |||
|         # CPU for user's Notebook | |||
|         value: '0.5' | |||
|         readOnly: false | |||
|       memory: | |||
|         # Memory for user's Notebook | |||
|         value: 1.0Gi | |||
|         readOnly: false | |||
|       workspaceVolume: | |||
|         # Workspace Volume to be attached to user's Notebook | |||
|         # Each Workspace Volume is declared with the following attributes: | |||
|         # Type, Name, Size, MountPath and Access Mode | |||
|         value: | |||
|           type: | |||
|             # The Type of the Workspace Volume | |||
|             # Supported values: 'New', 'Existing' | |||
|             value: New | |||
|           name: | |||
|             # The Name of the Workspace Volume | |||
|             # Note that this is a templated value. Special values: | |||
|             # {notebook-name}: Replaced with the name of the Notebook. The frontend | |||
|             #                  will replace this value as the user types the name | |||
|             value: 'workspace-{notebook-name}' | |||
|           size: | |||
|             # The Size of the Workspace Volume (in Gi) | |||
|             value: '10Gi' | |||
|           mountPath: | |||
|             # The Path that the Workspace Volume will be mounted | |||
|             value: /home/jovyan | |||
|           accessModes: | |||
|             # The Access Mode of the Workspace Volume | |||
|             # Supported values: 'ReadWriteOnce', 'ReadWriteMany', 'ReadOnlyMany' | |||
|             value: ReadWriteOnce | |||
|           class: | |||
|             # The StrageClass the PVC will use if type is New. Special values are: | |||
|             # {none}: default StorageClass | |||
|             # {empty}: empty string "" | |||
|             value: '{none}' | |||
|         readOnly: false | |||
|       dataVolumes: | |||
|         # List of additional Data Volumes to be attached to the user's Notebook | |||
|         value: [] | |||
|         # Each Data Volume is declared with the following attributes: | |||
|         # Type, Name, Size, MountPath and Access Mode | |||
|         # | |||
|         # For example, a list with 2 Data Volumes: | |||
|         # value: | |||
|         #   - value: | |||
|         #       type: | |||
|         #         value: New | |||
|         #       name: | |||
|         #         value: '{notebook-name}-vol-1' | |||
|         #       size: | |||
|         #         value: '10Gi' | |||
|         #       class: | |||
|         #         value: standard | |||
|         #       mountPath: | |||
|         #         value: /home/jovyan/vol-1 | |||
|         #       accessModes: | |||
|         #         value: ReadWriteOnce | |||
|         #       class: | |||
|         #         value: {none} | |||
|         #   - value: | |||
|         #       type: | |||
|         #         value: New | |||
|         #       name: | |||
|         #         value: '{notebook-name}-vol-2' | |||
|         #       size: | |||
|         #         value: '10Gi' | |||
|         #       mountPath: | |||
|         #         value: /home/jovyan/vol-2 | |||
|         #       accessModes: | |||
|         #         value: ReadWriteMany | |||
|         #       class: | |||
|         #         value: {none} | |||
|         readOnly: false | |||
|       extraResources: | |||
|         # Extra Resource Limits for user's Notebook | |||
|         # e.x. "{'nvidia.com/gpu': 2}" | |||
|         value: "{}" | |||
|         readOnly: false | |||
|       shm: | |||
|         value: true | |||
|         readOnly: false | |||
|       configurations: | |||
|         # List of labels to be selected, these are the labels from PodDefaults | |||
|         # value: | |||
|         #   - add-gcp-secret | |||
|         #   - default-editor | |||
|         value: [] | |||
|         readOnly: false | |||
| kind: ConfigMap | |||
| metadata: | |||
|   name: config | |||
| @ -1,37 +0,0 @@ | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: deployment | |||
| spec: | |||
|   replicas: 1 | |||
|   template: | |||
|     spec: | |||
|       containers: | |||
|       - env: | |||
|         - name: ROK_SECRET_NAME | |||
|           valueFrom: | |||
|             configMapKeyRef: | |||
|               name: parameters | |||
|               key: ROK_SECRET_NAME | |||
|         - name: UI | |||
|           valueFrom: | |||
|             configMapKeyRef: | |||
|               name: parameters | |||
|               key: UI | |||
|         - name: USERID_HEADER | |||
|           value: $(userid-header) | |||
|         - name: USERID_PREFIX | |||
|           value: $(userid-prefix) | |||
|         image: gcr.io/kubeflow-images-public/jupyter-web-app:v0.5.0 | |||
|         imagePullPolicy: $(policy) | |||
|         name: jupyter-web-app | |||
|         ports: | |||
|         - containerPort: 5000 | |||
|         volumeMounts: | |||
|         - mountPath: /etc/config | |||
|           name: config-volume | |||
|       serviceAccountName: service-account | |||
|       volumes: | |||
|       - configMap: | |||
|           name: config | |||
|         name: config-volume | |||
| @ -1,70 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| kind: Kustomization | |||
| resources: | |||
| - cluster-role-binding.yaml | |||
| - cluster-role.yaml | |||
| - config-map.yaml | |||
| - deployment.yaml | |||
| - role-binding.yaml | |||
| - role.yaml | |||
| - service-account.yaml | |||
| - service.yaml | |||
| namePrefix: jupyter-web-app- | |||
| namespace: kubeflow | |||
| commonLabels: | |||
|   app: jupyter-web-app | |||
|   kustomize.component: jupyter-web-app | |||
| images: | |||
| - name: gcr.io/kubeflow-images-public/jupyter-web-app | |||
|   newName: gcr.io/kubeflow-images-public/jupyter-web-app | |||
|   newTag: vmaster-ge8c85064 | |||
| configMapGenerator: | |||
| - env: params.env | |||
|   name: parameters | |||
| generatorOptions: | |||
|   disableNameSuffixHash: true | |||
| vars: | |||
| - fieldref: | |||
|     fieldPath: data.policy | |||
|   name: policy | |||
|   objref: | |||
|     apiVersion: v1 | |||
|     kind: ConfigMap | |||
|     name: parameters | |||
| - fieldref: | |||
|     fieldPath: data.prefix | |||
|   name: prefix | |||
|   objref: | |||
|     apiVersion: v1 | |||
|     kind: ConfigMap | |||
|     name: parameters | |||
| - fieldref: | |||
|     fieldPath: data.clusterDomain | |||
|   name: clusterDomain | |||
|   objref: | |||
|     apiVersion: v1 | |||
|     kind: ConfigMap | |||
|     name: parameters | |||
| - fieldref: | |||
|     fieldPath: metadata.namespace | |||
|   name: namespace | |||
|   objref: | |||
|     apiVersion: v1 | |||
|     kind: Service | |||
|     name: service | |||
| - fieldref: | |||
|     fieldPath: data.userid-header | |||
|   name: userid-header | |||
|   objref: | |||
|     apiVersion: v1 | |||
|     kind: ConfigMap | |||
|     name: parameters | |||
| - fieldref: | |||
|     fieldPath: data.userid-prefix | |||
|   name: userid-prefix | |||
|   objref: | |||
|     apiVersion: v1 | |||
|     kind: ConfigMap | |||
|     name: parameters | |||
| configurations: | |||
| - params.yaml | |||
| @ -1,7 +0,0 @@ | |||
| UI=default | |||
| ROK_SECRET_NAME=secret-rok-{username} | |||
| policy=Always | |||
| prefix=jupyter | |||
| clusterDomain=cluster.local | |||
| userid-header=kubeflow-userid | |||
| userid-prefix= | |||
| @ -1,9 +0,0 @@ | |||
| varReference: | |||
| - path: spec/template/spec/containers/imagePullPolicy | |||
|   kind: Deployment | |||
| - path: metadata/annotations/getambassador.io\/config | |||
|   kind: Service | |||
| - path: spec/template/spec/containers/0/env/2/value | |||
|   kind: Deployment | |||
| - path: spec/template/spec/containers/0/env/3/value | |||
|   kind: Deployment | |||
| @ -1,11 +0,0 @@ | |||
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |||
| kind: RoleBinding | |||
| metadata: | |||
|   name: jupyter-notebook-role-binding | |||
| roleRef: | |||
|   apiGroup: rbac.authorization.k8s.io | |||
|   kind: Role | |||
|   name: jupyter-notebook-role | |||
| subjects: | |||
| - kind: ServiceAccount | |||
|   name: jupyter-notebook | |||
| @ -1,35 +0,0 @@ | |||
| apiVersion: rbac.authorization.k8s.io/v1beta1 | |||
| kind: Role | |||
| metadata: | |||
|   name: jupyter-notebook-role | |||
| rules: | |||
| - apiGroups: | |||
|   - "" | |||
|   resources: | |||
|   - pods | |||
|   - pods/log | |||
|   - secrets | |||
|   - services | |||
|   verbs: | |||
|   - '*' | |||
| - apiGroups: | |||
|   - "" | |||
|   - apps | |||
|   - extensions | |||
|   resources: | |||
|   - deployments | |||
|   - replicasets | |||
|   verbs: | |||
|   - '*' | |||
| - apiGroups: | |||
|   - kubeflow.org | |||
|   resources: | |||
|   - '*' | |||
|   verbs: | |||
|   - '*' | |||
| - apiGroups: | |||
|   - batch | |||
|   resources: | |||
|   - jobs | |||
|   verbs: | |||
|   - '*' | |||
| @ -1,4 +0,0 @@ | |||
| apiVersion: v1 | |||
| kind: ServiceAccount | |||
| metadata: | |||
|   name: service-account | |||
| @ -1,23 +0,0 @@ | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   annotations: | |||
|     getambassador.io/config: |- | |||
|       --- | |||
|       apiVersion: ambassador/v0 | |||
|       kind:  Mapping | |||
|       name: webapp_mapping | |||
|       prefix: /$(prefix)/ | |||
|       service: jupyter-web-app-service.$(namespace) | |||
|       add_request_headers: | |||
|         x-forwarded-prefix: /jupyter | |||
|   labels: | |||
|     run: jupyter-web-app | |||
|   name: service | |||
| spec: | |||
|   ports: | |||
|   - name: http | |||
|     port: 80 | |||
|     protocol: TCP | |||
|     targetPort: 5000 | |||
|   type: ClusterIP | |||
| @ -1,15 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - base | |||
| - overlays/istio | |||
| commonLabels: | |||
|   app.kubernetes.io/component: jupyter-web-app | |||
|   app.kubernetes.io/instance: jupyter-web-app-v0.7.0 | |||
|   app.kubernetes.io/managed-by: kfctl | |||
|   app.kubernetes.io/name: jupyter-web-app | |||
|   app.kubernetes.io/part-of: kubeflow | |||
|   app.kubernetes.io/version: v0.7.0 | |||
| kind: Kustomization | |||
| namespace: kubeflow | |||
| resources: | |||
| - overlays/application/application.yaml | |||
| @ -1,49 +0,0 @@ | |||
| apiVersion: app.k8s.io/v1beta1 | |||
| kind: Application | |||
| metadata: | |||
|   name: jupyter-web-app | |||
| spec: | |||
|   selector: | |||
|     matchLabels: | |||
|       app.kubernetes.io/name: jupyter-web-app | |||
|       app.kubernetes.io/instance: jupyter-web-app-v0.7.0 | |||
|       app.kubernetes.io/managed-by: kfctl | |||
|       app.kubernetes.io/component: jupyter-web-app | |||
|       app.kubernetes.io/part-of: kubeflow | |||
|       app.kubernetes.io/version: v0.7.0 | |||
|   componentKinds: | |||
|   - group: core | |||
|     kind: ConfigMap | |||
|   - group: apps | |||
|     kind: Deployment | |||
|   - group: rbac.authorization.k8s.io | |||
|     kind: RoleBinding | |||
|   - group: rbac.authorization.k8s.io | |||
|     kind: Role | |||
|   - group: core | |||
|     kind: ServiceAccount | |||
|   - group: core | |||
|     kind: Service | |||
|   - group: networking.istio.io | |||
|     kind: VirtualService | |||
|   descriptor: | |||
|     type: jupyter-web-app | |||
|     version: v1beta1 | |||
|     description: Provides a UI which allows the user to create/conect/delete jupyter notebooks. | |||
|     maintainers: | |||
|     - name: Kimonas Sotirchos | |||
|       email: kimwnasptd@arrikto.com | |||
|     owners: | |||
|     - name: Kimonas Sotirchos | |||
|       email: kimwnasptd@arrikto.com | |||
|     keywords: | |||
|      - jupyterhub | |||
|      - jupyter ui | |||
|      - notebooks   | |||
|     links: | |||
|     - description: About | |||
|       url: https://github.com/kubeflow/kubeflow/tree/master/components/jupyter-web-app | |||
|     - description: Docs | |||
|       url: https://www.kubeflow.org/docs/notebooks  | |||
|   addOwnerRef: true | |||
| 
 | |||
| @ -1,13 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| kind: Kustomization | |||
| bases: | |||
| - ../../base | |||
| resources: | |||
| - application.yaml | |||
| commonLabels: | |||
|   app.kubernetes.io/name: jupyter-web-app | |||
|   app.kubernetes.io/instance: jupyter-web-app-v0.7.0 | |||
|   app.kubernetes.io/managed-by: kfctl | |||
|   app.kubernetes.io/component: jupyter-web-app | |||
|   app.kubernetes.io/part-of: kubeflow | |||
|   app.kubernetes.io/version: v0.7.0 | |||
| @ -1,6 +0,0 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| kind: Kustomization | |||
| resources: | |||
| - virtual-service.yaml | |||
| configurations: | |||
| - params.yaml | |||
| @ -1,3 +0,0 @@ | |||
| varReference: | |||
| - path: spec/http/route/destination/host | |||
|   kind: VirtualService | |||
| @ -1,24 +0,0 @@ | |||
| apiVersion: networking.istio.io/v1alpha3 | |||
| kind: VirtualService | |||
| metadata: | |||
|   name: jupyter-web-app | |||
| spec: | |||
|   gateways: | |||
|   - kubeflow-gateway | |||
|   hosts: | |||
|   - '*' | |||
|   http: | |||
|   - headers: | |||
|       request: | |||
|         add: | |||
|           x-forwarded-prefix: /jupyter | |||
|     match: | |||
|     - uri: | |||
|         prefix: /jupyter/ | |||
|     rewrite: | |||
|       uri: / | |||
|     route: | |||
|     - destination: | |||
|         host: jupyter-web-app-service.$(namespace).svc.$(clusterDomain) | |||
|         port: | |||
|           number: 80 | |||
| @ -1,6 +0,0 @@ | |||
| # 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` | | |||
| @ -1,2 +0,0 @@ | |||
| vendor | |||
| Kasanefile.lock | |||
| @ -1,5 +0,0 @@ | |||
| layers: | |||
| - ../../guestbook/guestbook-ui-deployment.yaml | |||
| - patch.jsonnet | |||
| - ../../guestbook/guestbook-ui-svc.yaml | |||
| 
 | |||
| @ -1,29 +0,0 @@ | |||
| # 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/operator-manual/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 | |||
| ``` | |||
| @ -1,9 +0,0 @@ | |||
| function (layers) | |||
| 
 | |||
| [ | |||
|   layers[0] { | |||
|     spec+: { | |||
|       replicas: 2, | |||
|     }, | |||
|   } | |||
| ] | |||
| @ -1,3 +0,0 @@ | |||
| all.yaml | |||
| charts | |||
| requirements.lock | |||
| @ -1 +0,0 @@ | |||
| name: guestbook | |||
| @ -1,31 +0,0 @@ | |||
| # 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: ["/bin/sh", "-c"] | |||
|         args: ["helm init --client-only && 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 | |||
| ``` | |||
| @ -1,7 +0,0 @@ | |||
| namePrefix: kustomize- | |||
| 
 | |||
| resources: | |||
| - ./all.yaml | |||
| 
 | |||
| patches: | |||
| - overlays/guestbook-deployment.yaml | |||
| @ -1,10 +0,0 @@ | |||
| apiVersion: apps/v1 | |||
| 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" | |||
| @ -1,4 +0,0 @@ | |||
| dependencies: | |||
| - name: helm-guestbook | |||
|   version: 0.1.0 | |||
|   repository: file://../../helm-guestbook | |||
| @ -1,8 +0,0 @@ | |||
| namePrefix: pre-post-sync- | |||
| 
 | |||
| bases: | |||
| - ../kustomize-guestbook | |||
| 
 | |||
| resources: | |||
| - pre-sync-job.yaml | |||
| - post-sync-job.yaml | |||
| @ -1,16 +0,0 @@ | |||
| apiVersion: batch/v1 | |||
| kind: Job | |||
| metadata: | |||
|   name: after | |||
|   annotations: | |||
|     argocd.argoproj.io/hook: PostSync | |||
|     argocd.argoproj.io/hook-delete-policy: HookSucceeded | |||
| spec: | |||
|   template: | |||
|     spec: | |||
|       containers: | |||
|       - name: sleep | |||
|         image: alpine:latest | |||
|         command: ["sleep", "10"] | |||
|       restartPolicy: Never | |||
|   backoffLimit: 0 | |||
| @ -1,16 +0,0 @@ | |||
| apiVersion: batch/v1 | |||
| kind: Job | |||
| metadata: | |||
|   name: before | |||
|   annotations: | |||
|     argocd.argoproj.io/hook: PreSync | |||
|     argocd.argoproj.io/hook-delete-policy: HookSucceeded | |||
| spec: | |||
|   template: | |||
|     spec: | |||
|       containers: | |||
|       - name: sleep | |||
|         image: alpine:latest | |||
|         command: ["sleep", "10"] | |||
|       restartPolicy: Never | |||
|   backoffLimit: 0 | |||
| @ -1,41 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: carts-db | |||
|   labels: | |||
|     name: carts-db | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: carts-db | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: carts-db | |||
|     spec: | |||
|       containers: | |||
|       - name: carts-db | |||
|         image: mongo | |||
|         ports: | |||
|         - name: mongo | |||
|           containerPort: 27017 | |||
|         securityContext: | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|             add: | |||
|               - CHOWN | |||
|               - SETGID | |||
|               - SETUID | |||
|           readOnlyRootFilesystem: true | |||
|         volumeMounts: | |||
|         - mountPath: /tmp | |||
|           name: tmp-volume | |||
|       volumes: | |||
|         - name: tmp-volume | |||
|           emptyDir: | |||
|             medium: Memory | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,14 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: carts-db | |||
|   labels: | |||
|     name: carts-db | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 27017 | |||
|     targetPort: 27017 | |||
|   selector: | |||
|     name: carts-db | |||
| @ -1,64 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: carts | |||
|   labels: | |||
|     name: carts | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: carts | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: carts | |||
|     spec: | |||
|       containers: | |||
|       - name: carts | |||
|         image: weaveworksdemos/carts:0.4.8 | |||
|         env: | |||
|          - name: ZIPKIN | |||
|            value: zipkin.jaeger.svc.cluster.local | |||
|          - name: JAVA_OPTS | |||
|            value: -Xms64m -Xmx128m -XX:PermSize=32m -XX:MaxPermSize=64m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom | |||
|         resources: | |||
|           limits: | |||
|             cpu: 300m | |||
|             memory: 500Mi | |||
|           requests: | |||
|             cpu: 300m | |||
|             memory: 500Mi | |||
|         ports: | |||
|         - containerPort: 80 | |||
|         securityContext: | |||
|           runAsNonRoot: true | |||
|           runAsUser: 10001 | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|             add: | |||
|               - NET_BIND_SERVICE | |||
|           readOnlyRootFilesystem: true | |||
|         volumeMounts: | |||
|         - mountPath: /tmp | |||
|           name: tmp-volume | |||
|         livenessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 300 | |||
|           periodSeconds: 3 | |||
|         readinessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 180 | |||
|           periodSeconds: 3 | |||
|       volumes: | |||
|         - name: tmp-volume | |||
|           emptyDir: | |||
|             medium: Memory | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,30 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: catalogue-db | |||
|   labels: | |||
|     name: catalogue-db | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: catalogue-db | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: catalogue-db | |||
|     spec: | |||
|       containers: | |||
|       - name: catalogue-db | |||
|         image: weaveworksdemos/catalogue-db:0.3.0 | |||
|         env: | |||
|           - name: MYSQL_ROOT_PASSWORD | |||
|             value: fake_password | |||
|           - name: MYSQL_DATABASE | |||
|             value: socksdb | |||
|         ports: | |||
|         - name: mysql | |||
|           containerPort: 3306 | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,14 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: catalogue-db | |||
|   labels: | |||
|     name: catalogue-db | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 3306 | |||
|     targetPort: 3306 | |||
|   selector: | |||
|     name: catalogue-db | |||
| @ -1,52 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: catalogue | |||
|   labels: | |||
|     name: catalogue | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: catalogue | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: catalogue | |||
|     spec: | |||
|       containers: | |||
|       - name: catalogue | |||
|         image: weaveworksdemos/catalogue:0.3.5 | |||
|         resources: | |||
|           limits: | |||
|             cpu: 100m | |||
|             memory: 100Mi | |||
|           requests: | |||
|             cpu: 100m | |||
|             memory: 100Mi | |||
|         ports: | |||
|         - containerPort: 80 | |||
|         securityContext: | |||
|           runAsNonRoot: true | |||
|           runAsUser: 10001 | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|             add: | |||
|               - NET_BIND_SERVICE | |||
|           readOnlyRootFilesystem: true | |||
|         livenessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 300 | |||
|           periodSeconds: 3 | |||
|         readinessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 180 | |||
|           periodSeconds: 3 | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,14 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: catalogue | |||
|   labels: | |||
|     name: catalogue | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 80 | |||
|     targetPort: 80 | |||
|   selector: | |||
|     name: catalogue | |||
| @ -1,51 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: front-end | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: front-end | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: front-end | |||
|     spec: | |||
|       containers: | |||
|       - name: front-end | |||
|         image: weaveworksdemos/front-end:0.3.12 | |||
|         resources: | |||
|           limits: | |||
|             cpu: 300m | |||
|             memory: 1000Mi | |||
|           requests: | |||
|             cpu: 100m | |||
|             memory: 300Mi | |||
|         ports: | |||
|         - containerPort: 8079 | |||
|         env: | |||
|         - name: SESSION_REDIS | |||
|           value: "true" | |||
|         securityContext: | |||
|           runAsNonRoot: true | |||
|           runAsUser: 10001 | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|           readOnlyRootFilesystem: true | |||
|         livenessProbe: | |||
|           httpGet: | |||
|             path: / | |||
|             port: 8079 | |||
|           initialDelaySeconds: 300 | |||
|           periodSeconds: 3 | |||
|         readinessProbe: | |||
|           httpGet: | |||
|             path: / | |||
|             port: 8079 | |||
|           initialDelaySeconds: 30 | |||
|           periodSeconds: 3 | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,15 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: front-end | |||
|   labels: | |||
|     name: front-end | |||
| spec: | |||
|   type: LoadBalancer | |||
|   ports: | |||
|   - port: 80 | |||
|     targetPort: 8079 | |||
|     nodePort: 30001 | |||
|   selector: | |||
|     name: front-end | |||
| @ -1,41 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: orders-db | |||
|   labels: | |||
|     name: orders-db | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: orders-db | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: orders-db | |||
|     spec: | |||
|       containers: | |||
|       - name: orders-db | |||
|         image: mongo | |||
|         ports: | |||
|         - name: mongo | |||
|           containerPort: 27017 | |||
|         securityContext: | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|             add: | |||
|               - CHOWN | |||
|               - SETGID | |||
|               - SETUID | |||
|           readOnlyRootFilesystem: true | |||
|         volumeMounts: | |||
|         - mountPath: /tmp | |||
|           name: tmp-volume | |||
|       volumes: | |||
|         - name: tmp-volume | |||
|           emptyDir: | |||
|             medium: Memory | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,14 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: orders-db | |||
|   labels: | |||
|     name: orders-db | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 27017 | |||
|     targetPort: 27017 | |||
|   selector: | |||
|     name: orders-db | |||
| @ -1,64 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: orders | |||
|   labels: | |||
|     name: orders | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: orders | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: orders | |||
|     spec: | |||
|       containers: | |||
|       - name: orders | |||
|         image: weaveworksdemos/orders:0.4.7 | |||
|         env: | |||
|          - name: ZIPKIN | |||
|            value: zipkin.jaeger.svc.cluster.local | |||
|          - name: JAVA_OPTS | |||
|            value: -Xms64m -Xmx128m -XX:PermSize=32m -XX:MaxPermSize=64m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom | |||
|         resources: | |||
|           limits: | |||
|             cpu: 500m | |||
|             memory: 500Mi | |||
|           requests: | |||
|             cpu: 200m | |||
|             memory: 500Mi | |||
|         ports: | |||
|         - containerPort: 80 | |||
|         securityContext: | |||
|           runAsNonRoot: true | |||
|           runAsUser: 10001 | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|             add: | |||
|               - NET_BIND_SERVICE | |||
|           readOnlyRootFilesystem: true | |||
|         volumeMounts: | |||
|         - mountPath: /tmp | |||
|           name: tmp-volume | |||
|         livenessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 300 | |||
|           periodSeconds: 3 | |||
|         readinessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 180 | |||
|           periodSeconds: 3 | |||
|       volumes: | |||
|         - name: tmp-volume | |||
|           emptyDir: | |||
|             medium: Memory | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,14 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: orders | |||
|   labels: | |||
|     name: orders | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 80 | |||
|     targetPort: 80 | |||
|   selector: | |||
|     name: orders | |||
| @ -1,52 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: payment | |||
|   labels: | |||
|     name: payment | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: payment | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: payment | |||
|     spec: | |||
|       containers: | |||
|       - name: payment | |||
|         image: weaveworksdemos/payment:0.4.3 | |||
|         resources: | |||
|           limits: | |||
|             cpu: 100m | |||
|             memory: 100Mi | |||
|           requests: | |||
|             cpu: 99m | |||
|             memory: 100Mi | |||
|         ports: | |||
|         - containerPort: 80 | |||
|         securityContext: | |||
|           runAsNonRoot: true | |||
|           runAsUser: 10001 | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|             add: | |||
|               - NET_BIND_SERVICE | |||
|           readOnlyRootFilesystem: true | |||
|         livenessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 300 | |||
|           periodSeconds: 3 | |||
|         readinessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 180 | |||
|           periodSeconds: 3 | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,14 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: payment | |||
|   labels: | |||
|     name: payment | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 80 | |||
|     targetPort: 80 | |||
|   selector: | |||
|     name: payment | |||
| @ -1,48 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: queue-master | |||
|   labels: | |||
|     name: queue-master | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: queue-master | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: queue-master | |||
|     spec: | |||
|       containers: | |||
|       - name: queue-master | |||
|         image: weaveworksdemos/queue-master:0.3.1 | |||
|         env: | |||
|          - name: ZIPKIN | |||
|            value: zipkin.jaeger.svc.cluster.local | |||
|          - name: JAVA_OPTS | |||
|            value: -Xms64m -Xmx128m -XX:PermSize=32m -XX:MaxPermSize=64m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom | |||
|         resources: | |||
|           limits: | |||
|             cpu: 300m | |||
|             memory: 500Mi | |||
|           requests: | |||
|             cpu: 300m | |||
|             memory: 500Mi | |||
|         ports: | |||
|         - containerPort: 80 | |||
|         livenessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 300 | |||
|           periodSeconds: 3 | |||
|         readinessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 180 | |||
|           periodSeconds: 3 | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,16 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: queue-master | |||
|   labels: | |||
|     name: queue-master | |||
|   annotations: | |||
|     prometheus.io/path: "/prometheus" | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 80 | |||
|     targetPort: 80 | |||
|   selector: | |||
|     name: queue-master | |||
| @ -1,44 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: rabbitmq | |||
|   labels: | |||
|     name: rabbitmq | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: rabbitmq | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: rabbitmq | |||
|       annotations: | |||
|         prometheus.io/scrape: "false" | |||
|     spec: | |||
|       containers: | |||
|       - name: rabbitmq | |||
|         image: rabbitmq:3.6.8-management | |||
|         ports: | |||
|         - containerPort: 15672 | |||
|           name: management | |||
|         - containerPort: 5672 | |||
|           name: rabbitmq | |||
|         securityContext: | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|             add: | |||
|               - CHOWN | |||
|               - SETGID | |||
|               - SETUID | |||
|               - DAC_OVERRIDE | |||
|           readOnlyRootFilesystem: true | |||
|       - name: rabbitmq-exporter | |||
|         image: kbudde/rabbitmq-exporter | |||
|         ports: | |||
|         - containerPort: 9090 | |||
|           name: exporter | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,19 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: rabbitmq | |||
|   labels: | |||
|     name: rabbitmq | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 5672 | |||
|     name: rabbitmq | |||
|     targetPort: 5672 | |||
|   - port: 9090 | |||
|     name: exporter | |||
|     targetPort: exporter | |||
|     protocol: TCP | |||
|   selector: | |||
|     name: rabbitmq | |||
| @ -1,36 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: session-db | |||
|   labels: | |||
|     name: session-db | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: session-db | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: session-db | |||
|       annotations: | |||
|         prometheus.io.scrape: "false" | |||
|     spec: | |||
|       containers: | |||
|       - name: session-db | |||
|         image: redis:alpine | |||
|         ports: | |||
|         - name: redis | |||
|           containerPort: 6379 | |||
|         securityContext: | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|             add: | |||
|               - CHOWN | |||
|               - SETGID | |||
|               - SETUID | |||
|           readOnlyRootFilesystem: true | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,14 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: session-db | |||
|   labels: | |||
|     name: session-db | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 6379 | |||
|     targetPort: 6379 | |||
|   selector: | |||
|     name: session-db | |||
| @ -1,64 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: shipping | |||
|   labels: | |||
|     name: shipping | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: shipping | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: shipping | |||
|     spec: | |||
|       containers: | |||
|       - name: shipping | |||
|         image: weaveworksdemos/shipping:0.4.8 | |||
|         env: | |||
|          - name: ZIPKIN | |||
|            value: zipkin.jaeger.svc.cluster.local | |||
|          - name: JAVA_OPTS | |||
|            value: -Xms64m -Xmx128m -XX:PermSize=32m -XX:MaxPermSize=64m -XX:+UseG1GC -Djava.security.egd=file:/dev/urandom | |||
|         resources: | |||
|           limits: | |||
|             cpu: 300m | |||
|             memory: 500Mi | |||
|           requests: | |||
|             cpu: 300m | |||
|             memory: 500Mi | |||
|         ports: | |||
|         - containerPort: 80 | |||
|         securityContext: | |||
|           runAsNonRoot: true | |||
|           runAsUser: 10001 | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|             add: | |||
|               - NET_BIND_SERVICE | |||
|           readOnlyRootFilesystem: true | |||
|         volumeMounts: | |||
|         - mountPath: /tmp | |||
|           name: tmp-volume | |||
|         livenessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 300 | |||
|           periodSeconds: 3 | |||
|         readinessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 180 | |||
|           periodSeconds: 3 | |||
|       volumes: | |||
|         - name: tmp-volume | |||
|           emptyDir: | |||
|             medium: Memory | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,15 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: shipping | |||
|   labels: | |||
|     name: shipping | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 80 | |||
|     targetPort: 80 | |||
|   selector: | |||
|     name: shipping | |||
| 
 | |||
| @ -1,42 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: user-db | |||
|   labels: | |||
|     name: user-db | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: user-db | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: user-db | |||
|     spec: | |||
|       containers: | |||
|       - name: user-db | |||
|         image: weaveworksdemos/user-db:0.3.0 | |||
| 
 | |||
|         ports: | |||
|         - name: mongo | |||
|           containerPort: 27017 | |||
|         securityContext: | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|             add: | |||
|               - CHOWN | |||
|               - SETGID | |||
|               - SETUID | |||
|           readOnlyRootFilesystem: true | |||
|         volumeMounts: | |||
|         - mountPath: /tmp | |||
|           name: tmp-volume | |||
|       volumes: | |||
|         - name: tmp-volume | |||
|           emptyDir: | |||
|             medium: Memory | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,15 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: user-db | |||
|   labels: | |||
|     name: user-db | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 27017 | |||
|     targetPort: 27017 | |||
|   selector: | |||
|     name: user-db | |||
| 
 | |||
| @ -1,55 +0,0 @@ | |||
| --- | |||
| apiVersion: apps/v1 | |||
| kind: Deployment | |||
| metadata: | |||
|   name: user | |||
|   labels: | |||
|     name: user | |||
| spec: | |||
|   replicas: 1 | |||
|   selector: | |||
|     matchLabels: | |||
|       name: user | |||
|   template: | |||
|     metadata: | |||
|       labels: | |||
|         name: user | |||
|     spec: | |||
|       containers: | |||
|       - name: user | |||
|         image: weaveworksdemos/user:0.4.7 | |||
|         resources: | |||
|           limits: | |||
|             cpu: 300m | |||
|             memory: 100Mi | |||
|           requests: | |||
|             cpu: 100m | |||
|             memory: 100Mi | |||
|         ports: | |||
|         - containerPort: 80 | |||
|         env: | |||
|         - name: MONGO_HOST | |||
|           value: user-db:27017 | |||
|         securityContext: | |||
|           runAsNonRoot: true | |||
|           runAsUser: 10001 | |||
|           capabilities: | |||
|             drop: | |||
|               - all | |||
|             add: | |||
|               - NET_BIND_SERVICE | |||
|           readOnlyRootFilesystem: true | |||
|         livenessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 300 | |||
|           periodSeconds: 3 | |||
|         readinessProbe: | |||
|           httpGet: | |||
|             path: /health | |||
|             port: 80 | |||
|           initialDelaySeconds: 180 | |||
|           periodSeconds: 3 | |||
|       nodeSelector: | |||
|         beta.kubernetes.io/os: linux | |||
| @ -1,15 +0,0 @@ | |||
| --- | |||
| apiVersion: v1 | |||
| kind: Service | |||
| metadata: | |||
|   name: user | |||
|   labels: | |||
|     name: user | |||
| spec: | |||
|   ports: | |||
|     # the port that this service should serve on | |||
|   - port: 80 | |||
|     targetPort: 80 | |||
|   selector: | |||
|     name: user | |||
| 
 | |||
| @ -1,28 +0,0 @@ | |||
| resources: | |||
| - base/carts-db-dep.yaml | |||
| - base/carts-db-svc.yaml | |||
| - base/carts-dep.yaml | |||
| - base/catalogue-db-dep.yaml | |||
| - base/catalogue-db-svc.yaml | |||
| - base/catalogue-dep.yaml | |||
| - base/catalogue-svc.yaml | |||
| - base/front-end-dep.yaml | |||
| - base/front-end-svc.yaml | |||
| - base/orders-db-dep.yaml | |||
| - base/orders-db-svc.yaml | |||
| - base/orders-dep.yaml | |||
| - base/orders-svc.yaml | |||
| - base/payment-dep.yaml | |||
| - base/payment-svc.yaml | |||
| - base/queue-master-dep.yaml | |||
| - base/queue-master-svc.yaml | |||
| - base/rabbitmq-dep.yaml | |||
| - base/rabbitmq-svc.yaml | |||
| - base/session-db-dep.yaml | |||
| - base/session-db-svc.yaml | |||
| - base/shipping-dep.yaml | |||
| - base/shipping-svc.yaml | |||
| - base/user-db-dep.yaml | |||
| - base/user-db-svc.yaml | |||
| - base/user-dep.yaml | |||
| - base/user-svc.yaml | |||
| @ -0,0 +1,4 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - ../../../kustomize/api-service | |||
| kind: Kustomization | |||
| @ -1,5 +1,4 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - base | |||
| - ../../../kustomize/argo | |||
| kind: Kustomization | |||
| namespace: kubeflow | |||
| @ -0,0 +1,4 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - ../../../kustomize/centraldashboard | |||
| kind: Kustomization | |||
| @ -0,0 +1,4 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - ../../../kustomize/cert-manager-crds | |||
| kind: Kustomization | |||
| @ -0,0 +1,4 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - ../../../kustomize/cert-manager-kube-system-resources | |||
| kind: Kustomization | |||
| @ -0,0 +1,4 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - ../../../kustomize/cert-manager | |||
| kind: Kustomization | |||
| @ -1,5 +1,4 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - base | |||
| - ../../../kustomize/dex | |||
| kind: Kustomization | |||
| namespace: kubeflow | |||
| @ -0,0 +1,4 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - ../../../kustomize/katib-controller | |||
| kind: Kustomization | |||
| @ -0,0 +1,4 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - ../../../kustomize/katib-crds | |||
| kind: Kustomization | |||
| @ -0,0 +1,4 @@ | |||
| apiVersion: kustomize.config.k8s.io/v1beta1 | |||
| bases: | |||
| - ../../../kustomize/kfserving-crds | |||
| kind: Kustomization | |||
Some files were not shown because too many files changed in this diff
					Loading…
					
					
				
		Reference in new issue