Browse Source

all manifests added

pull/43/head
arun-vc 5 years ago
parent
commit
260cc6384c
  1. 21
      README.md
  2. 239
      application-crds/base/crd.yaml
  3. 4
      application-crds/base/kustomization.yaml
  4. 11
      application/base/cluster-role-binding.yaml
  5. 21
      application/base/cluster-role.yaml
  6. 29
      application/base/kustomization.yaml
  7. 1
      application/base/params.env
  8. 3
      application/base/params.yaml
  9. 4
      application/base/service-account.yaml
  10. 7
      application/base/service.yaml
  11. 27
      application/base/stateful-set.yaml
  12. 15
      application/kustomization.yaml
  13. 34
      application/overlays/application/application.yaml
  14. 13
      application/overlays/application/kustomization.yaml
  15. 10
      application/overlays/debug/kustomization.yaml
  16. 25
      application/overlays/debug/stateful-set.yaml
  17. 82
      helm-hooks/manifests.yaml
  18. 1535
      istio-crds/base/crds.yaml
  19. 5
      istio-crds/base/kustomization.yaml
  20. 17385
      istio-install/base/istio-noauth.yaml
  21. 39
      istio-install/base/kustomization.yaml
  22. 7
      istio/base/README.md
  23. 51
      istio/base/cluster-roles.yaml
  24. 110
      istio/base/kf-istio-resources.yaml
  25. 26
      istio/base/kustomization.yaml
  26. 2
      istio/base/params.env
  27. 5
      istio/base/params.yaml
  28. 18
      istio/overlays/https-gateway/kf-istio-resources.yaml
  29. 13
      istio/overlays/https-gateway/kustomization.yaml
  30. 1
      istio/overlays/https-gateway/params.env
  31. 3
      istio/overlays/https-gateway/params.yaml
  32. 11
      jupyter-web-app/base/cluster-role-binding.yaml
  33. 54
      jupyter-web-app/base/cluster-role.yaml
  34. 127
      jupyter-web-app/base/config-map.yaml
  35. 37
      jupyter-web-app/base/deployment.yaml
  36. 70
      jupyter-web-app/base/kustomization.yaml
  37. 7
      jupyter-web-app/base/params.env
  38. 9
      jupyter-web-app/base/params.yaml
  39. 11
      jupyter-web-app/base/role-binding.yaml
  40. 35
      jupyter-web-app/base/role.yaml
  41. 4
      jupyter-web-app/base/service-account.yaml
  42. 23
      jupyter-web-app/base/service.yaml
  43. 15
      jupyter-web-app/kustomization.yaml
  44. 49
      jupyter-web-app/overlays/application/application.yaml
  45. 13
      jupyter-web-app/overlays/application/kustomization.yaml
  46. 6
      jupyter-web-app/overlays/istio/kustomization.yaml
  47. 3
      jupyter-web-app/overlays/istio/params.yaml
  48. 24
      jupyter-web-app/overlays/istio/virtual-service.yaml
  49. 6
      plugins/README.md
  50. 2
      plugins/kasane/.gitignore
  51. 5
      plugins/kasane/Kasanefile
  52. 29
      plugins/kasane/README.md
  53. 9
      plugins/kasane/patch.jsonnet
  54. 3
      plugins/kustomized-helm/.gitignore
  55. 1
      plugins/kustomized-helm/Chart.yaml
  56. 31
      plugins/kustomized-helm/README.md
  57. 7
      plugins/kustomized-helm/kustomization.yaml
  58. 10
      plugins/kustomized-helm/overlays/guestbook-deployment.yaml
  59. 4
      plugins/kustomized-helm/requirements.yaml
  60. 8
      pre-post-sync/kustomization.yaml
  61. 16
      pre-post-sync/post-sync-job.yaml
  62. 16
      pre-post-sync/pre-sync-job.yaml
  63. 41
      sock-shop/base/carts-db-dep.yaml
  64. 14
      sock-shop/base/carts-db-svc.yaml
  65. 64
      sock-shop/base/carts-dep.yaml
  66. 30
      sock-shop/base/catalogue-db-dep.yaml
  67. 14
      sock-shop/base/catalogue-db-svc.yaml
  68. 52
      sock-shop/base/catalogue-dep.yaml
  69. 14
      sock-shop/base/catalogue-svc.yaml
  70. 51
      sock-shop/base/front-end-dep.yaml
  71. 15
      sock-shop/base/front-end-svc.yaml
  72. 41
      sock-shop/base/orders-db-dep.yaml
  73. 14
      sock-shop/base/orders-db-svc.yaml
  74. 64
      sock-shop/base/orders-dep.yaml
  75. 14
      sock-shop/base/orders-svc.yaml
  76. 52
      sock-shop/base/payment-dep.yaml
  77. 14
      sock-shop/base/payment-svc.yaml
  78. 48
      sock-shop/base/queue-master-dep.yaml
  79. 16
      sock-shop/base/queue-master-svc.yaml
  80. 44
      sock-shop/base/rabbitmq-dep.yaml
  81. 19
      sock-shop/base/rabbitmq-svc.yaml
  82. 36
      sock-shop/base/session-db-dep.yaml
  83. 14
      sock-shop/base/session-db-svc.yaml
  84. 64
      sock-shop/base/shipping-dep.yaml
  85. 15
      sock-shop/base/shipping-svc.yaml
  86. 42
      sock-shop/base/user-db-dep.yaml
  87. 15
      sock-shop/base/user-db-svc.yaml
  88. 55
      sock-shop/base/user-dep.yaml
  89. 15
      sock-shop/base/user-svc.yaml
  90. 28
      sock-shop/kustomization.yaml
  91. 4
      volvo-kustomize/dev/api-service/kustomization.yaml
  92. 3
      volvo-kustomize/dev/argo/kustomization.yaml
  93. 4
      volvo-kustomize/dev/centraldashboard/kustomization.yaml
  94. 4
      volvo-kustomize/dev/cert-manager-crds/kustomization.yaml
  95. 4
      volvo-kustomize/dev/cert-manager-kube-system-resources/kustomization.yaml
  96. 4
      volvo-kustomize/dev/cert-manager/kustomization.yaml
  97. 3
      volvo-kustomize/dev/dex/kustomization.yaml
  98. 4
      volvo-kustomize/dev/katib-controller/kustomization.yaml
  99. 4
      volvo-kustomize/dev/katib-crds/kustomization.yaml
  100. 4
      volvo-kustomize/dev/kfserving-crds/kustomization.yaml

21
README.md

@ -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 |

239
application-crds/base/crd.yaml

@ -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: []

4
application-crds/base/kustomization.yaml

@ -1,4 +0,0 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- crd.yaml

11
application/base/cluster-role-binding.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

21
application/base/cluster-role.yaml

@ -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:
- '*'

29
application/base/kustomization.yaml

@ -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
application/base/params.env

@ -1 +0,0 @@
project=

3
application/base/params.yaml

@ -1,3 +0,0 @@
varReference:
- path: spec/template/spec/containers/image
kind: StatefulSet

4
application/base/service-account.yaml

@ -1,4 +0,0 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: service-account

7
application/base/service.yaml

@ -1,7 +0,0 @@
apiVersion: v1
kind: Service
metadata:
name: service
spec:
ports:
- port: 443

27
application/base/stateful-set.yaml

@ -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: []

15
application/kustomization.yaml

@ -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

34
application/overlays/application/application.yaml

@ -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

13
application/overlays/application/kustomization.yaml

@ -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

10
application/overlays/debug/kustomization.yaml

@ -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

25
application/overlays/debug/stateful-set.yaml

@ -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

82
helm-hooks/manifests.yaml

@ -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

1535
istio-crds/base/crds.yaml

File diff suppressed because it is too large

5
istio-crds/base/kustomization.yaml

@ -1,5 +0,0 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- crds.yaml
namespace: kubeflow

17385
istio-install/base/istio-noauth.yaml

File diff suppressed because it is too large

39
istio-install/base/kustomization.yaml

@ -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'

7
istio/base/README.md

@ -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

51
istio/base/cluster-roles.yaml

@ -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

110
istio/base/kf-istio-resources.yaml

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

26
istio/base/kustomization.yaml

@ -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

2
istio/base/params.env

@ -1,2 +0,0 @@
clusterRbacConfig=ON
gatewaySelector=ingressgateway

5
istio/base/params.yaml

@ -1,5 +0,0 @@
varReference:
- path: spec/mode
kind: ClusterRbacConfig
- path: spec/selector
kind: Gateway

18
istio/overlays/https-gateway/kf-istio-resources.yaml

@ -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

13
istio/overlays/https-gateway/kustomization.yaml

@ -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
istio/overlays/https-gateway/params.env

@ -1 +0,0 @@
gatewaySelector=ingressgateway

3
istio/overlays/https-gateway/params.yaml

@ -1,3 +0,0 @@
varReference:
- path: spec/selector
kind: Gateway

11
jupyter-web-app/base/cluster-role-binding.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

54
jupyter-web-app/base/cluster-role.yaml

@ -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

127
jupyter-web-app/base/config-map.yaml

@ -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

37
jupyter-web-app/base/deployment.yaml

@ -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

70
jupyter-web-app/base/kustomization.yaml

@ -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

7
jupyter-web-app/base/params.env

@ -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=

9
jupyter-web-app/base/params.yaml

@ -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

11
jupyter-web-app/base/role-binding.yaml

@ -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

35
jupyter-web-app/base/role.yaml

@ -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:
- '*'

4
jupyter-web-app/base/service-account.yaml

@ -1,4 +0,0 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: service-account

23
jupyter-web-app/base/service.yaml

@ -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

15
jupyter-web-app/kustomization.yaml

@ -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

49
jupyter-web-app/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

13
jupyter-web-app/overlays/application/kustomization.yaml

@ -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

6
jupyter-web-app/overlays/istio/kustomization.yaml

@ -1,6 +0,0 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- virtual-service.yaml
configurations:
- params.yaml

3
jupyter-web-app/overlays/istio/params.yaml

@ -1,3 +0,0 @@
varReference:
- path: spec/http/route/destination/host
kind: VirtualService

24
jupyter-web-app/overlays/istio/virtual-service.yaml

@ -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

6
plugins/README.md

@ -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` |

2
plugins/kasane/.gitignore

@ -1,2 +0,0 @@
vendor
Kasanefile.lock

5
plugins/kasane/Kasanefile

@ -1,5 +0,0 @@
layers:
- ../../guestbook/guestbook-ui-deployment.yaml
- patch.jsonnet
- ../../guestbook/guestbook-ui-svc.yaml

29
plugins/kasane/README.md

@ -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
```

9
plugins/kasane/patch.jsonnet

@ -1,9 +0,0 @@
function (layers)
[
layers[0] {
spec+: {
replicas: 2,
},
}
]

3
plugins/kustomized-helm/.gitignore

@ -1,3 +0,0 @@
all.yaml
charts
requirements.lock

1
plugins/kustomized-helm/Chart.yaml

@ -1 +0,0 @@
name: guestbook

31
plugins/kustomized-helm/README.md

