Skip to content

Commit

Permalink
Create a new cluster for chatbot based on the GCP blueprint.
Browse files Browse the repository at this point in the history
* We want to create a webhook to respond to Dialogflow. To do
  that we need be able to modify the ISTIO ingress policy in order
  to apply different JWT validation for requests routed through IAP
  vs calls from DialogFlow.

* I initially tried that using ISTIO 1.1 and ran into problems. On ISTIO 1.4
  it seemed to work.

* So this PR defines a new cluster based on the Kubeflow GCP blueprint
  so using ASM which has ISTIO 1.4. It is also using ACM to manage
  the deployment.

* Related to kubeflow#142
  • Loading branch information
Jeremy Lewi committed May 21, 2020
1 parent 29be1c2 commit f592361
Show file tree
Hide file tree
Showing 1,413 changed files with 159,131 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,233 @@
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
apiVersion: app.k8s.io/v1beta1
kind: Application
metadata:
name: application-controller-kubeflow
namespace: kubeflow
spec:
addOwnerRef: true
componentKinds:
- group: app.k8s.io
kind: Application
descriptor:
description: application that aggregates all kubeflow applications
keywords:
- kubeflow
links:
- description: About
url: https://kubeflow.org
maintainers:
- email: [email protected]
name: Jeremy Lewi
- email: [email protected]
name: Kam Kasravi
owners:
- email: [email protected]
name: Jeremy Lewi
type: kubeflow
version: v1beta1
selector:
matchLabels:
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: application-controller-stateful-set
namespace: kubeflow
spec:
selector:
matchLabels:
app: application-controller
serviceName: application-controller-service
template:
metadata:
annotations:
sidecar.istio.io/inject: "false"
labels:
app: application-controller
spec:
containers:
- command:
- /root/manager
env:
- name: project
value: $(project)
image: gcr.io/kubeflow-images-public/kubernetes-sigs/application:1.0-beta
imagePullPolicy: Always
name: manager
serviceAccountName: application-controller-service-account
volumeClaimTemplates: []
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: application-controller-cluster-role
rules:
- apiGroups:
- '*'
resources:
- '*'
verbs:
- get
- list
- update
- patch
- watch
- apiGroups:
- app.k8s.io
resources:
- '*'
verbs:
- '*'
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: application-controller-cluster-role-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: application-controller-cluster-role
subjects:
- kind: ServiceAccount
name: application-controller-service-account
namespace: kubeflow
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
apiVersion: v1
kind: Service
metadata:
name: application-controller-service
namespace: kubeflow
spec:
ports:
- port: 443
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
apiVersion: v1
kind: ServiceAccount
metadata:
name: application-controller-service-account
namespace: kubeflow
Loading

0 comments on commit f592361

Please sign in to comment.