474 changed files with 46362 additions and 0 deletions
@ -0,0 +1,25 @@ |
|||||
|
# The configuration for the ML pipelines APIServer |
||||
|
# Based on https://github.com/kubeflow/pipelines/blob/master/backend/src/apiserver/config/config.json |
||||
|
apiVersion: v1 |
||||
|
data: |
||||
|
# apiserver assumes the config is named config.json |
||||
|
config.json: | |
||||
|
{ |
||||
|
"DBConfig": { |
||||
|
"DriverName": "mysql", |
||||
|
"DataSourceName": "", |
||||
|
"DBName": "mlpipeline" |
||||
|
}, |
||||
|
"ObjectStoreConfig":{ |
||||
|
"AccessKey": "minio", |
||||
|
"SecretAccessKey": "minio123", |
||||
|
"BucketName": "mlpipeline" |
||||
|
}, |
||||
|
"InitConnectionTimeout": "6m", |
||||
|
"DefaultPipelineRunnerServiceAccount": "pipeline-runner", |
||||
|
"ML_PIPELINE_VISUALIZATIONSERVER_SERVICE_HOST": "ml-pipeline-ml-pipeline-visualizationserver", |
||||
|
"ML_PIPELINE_VISUALIZATIONSERVER_SERVICE_PORT": 8888 |
||||
|
} |
||||
|
kind: ConfigMap |
||||
|
metadata: |
||||
|
name: ml-pipeline-config |
@ -0,0 +1,32 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: ml-pipeline |
||||
|
spec: |
||||
|
template: |
||||
|
spec: |
||||
|
containers: |
||||
|
- name: ml-pipeline-api-server |
||||
|
env: |
||||
|
- name: POD_NAMESPACE |
||||
|
valueFrom: |
||||
|
fieldRef: |
||||
|
fieldPath: metadata.namespace |
||||
|
image: gcr.io/ml-pipeline/api-server |
||||
|
imagePullPolicy: IfNotPresent |
||||
|
command: |
||||
|
- apiserver |
||||
|
- --config=/etc/ml-pipeline-config |
||||
|
- --sampleconfig=/config/sample_config.json |
||||
|
- -logtostderr=true |
||||
|
ports: |
||||
|
- containerPort: 8888 |
||||
|
- containerPort: 8887 |
||||
|
volumeMounts: |
||||
|
- name: config-volume |
||||
|
mountPath: /etc/ml-pipeline-config |
||||
|
serviceAccountName: ml-pipeline |
||||
|
volumes: |
||||
|
- name: config-volume |
||||
|
configMap: |
||||
|
name: ml-pipeline-config |
@ -0,0 +1,15 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
commonLabels: |
||||
|
app: ml-pipeline |
||||
|
resources: |
||||
|
- config-map.yaml |
||||
|
- deployment.yaml |
||||
|
- role-binding.yaml |
||||
|
- role.yaml |
||||
|
- service-account.yaml |
||||
|
- service.yaml |
||||
|
images: |
||||
|
- name: gcr.io/ml-pipeline/api-server |
||||
|
newTag: 0.1.31 |
||||
|
newName: gcr.io/ml-pipeline/api-server |
@ -0,0 +1,11 @@ |
|||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: RoleBinding |
||||
|
metadata: |
||||
|
name: ml-pipeline |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: Role |
||||
|
name: ml-pipeline |
||||
|
subjects: |
||||
|
- kind: ServiceAccount |
||||
|
name: ml-pipeline |
@ -0,0 +1,28 @@ |
|||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: Role |
||||
|
metadata: |
||||
|
name: ml-pipeline |
||||
|
rules: |
||||
|
- apiGroups: |
||||
|
- argoproj.io |
||||
|
resources: |
||||
|
- workflows |
||||
|
verbs: |
||||
|
- create |
||||
|
- get |
||||
|
- list |
||||
|
- watch |
||||
|
- update |
||||
|
- patch |
||||
|
- delete |
||||
|
- apiGroups: |
||||
|
- kubeflow.org |
||||
|
resources: |
||||
|
- scheduledworkflows |
||||
|
verbs: |
||||
|
- create |
||||
|
- get |
||||
|
- list |
||||
|
- update |
||||
|
- patch |
||||
|
- delete |
@ -0,0 +1,4 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: ServiceAccount |
||||
|
metadata: |
||||
|
name: ml-pipeline |
@ -0,0 +1,14 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
name: ml-pipeline |
||||
|
spec: |
||||
|
ports: |
||||
|
- name: http |
||||
|
port: 8888 |
||||
|
protocol: TCP |
||||
|
targetPort: 8888 |
||||
|
- name: grpc |
||||
|
port: 8887 |
||||
|
protocol: TCP |
||||
|
targetPort: 8887 |
@ -0,0 +1,14 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
bases: |
||||
|
- base |
||||
|
commonLabels: |
||||
|
app.kubernetes.io/component: api-service |
||||
|
app.kubernetes.io/instance: api-service-0.1.31 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/name: api-service |
||||
|
app.kubernetes.io/part-of: kubeflow |
||||
|
app.kubernetes.io/version: 0.1.31 |
||||
|
kind: Kustomization |
||||
|
namespace: kubeflow |
||||
|
resources: |
||||
|
- overlays/application/application.yaml |
@ -0,0 +1,31 @@ |
|||||
|
apiVersion: app.k8s.io/v1beta1 |
||||
|
kind: Application |
||||
|
metadata: |
||||
|
name: api-service |
||||
|
spec: |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app.kubernetes.io/name: api-service |
||||
|
app.kubernetes.io/instance: api-service-0.1.31 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/component: api-service |
||||
|
app.kubernetes.io/part-of: kubeflow |
||||
|
app.kubernetes.io/version: 0.1.31 |
||||
|
componentKinds: |
||||
|
- group: core |
||||
|
kind: ConfigMap |
||||
|
- group: apps |
||||
|
kind: Deployment |
||||
|
descriptor: |
||||
|
type: api-service |
||||
|
version: v1beta1 |
||||
|
description: "" |
||||
|
maintainers: [] |
||||
|
owners: [] |
||||
|
keywords: |
||||
|
- api-service |
||||
|
- kubeflow |
||||
|
links: |
||||
|
- description: About |
||||
|
url: "" |
||||
|
addOwnerRef: true |
@ -0,0 +1,13 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
bases: |
||||
|
- ../../base |
||||
|
resources: |
||||
|
- application.yaml |
||||
|
commonLabels: |
||||
|
app.kubernetes.io/name: api-service |
||||
|
app.kubernetes.io/instance: api-service-0.1.31 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/component: api-service |
||||
|
app.kubernetes.io/part-of: kubeflow |
||||
|
app.kubernetes.io/version: 0.1.31 |
@ -0,0 +1,239 @@ |
|||||
|
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: [] |
@ -0,0 +1,4 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
resources: |
||||
|
- crd.yaml |
@ -0,0 +1,5 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
bases: |
||||
|
- base |
||||
|
kind: Kustomization |
||||
|
namespace: kubeflow |
@ -0,0 +1,11 @@ |
|||||
|
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 |
@ -0,0 +1,21 @@ |
|||||
|
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: |
||||
|
- '*' |
@ -0,0 +1,29 @@ |
|||||
|
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 |
@ -0,0 +1 @@ |
|||||
|
project= |
@ -0,0 +1,3 @@ |
|||||
|
varReference: |
||||
|
- path: spec/template/spec/containers/image |
||||
|
kind: StatefulSet |
@ -0,0 +1,4 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: ServiceAccount |
||||
|
metadata: |
||||
|
name: service-account |
@ -0,0 +1,7 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
name: service |
||||
|
spec: |
||||
|
ports: |
||||
|
- port: 443 |
@ -0,0 +1,27 @@ |
|||||
|
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: [] |
@ -0,0 +1,14 @@ |
|||||
|
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 |
@ -0,0 +1,34 @@ |
|||||
|
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 |
@ -0,0 +1,13 @@ |
|||||
|
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 |
@ -0,0 +1,10 @@ |
|||||
|
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 |
@ -0,0 +1,25 @@ |
|||||
|
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 |
@ -0,0 +1,29 @@ |
|||||
|
--- |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: argo |
||||
|
name: argo |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: argo |
||||
|
subjects: |
||||
|
- kind: ServiceAccount |
||||
|
name: argo |
||||
|
namespace: kubeflow |
||||
|
--- |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: argo-ui |
||||
|
name: argo-ui |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: argo-ui |
||||
|
subjects: |
||||
|
- kind: ServiceAccount |
||||
|
name: argo-ui |
@ -0,0 +1,79 @@ |
|||||
|
--- |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: argo |
||||
|
name: argo |
||||
|
rules: |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- pods |
||||
|
- pods/exec |
||||
|
verbs: |
||||
|
- create |
||||
|
- get |
||||
|
- list |
||||
|
- watch |
||||
|
- update |
||||
|
- patch |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- configmaps |
||||
|
verbs: |
||||
|
- get |
||||
|
- watch |
||||
|
- list |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- persistentvolumeclaims |
||||
|
verbs: |
||||
|
- create |
||||
|
- delete |
||||
|
- apiGroups: |
||||
|
- argoproj.io |
||||
|
resources: |
||||
|
- workflows |
||||
|
- workflows/finalizers |
||||
|
verbs: |
||||
|
- get |
||||
|
- list |
||||
|
- watch |
||||
|
- update |
||||
|
- patch |
||||
|
--- |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: argo |
||||
|
name: argo-ui |
||||
|
rules: |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- pods |
||||
|
- pods/exec |
||||
|
- pods/log |
||||
|
verbs: |
||||
|
- get |
||||
|
- list |
||||
|
- watch |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- secrets |
||||
|
verbs: |
||||
|
- get |
||||
|
- apiGroups: |
||||
|
- argoproj.io |
||||
|
resources: |
||||
|
- workflows |
||||
|
- workflows/finalizers |
||||
|
verbs: |
||||
|
- get |
||||
|
- list |
||||
|
- watch |
@ -0,0 +1,29 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: ConfigMap |
||||
|
metadata: |
||||
|
name: workflow-controller-configmap |
||||
|
namespace: kubeflow |
||||
|
data: |
||||
|
config: | |
||||
|
{ |
||||
|
executorImage: $(executorImage), |
||||
|
containerRuntimeExecutor: $(containerRuntimeExecutor), |
||||
|
artifactRepository: |
||||
|
{ |
||||
|
s3: { |
||||
|
bucket: $(artifactRepositoryBucket), |
||||
|
keyPrefix: $(artifactRepositoryKeyPrefix), |
||||
|
endpoint: $(artifactRepositoryEndpoint), |
||||
|
insecure: $(artifactRepositoryInsecure), |
||||
|
accessKeySecret: { |
||||
|
name: $(artifactRepositoryAccessKeySecretName), |
||||
|
key: $(artifactRepositoryAccessKeySecretKey) |
||||
|
}, |
||||
|
secretKeySecret: { |
||||
|
name: $(artifactRepositorySecretKeySecretName), |
||||
|
key: $(artifactRepositorySecretKeySecretKey) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
|
@ -0,0 +1,15 @@ |
|||||
|
apiVersion: apiextensions.k8s.io/v1beta1 |
||||
|
kind: CustomResourceDefinition |
||||
|
metadata: |
||||
|
name: workflows.argoproj.io |
||||
|
spec: |
||||
|
group: argoproj.io |
||||
|
names: |
||||
|
kind: Workflow |
||||
|
listKind: WorkflowList |
||||
|
plural: workflows |
||||
|
shortNames: |
||||
|
- wf |
||||
|
singular: workflow |
||||
|
scope: Namespaced |
||||
|
version: v1alpha1 |
@ -0,0 +1,111 @@ |
|||||
|
--- |
||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: argo-ui |
||||
|
name: argo-ui |
||||
|
namespace: kubeflow |
||||
|
spec: |
||||
|
progressDeadlineSeconds: 600 |
||||
|
replicas: 1 |
||||
|
revisionHistoryLimit: 10 |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: argo-ui |
||||
|
strategy: |
||||
|
rollingUpdate: |
||||
|
maxSurge: 25% |
||||
|
maxUnavailable: 25% |
||||
|
type: RollingUpdate |
||||
|
template: |
||||
|
metadata: |
||||
|
creationTimestamp: null |
||||
|
labels: |
||||
|
app: argo-ui |
||||
|
annotations: |
||||
|
sidecar.istio.io/inject: "false" |
||||
|
spec: |
||||
|
containers: |
||||
|
- env: |
||||
|
- name: ARGO_NAMESPACE |
||||
|
valueFrom: |
||||
|
fieldRef: |
||||
|
apiVersion: v1 |
||||
|
fieldPath: metadata.namespace |
||||
|
- name: IN_CLUSTER |
||||
|
value: 'true' |
||||
|
- name: ENABLE_WEB_CONSOLE |
||||
|
value: 'false' |
||||
|
- name: BASE_HREF |
||||
|
value: /argo/ |
||||
|
image: argoproj/argoui:v2.3.0 |
||||
|
imagePullPolicy: IfNotPresent |
||||
|
name: argo-ui |
||||
|
resources: {} |
||||
|
terminationMessagePath: /dev/termination-log |
||||
|
terminationMessagePolicy: File |
||||
|
readinessProbe: |
||||
|
httpGet: |
||||
|
path: / |
||||
|
port: 8001 |
||||
|
dnsPolicy: ClusterFirst |
||||
|
restartPolicy: Always |
||||
|
schedulerName: default-scheduler |
||||
|
securityContext: {} |
||||
|
serviceAccount: argo-ui |
||||
|
serviceAccountName: argo-ui |
||||
|
terminationGracePeriodSeconds: 30 |
||||
|
--- |
||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: workflow-controller |
||||
|
name: workflow-controller |
||||
|
namespace: kubeflow |
||||
|
spec: |
||||
|
progressDeadlineSeconds: 600 |
||||
|
replicas: 1 |
||||
|
revisionHistoryLimit: 10 |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: workflow-controller |
||||
|
strategy: |
||||
|
rollingUpdate: |
||||
|
maxSurge: 25% |
||||
|
maxUnavailable: 25% |
||||
|
type: RollingUpdate |
||||
|
template: |
||||
|
metadata: |
||||
|
creationTimestamp: null |
||||
|
labels: |
||||
|
app: workflow-controller |
||||
|
annotations: |
||||
|
sidecar.istio.io/inject: "false" |
||||
|
spec: |
||||
|
containers: |
||||
|
- args: |
||||
|
- --configmap |
||||
|
- workflow-controller-configmap |
||||
|
command: |
||||
|
- workflow-controller |
||||
|
env: |
||||
|
- name: ARGO_NAMESPACE |
||||
|
valueFrom: |
||||
|
fieldRef: |
||||
|
apiVersion: v1 |
||||
|
fieldPath: metadata.namespace |
||||
|
image: argoproj/workflow-controller:v2.3.0 |
||||
|
imagePullPolicy: IfNotPresent |
||||
|
name: workflow-controller |
||||
|
resources: {} |
||||
|
terminationMessagePath: /dev/termination-log |
||||
|
terminationMessagePolicy: File |
||||
|
dnsPolicy: ClusterFirst |
||||
|
restartPolicy: Always |
||||
|
schedulerName: default-scheduler |
||||
|
securityContext: {} |
||||
|
serviceAccount: argo |
||||
|
serviceAccountName: argo |
||||
|
terminationGracePeriodSeconds: 30 |
@ -0,0 +1,111 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
resources: |
||||
|
- cluster-role-binding.yaml |
||||
|
- cluster-role.yaml |
||||
|
- config-map.yaml |
||||
|
- crd.yaml |
||||
|
- deployment.yaml |
||||
|
- service-account.yaml |
||||
|
- service.yaml |
||||
|
commonLabels: |
||||
|
kustomize.component: argo |
||||
|
images: |
||||
|
- name: argoproj/argoui |
||||
|
newName: argoproj/argoui |
||||
|
newTag: v2.3.0 |
||||
|
- name: argoproj/workflow-controller |
||||
|
newName: argoproj/workflow-controller |
||||
|
newTag: v2.3.0 |
||||
|
configMapGenerator: |
||||
|
- name: workflow-controller-parameters |
||||
|
env: params.env |
||||
|
generatorOptions: |
||||
|
disableNameSuffixHash: true |
||||
|
vars: |
||||
|
- name: executorImage |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.executorImage |
||||
|
- name: containerRuntimeExecutor |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.containerRuntimeExecutor |
||||
|
- name: artifactRepositoryBucket |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.artifactRepositoryBucket |
||||
|
- name: artifactRepositoryKeyPrefix |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.artifactRepositoryKeyPrefix |
||||
|
- name: artifactRepositoryEndpoint |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.artifactRepositoryEndpoint |
||||
|
- name: artifactRepositoryInsecure |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.artifactRepositoryInsecure |
||||
|
- name: artifactRepositoryAccessKeySecretName |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.artifactRepositoryAccessKeySecretName |
||||
|
- name: artifactRepositoryAccessKeySecretKey |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.artifactRepositoryAccessKeySecretKey |
||||
|
- name: artifactRepositorySecretKeySecretName |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.artifactRepositorySecretKeySecretName |
||||
|
- name: artifactRepositorySecretKeySecretKey |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.artifactRepositorySecretKeySecretKey |
||||
|
- name: namespace |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.namespace |
||||
|
- name: clusterDomain |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: workflow-controller-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.clusterDomain |
||||
|
configurations: |
||||
|
- params.yaml |
@ -0,0 +1,12 @@ |
|||||
|
namespace=kubeflow |
||||
|
executorImage=argoproj/argoexec:v2.3.0 |
||||
|
containerRuntimeExecutor=docker |
||||
|
artifactRepositoryBucket=mlpipeline |
||||
|
artifactRepositoryKeyPrefix=artifacts |
||||
|
artifactRepositoryEndpoint=minio-service.kubeflow:9000 |
||||
|
artifactRepositoryInsecure=true |
||||
|
artifactRepositoryAccessKeySecretName=mlpipeline-minio-artifact |
||||
|
artifactRepositoryAccessKeySecretKey=accesskey |
||||
|
artifactRepositorySecretKeySecretName=mlpipeline-minio-artifact |
||||
|
artifactRepositorySecretKeySecretKey=secretkey |
||||
|
clusterDomain=cluster.local |
@ -0,0 +1,7 @@ |
|||||
|
varReference: |
||||
|
- path: data/config |
||||
|
kind: ConfigMap |
||||
|
- path: data/config |
||||
|
kind: Deployment |
||||
|
- path: metadata/annotations/getambassador.io\/config |
||||
|
kind: Service |
@ -0,0 +1,11 @@ |
|||||
|
--- |
||||
|
apiVersion: v1 |
||||
|
kind: ServiceAccount |
||||
|
metadata: |
||||
|
name: argo |
||||
|
--- |
||||
|
apiVersion: v1 |
||||
|
kind: ServiceAccount |
||||
|
metadata: |
||||
|
name: argo-ui |
||||
|
namespace: kubeflow |
@ -0,0 +1,23 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
annotations: |
||||
|
getambassador.io/config: |- |
||||
|
--- |
||||
|
apiVersion: ambassador/v0 |
||||
|
kind: Mapping |
||||
|
name: argo-ui-mapping |
||||
|
prefix: /argo/ |
||||
|
service: argo-ui.$(namespace) |
||||
|
labels: |
||||
|
app: argo-ui |
||||
|
name: argo-ui |
||||
|
namespace: kubeflow |
||||
|
spec: |
||||
|
ports: |
||||
|
- port: 80 |
||||
|
targetPort: 8001 |
||||
|
selector: |
||||
|
app: argo-ui |
||||
|
sessionAffinity: None |
||||
|
type: NodePort |
@ -0,0 +1,17 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
bases: |
||||
|
- base |
||||
|
commonLabels: |
||||
|
app.kubernetes.io/component: argo |
||||
|
app.kubernetes.io/instance: argo-v2.3.0 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/name: argo |
||||
|
app.kubernetes.io/part-of: kubeflow |
||||
|
app.kubernetes.io/version: v2.3.0 |
||||
|
configurations: |
||||
|
- overlays/istio/params.yaml |
||||
|
kind: Kustomization |
||||
|
namespace: kubeflow |
||||
|
resources: |
||||
|
- overlays/istio/virtual-service.yaml |
||||
|
- overlays/application/application.yaml |
@ -0,0 +1,38 @@ |
|||||
|
apiVersion: app.k8s.io/v1beta1 |
||||
|
kind: Application |
||||
|
metadata: |
||||
|
name: argo |
||||
|
spec: |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app.kubernetes.io/name: argo |
||||
|
app.kubernetes.io/instance: argo-v2.3.0 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/component: argo |
||||
|
app.kubernetes.io/part-of: kubeflow |
||||
|
app.kubernetes.io/version: v2.3.0 |
||||
|
componentKinds: |
||||
|
- group: core |
||||
|
kind: ConfigMap |
||||
|
- group: apps |
||||
|
kind: Deployment |
||||
|
- group: core |
||||
|
kind: ServiceAccount |
||||
|
- group: core |
||||
|
kind: Service |
||||
|
- group: networking.istio.io |
||||
|
kind: VirtualService |
||||
|
descriptor: |
||||
|
type: argo |
||||
|
version: v1beta1 |
||||
|
description: Argo Workflows is an open source container-native workflow engine for orchestrating parallel jobs on Kubernetes |
||||
|
maintainers: [] |
||||
|
owners: [] |
||||
|
keywords: |
||||
|
- argo |
||||
|
- kubeflow |
||||
|
links: |
||||
|
- description: About |
||||
|
url: https://github.com/argoproj/argo |
||||
|
addOwnerRef: true |
||||
|
|
@ -0,0 +1,13 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
bases: |
||||
|
- ../../base |
||||
|
resources: |
||||
|
- application.yaml |
||||
|
commonLabels: |
||||
|
app.kubernetes.io/name: argo |
||||
|
app.kubernetes.io/instance: argo-v2.3.0 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/component: argo |
||||
|
app.kubernetes.io/part-of: kubeflow |
||||
|
app.kubernetes.io/version: v2.3.0 |
@ -0,0 +1,8 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
bases: |
||||
|
- ../../base |
||||
|
resources: |
||||
|
- virtual-service.yaml |
||||
|
configurations: |
||||
|
- params.yaml |
@ -0,0 +1,3 @@ |
|||||
|
varReference: |
||||
|
- path: spec/http/route/destination/host |
||||
|
kind: VirtualService |
@ -0,0 +1,20 @@ |
|||||
|
apiVersion: networking.istio.io/v1alpha3 |
||||
|
kind: VirtualService |
||||
|
metadata: |
||||
|
name: argo-ui |
||||
|
spec: |
||||
|
gateways: |
||||
|
- kubeflow-gateway |
||||
|
hosts: |
||||
|
- '*' |
||||
|
http: |
||||
|
- match: |
||||
|
- uri: |
||||
|
prefix: /argo/ |
||||
|
rewrite: |
||||
|
uri: / |
||||
|
route: |
||||
|
- destination: |
||||
|
host: argo-ui.$(namespace).svc.$(clusterDomain) |
||||
|
port: |
||||
|
number: 80 |
@ -0,0 +1,14 @@ |
|||||
|
apiVersion: rbac.authorization.k8s.io/v1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: centraldashboard |
||||
|
name: centraldashboard |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: centraldashboard |
||||
|
subjects: |
||||
|
- kind: ServiceAccount |
||||
|
name: centraldashboard |
||||
|
namespace: $(namespace) |
@ -0,0 +1,17 @@ |
|||||
|
apiVersion: rbac.authorization.k8s.io/v1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: centraldashboard |
||||
|
name: centraldashboard |
||||
|
rules: |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- events |
||||
|
- namespaces |
||||
|
- nodes |
||||
|
verbs: |
||||
|
- get |
||||
|
- list |
||||
|
- watch |
@ -0,0 +1,31 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: centraldashboard |
||||
|
name: centraldashboard |
||||
|
spec: |
||||
|
replicas: 1 |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: centraldashboard |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: centraldashboard |
||||
|
spec: |
||||
|
containers: |
||||
|
- image: gcr.io/kubeflow-images-public/centraldashboard |
||||
|
imagePullPolicy: IfNotPresent |
||||
|
name: centraldashboard |
||||
|
ports: |
||||
|
- containerPort: 8082 |
||||
|
protocol: TCP |
||||
|
env: |
||||
|
- name: USERID_HEADER |
||||
|
value: $(userid-header) |
||||
|
- name: USERID_PREFIX |
||||
|
value: $(userid-prefix) |
||||
|
- name: PROFILES_KFAM_SERVICE_HOST |
||||
|
value: profiles-kfam.kubeflow |
||||
|
serviceAccountName: centraldashboard |
@ -0,0 +1,53 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
resources: |
||||
|
- clusterrole-binding.yaml |
||||
|
- clusterrole.yaml |
||||
|
- deployment.yaml |
||||
|
- role-binding.yaml |
||||
|
- role.yaml |
||||
|
- service-account.yaml |
||||
|
- service.yaml |
||||
|
namespace: kubeflow |
||||
|
commonLabels: |
||||
|
kustomize.component: centraldashboard |
||||
|
images: |
||||
|
- name: gcr.io/kubeflow-images-public/centraldashboard |
||||
|
newName: gcr.io/kubeflow-images-public/centraldashboard |
||||
|
newTag: vmaster-g6b987df8 |
||||
|
configMapGenerator: |
||||
|
- env: params.env |
||||
|
name: parameters |
||||
|
generatorOptions: |
||||
|
disableNameSuffixHash: true |
||||
|
vars: |
||||
|
- fieldref: |
||||
|
fieldPath: metadata.namespace |
||||
|
name: namespace |
||||
|
objref: |
||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
name: centraldashboard |
||||
|
- fieldref: |
||||
|
fieldPath: data.clusterDomain |
||||
|
name: clusterDomain |
||||
|
objref: |
||||
|
apiVersion: v1 |
||||
|
kind: ConfigMap |
||||
|
name: parameters |
||||
|
- 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 |
@ -0,0 +1,3 @@ |
|||||
|
clusterDomain=cluster.local |
||||
|
userid-header=kubeflow-userid |
||||
|
userid-prefix= |
@ -0,0 +1,9 @@ |
|||||
|
varReference: |
||||
|
- path: metadata/annotations/getambassador.io\/config |
||||
|
kind: Service |
||||
|
- path: spec/http/route/destination/host |
||||
|
kind: VirtualService |
||||
|
- path: spec/template/spec/containers/0/env/0/value |
||||
|
kind: Deployment |
||||
|
- path: spec/template/spec/containers/0/env/1/value |
||||
|
kind: Deployment |
@ -0,0 +1,14 @@ |
|||||
|
apiVersion: rbac.authorization.k8s.io/v1 |
||||
|
kind: RoleBinding |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: centraldashboard |
||||
|
name: centraldashboard |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: Role |
||||
|
name: centraldashboard |
||||
|
subjects: |
||||
|
- kind: ServiceAccount |
||||
|
name: centraldashboard |
||||
|
namespace: $(namespace) |
@ -0,0 +1,25 @@ |
|||||
|
apiVersion: rbac.authorization.k8s.io/v1 |
||||
|
kind: Role |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: centraldashboard |
||||
|
name: centraldashboard |
||||
|
rules: |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
- "app.k8s.io" |
||||
|
resources: |
||||
|
- applications |
||||
|
- pods |
||||
|
- pods/exec |
||||
|
- pods/log |
||||
|
verbs: |
||||
|
- get |
||||
|
- list |
||||
|
- watch |
||||
|
- apiGroups: |
||||
|
- "" |
||||
|
resources: |
||||
|
- secrets |
||||
|
verbs: |
||||
|
- get |
@ -0,0 +1,4 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: ServiceAccount |
||||
|
metadata: |
||||
|
name: centraldashboard |
@ -0,0 +1,24 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
annotations: |
||||
|
getambassador.io/config: |- |
||||
|
--- |
||||
|
apiVersion: ambassador/v0 |
||||
|
kind: Mapping |
||||
|
name: centralui-mapping |
||||
|
prefix: / |
||||
|
rewrite: / |
||||
|
service: centraldashboard.$(namespace) |
||||
|
labels: |
||||
|
app: centraldashboard |
||||
|
name: centraldashboard |
||||
|
spec: |
||||
|
ports: |
||||
|
- port: 80 |
||||
|
protocol: TCP |
||||
|
targetPort: 8082 |
||||
|
selector: |
||||
|
app: centraldashboard |
||||
|
sessionAffinity: None |
||||
|
type: ClusterIP |
@ -0,0 +1,17 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
bases: |
||||
|
- base |
||||
|
commonLabels: |
||||
|
app.kubernetes.io/component: centraldashboard |
||||
|
app.kubernetes.io/instance: centraldashboard-v0.7.0 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/name: centraldashboard |
||||
|
app.kubernetes.io/part-of: kubeflow |
||||
|
app.kubernetes.io/version: v0.7.0 |
||||
|
configurations: |
||||
|
- overlays/istio/params.yaml |
||||
|
kind: Kustomization |
||||
|
namespace: kubeflow |
||||
|
resources: |
||||
|
- overlays/istio/virtual-service.yaml |
||||
|
- overlays/application/application.yaml |
@ -0,0 +1,54 @@ |
|||||
|
apiVersion: app.k8s.io/v1beta1 |
||||
|
kind: Application |
||||
|
metadata: |
||||
|
name: centraldashboard |
||||
|
spec: |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app.kubernetes.io/name: centraldashboard |
||||
|
app.kubernetes.io/instance: centraldashboard-v0.7.0 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/component: centraldashboard |
||||
|
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: centraldashboard |
||||
|
version: v1beta1 |
||||
|
description: Provides a Dashboard UI for kubeflow |
||||
|
maintainers: |
||||
|
- name: Jason Prodonovich |
||||
|
email: prodonjs@gmail.com |
||||
|
- name: Apoorv Verma |
||||
|
email: apverma@google.com |
||||
|
- name: Adhita Selvaraj |
||||
|
email: adhita94@gmail.com |
||||
|
owners: |
||||
|
- name: Jason Prodonovich |
||||
|
email: prodonjs@gmail.com |
||||
|
- name: Apoorv Verma |
||||
|
email: apverma@google.com |
||||
|
- name: Adhita Selvaraj |
||||
|
email: adhita94@gmail.com |
||||
|
keywords: |
||||
|
- centraldashboard |
||||
|
- kubeflow |
||||
|
links: |
||||
|
- description: About |
||||
|
url: https://github.com/kubeflow/kubeflow/tree/master/components/centraldashboard |
||||
|
addOwnerRef: true |
||||
|
|
@ -0,0 +1,13 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
bases: |
||||
|
- ../../base |
||||
|
resources: |
||||
|
- application.yaml |
||||
|
commonLabels: |
||||
|
app.kubernetes.io/name: centraldashboard |
||||
|
app.kubernetes.io/instance: centraldashboard-v0.7.0 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/component: centraldashboard |
||||
|
app.kubernetes.io/part-of: kubeflow |
||||
|
app.kubernetes.io/version: v0.7.0 |
@ -0,0 +1,9 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
bases: |
||||
|
- ../../base |
||||
|
resources: |
||||
|
- virtual-service.yaml |
||||
|
configurations: |
||||
|
- params.yaml |
||||
|
|
@ -0,0 +1,3 @@ |
|||||
|
varReference: |
||||
|
- path: spec/http/route/destination/host |
||||
|
kind: VirtualService |
@ -0,0 +1,20 @@ |
|||||
|
apiVersion: networking.istio.io/v1alpha3 |
||||
|
kind: VirtualService |
||||
|
metadata: |
||||
|
name: centraldashboard |
||||
|
spec: |
||||
|
gateways: |
||||
|
- kubeflow-gateway |
||||
|
hosts: |
||||
|
- '*' |
||||
|
http: |
||||
|
- match: |
||||
|
- uri: |
||||
|
prefix: / |
||||
|
rewrite: |
||||
|
uri: / |
||||
|
route: |
||||
|
- destination: |
||||
|
host: centraldashboard.$(namespace).svc.$(clusterDomain) |
||||
|
port: |
||||
|
number: 80 |
File diff suppressed because it is too large
@ -0,0 +1,4 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
resources: |
||||
|
- crd.yaml |
@ -0,0 +1,5 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
bases: |
||||
|
- base |
||||
|
kind: Kustomization |
||||
|
namespace: cert-manager |
@ -0,0 +1,23 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
namespace: kube-system |
||||
|
resources: |
||||
|
- role-binding.yaml |
||||
|
- role.yaml |
||||
|
commonLabels: |
||||
|
kustomize.component: cert-manager |
||||
|
configMapGenerator: |
||||
|
- name: cert-manager-kube-params-parameters |
||||
|
env: params.env |
||||
|
generatorOptions: |
||||
|
disableNameSuffixHash: true |
||||
|
vars: |
||||
|
- name: certManagerNamespace |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: cert-manager-kube-params-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.certManagerNamespace |
||||
|
configurations: |
||||
|
- params.yaml |
@ -0,0 +1 @@ |
|||||
|
certManagerNamespace=cert-manager |
@ -0,0 +1,3 @@ |
|||||
|
varReference: |
||||
|
- path: subjects/namespace |
||||
|
kind: RoleBinding |
@ -0,0 +1,58 @@ |
|||||
|
# grant cert-manager permission to manage the leaderelection configmap in the |
||||
|
# leader election namespace |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: RoleBinding |
||||
|
metadata: |
||||
|
name: cert-manager-cainjector:leaderelection |
||||
|
labels: |
||||
|
app: cainjector |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: Role |
||||
|
name: cert-manager-cainjector:leaderelection |
||||
|
subjects: |
||||
|
- apiGroup: "" |
||||
|
kind: ServiceAccount |
||||
|
name: cert-manager-cainjector |
||||
|
namespace: $(certManagerNamespace) |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
# grant cert-manager permission to manage the leaderelection configmap in the |
||||
|
# leader election namespace |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: RoleBinding |
||||
|
metadata: |
||||
|
name: cert-manager:leaderelection |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: Role |
||||
|
name: cert-manager:leaderelection |
||||
|
subjects: |
||||
|
- apiGroup: "" |
||||
|
kind: ServiceAccount |
||||
|
name: cert-manager |
||||
|
namespace: $(certManagerNamespace) |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
# apiserver gets the ability to read authentication. This allows it to |
||||
|
# read the specific configmap that has the requestheader-* entries to |
||||
|
# api agg |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: RoleBinding |
||||
|
metadata: |
||||
|
name: cert-manager-webhook:webhook-authentication-reader |
||||
|
labels: |
||||
|
app: webhook |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: Role |
||||
|
name: extension-apiserver-authentication-reader |
||||
|
subjects: |
||||
|
- apiGroup: "" |
||||
|
kind: ServiceAccount |
||||
|
name: cert-manager-webhook |
||||
|
namespace: $(certManagerNamespace) |
@ -0,0 +1,28 @@ |
|||||
|
# leader election rules |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: Role |
||||
|
metadata: |
||||
|
name: cert-manager-cainjector:leaderelection |
||||
|
labels: |
||||
|
app: cainjector |
||||
|
rules: |
||||
|
# Used for leader election by the controller |
||||
|
# TODO: refine the permission to *just* the leader election configmap |
||||
|
- apiGroups: [""] |
||||
|
resources: ["configmaps"] |
||||
|
verbs: ["get", "create", "update", "patch"] |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: Role |
||||
|
metadata: |
||||
|
name: cert-manager:leaderelection |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
rules: |
||||
|
# Used for leader election by the controller |
||||
|
# TODO: refine the permission to *just* the leader election configmap |
||||
|
- apiGroups: [""] |
||||
|
resources: ["configmaps"] |
||||
|
verbs: ["get", "create", "update", "patch"] |
@ -0,0 +1,5 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
bases: |
||||
|
- base |
||||
|
kind: Kustomization |
||||
|
namespace: kube-system |
@ -0,0 +1,16 @@ |
|||||
|
apiVersion: apiregistration.k8s.io/v1beta1 |
||||
|
kind: APIService |
||||
|
metadata: |
||||
|
name: v1beta1.webhook.cert-manager.io |
||||
|
labels: |
||||
|
app: webhook |
||||
|
annotations: |
||||
|
cert-manager.io/inject-ca-from-secret: "cert-manager/cert-manager-webhook-tls" |
||||
|
spec: |
||||
|
group: webhook.cert-manager.io |
||||
|
groupPriorityMinimum: 1000 |
||||
|
versionPriority: 15 |
||||
|
service: |
||||
|
name: cert-manager-webhook |
||||
|
namespace: $(namespace) |
||||
|
version: v1beta1 |
@ -0,0 +1,135 @@ |
|||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
name: cert-manager-controller-issuers |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: cert-manager-controller-issuers |
||||
|
subjects: |
||||
|
- name: cert-manager |
||||
|
namespace: $(namespace) |
||||
|
kind: ServiceAccount |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
name: cert-manager-controller-clusterissuers |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: cert-manager-controller-clusterissuers |
||||
|
subjects: |
||||
|
- name: cert-manager |
||||
|
namespace: $(namespace) |
||||
|
kind: ServiceAccount |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
name: cert-manager-controller-certificates |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: cert-manager-controller-certificates |
||||
|
subjects: |
||||
|
- name: cert-manager |
||||
|
namespace: $(namespace) |
||||
|
kind: ServiceAccount |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
name: cert-manager-controller-orders |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: cert-manager-controller-orders |
||||
|
subjects: |
||||
|
- name: cert-manager |
||||
|
namespace: $(namespace) |
||||
|
kind: ServiceAccount |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
name: cert-manager-controller-challenges |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: cert-manager-controller-challenges |
||||
|
subjects: |
||||
|
- name: cert-manager |
||||
|
namespace: $(namespace) |
||||
|
kind: ServiceAccount |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
name: cert-manager-controller-ingress-shim |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: cert-manager-controller-ingress-shim |
||||
|
subjects: |
||||
|
- name: cert-manager |
||||
|
namespace: $(namespace) |
||||
|
kind: ServiceAccount |
||||
|
|
||||
|
--- |
||||
|
# apiserver gets the auth-delegator role to delegate auth decisions to |
||||
|
# the core apiserver |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
name: cert-manager-webhook:auth-delegator |
||||
|
labels: |
||||
|
app: webhook |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: system:auth-delegator |
||||
|
subjects: |
||||
|
- apiGroup: "" |
||||
|
kind: ServiceAccount |
||||
|
name: cert-manager-webhook |
||||
|
namespace: $(namespace) |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
name: cert-manager-cainjector |
||||
|
labels: |
||||
|
app: cainjector |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: cert-manager-cainjector |
||||
|
subjects: |
||||
|
- name: cert-manager-cainjector |
||||
|
namespace: $(namespace) |
||||
|
kind: ServiceAccount |
@ -0,0 +1,265 @@ |
|||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: cert-manager-cainjector |
||||
|
labels: |
||||
|
app: cainjector |
||||
|
rules: |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["certificates"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
- apiGroups: [""] |
||||
|
resources: ["secrets"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
- apiGroups: [""] |
||||
|
resources: ["events"] |
||||
|
verbs: ["get", "create", "update", "patch"] |
||||
|
- apiGroups: ["admissionregistration.k8s.io"] |
||||
|
resources: ["validatingwebhookconfigurations", "mutatingwebhookconfigurations"] |
||||
|
verbs: ["get", "list", "watch", "update"] |
||||
|
- apiGroups: ["apiregistration.k8s.io"] |
||||
|
resources: ["apiservices"] |
||||
|
verbs: ["get", "list", "watch", "update"] |
||||
|
- apiGroups: ["apiextensions.k8s.io"] |
||||
|
resources: ["customresourcedefinitions"] |
||||
|
verbs: ["get", "list", "watch", "update"] |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
# Issuer controller role |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: cert-manager-controller-issuers |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
rules: |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["issuers", "issuers/status"] |
||||
|
verbs: ["update"] |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["issuers"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
- apiGroups: [""] |
||||
|
resources: ["secrets"] |
||||
|
verbs: ["get", "list", "watch", "create", "update", "delete"] |
||||
|
- apiGroups: [""] |
||||
|
resources: ["events"] |
||||
|
verbs: ["create", "patch"] |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
# ClusterIssuer controller role |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: cert-manager-controller-clusterissuers |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
rules: |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["clusterissuers", "clusterissuers/status"] |
||||
|
verbs: ["update"] |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["clusterissuers"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
- apiGroups: [""] |
||||
|
resources: ["secrets"] |
||||
|
verbs: ["get", "list", "watch", "create", "update", "delete"] |
||||
|
- apiGroups: [""] |
||||
|
resources: ["events"] |
||||
|
verbs: ["create", "patch"] |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
# Certificates controller role |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: cert-manager-controller-certificates |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
rules: |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["certificates", "certificates/status", "certificaterequests", "certificaterequests/status"] |
||||
|
verbs: ["update"] |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["certificates", "certificaterequests", "clusterissuers", "issuers"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
# We require these rules to support users with the OwnerReferencesPermissionEnforcement |
||||
|
# admission controller enabled: |
||||
|
# https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["certificates/finalizers"] |
||||
|
verbs: ["update"] |
||||
|
- apiGroups: ["acme.cert-manager.io"] |
||||
|
resources: ["orders"] |
||||
|
verbs: ["create", "delete", "get", "list", "watch"] |
||||
|
- apiGroups: [""] |
||||
|
resources: ["secrets"] |
||||
|
verbs: ["get", "list", "watch", "create", "update", "delete"] |
||||
|
- apiGroups: [""] |
||||
|
resources: ["events"] |
||||
|
verbs: ["create", "patch"] |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
# Orders controller role |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: cert-manager-controller-orders |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
rules: |
||||
|
- apiGroups: ["acme.cert-manager.io"] |
||||
|
resources: ["orders", "orders/status"] |
||||
|
verbs: ["update"] |
||||
|
- apiGroups: ["acme.cert-manager.io"] |
||||
|
resources: ["orders", "challenges"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["clusterissuers", "issuers"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
- apiGroups: ["acme.cert-manager.io"] |
||||
|
resources: ["challenges"] |
||||
|
verbs: ["create", "delete"] |
||||
|
# We require these rules to support users with the OwnerReferencesPermissionEnforcement |
||||
|
# admission controller enabled: |
||||
|
# https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement |
||||
|
- apiGroups: ["acme.cert-manager.io"] |
||||
|
resources: ["orders/finalizers"] |
||||
|
verbs: ["update"] |
||||
|
- apiGroups: [""] |
||||
|
resources: ["secrets"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
- apiGroups: [""] |
||||
|
resources: ["events"] |
||||
|
verbs: ["create", "patch"] |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
# Challenges controller role |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: cert-manager-controller-challenges |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
rules: |
||||
|
# Use to update challenge resource status |
||||
|
- apiGroups: ["acme.cert-manager.io"] |
||||
|
resources: ["challenges", "challenges/status"] |
||||
|
verbs: ["update"] |
||||
|
# Used to watch challenge resources |
||||
|
- apiGroups: ["acme.cert-manager.io"] |
||||
|
resources: ["challenges"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
# Used to watch challenges, issuer and clusterissuer resources |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["issuers", "clusterissuers"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
# Need to be able to retrieve ACME account private key to complete challenges |
||||
|
- apiGroups: [""] |
||||
|
resources: ["secrets"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
# Used to create events |
||||
|
- apiGroups: [""] |
||||
|
resources: ["events"] |
||||
|
verbs: ["create", "patch"] |
||||
|
# HTTP01 rules |
||||
|
- apiGroups: [""] |
||||
|
resources: ["pods", "services"] |
||||
|
verbs: ["get", "list", "watch", "create", "delete"] |
||||
|
- apiGroups: ["extensions", "networking.k8s.io/v1"] |
||||
|
resources: ["ingresses"] |
||||
|
verbs: ["get", "list", "watch", "create", "delete", "update"] |
||||
|
# We require these rules to support users with the OwnerReferencesPermissionEnforcement |
||||
|
# admission controller enabled: |
||||
|
# https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement |
||||
|
- apiGroups: ["acme.cert-manager.io"] |
||||
|
resources: ["challenges/finalizers"] |
||||
|
verbs: ["update"] |
||||
|
# DNS01 rules (duplicated above) |
||||
|
- apiGroups: [""] |
||||
|
resources: ["secrets"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
# ingress-shim controller role |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: cert-manager-controller-ingress-shim |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
rules: |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["certificates", "certificaterequests"] |
||||
|
verbs: ["create", "update", "delete"] |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["certificates", "certificaterequests", "issuers", "clusterissuers"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
- apiGroups: ["networking.k8s.io/v1"] |
||||
|
resources: ["ingresses"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
# We require these rules to support users with the OwnerReferencesPermissionEnforcement |
||||
|
# admission controller enabled: |
||||
|
# https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#ownerreferencespermissionenforcement |
||||
|
- apiGroups: ["networking.k8s.io/v1"] |
||||
|
resources: ["ingresses/finalizers"] |
||||
|
verbs: ["update"] |
||||
|
- apiGroups: [""] |
||||
|
resources: ["events"] |
||||
|
verbs: ["create", "patch"] |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: rbac.authorization.k8s.io/v1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: cert-manager-webhook:webhook-requester |
||||
|
labels: |
||||
|
app: webhook |
||||
|
rules: |
||||
|
- apiGroups: |
||||
|
- admission.cert-manager.io |
||||
|
resources: |
||||
|
- certificates |
||||
|
- certificaterequests |
||||
|
- issuers |
||||
|
- clusterissuers |
||||
|
verbs: |
||||
|
- create |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: rbac.authorization.k8s.io/v1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: cert-manager-view |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
rbac.authorization.k8s.io/aggregate-to-view: "true" |
||||
|
rbac.authorization.k8s.io/aggregate-to-edit: "true" |
||||
|
rbac.authorization.k8s.io/aggregate-to-admin: "true" |
||||
|
rules: |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["certificates", "certificaterequests", "issuers"] |
||||
|
verbs: ["get", "list", "watch"] |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: rbac.authorization.k8s.io/v1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: cert-manager-edit |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
rbac.authorization.k8s.io/aggregate-to-edit: "true" |
||||
|
rbac.authorization.k8s.io/aggregate-to-admin: "true" |
||||
|
rules: |
||||
|
- apiGroups: ["cert-manager.io"] |
||||
|
resources: ["certificates", "certificaterequests", "issuers"] |
||||
|
verbs: ["create", "delete", "deletecollection", "patch", "update"] |
@ -0,0 +1,124 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: cert-manager-cainjector |
||||
|
labels: |
||||
|
app: cainjector |
||||
|
spec: |
||||
|
replicas: 1 |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: cainjector |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: cainjector |
||||
|
annotations: |
||||
|
spec: |
||||
|
serviceAccountName: cert-manager-cainjector |
||||
|
containers: |
||||
|
- name: cainjector |
||||
|
image: "quay.io/jetstack/cert-manager-cainjector:v0.11.0" |
||||
|
imagePullPolicy: IfNotPresent |
||||
|
args: |
||||
|
- --v=2 |
||||
|
- --leader-election-namespace=kube-system |
||||
|
env: |
||||
|
- name: POD_NAMESPACE |
||||
|
valueFrom: |
||||
|
fieldRef: |
||||
|
fieldPath: metadata.namespace |
||||
|
resources: |
||||
|
{} |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: cert-manager |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
spec: |
||||
|
replicas: 1 |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: cert-manager |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
annotations: |
||||
|
prometheus.io/path: "/metrics" |
||||
|
prometheus.io/scrape: 'true' |
||||
|
prometheus.io/port: '9402' |
||||
|
spec: |
||||
|
serviceAccountName: cert-manager |
||||
|
containers: |
||||
|
- name: cert-manager |
||||
|
image: "quay.io/jetstack/cert-manager-controller:v0.11.0" |
||||
|
imagePullPolicy: IfNotPresent |
||||
|
args: |
||||
|
- --v=2 |
||||
|
- --cluster-resource-namespace=$(POD_NAMESPACE) |
||||
|
- --leader-election-namespace=kube-system |
||||
|
- --webhook-namespace=$(POD_NAMESPACE) |
||||
|
- --webhook-ca-secret=cert-manager-webhook-ca |
||||
|
- --webhook-serving-secret=cert-manager-webhook-tls |
||||
|
- --webhook-dns-names=cert-manager-webhook,cert-manager-webhook.$(namespace),cert-manager-webhook.$(namespace).svc |
||||
|
ports: |
||||
|
- containerPort: 9402 |
||||
|
env: |
||||
|
- name: POD_NAMESPACE |
||||
|
valueFrom: |
||||
|
fieldRef: |
||||
|
fieldPath: metadata.namespace |
||||
|
resources: |
||||
|
requests: |
||||
|
cpu: 10m |
||||
|
memory: 32Mi |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
name: cert-manager-webhook |
||||
|
labels: |
||||
|
app: webhook |
||||
|
spec: |
||||
|
replicas: 1 |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: webhook |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: webhook |
||||
|
annotations: |
||||
|
spec: |
||||
|
serviceAccountName: cert-manager-webhook |
||||
|
containers: |
||||
|
- name: cert-manager |
||||
|
image: "quay.io/jetstack/cert-manager-webhook:v0.11.0" |
||||
|
imagePullPolicy: IfNotPresent |
||||
|
args: |
||||
|
- --v=2 |
||||
|
- --secure-port=6443 |
||||
|
- --tls-cert-file=/certs/tls.crt |
||||
|
- --tls-private-key-file=/certs/tls.key |
||||
|
env: |
||||
|
- name: POD_NAMESPACE |
||||
|
valueFrom: |
||||
|
fieldRef: |
||||
|
fieldPath: metadata.namespace |
||||
|
resources: |
||||
|
{} |
||||
|
|
||||
|
volumeMounts: |
||||
|
- name: certs |
||||
|
mountPath: /certs |
||||
|
volumes: |
||||
|
- name: certs |
||||
|
secret: |
||||
|
secretName: cert-manager-webhook-tls |
@ -0,0 +1,40 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
namespace: cert-manager |
||||
|
resources: |
||||
|
- namespace.yaml |
||||
|
- api-service.yaml |
||||
|
- cluster-role-binding.yaml |
||||
|
- cluster-role.yaml |
||||
|
- deployment.yaml |
||||
|
- mutating-webhook-configuration.yaml |
||||
|
- service-account.yaml |
||||
|
- service.yaml |
||||
|
- validating-webhook-configuration.yaml |
||||
|
commonLabels: |
||||
|
kustomize.component: cert-manager |
||||
|
images: |
||||
|
- name: quay.io/jetstack/cert-manager-controller |
||||
|
newName: quay.io/jetstack/cert-manager-controller |
||||
|
newTag: v0.11.0 |
||||
|
- name: quay.io/jetstack/cert-manager-webhook |
||||
|
newName: quay.io/jetstack/cert-manager-webhook |
||||
|
newTag: v0.11.0 |
||||
|
- name: quay.io/jetstack/cert-manager-cainjector |
||||
|
newName: quay.io/jetstack/cert-manager-cainjector |
||||
|
newTag: v0.11.0 |
||||
|
configMapGenerator: |
||||
|
- name: cert-manager-parameters |
||||
|
env: params.env |
||||
|
generatorOptions: |
||||
|
disableNameSuffixHash: true |
||||
|
vars: |
||||
|
- name: namespace |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: cert-manager-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.namespace |
||||
|
configurations: |
||||
|
- params.yaml |
@ -0,0 +1,32 @@ |
|||||
|
apiVersion: admissionregistration.k8s.io/v1beta1 |
||||
|
kind: MutatingWebhookConfiguration |
||||
|
metadata: |
||||
|
name: cert-manager-webhook |
||||
|
labels: |
||||
|
app: webhook |
||||
|
annotations: |
||||
|
cert-manager.io/inject-apiserver-ca: "true" |
||||
|
webhooks: |
||||
|
- name: webhook.cert-manager.io |
||||
|
rules: |
||||
|
- apiGroups: |
||||
|
- "cert-manager.io" |
||||
|
apiVersions: |
||||
|
- v1alpha2 |
||||
|
operations: |
||||
|
- CREATE |
||||
|
- UPDATE |
||||
|
resources: |
||||
|
- certificates |
||||
|
- issuers |
||||
|
- clusterissuers |
||||
|
- orders |
||||
|
- challenges |
||||
|
- certificaterequests |
||||
|
failurePolicy: Fail |
||||
|
clientConfig: |
||||
|
service: |
||||
|
name: kubernetes |
||||
|
namespace: default |
||||
|
path: /apis/webhook.cert-manager.io/v1beta1/mutations |
||||
|
caBundle: "" |
@ -0,0 +1,4 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Namespace |
||||
|
metadata: |
||||
|
name: $(namespace) |
@ -0,0 +1 @@ |
|||||
|
namespace=cert-manager |
@ -0,0 +1,9 @@ |
|||||
|
varReference: |
||||
|
- path: subjects/namespace |
||||
|
kind: ClusterRoleBinding |
||||
|
- path: spec/template/spec/containers/args |
||||
|
kind: Deployment |
||||
|
- path: metadata/name |
||||
|
kind: Namespace |
||||
|
- path: spec/service/namespace |
||||
|
kind: APIService |
@ -0,0 +1,25 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: ServiceAccount |
||||
|
metadata: |
||||
|
name: cert-manager-cainjector |
||||
|
labels: |
||||
|
app: cainjector |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: v1 |
||||
|
kind: ServiceAccount |
||||
|
metadata: |
||||
|
name: cert-manager |
||||
|
annotations: |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
|
||||
|
--- |
||||
|
|
||||
|
apiVersion: v1 |
||||
|
kind: ServiceAccount |
||||
|
metadata: |
||||
|
name: cert-manager-webhook |
||||
|
labels: |
||||
|
app: webhook |
@ -0,0 +1,30 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
name: cert-manager |
||||
|
labels: |
||||
|
app: cert-manager |
||||
|
spec: |
||||
|
type: ClusterIP |
||||
|
ports: |
||||
|
- protocol: TCP |
||||
|
port: 9402 |
||||
|
targetPort: 9402 |
||||
|
selector: |
||||
|
app: cert-manager |
||||
|
|
||||
|
--- |
||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
name: cert-manager-webhook |
||||
|
labels: |
||||
|
app: webhook |
||||
|
spec: |
||||
|
type: ClusterIP |
||||
|
ports: |
||||
|
- name: https |
||||
|
port: 443 |
||||
|
targetPort: 6443 |
||||
|
selector: |
||||
|
app: webhook |
@ -0,0 +1,31 @@ |
|||||
|
apiVersion: admissionregistration.k8s.io/v1beta1 |
||||
|
kind: ValidatingWebhookConfiguration |
||||
|
metadata: |
||||
|
name: cert-manager-webhook |
||||
|
labels: |
||||
|
app: webhook |
||||
|
annotations: |
||||
|
cert-manager.io/inject-apiserver-ca: "true" |
||||
|
webhooks: |
||||
|
- name: webhook.certmanager.k8s.io |
||||
|
rules: |
||||
|
- apiGroups: |
||||
|
- "cert-manager.io" |
||||
|
apiVersions: |
||||
|
- v1alpha2 |
||||
|
operations: |
||||
|
- CREATE |
||||
|
- UPDATE |
||||
|
resources: |
||||
|
- certificates |
||||
|
- issuers |
||||
|
- clusterissuers |
||||
|
- certificaterequests |
||||
|
failurePolicy: Fail |
||||
|
sideEffects: None |
||||
|
clientConfig: |
||||
|
service: |
||||
|
name: kubernetes |
||||
|
namespace: default |
||||
|
path: /apis/webhook.cert-manager.io/v1beta1/validations |
||||
|
caBundle: "" |
@ -0,0 +1,18 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
bases: |
||||
|
- base |
||||
|
commonLabels: |
||||
|
app.kubernetes.io/component: cert-manager |
||||
|
app.kubernetes.io/instance: cert-manager-v0.7.0 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/name: cert-manager |
||||
|
app.kubernetes.io/part-of: kubeflow |
||||
|
app.kubernetes.io/version: v0.7.0 |
||||
|
kustomize.component: cert-manager |
||||
|
configurations: |
||||
|
- overlays/application/params.yaml |
||||
|
kind: Kustomization |
||||
|
namespace: cert-manager |
||||
|
resources: |
||||
|
- overlays/self-signed/cluster-issuer.yaml |
||||
|
- overlays/application/application.yaml |
@ -0,0 +1,35 @@ |
|||||
|
apiVersion: app.k8s.io/v1beta1 |
||||
|
kind: Application |
||||
|
metadata: |
||||
|
name: cert-manager |
||||
|
spec: |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app.kubernetes.io/name: cert-manager |
||||
|
app.kubernetes.io/instance: cert-manager-v0.7.0 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/component: cert-manager |
||||
|
app.kubernetes.io/part-of: kubeflow |
||||
|
app.kubernetes.io/version: v0.7.0 |
||||
|
componentKinds: |
||||
|
- group: rbac |
||||
|
kind: ClusterRole |
||||
|
- group: rbac |
||||
|
kind: ClusterRoleBinding |
||||
|
- group: core |
||||
|
kind: Namespace |
||||
|
- group: core |
||||
|
kind: Service |
||||
|
- group: apps |
||||
|
kind: Deployment |
||||
|
- group: core |
||||
|
kind: ServiceAccount |
||||
|
descriptor: |
||||
|
type: "" |
||||
|
version: "v0.10.0" |
||||
|
description: "Automatically provision and manage TLS certificates in Kubernetes https://jetstack.io." |
||||
|
keywords: |
||||
|
- cert-manager |
||||
|
links: |
||||
|
- description: About |
||||
|
url: "https://github.com/jetstack/cert-manager" |
@ -0,0 +1,15 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
bases: |
||||
|
- ../../base |
||||
|
resources: |
||||
|
- application.yaml |
||||
|
configurations: |
||||
|
- params.yaml |
||||
|
commonLabels: |
||||
|
app.kubernetes.io/name: cert-manager |
||||
|
app.kubernetes.io/instance: cert-manager-v0.7.0 |
||||
|
app.kubernetes.io/managed-by: kfctl |
||||
|
app.kubernetes.io/component: cert-manager |
||||
|
app.kubernetes.io/part-of: kubeflow |
||||
|
app.kubernetes.io/version: v0.7.0 |
@ -0,0 +1,11 @@ |
|||||
|
varReference: |
||||
|
- path: metadata/name |
||||
|
kind: Application |
||||
|
- path: spec/selector/matchLabels/app.kubernetes.io\/instance |
||||
|
kind: Application |
||||
|
- path: spec/template/metadata/labels/app.kubernetes.io\/instance |
||||
|
kind: Deployment |
||||
|
- path: spec/selector/matchLabels/app.kubernetes.io\/instance |
||||
|
kind: Deployment |
||||
|
- path: spec/selector/app.kubernetes.io\/instance |
||||
|
kind: Service |
@ -0,0 +1,11 @@ |
|||||
|
apiVersion: cert-manager.io/v1alpha2 |
||||
|
kind: ClusterIssuer |
||||
|
metadata: |
||||
|
name: letsencrypt-prod |
||||
|
spec: |
||||
|
acme: |
||||
|
email: $(acmeEmail) |
||||
|
http01: {} |
||||
|
privateKeySecretRef: |
||||
|
name: letsencrypt-prod-secret |
||||
|
server: $(acmeUrl) |
@ -0,0 +1,32 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
bases: |
||||
|
- ../../base |
||||
|
namespace: cert-manager |
||||
|
resources: |
||||
|
- cluster-issuer.yaml |
||||
|
commonLabels: |
||||
|
kustomize.component: cert-manager |
||||
|
configMapGenerator: |
||||
|
- name: cert-manager-parameters |
||||
|
behavior: merge |
||||
|
env: params.env |
||||
|
generatorOptions: |
||||
|
disableNameSuffixHash: true |
||||
|
vars: |
||||
|
- name: acmeEmail |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: cert-manager-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.acmeEmail |
||||
|
- name: acmeUrl |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: cert-manager-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.acmeUrl |
||||
|
configurations: |
||||
|
- params.yaml |
@ -0,0 +1,2 @@ |
|||||
|
acmeEmail= |
||||
|
acmeUrl=https://acme-v02.api.letsencrypt.org/directory |
@ -0,0 +1,5 @@ |
|||||
|
varReference: |
||||
|
- path: spec/acme/email |
||||
|
kind: ClusterIssuer |
||||
|
- path: spec/acme/server |
||||
|
kind: ClusterIssuer |
@ -0,0 +1,6 @@ |
|||||
|
apiVersion: cert-manager.io/v1alpha2 |
||||
|
kind: ClusterIssuer |
||||
|
metadata: |
||||
|
name: kubeflow-self-signing-issuer |
||||
|
spec: |
||||
|
selfSigned: {} |
@ -0,0 +1,8 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
bases: |
||||
|
- ../../base |
||||
|
resources: |
||||
|
- cluster-issuer.yaml |
||||
|
commonLabels: |
||||
|
kustomize.component: cert-manager |
@ -0,0 +1,30 @@ |
|||||
|
--- |
||||
|
apiVersion: v1 |
||||
|
kind: ConfigMap |
||||
|
metadata: |
||||
|
name: dex |
||||
|
data: |
||||
|
config.yaml: | |
||||
|
issuer: $(issuer) |
||||
|
storage: |
||||
|
type: kubernetes |
||||
|
config: |
||||
|
inCluster: true |
||||
|
web: |
||||
|
http: 0.0.0.0:5556 |
||||
|
logger: |
||||
|
level: "debug" |
||||
|
format: text |
||||
|
oauth2: |
||||
|
skipApprovalScreen: true |
||||
|
enablePasswordDB: true |
||||
|
staticPasswords: |
||||
|
- email: $(static_email) |
||||
|
hash: $(static_password_hash) |
||||
|
username: $(static_username) |
||||
|
userID: $(static_user_id) |
||||
|
staticClients: |
||||
|
- id: $(client_id) |
||||
|
redirectURIs: $(oidc_redirect_uris) |
||||
|
name: 'Dex Login Application' |
||||
|
secret: $(application_secret) |
@ -0,0 +1,45 @@ |
|||||
|
--- |
||||
|
apiVersion: apiextensions.k8s.io/v1beta1 |
||||
|
kind: CustomResourceDefinition |
||||
|
metadata: |
||||
|
name: authcodes.dex.coreos.com |
||||
|
spec: |
||||
|
group: dex.coreos.com |
||||
|
names: |
||||
|
kind: AuthCode |
||||
|
listKind: AuthCodeList |
||||
|
plural: authcodes |
||||
|
singular: authcode |
||||
|
scope: Namespaced |
||||
|
version: v1 |
||||
|
--- |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRole |
||||
|
metadata: |
||||
|
name: dex |
||||
|
rules: |
||||
|
- apiGroups: ["dex.coreos.com"] # API group created by dex |
||||
|
resources: ["*"] |
||||
|
verbs: ["*"] |
||||
|
- apiGroups: ["apiextensions.k8s.io"] |
||||
|
resources: ["customresourcedefinitions"] |
||||
|
verbs: ["create"] # To manage its own resources identity must be able to create customresourcedefinitions. |
||||
|
--- |
||||
|
apiVersion: rbac.authorization.k8s.io/v1beta1 |
||||
|
kind: ClusterRoleBinding |
||||
|
metadata: |
||||
|
name: dex |
||||
|
roleRef: |
||||
|
apiGroup: rbac.authorization.k8s.io |
||||
|
kind: ClusterRole |
||||
|
name: dex |
||||
|
subjects: |
||||
|
- kind: ServiceAccount |
||||
|
name: dex # Service account assigned to the dex pod. |
||||
|
namespace: auth # The namespace dex is running in. |
||||
|
--- |
||||
|
apiVersion: v1 |
||||
|
kind: ServiceAccount |
||||
|
metadata: |
||||
|
name: dex |
||||
|
namespace: auth |
@ -0,0 +1,34 @@ |
|||||
|
apiVersion: apps/v1 |
||||
|
kind: Deployment |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: dex |
||||
|
name: dex |
||||
|
spec: |
||||
|
replicas: 1 |
||||
|
selector: |
||||
|
matchLabels: |
||||
|
app: dex |
||||
|
template: |
||||
|
metadata: |
||||
|
labels: |
||||
|
app: dex |
||||
|
spec: |
||||
|
serviceAccountName: dex |
||||
|
containers: |
||||
|
- image: quay.io/coreos/dex:v2.9.0 |
||||
|
name: dex |
||||
|
command: ["dex", "serve", "/etc/dex/cfg/config.yaml"] |
||||
|
ports: |
||||
|
- name: http |
||||
|
containerPort: 5556 |
||||
|
volumeMounts: |
||||
|
- name: config |
||||
|
mountPath: /etc/dex/cfg |
||||
|
volumes: |
||||
|
- name: config |
||||
|
configMap: |
||||
|
name: dex |
||||
|
items: |
||||
|
- key: config.yaml |
||||
|
path: config.yaml |
@ -0,0 +1,84 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
namespace: auth |
||||
|
resources: |
||||
|
- namespace.yaml |
||||
|
- config-map.yaml |
||||
|
- crds.yaml |
||||
|
- deployment.yaml |
||||
|
- service.yaml |
||||
|
configMapGenerator: |
||||
|
- name: dex-parameters |
||||
|
env: params.env |
||||
|
generatorOptions: |
||||
|
disableNameSuffixHash: true |
||||
|
vars: |
||||
|
- name: dex_domain |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: dex-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.dex_domain |
||||
|
- name: issuer |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: dex-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.issuer |
||||
|
- name: static_email |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: dex-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.static_email |
||||
|
- name: static_password_hash |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: dex-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.static_password_hash |
||||
|
- name: static_username |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: dex-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.static_username |
||||
|
- name: static_user_id |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: dex-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.static_user_id |
||||
|
- name: client_id |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: dex-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.client_id |
||||
|
- name: oidc_redirect_uris |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: dex-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.oidc_redirect_uris |
||||
|
- name: application_secret |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: dex-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.application_secret |
||||
|
configurations: |
||||
|
- params.yaml |
||||
|
images: |
||||
|
- name: quay.io/coreos/dex |
||||
|
newName: gcr.io/arrikto/dexidp/dex |
||||
|
newTag: 4bede5eb80822fc3a7fc9edca0ed2605cd339d17 |
@ -0,0 +1,4 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Namespace |
||||
|
metadata: |
||||
|
name: auth |
@ -0,0 +1,11 @@ |
|||||
|
# Dex Server Parameters (some params are shared with client) |
||||
|
dex_domain=dex.example.com |
||||
|
# Set issuer to https if tls is enabled |
||||
|
issuer=http://dex.auth.svc.cluster.local:5556/dex |
||||
|
static_email=leonard.aukea@volvocars.com |
||||
|
static_password_hash=$2y$12$ruoM7FqXrpVgaol44eRZW.4HWS8SAvg6KYVVSCIwKQPBmTpCm.EeO |
||||
|
static_username=admin |
||||
|
static_user_id=08a8684b-db88-4b73-90a9-3cd1661f5466 |
||||
|
client_id=kubeflow-oidc-authservice |
||||
|
oidc_redirect_uris=["/login/oidc"] |
||||
|
application_secret=pUBnBOY80SnXgjibTYM9ZWNzY2xreNGQok |
@ -0,0 +1,5 @@ |
|||||
|
varReference: |
||||
|
- path: spec/template/spec/volumes/secret/secretName |
||||
|
kind: Deployment |
||||
|
- path: data/config.yaml |
||||
|
kind: ConfigMap |
@ -0,0 +1,14 @@ |
|||||
|
apiVersion: v1 |
||||
|
kind: Service |
||||
|
metadata: |
||||
|
name: dex |
||||
|
spec: |
||||
|
type: NodePort |
||||
|
ports: |
||||
|
- name: dex |
||||
|
port: 5556 |
||||
|
protocol: TCP |
||||
|
targetPort: 5556 |
||||
|
nodePort: 32000 |
||||
|
selector: |
||||
|
app: dex |
@ -0,0 +1,23 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
bases: |
||||
|
- base |
||||
|
configMapGenerator: |
||||
|
- behavior: merge |
||||
|
env: overlays/istio/params.env |
||||
|
name: dex-parameters |
||||
|
configurations: |
||||
|
- overlays/istio/params.yaml |
||||
|
generatorOptions: |
||||
|
disableNameSuffixHash: true |
||||
|
kind: Kustomization |
||||
|
namespace: auth |
||||
|
resources: |
||||
|
- overlays/istio/virtual-service.yaml |
||||
|
vars: |
||||
|
- fieldref: |
||||
|
fieldPath: data.namespace |
||||
|
name: namespace |
||||
|
objref: |
||||
|
apiVersion: v1 |
||||
|
kind: ConfigMap |
||||
|
name: dex-parameters |
@ -0,0 +1,23 @@ |
|||||
|
apiVersion: kustomize.config.k8s.io/v1beta1 |
||||
|
kind: Kustomization |
||||
|
bases: |
||||
|
- ../../base |
||||
|
resources: |
||||
|
- virtual-service.yaml |
||||
|
|
||||
|
configMapGenerator: |
||||
|
- name: dex-parameters |
||||
|
behavior: merge |
||||
|
env: params.env |
||||
|
generatorOptions: |
||||
|
disableNameSuffixHash: true |
||||
|
vars: |
||||
|
- name: namespace |
||||
|
objref: |
||||
|
kind: ConfigMap |
||||
|
name: dex-parameters |
||||
|
apiVersion: v1 |
||||
|
fieldref: |
||||
|
fieldpath: data.namespace |
||||
|
configurations: |
||||
|
- params.yaml |
@ -0,0 +1 @@ |
|||||
|
namespace=auth |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue