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