@ -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
```

7
plugins/kustomized-helm/kustomization.yaml

@ -1,7 +0,0 @@
namePrefix: kustomize-
resources:
- ./all.yaml
patches:
- overlays/guestbook-deployment.yaml

10
plugins/kustomized-helm/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"

4
plugins/kustomized-helm/requirements.yaml

@ -1,4 +0,0 @@
dependencies:
- name: helm-guestbook
version: 0.1.0
repository: file://../../helm-guestbook

8
pre-post-sync/kustomization.yaml

@ -1,8 +0,0 @@
namePrefix: pre-post-sync-
bases:
- ../kustomize-guestbook
resources:
- pre-sync-job.yaml
- post-sync-job.yaml

16
pre-post-sync/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

16
pre-post-sync/pre-sync-job.yaml

@ -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

41
sock-shop/base/carts-db-dep.yaml

@ -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

14
sock-shop/base/carts-db-svc.yaml

@ -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

64
sock-shop/base/carts-dep.yaml

@ -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

30
sock-shop/base/catalogue-db-dep.yaml

@ -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

14
sock-shop/base/catalogue-db-svc.yaml

@ -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

52
sock-shop/base/catalogue-dep.yaml

@ -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

14
sock-shop/base/catalogue-svc.yaml

@ -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

51
sock-shop/base/front-end-dep.yaml

@ -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

15
sock-shop/base/front-end-svc.yaml

@ -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

41
sock-shop/base/orders-db-dep.yaml

@ -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

14
sock-shop/base/orders-db-svc.yaml

@ -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

64
sock-shop/base/orders-dep.yaml

@ -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

14
sock-shop/base/orders-svc.yaml

@ -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

52
sock-shop/base/payment-dep.yaml

@ -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

14
sock-shop/base/payment-svc.yaml

@ -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

48
sock-shop/base/queue-master-dep.yaml

@ -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

16
sock-shop/base/queue-master-svc.yaml

@ -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

44
sock-shop/base/rabbitmq-dep.yaml

@ -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

19
sock-shop/base/rabbitmq-svc.yaml

@ -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

36
sock-shop/base/session-db-dep.yaml

@ -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

14
sock-shop/base/session-db-svc.yaml

@ -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

64
sock-shop/base/shipping-dep.yaml

@ -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

15
sock-shop/base/shipping-svc.yaml

@ -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

42
sock-shop/base/user-db-dep.yaml

@ -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

15
sock-shop/base/user-db-svc.yaml

@ -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

55
sock-shop/base/user-dep.yaml

@ -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

15
sock-shop/base/user-svc.yaml

@ -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

28
sock-shop/kustomization.yaml

@ -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

4
volvo-kustomize/dev/api-service/kustomization.yaml

@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
bases:
- ../../../kustomize/api-service
kind: Kustomization

3
istio/kustomization.yaml → volvo-kustomize/dev/argo/kustomization.yaml

@ -1,5 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
bases:
- base
- ../../../kustomize/argo
kind: Kustomization
namespace: kubeflow

4
volvo-kustomize/dev/centraldashboard/kustomization.yaml

@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
bases:
- ../../../kustomize/centraldashboard
kind: Kustomization

4
volvo-kustomize/dev/cert-manager-crds/kustomization.yaml

@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
bases:
- ../../../kustomize/cert-manager-crds
kind: Kustomization

4
volvo-kustomize/dev/cert-manager-kube-system-resources/kustomization.yaml

@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
bases:
- ../../../kustomize/cert-manager-kube-system-resources
kind: Kustomization

4
volvo-kustomize/dev/cert-manager/kustomization.yaml

@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
bases:
- ../../../kustomize/cert-manager
kind: Kustomization

3
application-crds/kustomization.yaml → volvo-kustomize/dev/dex/kustomization.yaml

@ -1,5 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
bases:
- base
- ../../../kustomize/dex
kind: Kustomization
namespace: kubeflow

4
volvo-kustomize/dev/katib-controller/kustomization.yaml

@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
bases:
- ../../../kustomize/katib-controller
kind: Kustomization

4
volvo-kustomize/dev/katib-crds/kustomization.yaml

@ -0,0 +1,4 @@
apiVersion: kustomize.config.k8s.io/v1beta1
bases:
- ../../../kustomize/katib-crds
kind: Kustomization

4
volvo-kustomize/dev/kfserving-crds/kustomization.yaml

@ -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…
Cancel
Save