Initial "stack" for deploying Kubeflow on GCP (#962)
* As discussed in http://bit.ly/kf_kustomize_v3 we want to use better patterns in our kustomize manifests. * This PR uses kustomize to compose Kubeflow applications into a "stack" of the applications to be installed on GCP. * Note: This is only an initial set of applications not all applications are installed. * Define a "stack" a stack is an oppionated way of combining applications * a stack is oppinionated about which applications to include and how to configure them * So we define a GCP stack that would contain the apps to be included in GCP deployments. * Stacks can be used to replace much of the functionality currently achieved by the list of applications in KFDef * Instead of listing applications in KFDef we could just point to a kustomization file containing the list of applications. * Define an example illustrating how alice would define an overlay to add her kustomizations. * Show how she can define a patch to modify the additional configuration parameters for her deployment. Start defining a KFDef that uses the new v3 manifests and the stacks * We still need to have multiple applications (and not a single kustomize) application because the namespace for some applications are different * e.g. ISTIO is installed in istio-system not kubeflow namespace so we keep it as a separate kustomize package * Create v3 version of a couple applications * meta controller * notebook controller * certmanager Fix some bugs in some v3 packages * jupyter_web_app - base/deployment.yaml had some changes that needed to be removed because these are now in a patch because we don't want the changes to be included in the v3 version Fix centraldashboard v3 * Move the resources back to base and make base_v3 depend on base rather than the other way around. * It also looks like we ended up duplicating resources between base_v3 and base; probably because of bad merges and rebase * In rolebindings don't use vars to substitute in the namespace just hardcode the values as needed. * Upgrade kustomize to v3.2.0 otherwise the tests don't pass * In particular using v3.1.0 the jupyter-web-app doesn't have the unique name of the kubeflow-config configmap (i.e. with the content hash) substituted into the environment variable configmap ref names.
This commit is contained in:
parent
deaf1a5be2
commit
68c90fd621
|
|
@ -24,23 +24,29 @@ configMapGenerator:
|
|||
generatorOptions:
|
||||
disableNameSuffixHash: true
|
||||
vars:
|
||||
# These vars are used to substitute in the namespace, service name and
|
||||
# deployment name into the mutating WebHookConfiguration.
|
||||
# Since its a CR kustomize isn't aware of those fields and won't
|
||||
# transform them.
|
||||
# We need the var names to be relatively unique so that when we
|
||||
# compose with other applications they won't conflict.
|
||||
- fieldref:
|
||||
fieldPath: data.namespace
|
||||
name: namespace
|
||||
name: podDefaultsNamespace
|
||||
objref:
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
name: admission-webhook-parameters
|
||||
- fieldref:
|
||||
fieldPath: metadata.name
|
||||
name: serviceName
|
||||
name: podDefaultsServiceName
|
||||
objref:
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
name: service
|
||||
- fieldref:
|
||||
fieldPath: metadata.name
|
||||
name: deploymentName
|
||||
name: podDefaultsDeploymentName
|
||||
objref:
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
|
|
|
|||
|
|
@ -6,10 +6,10 @@ webhooks:
|
|||
- clientConfig:
|
||||
caBundle: ""
|
||||
service:
|
||||
name: $(serviceName)
|
||||
namespace: $(namespace)
|
||||
name: $(podDefaultsServiceName)
|
||||
namespace: $(podDefaultsNamespace)
|
||||
path: /apply-poddefault
|
||||
name: $(deploymentName).kubeflow.org
|
||||
name: $(podDefaultsDeploymentName).kubeflow.org
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@ metadata:
|
|||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
# TODO(jlewi): We should probably rename the app to PodDefaults
|
||||
# as that is what the admission controller is actually doing.
|
||||
# webhook is generic and uninformative.
|
||||
app.kubernetes.io/name: webhook
|
||||
app.kubernetes.io/instance: webhook-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@ metadata:
|
|||
name: admission-webhook-cert
|
||||
spec:
|
||||
isCA: true
|
||||
commonName: $(serviceName).$(namespace).svc
|
||||
commonName: $(podDefaultsServiceName).$(podDefaultsNamespace).svc
|
||||
dnsNames:
|
||||
- $(serviceName).$(namespace).svc
|
||||
- $(serviceName).$(namespace).svc.cluster.local
|
||||
- $(podDefaultsServiceName).$(podDefaultsNamespace).svc
|
||||
- $(podDefaultsServiceName).$(podDefaultsNamespace).svc.cluster.local
|
||||
issuerRef:
|
||||
kind: ClusterIssuer
|
||||
name: $(issuer)
|
||||
name: $(podDefaultsIssuer)
|
||||
secretName: webhook-certs
|
||||
|
|
@ -1,3 +1,9 @@
|
|||
# This overlay uses CertManager to provision a certificate for the
|
||||
# PodDefaults admission controller. This is preferred over the old
|
||||
# way of using "bootstrap" which was running a shell script to create
|
||||
# the certificate.
|
||||
# TODO(jlewi): We should eventually refactor the manifests to delete
|
||||
# bootstrap and use certmanager by default.
|
||||
bases:
|
||||
- ../../base
|
||||
|
||||
|
|
@ -16,14 +22,20 @@ generatorOptions:
|
|||
disableNameSuffixHash: true
|
||||
|
||||
vars:
|
||||
- name: issuer
|
||||
# These vars are used to substitute in the namespace, service name and
|
||||
# deployment name into the mutating WebHookConfiguration.
|
||||
# Since its a CR kustomize isn't aware of those fields and won't
|
||||
# transform them.
|
||||
# We need the var names to be relatively unique so that when we
|
||||
# compose with other applications they won't conflict.
|
||||
- name: podDefaultsIssuer
|
||||
objref:
|
||||
kind: ConfigMap
|
||||
name: admission-webhook-parameters
|
||||
apiVersion: v1
|
||||
fieldref:
|
||||
fieldpath: data.issuer
|
||||
- name: cert_name
|
||||
- name: podDefaultsCertName
|
||||
objref:
|
||||
kind: Certificate
|
||||
group: cert-manager.io
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@ kind: MutatingWebhookConfiguration
|
|||
metadata:
|
||||
name: mutating-webhook-configuration
|
||||
annotations:
|
||||
cert-manager.io/inject-ca-from: $(namespace)/$(cert_name)
|
||||
cert-manager.io/inject-ca-from: $(podDefaultsNamespace)/$(podDefaultsCertName)
|
||||
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
# TODO(https://github.com/kubeflow/manifests/issues/1052): Refactor
|
||||
# and cleanup the kustomization once the v3 migration is done.
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
# With v3 we want to always use cert-manager to get the
|
||||
# self-signed certificate
|
||||
- ../overlays/cert-manager/
|
||||
- ../overlays/application/application.yaml
|
||||
commonLabels:
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
# TODO(https://github.com/kubeflow/manifests/issues/1052) clean up the manifests
|
||||
# after the refactor is done.
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
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
|
||||
resources:
|
||||
- ../overlays/self-signed
|
||||
- ../overlays/application/application.yaml
|
||||
|
|
@ -11,4 +11,4 @@ roleRef:
|
|||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: centraldashboard
|
||||
namespace: $(namespace)
|
||||
namespace: kubeflow
|
||||
|
|
|
|||
|
|
@ -29,11 +29,4 @@ spec:
|
|||
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
|
||||
|
|
|
|||
|
|
@ -1,7 +1,14 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: kubeflow
|
||||
resources:
|
||||
- ../base_v3
|
||||
- clusterrole-binding.yaml
|
||||
- clusterrole.yaml
|
||||
- deployment.yaml
|
||||
- role-binding.yaml
|
||||
- role.yaml
|
||||
- service-account.yaml
|
||||
- service.yaml
|
||||
patchesStrategicMerge:
|
||||
- deployment_patch.yaml
|
||||
namespace: kubeflow
|
||||
|
|
|
|||
|
|
@ -11,4 +11,4 @@ roleRef:
|
|||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: centraldashboard
|
||||
namespace: $(namespace)
|
||||
namespace: kubeflow
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: centraldashboard
|
||||
name: centraldashboard
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
- namespaces
|
||||
- nodes
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: centraldashboard
|
||||
name: centraldashboard
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: centraldashboard
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: centraldashboard
|
||||
annotations:
|
||||
sidecar.istio.io/inject: "false"
|
||||
spec:
|
||||
containers:
|
||||
- image: gcr.io/kubeflow-images-public/centraldashboard
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: 8082
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 30
|
||||
name: centraldashboard
|
||||
ports:
|
||||
- containerPort: 8082
|
||||
protocol: TCP
|
||||
serviceAccountName: centraldashboard
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
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
|
||||
- ../base/clusterrole-binding.yaml
|
||||
- ../base/clusterrole.yaml
|
||||
- ../base/deployment.yaml
|
||||
- ../base/role-binding.yaml
|
||||
- ../base/role.yaml
|
||||
- ../base/service-account.yaml
|
||||
- ../base/service.yaml
|
||||
|
|
|
|||
|
|
@ -1,14 +0,0 @@
|
|||
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)
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: centraldashboard
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
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
|
||||
|
|
@ -17,9 +17,4 @@ spec:
|
|||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: kubeflow-config
|
||||
key: userid-prefix
|
||||
- name: PROFILES_KFAM_SERVICE_HOST
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: kubeflow-config
|
||||
key: profiles_kfam_service_host
|
||||
key: userid-prefix
|
||||
2
go.mod
2
go.mod
|
|
@ -2,4 +2,4 @@ module github.com/kubeflow/manifests
|
|||
|
||||
go 1.12
|
||||
|
||||
require sigs.k8s.io/kustomize/v3 v3.2.0
|
||||
require sigs.k8s.io/kustomize/v3 v3.2.1
|
||||
|
|
|
|||
|
|
@ -8,7 +8,18 @@ import os
|
|||
import shutil
|
||||
import subprocess
|
||||
|
||||
SEARCH_DIRS = ["tests/legacy_kustomizations/"]
|
||||
# Search dirs should be directories to search for kustomization packages
|
||||
# that we want to test. These should be kustomization's that are doing
|
||||
# non-trivial transformations (e.g. combining multiple packages, applying
|
||||
# patches) etc... The point of the unittests is to make it easy for reviewers
|
||||
# to verify that the expected output is correct and verify the actual output
|
||||
# matches the expected output.
|
||||
SEARCH_DIRS = [
|
||||
"stacks",
|
||||
# TODO(https://github.com/kubeflow/manifests/issues/1052): Remove this
|
||||
# after the move to v3 is done.
|
||||
"tests/legacy_kustomizations",
|
||||
]
|
||||
|
||||
# The subdirectory to story the expected manifests in
|
||||
# We use a subdirectory of test_data because we could potentially
|
||||
|
|
|
|||
|
|
@ -10,23 +10,7 @@ spec:
|
|||
sidecar.istio.io/inject: "false"
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: ROK_SECRET_NAME
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: parameters
|
||||
key: ROK_SECRET_NAME
|
||||
- name: UI
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: parameters
|
||||
key: UI
|
||||
- name: USERID_HEADER
|
||||
value: $(userid-header)
|
||||
- name: USERID_PREFIX
|
||||
value: $(userid-prefix)
|
||||
image: gcr.io/kubeflow-images-public/jupyter-web-app
|
||||
imagePullPolicy: $(policy)
|
||||
- image: gcr.io/kubeflow-images-public/jupyter-web-app
|
||||
name: jupyter-web-app
|
||||
ports:
|
||||
- containerPort: 5000
|
||||
|
|
|
|||
|
|
@ -26,12 +26,12 @@ images:
|
|||
configMapGenerator:
|
||||
- envs:
|
||||
- params.env
|
||||
name: parameters
|
||||
name: parameters
|
||||
# We need the name to be unique without the suffix because the original name is what
|
||||
# gets used with patches
|
||||
- name: jupyter-web-app-config
|
||||
files:
|
||||
- ./configs/spawner_ui_config.yaml
|
||||
- configs/spawner_ui_config.yaml
|
||||
generatorOptions:
|
||||
# TODO(jlewi): Why are we setting disableNameSuffixHash true? Don't we want a content hash so that if the config map
|
||||
# changes we would update the configmap?
|
||||
|
|
|
|||
|
|
@ -13,11 +13,6 @@ spec:
|
|||
image: gcr.io/kubeflow-images-public/notebook-controller:v20190614-v0-160-g386f2749-e3b0c4
|
||||
command:
|
||||
- /manager
|
||||
env:
|
||||
- name: USE_ISTIO
|
||||
value: "false"
|
||||
- name: POD_LABELS
|
||||
value: $(POD_LABELS)
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,15 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: deployment
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: manager
|
||||
env:
|
||||
# We use a patch to set the USE_ISTIO because in other patches
|
||||
# we want to set it to a configMapRef and so if we include the value
|
||||
# in the base when we do the merge we end up with 2 fields setting the value.
|
||||
- name: USE_ISTIO
|
||||
value: "false"
|
||||
|
|
@ -1,3 +1,5 @@
|
|||
# TODO(https://github.com/kubeflow/manifests/issues/1052): Cleanup this up
|
||||
# once kustomize_v3 migration is done.
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
|
|
@ -9,6 +11,8 @@ resources:
|
|||
- service.yaml
|
||||
namePrefix: notebook-controller-
|
||||
namespace: kubeflow
|
||||
patchesStrategicMerge:
|
||||
- deployment_patch.yaml
|
||||
commonLabels:
|
||||
app: notebook-controller
|
||||
kustomize.component: notebook-controller
|
||||
|
|
@ -23,13 +27,6 @@ configMapGenerator:
|
|||
generatorOptions:
|
||||
disableNameSuffixHash: true
|
||||
vars:
|
||||
- fieldref:
|
||||
fieldPath: data.POD_LABELS
|
||||
name: POD_LABELS
|
||||
objref:
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
name: parameters
|
||||
- fieldref:
|
||||
fieldPath: data.USE_ISTIO
|
||||
name: USE_ISTIO
|
||||
|
|
|
|||
|
|
@ -0,0 +1,21 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: deployment
|
||||
spec:
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: manager
|
||||
env:
|
||||
- name: USE_ISTIO
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: notebook-controller-config
|
||||
key: USE_ISTIO
|
||||
- name: ISTIO_GATEWAY
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: notebook-controller-config
|
||||
key: ISTIO_GATEWAY
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../base/cluster-role-binding.yaml
|
||||
- ../base/cluster-role.yaml
|
||||
- ../base/crd.yaml
|
||||
- ../base/deployment.yaml
|
||||
- ../base/service-account.yaml
|
||||
- ../base/service.yaml
|
||||
- ../overlays/application/application.yaml
|
||||
namePrefix: notebook-controller-
|
||||
namespace: kubeflow
|
||||
commonLabels:
|
||||
app: notebook-controller
|
||||
kustomize.component: notebook-controller
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
patchesStrategicMerge:
|
||||
- deployment_patch.yaml
|
||||
images:
|
||||
- name: gcr.io/kubeflow-images-public/notebook-controller
|
||||
newName: gcr.io/kubeflow-images-public/notebook-controller
|
||||
newTag: vmaster-gf39279c0
|
||||
configMapGenerator:
|
||||
- name: notebook-controller-config
|
||||
literals:
|
||||
- USE_ISTIO=true
|
||||
- ISTIO_GATEWAY=kubeflow/kubeflow-gateway
|
||||
|
|
@ -1,5 +1,6 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: kubeflow
|
||||
resources:
|
||||
- cluster-role-binding.yaml
|
||||
- crd.yaml
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
This directory contains examples illustrating how users would leverage kustomize
|
||||
to do various kubeflow kustomizations.
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
# This is a custom spawnerUiConfig.
|
||||
#
|
||||
# It looks like the entire file is replaced; so the user would need to supply a complete
|
||||
# spawner config.
|
||||
spawnerFormDefaults:
|
||||
image:
|
||||
# The container Image for the user's Jupyter Notebook
|
||||
# If readonly, this value must be a member of the list below
|
||||
value: alicerepo/tensorflow-1.14.0-notebook-cpu:v-base-ef41372-1177829795472347138
|
||||
# The list of available standard container Images
|
||||
options:
|
||||
- alicerepo/tensorflow-1.15.2-notebook-cpu:1.0.0
|
||||
- alicerepo/tensorflow-1.15.2-notebook-gpu:1.0.0
|
||||
- alicerepo//tensorflow-2.1.0-notebook-cpu:1.0.0
|
||||
- alicerepo//tensorflow-2.1.0-notebook-gpu:1.0.0
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
# This file demonstrates how a user would kustomize
|
||||
# "global" config like userid-header, userid-prefix etc..
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
# kubelfow-config is the name of the global (as opposed to applicaiton specific
|
||||
# config map.
|
||||
name: kubeflow-config
|
||||
data:
|
||||
# For GCP we can use these to define GCP
|
||||
# parameters that should be common across applications
|
||||
project: alice-gcp
|
||||
zone: us-east1-d
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
# This is an example of a kustomize package a user
|
||||
# might create to kustomize it on GCP
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: kubeflow
|
||||
generatorOptions:
|
||||
disableNameSuffixHash: true
|
||||
resources:
|
||||
# Users start by inheriting the gcp stack and then customizing it
|
||||
- ../../gcp
|
||||
patchesStrategicMerge:
|
||||
# Patch in modifications to the global config
|
||||
- kubeflow-config.yaml
|
||||
configMapGenerator:
|
||||
- name: jupyter-web-app-config
|
||||
# TODO(jlewi): I think merge only applies to the keys but not the
|
||||
# contents of the file; so the entire contents of the file are replaced.
|
||||
behavior: merge
|
||||
files:
|
||||
- configs/spawner_ui_config.yaml
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
# An experimental example file for using KFDef with the new specs
|
||||
apiVersion: kfdef.apps.kubeflow.org/v1
|
||||
kind: KfDef
|
||||
metadata:
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
applications:
|
||||
# One of the primary reasons for splitting out packages into separate kustomize
|
||||
# directories is when the resources needed to be installed in a different namespace.
|
||||
# TODO(jlewi): This should be replaced by ACM when its ready.
|
||||
# Its a separate package because it needs to be in a different namespace
|
||||
- kustomizeConfig:
|
||||
repoRef:
|
||||
name: manifests
|
||||
path: istio/gcp-1-1-6
|
||||
name: istio-stack
|
||||
# Create Kubeflow specific ISTIO resources.
|
||||
- kustomizeConfig:
|
||||
repoRef:
|
||||
name: manifests
|
||||
path: istio/istio/base
|
||||
name: kubeflow-istio
|
||||
# Install controllers that other applications depend on
|
||||
# e.g. metacontroller and application controller.
|
||||
- kustomizeConfig:
|
||||
repoRef:
|
||||
name: manifests
|
||||
path: metacontroller/base
|
||||
name: metacontroller
|
||||
- kustomizeConfig:
|
||||
repoRef:
|
||||
name: manifests
|
||||
path: application/v3
|
||||
name: application
|
||||
# Install GCP ingress related packages
|
||||
- kustomizeConfig:
|
||||
repoRef:
|
||||
name: manifests
|
||||
path: gcp/cloud-endpoints/overlays/application
|
||||
name: cloud-endpoints
|
||||
- kustomizeConfig:
|
||||
repoRef:
|
||||
name: manifests
|
||||
path: gcp/iap-ingress/v3
|
||||
name: iap-ingress
|
||||
# Certmanager gets installed in a different namespace so it needs to be a separate package
|
||||
- kustomizeConfig:
|
||||
repoRef:
|
||||
name: manifests
|
||||
path: cert-manager/cert-manager-crds/base
|
||||
name: cert-manager-crds
|
||||
- kustomizeConfig:
|
||||
repoRef:
|
||||
name: manifests
|
||||
path: cert-manager/cert-manager-kube-system-resources/base
|
||||
name: cert-manager-kube-system-resources
|
||||
- kustomizeConfig:
|
||||
repoRef:
|
||||
name: manifests
|
||||
path: cert-manager/cert-manager/v3
|
||||
name: cert-manager
|
||||
# Install Kubeflow applications.
|
||||
- kustomizeConfig:
|
||||
repoRef:
|
||||
name: manifests
|
||||
path: stacks/gcp
|
||||
name: kubeflow-apps
|
||||
plugins:
|
||||
# TODO(jlewi): The plugin is currently commented out because we don't want to run the
|
||||
# generate logic
|
||||
- kind: KfGcpPlugin
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
name: gcp
|
||||
spec:
|
||||
createPipelinePersistentStorage: true
|
||||
deploymentManagerConfig:
|
||||
repoRef:
|
||||
name: manifests
|
||||
path: gcp/deployment_manager_configs
|
||||
enableWorkloadIdentity: true
|
||||
skipInitProject: true
|
||||
useBasicAuth: false
|
||||
repos:
|
||||
- name: manifests
|
||||
uri: https://github.com/jlewi/manifests/archive/stacks.tar.gz
|
||||
version: master
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
# Owners file should only contain Googlers
|
||||
# since these are Google's oppinionated configs.
|
||||
approvers:
|
||||
- jlewi
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
clusterDomain=cluster.local
|
||||
userid-header=X-Goog-Authenticated-User-Email
|
||||
userid-prefix=accounts.google.com:
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: kubeflow
|
||||
resources:
|
||||
# List the Kubeflow applications that should be included
|
||||
# TODO(https://github.com/kubeflow/manifests/issues/1073):
|
||||
# We need to switch the admission webhook to use cert-manager.
|
||||
- ../../admission-webhook/webhook/v3
|
||||
- ../../common/centraldashboard/overlays/stacks
|
||||
- ../../gcp/gpu-driver/overlays/application/
|
||||
- ../../jupyter/jupyter-web-app/base_v3
|
||||
- ../../jupyter/notebook-controller/base_v3
|
||||
- ../../profiles/base_v3
|
||||
- ../../pytorch-job/pytorch-job-crds/overlays/application
|
||||
- ../../pytorch-job/pytorch-operator/overlays/application
|
||||
- ../../tf-training/tf-job-crds/overlays/application
|
||||
- ../../tf-training/tf-job-operator/overlays/application
|
||||
configMapGenerator:
|
||||
- envs:
|
||||
- ./config/params.env
|
||||
name: kubeflow-config
|
||||
vars:
|
||||
# We need to define vars at the top level otherwise we will get
|
||||
# conflicts.
|
||||
- fieldref:
|
||||
fieldPath: data.clusterDomain
|
||||
name: clusterDomain
|
||||
objref:
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
name: kubeflow-config
|
||||
- fieldref:
|
||||
fieldPath: metadata.namespace
|
||||
name: namespace
|
||||
objref:
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
name: kubeflow-config
|
||||
|
|
@ -52,7 +52,7 @@ require (
|
|||
k8s.io/kubernetes v1.16.2
|
||||
k8s.io/utils v0.0.0-20191030222137-2b95a09bc58d // indirect
|
||||
sigs.k8s.io/controller-runtime v0.4.0
|
||||
sigs.k8s.io/kustomize/v3 v3.1.0
|
||||
sigs.k8s.io/kustomize/v3 v3.2.0
|
||||
)
|
||||
|
||||
replace (
|
||||
|
|
@ -89,5 +89,5 @@ replace (
|
|||
k8s.io/sample-apiserver => k8s.io/sample-apiserver v0.0.0-20190620085408-1aef9010884e
|
||||
sigs.k8s.io/application => sigs.k8s.io/application v0.0.0-20190404151855-67ae7f915d4e
|
||||
sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.2.0
|
||||
sigs.k8s.io/kustomize/v3 => sigs.k8s.io/kustomize/v3 v3.1.0
|
||||
sigs.k8s.io/kustomize/v3 => sigs.k8s.io/kustomize/v3 v3.2.0
|
||||
)
|
||||
|
|
|
|||
144
tests/go.sum
144
tests/go.sum
|
|
@ -24,7 +24,6 @@ github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb0
|
|||
github.com/NYTimes/gziphandler v1.0.1/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
|
||||
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk=
|
||||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
||||
github.com/OpenPeeDeeP/depguard v1.0.1/go.mod h1:xsIw86fROiiwelg+jB2uM9PiKihMMmUx/1V+TNhjQvM=
|
||||
github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
||||
github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
|
||||
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
|
||||
|
|
@ -35,7 +34,6 @@ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdko
|
|||
github.com/Rican7/retry v0.1.0/go.mod h1:FgOROf8P5bebcC1DS0PdOQiqGUridaZvikzUmkFW6gg=
|
||||
github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo=
|
||||
github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
|
||||
github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg=
|
||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||
github.com/ant31/crd-validation v0.0.0-20180702145049-30f8a35d0ac2/go.mod h1:X0noFIik9YqfhGYBLEHg8LJKEwy7QIitLQuFMpKLcPk=
|
||||
|
|
@ -99,7 +97,6 @@ github.com/coreos/prometheus-operator v0.34.0/go.mod h1:Li6rMllG/hYIyXfMuvUwhyC+
|
|||
github.com/coreos/rkt v1.30.0/go.mod h1:O634mlH6U7qk87poQifK6M2rsFNt+FyUTWNMnP1hF1U=
|
||||
github.com/cpuguy83/go-md2man v1.0.4/go.mod h1:N6JayAiVKtlHSnuTCeuLSQVs75hb8q+dYQLjr7cDsKY=
|
||||
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
|
||||
github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY=
|
||||
github.com/cyphar/filepath-securejoin v0.0.0-20170720062807-ae69057f2299/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4=
|
||||
github.com/cznic/b v0.0.0-20180115125044-35e9bbe41f07/go.mod h1:URriBxXwVq5ijiJ12C7iIZqlA69nTlI+LgI6/pwftG8=
|
||||
github.com/cznic/fileutil v0.0.0-20180108211300-6a051e75936f/go.mod h1:8S58EK26zhXSxzv7NQFpnliaOQsmDUxvoQO3rt154Vg=
|
||||
|
|
@ -160,7 +157,6 @@ github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwo
|
|||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||
github.com/fatih/structtag v1.1.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4/aAZl94=
|
||||
github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
|
||||
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
|
||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/fsouza/fake-gcs-server v1.7.0/go.mod h1:5XIRs4YvwNbNoz+1JF8j6KLAyDh7RHGAyAK3EP2EsNk=
|
||||
github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||
|
|
@ -170,65 +166,37 @@ github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32 h1:Mn26/9ZMNWSw9C9ER
|
|||
github.com/ghodss/yaml v1.0.1-0.20190212211648-25d852aebe32/go.mod h1:GIjDIg/heH5DOkXY3YJ/wNhfHsQHoXGjl8G8amsYQ1I=
|
||||
github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
|
||||
github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
|
||||
github.com/go-critic/go-critic v0.3.5-0.20190904082202-d79a9f0c64db/go.mod h1:+sE8vrLDS2M0pZkBk0wy6+nLdKexVDrl/jBqQOTDThA=
|
||||
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
|
||||
github.com/go-lintpack/lintpack v0.5.2/go.mod h1:NwZuYi2nUHho8XEIZ6SIxihrnPoqBTDqfpXvXAN0sXM=
|
||||
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
|
||||
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
|
||||
github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas=
|
||||
github.com/go-logr/zapr v0.1.0/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk=
|
||||
github.com/go-logr/zapr v0.1.1/go.mod h1:tabnROwaDl0UNxkVeFRbY8bwB37GwRv0P8lg6aAiEnk=
|
||||
github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8=
|
||||
github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
|
||||
github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
|
||||
github.com/go-openapi/analysis v0.17.2/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
|
||||
github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
|
||||
github.com/go-openapi/errors v0.17.2/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
|
||||
github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0=
|
||||
github.com/go-openapi/jsonpointer v0.17.0 h1:nH6xp8XdXHx8dqveo0ZuJBluCO2qGrPbDNZ0dwoRHP0=
|
||||
github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
|
||||
github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0=
|
||||
github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
|
||||
github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg=
|
||||
github.com/go-openapi/jsonreference v0.17.0 h1:yJW3HCkTHg7NOA+gZ83IPHzUSnUzGXhGmsdiCcMexbA=
|
||||
github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
|
||||
github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w=
|
||||
github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
|
||||
github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
|
||||
github.com/go-openapi/loads v0.17.2/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
|
||||
github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
|
||||
github.com/go-openapi/runtime v0.17.2/go.mod h1:QO936ZXeisByFmZEO1IS1Dqhtf4QV1sYYFtIq6Ld86Q=
|
||||
github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc=
|
||||
github.com/go-openapi/spec v0.18.0 h1:aIjeyG5mo5/FrvDkpKKEGZPmF9MPHahS72mzfVqeQXQ=
|
||||
github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
|
||||
github.com/go-openapi/spec v0.19.2 h1:SStNd1jRcYtfKCN7R0laGNs80WYYvn5CbBjM2sOmCrE=
|
||||
github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
|
||||
github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
|
||||
github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I=
|
||||
github.com/go-openapi/swag v0.17.0 h1:iqrgMg7Q7SvtbWLlltPrkMs0UBJI6oTSs79JFRUi880=
|
||||
github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
|
||||
github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE=
|
||||
github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
|
||||
github.com/go-openapi/validate v0.17.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
|
||||
github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
|
||||
github.com/go-ozzo/ozzo-validation v3.5.0+incompatible/go.mod h1:gsEKFIVnabGBt6mXmxK0MoFy+cZoTJY6mu5Ll3LVLBU=
|
||||
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/go-toolsmith/astcast v1.0.0/go.mod h1:mt2OdQTeAQcY4DQgPSArJjHCcOwlX+Wl/kwN+LbLGQ4=
|
||||
github.com/go-toolsmith/astcopy v1.0.0/go.mod h1:vrgyG+5Bxrnz4MZWPF+pI4R8h3qKRjjyvV/DSez4WVQ=
|
||||
github.com/go-toolsmith/astequal v0.0.0-20180903214952-dcb477bfacd6/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY=
|
||||
github.com/go-toolsmith/astequal v1.0.0/go.mod h1:H+xSiq0+LtiDC11+h1G32h7Of5O3CYFJ99GVbS5lDKY=
|
||||
github.com/go-toolsmith/astfmt v0.0.0-20180903215011-8f8ee99c3086/go.mod h1:mP93XdblcopXwlyN4X4uodxXQhldPGZbcEJIimQHrkg=
|
||||
github.com/go-toolsmith/astfmt v1.0.0/go.mod h1:cnWmsOAuq4jJY6Ct5YWlVLmcmLMn1JUPuQIHCY7CJDw=
|
||||
github.com/go-toolsmith/astinfo v0.0.0-20180906194353-9809ff7efb21/go.mod h1:dDStQCHtmZpYOmjRP/8gHHnCCch3Zz3oEgCdZVdtweU=
|
||||
github.com/go-toolsmith/astp v0.0.0-20180903215135-0af7e3c24f30/go.mod h1:SV2ur98SGypH1UjcPpCatrV5hPazG6+IfNHbkDXBRrk=
|
||||
github.com/go-toolsmith/astp v1.0.0/go.mod h1:RSyrtpVlfTFGDYRbrjyWP1pYu//tSFcvdYrA8meBmLI=
|
||||
github.com/go-toolsmith/pkgload v0.0.0-20181119091011-e9e65178eee8/go.mod h1:WoMrjiy4zvdS+Bg6z9jZH82QXwkcgCBX6nOfnmdaHks=
|
||||
github.com/go-toolsmith/pkgload v1.0.0/go.mod h1:5eFArkbO80v7Z0kdngIxsRXRMTaX4Ilcwuh3clNrQJc=
|
||||
github.com/go-toolsmith/strparse v1.0.0/go.mod h1:YI2nUKP9YGZnL/L1/DLFBfixrcjslWct4wyljWhSRy8=
|
||||
github.com/go-toolsmith/typep v1.0.0/go.mod h1:JSQCQMUPdRlMZFswiq3TGpNp1GMktqkR2Ns5AIQkATU=
|
||||
github.com/gobuffalo/envy v1.6.5/go.mod h1:N+GkhhZ/93bGZc6ZKhJLP6+m+tCNPKwgSpH9kaifseQ=
|
||||
github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
|
||||
github.com/gobuffalo/flect v0.1.5/go.mod h1:W3K3X9ksuZfir8f/LrfVtWmCDQFfayuylOJ7sz/Fj80=
|
||||
|
|
@ -242,7 +210,6 @@ github.com/godbus/dbus v0.0.0-20151105175453-c7fdd8b5cd55/go.mod h1:/YcGZj5zSblf
|
|||
github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/gogo/protobuf v1.2.1 h1:/s5zKNz0uPFCZ5hddgPdo2TK2TVrUNMn0OOX8/aZMTE=
|
||||
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
||||
github.com/gogo/protobuf v1.2.2-0.20190730201129-28a6bbf47e48 h1:X+zN6RZXsvnrSJaAIQhZezPfAfvsqihKKR8oiLHid34=
|
||||
github.com/gogo/protobuf v1.2.2-0.20190730201129-28a6bbf47e48/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
|
||||
|
|
@ -264,21 +231,6 @@ github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
|
|||
github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
github.com/golangci/check v0.0.0-20180506172741-cfe4005ccda2/go.mod h1:k9Qvh+8juN+UKMCS/3jFtGICgW8O96FVaZsaxdzDkR4=
|
||||
github.com/golangci/dupl v0.0.0-20180902072040-3e9179ac440a/go.mod h1:ryS0uhF+x9jgbj/N71xsEqODy9BN81/GonCZiOzirOk=
|
||||
github.com/golangci/errcheck v0.0.0-20181223084120-ef45e06d44b6/go.mod h1:DbHgvLiFKX1Sh2T1w8Q/h4NAI8MHIpzCdnBUDTXU3I0=
|
||||
github.com/golangci/go-misc v0.0.0-20180628070357-927a3d87b613/go.mod h1:SyvUF2NxV+sN8upjjeVYr5W7tyxaT1JVtvhKhOn2ii8=
|
||||
github.com/golangci/goconst v0.0.0-20180610141641-041c5f2b40f3/go.mod h1:JXrF4TWy4tXYn62/9x8Wm/K/dm06p8tCKwFRDPZG/1o=
|
||||
github.com/golangci/gocyclo v0.0.0-20180528134321-2becd97e67ee/go.mod h1:ozx7R9SIwqmqf5pRP90DhR2Oay2UIjGuKheCBCNwAYU=
|
||||
github.com/golangci/gofmt v0.0.0-20181222123516-0b8337e80d98/go.mod h1:9qCChq59u/eW8im404Q2WWTrnBUQKjpNYKMbU4M7EFU=
|
||||
github.com/golangci/golangci-lint v1.19.1/go.mod h1:2CEc4Fxx3vxDv7g8DyXkHCBF73AOzAymcJAprs2vCps=
|
||||
github.com/golangci/ineffassign v0.0.0-20190609212857-42439a7714cc/go.mod h1:e5tpTHCfVze+7EpLEozzMB3eafxo2KT5veNg1k6byQU=
|
||||
github.com/golangci/lint-1 v0.0.0-20190420132249-ee948d087217/go.mod h1:66R6K6P6VWk9I95jvqGxkqJxVWGFy9XlDwLwVz1RCFg=
|
||||
github.com/golangci/maligned v0.0.0-20180506175553-b1d89398deca/go.mod h1:tvlJhZqDe4LMs4ZHD0oMUlt9G2LWuDGoisJTBzLMV9o=
|
||||
github.com/golangci/misspell v0.0.0-20180809174111-950f5d19e770/go.mod h1:dEbvlSfYbMQDtrpRMQU675gSDLDNa8sCPPChZ7PhiVA=
|
||||
github.com/golangci/prealloc v0.0.0-20180630174525-215b22d4de21/go.mod h1:tf5+bzsHdTM0bsB7+8mt0GUMvjCgwLpTapNZHU8AajI=
|
||||
github.com/golangci/revgrep v0.0.0-20180526074752-d9c87f5ffaf0/go.mod h1:qOQCunEYvmd/TLamH+7LlVccLvUH5kZNhbCgTHoBbp4=
|
||||
github.com/golangci/unconvert v0.0.0-20180507085042-28b1c447d1f4/go.mod h1:Izgrg8RkN3rCIMLGE9CyYmU9pY2Jer6DgANEnZ/L/cQ=
|
||||
github.com/golangplus/bytes v0.0.0-20160111154220-45c989fe5450/go.mod h1:Bk6SMAONeMXrxql8uvOKuAZSu8aM5RUGv+1C6IJaEho=
|
||||
github.com/golangplus/fmt v0.0.0-20150411045040-2a5d6d7d2995/go.mod h1:lJgMEyOkYFkPcDKwRXegd+iM6E7matEszMG5HhwytU8=
|
||||
github.com/golangplus/testing v0.0.0-20180327235837-af21d9c3145e/go.mod h1:0AA//k/eakGydO4jKRoRL2j92ZKSzTgj9tclaCrvXHk=
|
||||
|
|
@ -309,21 +261,12 @@ github.com/googleapis/gnostic v0.3.0/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTV
|
|||
github.com/gophercloud/gophercloud v0.0.0-20190126172459-c818fa66e4c8/go.mod h1:3WdhXV3rUYy9p6AUW8d94kr+HS62Y4VL9mBnFxsD8q4=
|
||||
github.com/gophercloud/gophercloud v0.2.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
github.com/gorilla/context v0.0.0-20160226214623-1ea25387ff6f/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
|
||||
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
|
||||
github.com/gorilla/mux v1.6.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/mux v1.7.1/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
|
||||
github.com/gorilla/securecookie v0.0.0-20160422134519-667fe4e3466a/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
|
||||
github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4=
|
||||
github.com/gorilla/sessions v0.0.0-20160922145804-ca9ada445741/go.mod h1:+WVp8kdw6VhyKExm03PAMRn2ZxnPtm58pV0dBVPdhHE=
|
||||
github.com/gorilla/sessions v1.2.0/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM=
|
||||
github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||
github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||
github.com/gostaticanalysis/analysisutil v0.0.0-20190318220348-4088753ea4d3/go.mod h1:eEOZF4jCKGi+aprrirO9e7WKB3beBRtWgqGunKl6pKE=
|
||||
github.com/gregjones/httpcache v0.0.0-20170728041850-787624de3eb7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
||||
github.com/gregjones/httpcache v0.0.0-20190203031600-7a902570cb17/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
||||
github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
||||
|
|
@ -352,7 +295,6 @@ github.com/heketi/heketi v0.0.0-20181109135656-558b29266ce0/go.mod h1:bB9ly3Rchc
|
|||
github.com/heketi/rest v0.0.0-20180404230133-aa6a65207413/go.mod h1:BeS3M108VzVlmAue3lv2WcGuPAX94/KN63MUURzbYSI=
|
||||
github.com/heketi/tests v0.0.0-20151005000721-f3775cbcefd6/go.mod h1:xGMAM8JLi7UkZt1i4FQeQy0R2T8GLUwQhOP5M1gBhy4=
|
||||
github.com/heketi/utils v0.0.0-20170317161834-435bc5bdfa64/go.mod h1:RYlF4ghFZPPmk2TC5REt5OFwvfb6lzxFWrTWB+qs28s=
|
||||
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
|
||||
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
|
||||
github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4=
|
||||
github.com/iancoleman/strcase v0.0.0-20190422225806-e506e3ef7365/go.mod h1:SK73tn/9oHe+/Y0h39VT4UCxmurVJkR5NA7kMEAOgSE=
|
||||
|
|
@ -373,7 +315,6 @@ github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22
|
|||
github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
github.com/json-iterator/go v0.0.0-20180701071628-ab8a2e0c74be/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
github.com/json-iterator/go v1.1.5/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
github.com/json-iterator/go v1.1.6 h1:MrUvLMLTMxbqFJ9kzlvat/rYZqZnW3u4wkLzWTaFwKs=
|
||||
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
github.com/json-iterator/go v1.1.7 h1:KfgG9LzI+pYjr4xvmz/5H4FXjokeP+rlHLhv3iH62Fo=
|
||||
github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
|
||||
|
|
@ -389,22 +330,14 @@ github.com/karrick/godirwalk v1.10.12/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0L
|
|||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
|
||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||
github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||
github.com/klauspost/compress v1.4.1/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
|
||||
github.com/klauspost/cpuid v0.0.0-20180405133222-e7e905edc00e/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
||||
github.com/klauspost/cpuid v1.2.0/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
|
||||
github.com/kr/fs v0.0.0-20131111012553-2788f0dbd169/go.mod h1:glhvuHOU9Hy7/8PwwdtnarXqLagOX0b/TbZx2zLMqEg=
|
||||
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||
github.com/kr/pretty v0.0.0-20140812000539-f31442d60e51/go.mod h1:Bvhd+E3laJ0AVkG0c9rmtZcnhV0HQ3+c3YxxqTvc/gA=
|
||||
github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
|
||||
github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw=
|
||||
github.com/kr/text v0.0.0-20130911015532-6807e777504f/go.mod h1:sjUstKUATFIcff4qlB53Kml0wQPtJVc/3fWrmuUmcfA=
|
||||
github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
|
||||
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
|
||||
github.com/kshvakov/clickhouse v1.3.5/go.mod h1:DMzX7FxRymoNkVgizH0DWAL8Cur7wHLgx3MUnGwJqpE=
|
||||
github.com/kubernetes-sigs/application v0.8.0/go.mod h1:KqAScqo78PXUrmoFOH8z6P4xQDBdzyJH1FMqrhgJJLE=
|
||||
|
|
@ -414,19 +347,16 @@ github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
|||
github.com/libopenstorage/openstorage v0.0.0-20170906232338-093a0c388875/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc=
|
||||
github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE=
|
||||
github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc=
|
||||
github.com/logrusorgru/aurora v0.0.0-20181002194514-a7b3b318ed4e/go.mod h1:7rIyQOR62GCctdiQpZ/zOJlFyk6y+94wXzv6RNZgaR4=
|
||||
github.com/lpabon/godbc v0.1.1/go.mod h1:Jo9QV0cf3U6jZABgiJ2skINAXb9j8m51r07g4KI92ZA=
|
||||
github.com/magiconair/properties v0.0.0-20160816085511-61b492c03cf4/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/mailru/easyjson v0.0.0-20190620125010-da37f6c1e481 h1:IaSjLMT6WvkoZZjspGxy3rdaTEmWLoRm49WbtVUi9sA=
|
||||
github.com/mailru/easyjson v0.0.0-20190620125010-da37f6c1e481/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
|
||||
github.com/markbates/inflect v1.0.4/go.mod h1:1fR9+pO2KHEO9ZRtto13gDwwZaAKstQzferVeWqbgNs=
|
||||
github.com/marstr/guid v0.0.0-20170427235115-8bdf7d1a087c/go.mod h1:74gB1z2wpxxInTG6yaqA7KrtM0NZ+RbrcqDvYHefzho=
|
||||
github.com/martinlindhe/base36 v1.0.0/go.mod h1:+AtEs8xrBpCeYgSLoY/aJ6Wf37jtBuR0s35750M27+8=
|
||||
github.com/matoous/godox v0.0.0-20190910121045-032ad8106c86/go.mod h1:1BELzlh859Sh1c6+90blK8lbYy0kwQf1bYlBhBysy1s=
|
||||
github.com/mattbaird/jsonpatch v0.0.0-20171005235357-81af80346b1a/go.mod h1:M1qoD/MqPgTZIk0EWKB38wE28ACRfVcn+cU08jyArI0=
|
||||
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
|
||||
|
|
@ -437,7 +367,6 @@ github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzp
|
|||
github.com/mattn/go-shellwords v0.0.0-20180605041737-f8471b0a71de/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
|
||||
github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||
github.com/maxbrunsfeld/counterfeiter/v6 v6.2.1/go.mod h1:F9YacGpnZbLQMzuPI0rR6op21YvNu/RjL705LJJpM3k=
|
||||
github.com/mesos/mesos-go v0.0.9/go.mod h1:kPYCMQ9gsOXVAle1OsoY4I1+9kPu8GHkf88aV59fDr4=
|
||||
|
|
@ -447,8 +376,6 @@ github.com/mindprince/gonvml v0.0.0-20171110221305-fee913ce8fb2/go.mod h1:2eu9pR
|
|||
github.com/mistifyio/go-zfs v0.0.0-20151009155749-1b4ae6fb4e77/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4=
|
||||
github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw=
|
||||
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-ps v0.0.0-20190716172923-621e5597135b/go.mod h1:r1VsdOzOPt1ZSrGZWFoNhsAedKnEd6r9Np1+5blZCWk=
|
||||
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
|
||||
github.com/mitchellh/go-wordwrap v0.0.0-20150314170334-ad45545899c7/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
|
||||
github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo=
|
||||
|
|
@ -464,9 +391,7 @@ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lN
|
|||
github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI=
|
||||
github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
|
||||
github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8=
|
||||
github.com/monopole/mdrip v1.0.0/go.mod h1:N1/ppRG9CaPeUKAUHZ3dUlfOT81lTpKZLkyhCvTETwM=
|
||||
github.com/morikuni/aec v0.0.0-20170113033406-39771216ff4c/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
|
||||
github.com/mozilla/tls-observatory v0.0.0-20190404164649-a3c1b6cfecfd/go.mod h1:SrKMQvPiws7F7iqYp8/TX+IhxCYhzr6N/1yb8cwHsGk=
|
||||
github.com/mrunalp/fileutils v0.0.0-20160930181131-4ee1cc9a8058/go.mod h1:x8F1gnqOkIEiO4rqoeEEEqQbo7HjGMTvyoq3gej4iT0=
|
||||
github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
|
||||
github.com/munnerz/goautoneg v0.0.0-20190414153302-2ae31c8b6b30/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
|
||||
|
|
@ -475,7 +400,6 @@ github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRW
|
|||
github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw=
|
||||
github.com/nakagami/firebirdsql v0.0.0-20190310045651-3c02a58cfed8/go.mod h1:86wM1zFnC6/uDBfZGNwB65O+pR2OFi5q/YQaEUid1qA=
|
||||
github.com/natefinch/lumberjack v2.0.0+incompatible/go.mod h1:Wi9p2TTF5DG5oU+6YfsmYQpsTIOm0B1VNzQg9Mw6nPk=
|
||||
github.com/nbutton23/zxcvbn-go v0.0.0-20180912185939-ae427f1e4c1d/go.mod h1:o96djdrsSGy3AWPyBgZMAGfxZNfgntdJG+11KU4QvbU=
|
||||
github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA=
|
||||
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
|
||||
github.com/onrik/logrus v0.2.1/go.mod h1:qfe9NeZVAJfIxviw3cYkZo3kvBtLoPRJriAO8zl7qTk=
|
||||
|
|
@ -483,15 +407,11 @@ github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB
|
|||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo=
|
||||
github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||
github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
|
||||
github.com/onsi/gomega v0.0.0-20190113212917-5533ce8a0da3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/onsi/gomega v1.4.2/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME=
|
||||
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
|
||||
github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
|
||||
github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
|
||||
github.com/opencontainers/image-spec v0.0.0-20170604055404-372ad780f634/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
|
||||
|
|
@ -526,7 +446,6 @@ github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
|
|||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/sftp v0.0.0-20160930220758-4d0e916071f6/go.mod h1:NxmoDg/QLVWluQDUYG7XBZTLUpKeFa8e3aMf1BfjyHk=
|
||||
github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA=
|
||||
github.com/pquerna/ffjson v0.0.0-20180717144149-af8b230fcd20/go.mod h1:YARuvh7BUWHNhzDq2OM5tzR2RiCcN2D7sapiKyCel/M=
|
||||
|
|
@ -557,7 +476,6 @@ github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDa
|
|||
github.com/prometheus/prometheus v2.3.2+incompatible/go.mod h1:oAIUtOny2rjMX0OWN5vPR5/q/twIROJvdqnQKDdil/s=
|
||||
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
|
||||
github.com/prometheus/tsdb v0.8.0/go.mod h1:fSI0j+IUQrDd7+ZtR9WKIGtoYAYAJUKcKhYLG25tN4g=
|
||||
github.com/quasilyte/go-consistent v0.0.0-20190521200055-c6f3937de18c/go.mod h1:5STLWrekHfjyYwxBRVRXNOSewLJ3PWfDJd1VyTS21fI=
|
||||
github.com/quobyte/api v0.1.2/go.mod h1:jL7lIHrmqQ7yh05OJ+eEEdHr0u/kmT1Ff9iHd+4H6VI=
|
||||
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M=
|
||||
|
|
@ -571,20 +489,12 @@ github.com/rogpeppe/go-internal v1.5.0/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTE
|
|||
github.com/rubenv/sql-migrate v0.0.0-20191025130928-9355dd04f4b3/go.mod h1:WS0rl9eEliYI8DPnr3TOwz4439pay+qNgzJoVya/DmY=
|
||||
github.com/rubiojr/go-vhd v0.0.0-20160810183302-0bfd3b39853c/go.mod h1:DM5xW0nvfNNm2uytzsvhI3OnX8uzaRAg8UX/CnDqbto=
|
||||
github.com/russross/blackfriday v1.5.2-0.20180428102519-11635eb403ff/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||
github.com/russross/blackfriday v2.0.0+incompatible/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||
github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0=
|
||||
github.com/sclevine/spec v1.2.0/go.mod h1:W4J29eT/Kzv7/b9IWLB055Z+qvVC9vt0Arko24q7p+U=
|
||||
github.com/seccomp/libseccomp-golang v0.0.0-20150813023252-1b506fc7c24e/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo=
|
||||
github.com/securego/gosec v0.0.0-20190912120752-140048b2a218/go.mod h1:q6oYAujd2qyeU4cJqIri4LBIgdHXGvxWHZ1E29HNFRE=
|
||||
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
|
||||
github.com/shirou/gopsutil v0.0.0-20190901111213-e4ec7b275ada/go.mod h1:WWnYX4lzhCH5h/3YBfyVA3VbLYjlMZZAQcW9ojMexNc=
|
||||
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4/go.mod h1:qsXQc7+bwAM3Q1u/4XEfrquwF8Lw7D7y5cD8CuHnfIc=
|
||||
github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4=
|
||||
github.com/shurcooL/go v0.0.0-20180423040247-9e1955d9fb6e/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk=
|
||||
github.com/shurcooL/go-goon v0.0.0-20170922171312-37c2f522c041/go.mod h1:N5mDOmsrJOB+vfqUK+7DmDyjhSLIIBnXo9lvZJj3MWQ=
|
||||
github.com/shurcooL/sanitized_anchor_name v0.0.0-20151028001915-10ef21a441db/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
|
||||
github.com/sigma/go-inotify v0.0.0-20181102212354-c87b6cf5033d/go.mod h1:stlh9OsqBQSdwxTxX73mu41BBtRbIpZLQ7flcAoxAfo=
|
||||
github.com/sirupsen/logrus v1.0.5/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
|
||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
|
|
@ -594,7 +504,6 @@ github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1
|
|||
github.com/smartystreets/goconvey v0.0.0-20190330032615-68dc04aab96a/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
|
||||
github.com/soheilhy/cmux v0.1.3/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
|
||||
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
|
||||
github.com/sourcegraph/go-diff v0.5.1/go.mod h1:j2dHj3m8aZgQO8lMTcTnBcXkRRRqi34cd2MNlA9u1mE=
|
||||
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
|
||||
github.com/spf13/afero v0.0.0-20160816080757-b28a7effac97/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
|
||||
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
|
||||
|
|
@ -618,28 +527,19 @@ github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/y
|
|||
github.com/storageos/go-api v0.0.0-20180912212459-343b3eff91fc/go.mod h1:ZrLn+e0ZuF3Y65PNF6dIwbJPZqfmtCXxFm9ckv0agOY=
|
||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||
github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
|
||||
github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
|
||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
|
||||
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
|
||||
github.com/syndtr/gocapability v0.0.0-20160928074757-e7cb7fa329f4/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
|
||||
github.com/technosophos/moniker v0.0.0-20180509230615-a5dbd03a2245/go.mod h1:O1c8HleITsZqzNZDjSNzirUGsMT0oGu9LhHKoJrqO+A=
|
||||
github.com/tidwall/pretty v0.0.0-20180105212114-65a9db5fad51/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
|
||||
github.com/timakin/bodyclose v0.0.0-20190721030226-87058b9bfcec/go.mod h1:Qimiffbc6q9tBWlVV6x0P9sat/ao1xEkREYPPj9hphk=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
|
||||
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
|
||||
github.com/ulikunitz/xz v0.5.5/go.mod h1:2bypXElzHzzJZwzH67Y6wb67pO62Rzfn7BSiF4ABRW8=
|
||||
github.com/ultraware/funlen v0.0.2/go.mod h1:Dp4UiAus7Wdb9KUZsYWZEWiRzGuM2kXM1lPbfaF6xhA=
|
||||
github.com/ultraware/whitespace v0.0.3/go.mod h1:aVMh/gQve5Maj9hQ/hg+F75lr/X5A89uZnzAmWSineA=
|
||||
github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
|
||||
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
|
||||
github.com/valyala/fasthttp v1.2.0/go.mod h1:4vX61m6KN+xDduDNwXrhIAVZaZaZiQ1luJk8LWSxF3s=
|
||||
github.com/valyala/quicktemplate v1.2.0/go.mod h1:EH+4AkTd43SvgIbQHYu59/cJyxDoOVRUAfrukLPuGJ4=
|
||||
github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
|
||||
github.com/vishvananda/netlink v0.0.0-20171020171820-b2de5d10e38e/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
|
||||
github.com/vishvananda/netns v0.0.0-20171111001504-be1fbeda1936/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
|
||||
github.com/vmware/govmomi v0.20.1/go.mod h1:URlwyTFZX72RmxtxuaFL2Uj3fD1JTvZdx59bHWk6aFU=
|
||||
|
|
@ -671,12 +571,7 @@ go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
|||
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||
go.uber.org/zap v1.12.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM=
|
||||
golang.org/dl v0.0.0-20191220003028-84da647cadd0/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ=
|
||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||
|
|
@ -694,7 +589,6 @@ golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73r
|
|||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180911220305-26e67e76b6c3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181108082009-03003ca0c849/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
|
|
@ -705,7 +599,6 @@ golang.org/x/net v0.0.0-20190125091013-d26f9f9a57f3/go.mod h1:mL1N/T3taQHkDXs73r
|
|||
golang.org/x/net v0.0.0-20190206173232-65e2d4e15006/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190424112056-4829fb13d2c6/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||
|
|
@ -714,8 +607,6 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL
|
|||
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc h1:gkKoSkUmnU6bpS/VhkuO27bzQeSA51uaEfbOW5dNb68=
|
||||
golang.org/x/net v0.0.0-20190812203447-cdfb69ac37fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20190909003024-a7b16738d86b h1:XfVGCX+0T4WOStkaOsJRllbsiImhB2jgVBGc9L0lPGc=
|
||||
golang.org/x/net v0.0.0-20190909003024-a7b16738d86b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20181106182150-f42d05182288/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
|
|
@ -742,7 +633,6 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
|
|||
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190310054646-10058d7d4faa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190426135247-a129542de9ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
|
|
@ -751,8 +641,6 @@ golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7w
|
|||
golang.org/x/sys v0.0.0-20190621203818-d432491b9138/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190911201528-7ad0cfa0b7b5 h1:SW/0nsKCUaozCUtZTakri5laocGx/5bkDSSLrFUsa5s=
|
||||
golang.org/x/sys v0.0.0-20190911201528-7ad0cfa0b7b5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
|
|
@ -765,35 +653,24 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb
|
|||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/tools v0.0.0-20170824195420-5d2fd3ccab98/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20181117154741-2ddaf7f79a09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190110163146-51295c7ec13a/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
|
||||
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190311215038-5c2858a9cfe5/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190322203728-c1a832b0ad89/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
|
||||
golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190425222832-ad9eeb80039a/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190521203540-521d6ed310dd/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
|
||||
golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190624180213-70d37148ca0c/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
|
||||
golang.org/x/tools v0.0.0-20190706070813-72ffa07ba3db/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI=
|
||||
golang.org/x/tools v0.0.0-20190719005602-e377ae9d6386/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI=
|
||||
golang.org/x/tools v0.0.0-20190910044552-dd2b5c81c578/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20190911230505-6bfd74cf029c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20190912215617-3720d1ec3678/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191018212557-ed542cd5b28a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
|
|
@ -830,11 +707,8 @@ gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4
|
|||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
|
||||
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
|
||||
gopkg.in/gcfg.v1 v1.2.0/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o=
|
||||
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
|
||||
|
|
@ -845,14 +719,12 @@ gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw=
|
|||
gopkg.in/natefinch/lumberjack.v2 v2.0.0-20150622162204-20b71e5b60d7/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
|
||||
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
|
||||
gopkg.in/square/go-jose.v2 v2.0.0-20180411045311-89060dee6a84/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI=
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
|
||||
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
|
||||
gopkg.in/warnings.v0 v0.1.1/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
|
||||
gopkg.in/yaml.v1 v1.0.0-20140924161607-9f9df34309c0/go.mod h1:WDnlLJ4WF5VGsH/HVa3CI79GS0ol3YnhVnKP89i0kNg=
|
||||
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
|
||||
gopkg.in/yaml.v2 v2.1.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
|
||||
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
|
||||
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
|
||||
|
|
@ -864,13 +736,9 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh
|
|||
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
|
||||
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
|
||||
k8s.io/api v0.0.0-20190313235455-40a48860b5ab h1:DG9A67baNpoeweOy2spF1OWHhnVY5KR7/Ek/+U1lVZc=
|
||||
k8s.io/api v0.0.0-20190313235455-40a48860b5ab/go.mod h1:iuAfoD4hCxJ8Onx9kaTIt30j7jUFS00AXQi6QMi99vA=
|
||||
k8s.io/api v0.0.0-20190620084959-7cf5895f2711 h1:BblVYz/wE5WtBsD/Gvu54KyBUTJMflolzc5I2DTvh50=
|
||||
k8s.io/api v0.0.0-20190620084959-7cf5895f2711/go.mod h1:TBhBqb1AWbBQbW3XRusr7n7E4v2+5ZY8r8sAMnyFC5A=
|
||||
k8s.io/apiextensions-apiserver v0.0.0-20190620085554-14e95df34f1f/go.mod h1:++XMkbLSSAutLgulnUnXW4kNbSkyQzlPL8PaW4hjJT4=
|
||||
k8s.io/apimachinery v0.0.0-20190313205120-d7deff9243b1 h1:IS7K02iBkQXpCeieSiyJjGoLSdVOv2DbPaWHJ+ZtgKg=
|
||||
k8s.io/apimachinery v0.0.0-20190313205120-d7deff9243b1/go.mod h1:ccL7Eh7zubPUSh9A3USN90/OzHNSVN6zxzde07TDCL0=
|
||||
k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719 h1:uV4S5IB5g4Nvi+TBVNf3e9L4wrirlwYJ6w88jUQxTUw=
|
||||
k8s.io/apimachinery v0.0.0-20190612205821-1799e75a0719/go.mod h1:I4A+glKBHiTgiEjQiCCQfCAIcIMFGt291SmsvcrFzJA=
|
||||
k8s.io/apiserver v0.0.0-20190620085212-47dc9a115b18/go.mod h1:Hc9PbFVOsMigd7B7OiY/6bIRkR8y31eIKsr1D+JtKg4=
|
||||
|
|
@ -878,8 +746,6 @@ k8s.io/autoscaler v0.0.0-20190607113959-1b4f1855cb8e/go.mod h1:QEXezc9uKPT91dwqh
|
|||
k8s.io/cli-runtime v0.0.0-20190620085706-2090e6d8f84c/go.mod h1:fkxp0BXLu9gu3r8x8X8gLrfDgWfqusKEJUnMUIqpDcg=
|
||||
k8s.io/client-go v0.0.0-20190620085101-78d2af792bab h1:E8Fecph0qbNsAbijJJQryKu4Oi9QTp5cVpjTE+nqg6g=
|
||||
k8s.io/client-go v0.0.0-20190620085101-78d2af792bab/go.mod h1:E95RaSlHr79aHaX0aGSwcPNfygDiPKOVXdmivCIZT0k=
|
||||
k8s.io/client-go v11.0.0+incompatible h1:LBbX2+lOwY9flffWlJM7f1Ct8V2SRNiMRDFeiwnJo9o=
|
||||
k8s.io/client-go v11.0.0+incompatible/go.mod h1:7vJpHMYJwNQCWgzmNV+VYUl1zCObLyodBc8nIyt8L5s=
|
||||
k8s.io/cloud-provider v0.0.0-20190620090043-8301c0bda1f0/go.mod h1:UXU55LeVTrjyQNw86sHjagiYhSZjYxWKXvx0Ml17KvM=
|
||||
k8s.io/cluster-bootstrap v0.0.0-20190620090013-c9a0fc045dc1/go.mod h1:cCRw3eZzlJdySYRtkL/N4cAClxYCzyrBL3V8cblTlUo=
|
||||
k8s.io/code-generator v0.0.0-20190612205613-18da4a14b22b/go.mod h1:G8bQwmHm2eafm5bgtX67XDZQ8CWKSGu9DekI+yN4Y5I=
|
||||
|
|
@ -894,7 +760,6 @@ k8s.io/helm v2.16.1+incompatible/go.mod h1:LZzlS4LQBHfciFOurYBFkCMTaZ0D1l+p0teMg
|
|||
k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
||||
k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
||||
k8s.io/klog v0.3.1/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
||||
k8s.io/klog v0.3.3 h1:niceAagH1tzskmaie/icWd7ci1wbG7Bf2c6YGcQv+3c=
|
||||
k8s.io/klog v0.3.3/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk=
|
||||
k8s.io/klog v0.4.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I=
|
||||
k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8=
|
||||
|
|
@ -904,7 +769,6 @@ k8s.io/kube-controller-manager v0.0.0-20190620085942-b7f18460b210/go.mod h1:FoQC
|
|||
k8s.io/kube-openapi v0.0.0-20180731170545-e3762e86a74c/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
|
||||
k8s.io/kube-openapi v0.0.0-20190228160746-b3a7cee44a30/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
|
||||
k8s.io/kube-openapi v0.0.0-20190320154901-5e45bb682580/go.mod h1:BXM9ceUBTj2QnfH2MK1odQs778ajze1RxcmP6S8RVVc=
|
||||
k8s.io/kube-openapi v0.0.0-20190603182131-db7b694dc208 h1:5sW+fEHvlJI3Ngolx30CmubFulwH28DhKjGf70Xmtco=
|
||||
k8s.io/kube-openapi v0.0.0-20190603182131-db7b694dc208/go.mod h1:nfDlWeOsu3pUf4yWGL+ERqohP4YsZcBJXWMK+gkzOA4=
|
||||
k8s.io/kube-openapi v0.0.0-20190816220812-743ec37842bf/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E=
|
||||
k8s.io/kube-openapi v0.0.0-20190918143330-0270cf2f1c1d h1:Xpe6sK+RY4ZgCTyZ3y273UmFmURhjtoJiwOMbQsXitY=
|
||||
|
|
@ -929,23 +793,17 @@ modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk=
|
|||
modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k=
|
||||
modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs=
|
||||
modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I=
|
||||
mvdan.cc/interfacer v0.0.0-20180901003855-c20040233aed/go.mod h1:Xkxe497xwlCKkIaQYRfC7CSLworTXY9RMqwhhCm+8Nc=
|
||||
mvdan.cc/lint v0.0.0-20170908181259-adc824a0674b/go.mod h1:2odslEg/xrtNQqCYg2/jCoyKnw3vv5biOc3JnIcYfL4=
|
||||
mvdan.cc/unparam v0.0.0-20190720180237-d51796306d8f/go.mod h1:4G1h5nDURzA3bwVMZIVpwbkw+04kSxk3rAtzlimaUJw=
|
||||
sigs.k8s.io/controller-runtime v0.2.0/go.mod h1:ZHqrRDZi3f6BzONcvlUxkqCKgwasGk5FZrnSv9TVZF4=
|
||||
sigs.k8s.io/controller-tools v0.2.2/go.mod h1:8SNGuj163x/sMwydREj7ld5mIMJu1cDanIfnx6xsU70=
|
||||
sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0=
|
||||
sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU=
|
||||
sigs.k8s.io/kustomize/pluginator v1.0.0/go.mod h1:i8HdU5FdH1zDjCKiFf5CNl7slsc0QffyKsY2OuPynJ0=
|
||||
sigs.k8s.io/kustomize/v3 v3.1.0 h1:FnNC1UtUjZlepvWUGwaAcFHw2rjNIaZvBUPCvaXz0Fo=
|
||||
sigs.k8s.io/kustomize/v3 v3.1.0/go.mod h1:ztX4zYc/QIww3gSripwF7TBOarBTm5BvyAMem0kCzOE=
|
||||
sigs.k8s.io/kustomize/v3 v3.2.0 h1:EKcEubO29vCbigcMoNynfyZH+ANWkML2UHWibt1Do7o=
|
||||
sigs.k8s.io/kustomize/v3 v3.2.0/go.mod h1:ztX4zYc/QIww3gSripwF7TBOarBTm5BvyAMem0kCzOE=
|
||||
sigs.k8s.io/kustomize/v3 v3.3.1 h1:UOhJqkRINRODnKq24DoDAr4gxk2z2p9iFJWDT3OLBx8=
|
||||
sigs.k8s.io/kustomize/v3 v3.3.1/go.mod h1:2ojB+51Z+YIBpEOknAFX3U8f0XXa94PFcfXPccDxAfg=
|
||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190302045857-e85c7b244fd2/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||
sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI=
|
||||
sigs.k8s.io/testing_frameworks v0.1.1/go.mod h1:VVBKrHmJ6Ekkfz284YKhQePcdycOzNH9qL6ht1zEr/U=
|
||||
sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs=
|
||||
sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o=
|
||||
sourcegraph.com/sqs/pbtypes v0.0.0-20180604144634-d3ebe8f20ae4/go.mod h1:ketZ/q3QxT9HOBeFhu6RdvsftgpsbFHBF5Cas6cDKZ0=
|
||||
vbom.ml/util v0.0.0-20160121211510-db5cfe13f5cc/go.mod h1:so/NYdZXCz+E3ZpW0uAoCj6uzU2+8OWDFv/HxUSs7kI=
|
||||
|
|
|
|||
|
|
@ -1,4 +0,0 @@
|
|||
approvers:
|
||||
- Bobgy
|
||||
- IronPan
|
||||
- rmgogogo
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package base_v3
|
||||
package alice_gcp
|
||||
|
||||
import (
|
||||
"github.com/kubeflow/manifests/tests"
|
||||
|
|
@ -7,7 +7,7 @@ import (
|
|||
|
||||
func TestKustomize(t *testing.T) {
|
||||
testCase := &tests.KustomizeTestCase{
|
||||
Package: "../../../../jupyter/jupyter-web-app/base_v3",
|
||||
Package: "../../../../stacks/examples/alice_gcp",
|
||||
Expected: "test_data/expected",
|
||||
}
|
||||
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
apiVersion: admissionregistration.k8s.io/v1beta1
|
||||
kind: MutatingWebhookConfiguration
|
||||
metadata:
|
||||
annotations:
|
||||
cert-manager.io/inject-ca-from: kubeflow/admission-webhook-cert
|
||||
labels:
|
||||
app: admission-webhook
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: admission-webhook
|
||||
name: admission-webhook-mutating-webhook-configuration
|
||||
webhooks:
|
||||
- clientConfig:
|
||||
caBundle: ""
|
||||
service:
|
||||
name: admission-webhook-service
|
||||
namespace: kubeflow
|
||||
path: /apply-poddefault
|
||||
name: admission-webhook-deployment.kubeflow.org
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
apiVersions:
|
||||
- v1
|
||||
operations:
|
||||
- CREATE
|
||||
resources:
|
||||
- pods
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
labels:
|
||||
app: notebook-controller
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
kustomize.component: notebook-controller
|
||||
name: notebooks.kubeflow.org
|
||||
spec:
|
||||
group: kubeflow.org
|
||||
names:
|
||||
kind: Notebook
|
||||
plural: notebooks
|
||||
singular: notebook
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
properties:
|
||||
template:
|
||||
description: 'INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
|
||||
Important: Run "make" to regenerate code after modifying this file'
|
||||
properties:
|
||||
spec:
|
||||
type: object
|
||||
type: object
|
||||
type: object
|
||||
status:
|
||||
properties:
|
||||
conditions:
|
||||
description: Conditions is an array of current conditions
|
||||
items:
|
||||
properties:
|
||||
type:
|
||||
description: Type of the confition/
|
||||
type: string
|
||||
required:
|
||||
- type
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- conditions
|
||||
type: object
|
||||
versions:
|
||||
- name: v1alpha1
|
||||
served: true
|
||||
storage: false
|
||||
- name: v1beta1
|
||||
served: true
|
||||
storage: true
|
||||
- name: v1
|
||||
served: true
|
||||
storage: false
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
labels:
|
||||
app: admission-webhook
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: admission-webhook
|
||||
name: poddefaults.kubeflow.org
|
||||
spec:
|
||||
group: kubeflow.org
|
||||
names:
|
||||
kind: PodDefault
|
||||
plural: poddefaults
|
||||
singular: poddefault
|
||||
scope: Namespaced
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
apiVersion:
|
||||
type: string
|
||||
kind:
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
properties:
|
||||
desc:
|
||||
type: string
|
||||
env:
|
||||
items:
|
||||
type: object
|
||||
type: array
|
||||
envFrom:
|
||||
items:
|
||||
type: object
|
||||
type: array
|
||||
selector:
|
||||
type: object
|
||||
serviceAccountName:
|
||||
type: string
|
||||
volumeMounts:
|
||||
items:
|
||||
type: object
|
||||
type: array
|
||||
volumes:
|
||||
items:
|
||||
type: object
|
||||
type: array
|
||||
required:
|
||||
- selector
|
||||
type: object
|
||||
status:
|
||||
type: object
|
||||
type: object
|
||||
version: v1alpha1
|
||||
|
|
@ -0,0 +1,164 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
creationTimestamp: null
|
||||
labels:
|
||||
kustomize.component: profiles
|
||||
name: profiles.kubeflow.org
|
||||
spec:
|
||||
conversion:
|
||||
strategy: None
|
||||
group: kubeflow.org
|
||||
names:
|
||||
kind: Profile
|
||||
plural: profiles
|
||||
scope: Cluster
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
description: Profile is the Schema for the profiles API
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this representation
|
||||
of an object. Servers should convert recognized schemas to the latest
|
||||
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource this
|
||||
object represents. Servers may infer this from the endpoint the client
|
||||
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
metadata:
|
||||
type: object
|
||||
spec:
|
||||
description: ProfileSpec defines the desired state of Profile
|
||||
properties:
|
||||
owner:
|
||||
description: The profile owner
|
||||
properties:
|
||||
apiGroup:
|
||||
description: APIGroup holds the API group of the referenced subject.
|
||||
Defaults to "" for ServiceAccount subjects. Defaults to "rbac.authorization.k8s.io"
|
||||
for User and Group subjects.
|
||||
type: string
|
||||
kind:
|
||||
description: Kind of object being referenced. Values defined by
|
||||
this API group are "User", "Group", and "ServiceAccount". If the
|
||||
Authorizer does not recognized the kind value, the Authorizer
|
||||
should report an error.
|
||||
type: string
|
||||
name:
|
||||
description: Name of the object being referenced.
|
||||
type: string
|
||||
required:
|
||||
- kind
|
||||
- name
|
||||
type: object
|
||||
plugins:
|
||||
items:
|
||||
description: Plugin is for customize actions on different platform.
|
||||
properties:
|
||||
apiVersion:
|
||||
description: 'APIVersion defines the versioned schema of this
|
||||
representation of an object. Servers should convert recognized
|
||||
schemas to the latest internal value, and may reject unrecognized
|
||||
values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
|
||||
type: string
|
||||
kind:
|
||||
description: 'Kind is a string value representing the REST resource
|
||||
this object represents. Servers may infer this from the endpoint
|
||||
the client submits requests to. Cannot be updated. In CamelCase.
|
||||
More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
|
||||
type: string
|
||||
spec:
|
||||
type: object
|
||||
type: object
|
||||
type: array
|
||||
resourceQuotaSpec:
|
||||
description: Resourcequota that will be applied to target namespace
|
||||
properties:
|
||||
hard:
|
||||
additionalProperties:
|
||||
type: string
|
||||
description: 'hard is the set of desired hard limits for each named
|
||||
resource. More info: https://kubernetes.io/docs/concepts/policy/resource-quotas/'
|
||||
type: object
|
||||
scopeSelector:
|
||||
description: scopeSelector is also a collection of filters like
|
||||
scopes that must match each object tracked by a quota but expressed
|
||||
using ScopeSelectorOperator in combination with possible values.
|
||||
For a resource to match, both scopes AND scopeSelector (if specified
|
||||
in spec), must be matched.
|
||||
properties:
|
||||
matchExpressions:
|
||||
description: A list of scope selector requirements by scope
|
||||
of the resources.
|
||||
items:
|
||||
description: A scoped-resource selector requirement is a selector
|
||||
that contains values, a scope name, and an operator that
|
||||
relates the scope name and values.
|
||||
properties:
|
||||
operator:
|
||||
description: Represents a scope's relationship to a set
|
||||
of values. Valid operators are In, NotIn, Exists, DoesNotExist.
|
||||
type: string
|
||||
scopeName:
|
||||
description: The name of the scope that the selector applies
|
||||
to.
|
||||
type: string
|
||||
values:
|
||||
description: An array of string values. If the operator
|
||||
is In or NotIn, the values array must be non-empty.
|
||||
If the operator is Exists or DoesNotExist, the values
|
||||
array must be empty. This array is replaced during a
|
||||
strategic merge patch.
|
||||
items:
|
||||
type: string
|
||||
type: array
|
||||
required:
|
||||
- operator
|
||||
- scopeName
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
scopes:
|
||||
description: A collection of filters that must match each object
|
||||
tracked by a quota. If not specified, the quota matches all objects.
|
||||
items:
|
||||
description: A ResourceQuotaScope defines a filter that must match
|
||||
each object tracked by a quota
|
||||
type: string
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
status:
|
||||
description: ProfileStatus defines the observed state of Profile
|
||||
properties:
|
||||
conditions:
|
||||
items:
|
||||
properties:
|
||||
message:
|
||||
type: string
|
||||
status:
|
||||
type: string
|
||||
type:
|
||||
type: string
|
||||
type: object
|
||||
type: array
|
||||
type: object
|
||||
type: object
|
||||
version: v1
|
||||
versions:
|
||||
- name: v1
|
||||
served: true
|
||||
storage: true
|
||||
- name: v1beta1
|
||||
served: true
|
||||
storage: false
|
||||
status:
|
||||
acceptedNames:
|
||||
kind: ""
|
||||
plural: ""
|
||||
conditions: []
|
||||
storedVersions: []
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-job-crds-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-job-crds
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
name: pytorchjobs.kubeflow.org
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
- JSONPath: .status.conditions[-1:].type
|
||||
name: State
|
||||
type: string
|
||||
- JSONPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
group: kubeflow.org
|
||||
names:
|
||||
kind: PyTorchJob
|
||||
plural: pytorchjobs
|
||||
singular: pytorchjob
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
spec:
|
||||
properties:
|
||||
pytorchReplicaSpecs:
|
||||
properties:
|
||||
Master:
|
||||
properties:
|
||||
replicas:
|
||||
maximum: 1
|
||||
minimum: 1
|
||||
type: integer
|
||||
Worker:
|
||||
properties:
|
||||
replicas:
|
||||
minimum: 1
|
||||
type: integer
|
||||
versions:
|
||||
- name: v1
|
||||
served: true
|
||||
storage: true
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
apiVersion: apiextensions.k8s.io/v1beta1
|
||||
kind: CustomResourceDefinition
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-crds-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-crds
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
name: tfjobs.kubeflow.org
|
||||
spec:
|
||||
additionalPrinterColumns:
|
||||
- JSONPath: .status.conditions[-1:].type
|
||||
name: State
|
||||
type: string
|
||||
- JSONPath: .metadata.creationTimestamp
|
||||
name: Age
|
||||
type: date
|
||||
group: kubeflow.org
|
||||
names:
|
||||
kind: TFJob
|
||||
plural: tfjobs
|
||||
singular: tfjob
|
||||
scope: Namespaced
|
||||
subresources:
|
||||
status: {}
|
||||
validation:
|
||||
openAPIV3Schema:
|
||||
properties:
|
||||
spec:
|
||||
properties:
|
||||
tfReplicaSpecs:
|
||||
properties:
|
||||
Chief:
|
||||
properties:
|
||||
replicas:
|
||||
maximum: 1
|
||||
minimum: 1
|
||||
type: integer
|
||||
PS:
|
||||
properties:
|
||||
replicas:
|
||||
minimum: 1
|
||||
type: integer
|
||||
Worker:
|
||||
properties:
|
||||
replicas:
|
||||
minimum: 1
|
||||
type: integer
|
||||
versions:
|
||||
- name: v1
|
||||
served: true
|
||||
storage: true
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
apiVersion: app.k8s.io/v1beta1
|
||||
kind: Application
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: centraldashboard
|
||||
app.kubernetes.io/instance: centraldashboard-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: centraldashboard
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
name: centraldashboard
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
addOwnerRef: true
|
||||
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:
|
||||
description: Provides a Dashboard UI for kubeflow
|
||||
keywords:
|
||||
- centraldashboard
|
||||
- kubeflow
|
||||
links:
|
||||
- description: About
|
||||
url: https://github.com/kubeflow/kubeflow/tree/master/components/centraldashboard
|
||||
maintainers:
|
||||
- email: prodonjs@gmail.com
|
||||
name: Jason Prodonovich
|
||||
- email: apverma@google.com
|
||||
name: Apoorv Verma
|
||||
- email: adhita94@gmail.com
|
||||
name: Adhita Selvaraj
|
||||
owners:
|
||||
- email: prodonjs@gmail.com
|
||||
name: Jason Prodonovich
|
||||
- email: apverma@google.com
|
||||
name: Apoorv Verma
|
||||
- email: adhita94@gmail.com
|
||||
name: Adhita Selvaraj
|
||||
type: centraldashboard
|
||||
version: v1beta1
|
||||
selector:
|
||||
matchLabels:
|
||||
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
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
apiVersion: app.k8s.io/v1beta1
|
||||
kind: Application
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: gpu-driver
|
||||
app.kubernetes.io/instance: gpu-driver-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: gpu-driver
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
name: gpu-driver
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
addOwnerRef: true
|
||||
componentKinds:
|
||||
- group: core
|
||||
kind: ConfigMap
|
||||
- group: apps
|
||||
kind: Deployment
|
||||
descriptor:
|
||||
description: ""
|
||||
keywords:
|
||||
- gpu-driver
|
||||
- kubeflow
|
||||
links:
|
||||
- description: About
|
||||
url: ""
|
||||
maintainers: []
|
||||
owners: []
|
||||
type: gpu-driver
|
||||
version: v1beta1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: gpu-driver
|
||||
app.kubernetes.io/instance: gpu-driver-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: gpu-driver
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
apiVersion: app.k8s.io/v1beta1
|
||||
kind: Application
|
||||
metadata:
|
||||
labels:
|
||||
app: notebook-controller
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
kustomize.component: notebook-controller
|
||||
name: notebook-controller-notebook-controller
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
addOwnerRef: true
|
||||
componentKinds:
|
||||
- group: core
|
||||
kind: Service
|
||||
- group: apps
|
||||
kind: Deployment
|
||||
- group: core
|
||||
kind: ServiceAccount
|
||||
descriptor:
|
||||
description: Notebooks controller allows users to create a custom resource \"Notebook\"
|
||||
(jupyter notebook).
|
||||
keywords:
|
||||
- jupyter
|
||||
- notebook
|
||||
- notebook-controller
|
||||
- jupyterhub
|
||||
links:
|
||||
- description: About
|
||||
url: https://github.com/kubeflow/kubeflow/tree/master/components/notebook-controller
|
||||
maintainers:
|
||||
- email: lunkai@google.com
|
||||
name: Lun-kai Hsu
|
||||
owners:
|
||||
- email: lunkai@gogle.com
|
||||
name: Lun-kai Hsu
|
||||
type: notebook-controller
|
||||
version: v1beta1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
apiVersion: app.k8s.io/v1beta1
|
||||
kind: Application
|
||||
metadata:
|
||||
labels:
|
||||
kustomize.component: profiles
|
||||
name: profiles-profiles
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
addOwnerRef: true
|
||||
componentKinds:
|
||||
- group: apps
|
||||
kind: Deployment
|
||||
- group: core
|
||||
kind: ServiceAccount
|
||||
- group: core
|
||||
kind: Service
|
||||
- group: kubeflow.org
|
||||
kind: Profile
|
||||
descriptor:
|
||||
description: ""
|
||||
keywords:
|
||||
- profiles
|
||||
- kubeflow
|
||||
links:
|
||||
- description: profiles
|
||||
url: https://github.com/kubeflow/kubeflow/tree/master/components/profile-controller
|
||||
- description: kfam
|
||||
url: https://github.com/kubeflow/kubeflow/tree/master/components/access-management
|
||||
maintainers:
|
||||
- email: kunming@google.com
|
||||
name: Kunming Qu
|
||||
owners:
|
||||
- email: kunming@google.com
|
||||
name: Kunming Qu
|
||||
type: profiles
|
||||
version: v1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: profiles
|
||||
app.kubernetes.io/instance: profiles-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: profiles
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
apiVersion: app.k8s.io/v1beta1
|
||||
kind: Application
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-job-crds-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-job-crds
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
name: pytorch-job-crds
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
addOwnerRef: true
|
||||
componentKinds:
|
||||
- group: core
|
||||
kind: Service
|
||||
- group: apps
|
||||
kind: Deployment
|
||||
- group: core
|
||||
kind: ServiceAccount
|
||||
- group: kubeflow.org
|
||||
kind: PyTorchJob
|
||||
descriptor:
|
||||
description: Pytorch-job-crds contains the "PyTorchJob" custom resource definition.
|
||||
keywords:
|
||||
- pytorchjob
|
||||
- pytorch-operator
|
||||
- pytorch-training
|
||||
links:
|
||||
- description: About
|
||||
url: https://github.com/kubeflow/pytorch-operator
|
||||
- description: Docs
|
||||
url: https://www.kubeflow.org/docs/reference/pytorchjob/v1/pytorch/
|
||||
maintainers:
|
||||
- email: johnugeo@cisco.com
|
||||
name: Johnu George
|
||||
owners:
|
||||
- email: johnugeo@cisco.com
|
||||
name: Johnu George
|
||||
type: pytorch-job-crds
|
||||
version: v1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-job-crds-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-job-crds
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
apiVersion: app.k8s.io/v1beta1
|
||||
kind: Application
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
name: pytorch-operator
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
addOwnerRef: true
|
||||
componentKinds:
|
||||
- group: core
|
||||
kind: Service
|
||||
- group: apps
|
||||
kind: Deployment
|
||||
- group: core
|
||||
kind: ConfigMap
|
||||
- group: core
|
||||
kind: ServiceAccount
|
||||
- group: kubeflow.org
|
||||
kind: PyTorchJob
|
||||
descriptor:
|
||||
description: Pytorch-operator allows users to create and manage the "PyTorchJob"
|
||||
custom resource.
|
||||
keywords:
|
||||
- pytorchjob
|
||||
- pytorch-operator
|
||||
- pytorch-training
|
||||
links:
|
||||
- description: About
|
||||
url: https://github.com/kubeflow/pytorch-operator
|
||||
- description: Docs
|
||||
url: https://www.kubeflow.org/docs/reference/pytorchjob/v1/pytorch/
|
||||
maintainers:
|
||||
- email: johnugeo@cisco.com
|
||||
name: Johnu George
|
||||
owners:
|
||||
- email: johnugeo@cisco.com
|
||||
name: Johnu George
|
||||
type: pytorch-operator
|
||||
version: v1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
apiVersion: app.k8s.io/v1beta1
|
||||
kind: Application
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-crds-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-crds
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
name: tf-job-crds
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
addOwnerRef: true
|
||||
componentKinds:
|
||||
- group: core
|
||||
kind: Service
|
||||
- group: apps
|
||||
kind: Deployment
|
||||
- group: core
|
||||
kind: ServiceAccount
|
||||
- group: kubeflow.org
|
||||
kind: TFJob
|
||||
descriptor:
|
||||
description: Tf-job-crds contains the "TFJob" custom resource definition.
|
||||
keywords:
|
||||
- tfjob
|
||||
- tf-operator
|
||||
- tf-training
|
||||
links:
|
||||
- description: About
|
||||
url: https://github.com/kubeflow/tf-operator
|
||||
- description: Docs
|
||||
url: https://www.kubeflow.org/docs/reference/tfjob/v1/tensorflow/
|
||||
maintainers:
|
||||
- email: ricliu@google.com
|
||||
name: Richard Liu
|
||||
owners:
|
||||
- email: ricliu@google.com
|
||||
name: Richard Liu
|
||||
type: tf-job-crds
|
||||
version: v1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-crds-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-crds
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
apiVersion: app.k8s.io/v1beta1
|
||||
kind: Application
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
name: tf-job-operator
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
addOwnerRef: true
|
||||
componentKinds:
|
||||
- group: core
|
||||
kind: Service
|
||||
- group: apps
|
||||
kind: Deployment
|
||||
- group: core
|
||||
kind: ServiceAccount
|
||||
- group: kubeflow.org
|
||||
kind: TFJob
|
||||
descriptor:
|
||||
description: Tf-operator allows users to create and manage the "TFJob" custom
|
||||
resource.
|
||||
keywords:
|
||||
- tfjob
|
||||
- tf-operator
|
||||
- tf-training
|
||||
links:
|
||||
- description: About
|
||||
url: https://github.com/kubeflow/tf-operator
|
||||
- description: Docs
|
||||
url: https://www.kubeflow.org/docs/reference/tfjob/v1/tensorflow/
|
||||
maintainers:
|
||||
- email: ricliu@google.com
|
||||
name: Richard Liu
|
||||
owners:
|
||||
- email: ricliu@google.com
|
||||
name: Richard Liu
|
||||
type: tf-job-operator
|
||||
version: v1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
apiVersion: app.k8s.io/v1beta1
|
||||
kind: Application
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
name: webhook
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
addOwnerRef: true
|
||||
componentKinds:
|
||||
- group: core
|
||||
kind: ConfigMap
|
||||
- group: apps
|
||||
kind: StatefulSet
|
||||
- group: core
|
||||
kind: Service
|
||||
- group: core
|
||||
kind: ServiceAccount
|
||||
descriptor:
|
||||
description: injects volume, volume mounts, env vars into PodDefault
|
||||
keywords:
|
||||
- admission-webhook
|
||||
- kubeflow
|
||||
links:
|
||||
- description: About
|
||||
url: https://github.com/kubeflow/kubeflow/tree/master/components/admission-webhook
|
||||
maintainers: []
|
||||
owners: []
|
||||
type: bootstrap
|
||||
version: v1beta1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: bootstrap
|
||||
app.kubernetes.io/instance: webhook-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: webhook
|
||||
app.kubernetes.io/part-of: webhook
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
apiVersion: apps/v1
|
||||
kind: DaemonSet
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: gpu-driver
|
||||
app.kubernetes.io/instance: gpu-driver-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: gpu-driver
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
k8s-app: nvidia-driver-installer
|
||||
kustomize.component: gpu-driver
|
||||
name: nvidia-driver-installer
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: gpu-driver
|
||||
app.kubernetes.io/instance: gpu-driver-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: gpu-driver
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: gpu-driver
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: gpu-driver
|
||||
app.kubernetes.io/instance: gpu-driver-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: gpu-driver
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
k8s-app: nvidia-driver-installer
|
||||
kustomize.component: gpu-driver
|
||||
name: nvidia-driver-installer
|
||||
spec:
|
||||
affinity:
|
||||
nodeAffinity:
|
||||
requiredDuringSchedulingIgnoredDuringExecution:
|
||||
nodeSelectorTerms:
|
||||
- matchExpressions:
|
||||
- key: cloud.google.com/gke-accelerator
|
||||
operator: Exists
|
||||
containers:
|
||||
- image: gcr.io/google-containers/pause:2.0
|
||||
name: pause
|
||||
hostNetwork: true
|
||||
hostPID: true
|
||||
initContainers:
|
||||
- env:
|
||||
- name: NVIDIA_INSTALL_DIR_HOST
|
||||
value: /home/kubernetes/bin/nvidia
|
||||
- name: NVIDIA_INSTALL_DIR_CONTAINER
|
||||
value: /usr/local/nvidia
|
||||
- name: ROOT_MOUNT_DIR
|
||||
value: /root
|
||||
image: cos-nvidia-installer:fixed
|
||||
imagePullPolicy: Never
|
||||
name: nvidia-driver-installer
|
||||
resources:
|
||||
requests:
|
||||
cpu: 0.15
|
||||
securityContext:
|
||||
privileged: true
|
||||
volumeMounts:
|
||||
- mountPath: /usr/local/nvidia
|
||||
name: nvidia-install-dir-host
|
||||
- mountPath: /dev
|
||||
name: dev
|
||||
- mountPath: /root
|
||||
name: root-mount
|
||||
tolerations:
|
||||
- operator: Exists
|
||||
volumes:
|
||||
- hostPath:
|
||||
path: /dev
|
||||
name: dev
|
||||
- hostPath:
|
||||
path: /home/kubernetes/bin/nvidia
|
||||
name: nvidia-install-dir-host
|
||||
- hostPath:
|
||||
path: /
|
||||
name: root-mount
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: admission-webhook
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: admission-webhook
|
||||
name: admission-webhook-deployment
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: admission-webhook
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: admission-webhook
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
sidecar.istio.io/inject: "false"
|
||||
labels:
|
||||
app: admission-webhook
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: admission-webhook
|
||||
spec:
|
||||
containers:
|
||||
- args:
|
||||
- --tlsCertFile=/etc/webhook/certs/tls.crt
|
||||
- --tlsKeyFile=/etc/webhook/certs/tls.key
|
||||
image: gcr.io/kubeflow-images-public/admission-webhook:vmaster-gaf96e4e3
|
||||
name: admission-webhook
|
||||
volumeMounts:
|
||||
- mountPath: /etc/webhook/certs
|
||||
name: webhook-cert
|
||||
readOnly: true
|
||||
serviceAccountName: admission-webhook-service-account
|
||||
volumes:
|
||||
- name: webhook-cert
|
||||
secret:
|
||||
secretName: webhook-certs
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: centraldashboard
|
||||
app.kubernetes.io/component: centraldashboard
|
||||
app.kubernetes.io/instance: centraldashboard-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: centraldashboard
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
name: centraldashboard
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: centraldashboard
|
||||
app.kubernetes.io/component: centraldashboard
|
||||
app.kubernetes.io/instance: centraldashboard-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: centraldashboard
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
sidecar.istio.io/inject: "false"
|
||||
labels:
|
||||
app: centraldashboard
|
||||
app.kubernetes.io/component: centraldashboard
|
||||
app.kubernetes.io/instance: centraldashboard-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: centraldashboard
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: USERID_HEADER
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: userid-header
|
||||
name: kubeflow-config-4bkkg42k5m
|
||||
- name: USERID_PREFIX
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: userid-prefix
|
||||
name: kubeflow-config-4bkkg42k5m
|
||||
image: gcr.io/kubeflow-images-public/centraldashboard
|
||||
imagePullPolicy: IfNotPresent
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /healthz
|
||||
port: 8082
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 30
|
||||
name: centraldashboard
|
||||
ports:
|
||||
- containerPort: 8082
|
||||
protocol: TCP
|
||||
serviceAccountName: centraldashboard
|
||||
|
|
@ -0,0 +1,46 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: jupyter-web-app
|
||||
kustomize.component: jupyter-web-app
|
||||
name: jupyter-web-app-deployment
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: jupyter-web-app
|
||||
kustomize.component: jupyter-web-app
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
sidecar.istio.io/inject: "false"
|
||||
labels:
|
||||
app: jupyter-web-app
|
||||
kustomize.component: jupyter-web-app
|
||||
spec:
|
||||
containers:
|
||||
- env:
|
||||
- name: USERID_HEADER
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: userid-header
|
||||
name: kubeflow-config-4bkkg42k5m
|
||||
- name: USERID_PREFIX
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: userid-prefix
|
||||
name: kubeflow-config-4bkkg42k5m
|
||||
image: gcr.io/kubeflow-images-public/jupyter-web-app:vmaster-gd9be4b9e
|
||||
name: jupyter-web-app
|
||||
ports:
|
||||
- containerPort: 5000
|
||||
volumeMounts:
|
||||
- mountPath: /etc/config
|
||||
name: config-volume
|
||||
serviceAccountName: jupyter-web-app-service-account
|
||||
volumes:
|
||||
- configMap:
|
||||
name: jupyter-web-app-jupyter-web-app-config-5cc2fchd2g
|
||||
name: config-volume
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app: notebook-controller
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
kustomize.component: notebook-controller
|
||||
name: notebook-controller-deployment
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
selector:
|
||||
matchLabels:
|
||||
app: notebook-controller
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
kustomize.component: notebook-controller
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
sidecar.istio.io/inject: "false"
|
||||
labels:
|
||||
app: notebook-controller
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
kustomize.component: notebook-controller
|
||||
spec:
|
||||
containers:
|
||||
- command:
|
||||
- /manager
|
||||
env:
|
||||
- name: USE_ISTIO
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: USE_ISTIO
|
||||
name: notebook-controller-notebook-controller-config-h4d668t5tb
|
||||
- name: ISTIO_GATEWAY
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: ISTIO_GATEWAY
|
||||
name: notebook-controller-notebook-controller-config-h4d668t5tb
|
||||
image: gcr.io/kubeflow-images-public/notebook-controller:vmaster-gf39279c0
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /metrics
|
||||
port: 8080
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 30
|
||||
name: manager
|
||||
serviceAccountName: notebook-controller-service-account
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
kustomize.component: profiles
|
||||
name: profiles-deployment
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
kustomize.component: profiles
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
sidecar.istio.io/inject: "false"
|
||||
labels:
|
||||
kustomize.component: profiles
|
||||
spec:
|
||||
containers:
|
||||
- args: null
|
||||
command:
|
||||
- /manager
|
||||
- -userid-header
|
||||
- $(USERID_HEADER)
|
||||
- -userid-prefix
|
||||
- $(USERID_PREFIX)
|
||||
- -workload-identity
|
||||
- $(WORKLOAD_IDENTITY)
|
||||
env:
|
||||
- name: USERID_HEADER
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: userid-header
|
||||
name: kubeflow-config-4bkkg42k5m
|
||||
- name: USERID_PREFIX
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: userid-prefix
|
||||
name: kubeflow-config-4bkkg42k5m
|
||||
- name: WORKLOAD_IDENTITY
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: gcp-sa
|
||||
name: profiles-profiles-config-4mgcmtgk6t
|
||||
image: gcr.io/kubeflow-images-public/profile-controller:vmaster-g34aa47c2
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /metrics
|
||||
port: 8080
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 30
|
||||
name: manager
|
||||
ports:
|
||||
- containerPort: 8080
|
||||
name: manager-http
|
||||
protocol: TCP
|
||||
- args: null
|
||||
command:
|
||||
- /access-management
|
||||
- -cluster-admin
|
||||
- $(CLUSTER_ADMIN)
|
||||
- -userid-prefix
|
||||
- $(USERID_PREFIX)
|
||||
env:
|
||||
- name: USERID_HEADER
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: userid-header
|
||||
name: kubeflow-config-4bkkg42k5m
|
||||
- name: USERID_PREFIX
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: userid-prefix
|
||||
name: kubeflow-config-4bkkg42k5m
|
||||
- name: CLUSTER_ADMIN
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
key: admin
|
||||
name: profiles-profiles-config-4mgcmtgk6t
|
||||
image: gcr.io/kubeflow-images-public/kfam:vmaster-gf3e09203
|
||||
imagePullPolicy: Always
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: /metrics
|
||||
port: 8081
|
||||
initialDelaySeconds: 30
|
||||
periodSeconds: 30
|
||||
name: kfam
|
||||
ports:
|
||||
- containerPort: 8081
|
||||
name: kfam-http
|
||||
protocol: TCP
|
||||
serviceAccountName: profiles-controller-service-account
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: pytorch-operator
|
||||
name: pytorch-operator
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: pytorch-operator
|
||||
name: pytorch-operator
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
sidecar.istio.io/inject: "false"
|
||||
labels:
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: pytorch-operator
|
||||
name: pytorch-operator
|
||||
spec:
|
||||
containers:
|
||||
- command:
|
||||
- /pytorch-operator.v1
|
||||
- --alsologtostderr
|
||||
- -v=1
|
||||
- --monitoring-port=8443
|
||||
env:
|
||||
- name: MY_POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: MY_POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
image: gcr.io/kubeflow-images-public/pytorch-operator:vmaster-g047cf0f
|
||||
name: pytorch-operator
|
||||
serviceAccountName: pytorch-operator
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: tf-job-operator
|
||||
name: tf-job-operator
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
replicas: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: tf-job-operator
|
||||
template:
|
||||
metadata:
|
||||
annotations:
|
||||
sidecar.istio.io/inject: "false"
|
||||
labels:
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: tf-job-operator
|
||||
name: tf-job-operator
|
||||
spec:
|
||||
containers:
|
||||
- args:
|
||||
- --alsologtostderr
|
||||
- -v=1
|
||||
- --monitoring-port=8443
|
||||
env:
|
||||
- name: MY_POD_NAMESPACE
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.namespace
|
||||
- name: MY_POD_NAME
|
||||
valueFrom:
|
||||
fieldRef:
|
||||
fieldPath: metadata.name
|
||||
image: gcr.io/kubeflow-images-public/tf_operator:vmaster-gd455e6ef
|
||||
name: tf-job-operator
|
||||
serviceAccountName: tf-job-operator
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
apiVersion: cert-manager.io/v1alpha2
|
||||
kind: Certificate
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
name: admission-webhook-cert
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
commonName: admission-webhook-service.kubeflow.svc
|
||||
dnsNames:
|
||||
- admission-webhook-service.kubeflow.svc
|
||||
- admission-webhook-service.kubeflow.svc.cluster.local
|
||||
isCA: true
|
||||
issuerRef:
|
||||
kind: ClusterIssuer
|
||||
name: kubeflow-self-signing-issuer
|
||||
secretName: webhook-certs
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
apiVersion: networking.istio.io/v1alpha3
|
||||
kind: VirtualService
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: centraldashboard
|
||||
app.kubernetes.io/instance: centraldashboard-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: centraldashboard
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
name: centraldashboard
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
gateways:
|
||||
- kubeflow-gateway
|
||||
hosts:
|
||||
- '*'
|
||||
http:
|
||||
- match:
|
||||
- uri:
|
||||
prefix: /
|
||||
rewrite:
|
||||
uri: /
|
||||
route:
|
||||
- destination:
|
||||
host: centraldashboard.kubeflow.svc.cluster.local
|
||||
port:
|
||||
number: 80
|
||||
|
|
@ -23,6 +23,6 @@ spec:
|
|||
uri: /
|
||||
route:
|
||||
- destination:
|
||||
host: jupyter-web-app-service.$(namespace).svc.$(clusterDomain)
|
||||
host: jupyter-web-app-service.kubeflow.svc.cluster.local
|
||||
port:
|
||||
number: 80
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
apiVersion: networking.istio.io/v1alpha3
|
||||
kind: VirtualService
|
||||
metadata:
|
||||
labels:
|
||||
kustomize.component: profiles
|
||||
name: profiles-kfam
|
||||
namespace: kubeflow
|
||||
spec:
|
||||
gateways:
|
||||
- kubeflow-gateway
|
||||
hosts:
|
||||
- '*'
|
||||
http:
|
||||
- headers:
|
||||
request:
|
||||
add:
|
||||
x-forwarded-prefix: /kfam
|
||||
match:
|
||||
- uri:
|
||||
prefix: /kfam/
|
||||
rewrite:
|
||||
uri: /kfam/
|
||||
route:
|
||||
- destination:
|
||||
host: profiles-kfam.kubeflow.svc.cluster.local
|
||||
port:
|
||||
number: 8081
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: admission-webhook
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: admission-webhook
|
||||
name: admission-webhook-cluster-role
|
||||
rules:
|
||||
- apiGroups:
|
||||
- kubeflow.org
|
||||
resources:
|
||||
- poddefaults
|
||||
verbs:
|
||||
- get
|
||||
- watch
|
||||
- list
|
||||
- update
|
||||
- create
|
||||
- patch
|
||||
- delete
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-poddefaults-admin: "true"
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: admission-webhook
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: admission-webhook
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-admin: "true"
|
||||
name: admission-webhook-kubeflow-poddefaults-admin
|
||||
rules: []
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-poddefaults-edit: "true"
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: admission-webhook
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: admission-webhook
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-edit: "true"
|
||||
name: admission-webhook-kubeflow-poddefaults-edit
|
||||
rules: []
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: admission-webhook
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: admission-webhook
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-poddefaults-admin: "true"
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-poddefaults-edit: "true"
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-view: "true"
|
||||
name: admission-webhook-kubeflow-poddefaults-view
|
||||
rules:
|
||||
- apiGroups:
|
||||
- kubeflow.org
|
||||
resources:
|
||||
- poddefaults
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: centraldashboard
|
||||
app.kubernetes.io/component: centraldashboard
|
||||
app.kubernetes.io/instance: centraldashboard-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: centraldashboard
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
name: centraldashboard
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
- namespaces
|
||||
- nodes
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-pytorchjobs-admin: "true"
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: pytorch-operator
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-admin: "true"
|
||||
name: kubeflow-pytorchjobs-admin
|
||||
rules: []
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: pytorch-operator
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-edit: "true"
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-pytorchjobs-admin: "true"
|
||||
name: kubeflow-pytorchjobs-edit
|
||||
rules:
|
||||
- apiGroups:
|
||||
- kubeflow.org
|
||||
resources:
|
||||
- pytorchjobs
|
||||
- pytorchjobs/status
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- delete
|
||||
- deletecollection
|
||||
- patch
|
||||
- update
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: pytorch-operator
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-view: "true"
|
||||
name: kubeflow-pytorchjobs-view
|
||||
rules:
|
||||
- apiGroups:
|
||||
- kubeflow.org
|
||||
resources:
|
||||
- pytorchjobs
|
||||
- pytorchjobs/status
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-tfjobs-admin: "true"
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: tf-job-operator
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-admin: "true"
|
||||
name: kubeflow-tfjobs-admin
|
||||
rules: []
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: tf-job-operator
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-edit: "true"
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-tfjobs-admin: "true"
|
||||
name: kubeflow-tfjobs-edit
|
||||
rules:
|
||||
- apiGroups:
|
||||
- kubeflow.org
|
||||
resources:
|
||||
- tfjobs
|
||||
- tfjobs/status
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- delete
|
||||
- deletecollection
|
||||
- patch
|
||||
- update
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: tf-job-operator
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-view: "true"
|
||||
name: kubeflow-tfjobs-view
|
||||
rules:
|
||||
- apiGroups:
|
||||
- kubeflow.org
|
||||
resources:
|
||||
- tfjobs
|
||||
- tfjobs/status
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
aggregationRule:
|
||||
clusterRoleSelectors:
|
||||
- matchLabels:
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-notebooks-admin: "true"
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: notebook-controller
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
kustomize.component: notebook-controller
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-admin: "true"
|
||||
name: notebook-controller-kubeflow-notebooks-admin
|
||||
rules: []
|
||||
|
|
@ -0,0 +1,30 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: notebook-controller
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
kustomize.component: notebook-controller
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-edit: "true"
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-notebooks-admin: "true"
|
||||
name: notebook-controller-kubeflow-notebooks-edit
|
||||
rules:
|
||||
- apiGroups:
|
||||
- kubeflow.org
|
||||
resources:
|
||||
- notebooks
|
||||
- notebooks/status
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- delete
|
||||
- deletecollection
|
||||
- patch
|
||||
- update
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: notebook-controller
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
kustomize.component: notebook-controller
|
||||
rbac.authorization.kubeflow.org/aggregate-to-kubeflow-view: "true"
|
||||
name: notebook-controller-kubeflow-notebooks-view
|
||||
rules:
|
||||
- apiGroups:
|
||||
- kubeflow.org
|
||||
resources:
|
||||
- notebooks
|
||||
- notebooks/status
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: notebook-controller
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
kustomize.component: notebook-controller
|
||||
name: notebook-controller-role
|
||||
rules:
|
||||
- apiGroups:
|
||||
- apps
|
||||
resources:
|
||||
- statefulsets
|
||||
- deployments
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- services
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- events
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- watch
|
||||
- create
|
||||
- apiGroups:
|
||||
- kubeflow.org
|
||||
resources:
|
||||
- notebooks
|
||||
- notebooks/status
|
||||
- notebooks/finalizers
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- networking.istio.io
|
||||
resources:
|
||||
- virtualservices
|
||||
verbs:
|
||||
- '*'
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app: admission-webhook
|
||||
app.kubernetes.io/component: poddefaults
|
||||
app.kubernetes.io/instance: poddefaults-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: poddefaults
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: admission-webhook
|
||||
name: admission-webhook-cluster-role-binding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: admission-webhook-cluster-role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: admission-webhook-service-account
|
||||
namespace: kubeflow
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app: centraldashboard
|
||||
app.kubernetes.io/component: centraldashboard
|
||||
app.kubernetes.io/instance: centraldashboard-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: centraldashboard
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
name: centraldashboard
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: centraldashboard
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: centraldashboard
|
||||
namespace: kubeflow
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app: notebook-controller
|
||||
app.kubernetes.io/component: notebook-controller
|
||||
app.kubernetes.io/instance: notebook-controller-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: notebook-controller
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
kustomize.component: notebook-controller
|
||||
name: notebook-controller-role-binding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: notebook-controller-role
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: notebook-controller-service-account
|
||||
namespace: kubeflow
|
||||
|
|
@ -2,13 +2,13 @@ apiVersion: rbac.authorization.k8s.io/v1
|
|||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app: centraldashboard
|
||||
name: centraldashboard
|
||||
kustomize.component: profiles
|
||||
name: profiles-cluster-role-binding
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: centraldashboard
|
||||
name: cluster-admin
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: centraldashboard
|
||||
namespace: $(namespace)
|
||||
name: profiles-controller-service-account
|
||||
namespace: kubeflow
|
||||
|
|
@ -3,11 +3,18 @@ kind: Role
|
|||
metadata:
|
||||
labels:
|
||||
app: centraldashboard
|
||||
app.kubernetes.io/component: centraldashboard
|
||||
app.kubernetes.io/instance: centraldashboard-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: centraldashboard
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
name: centraldashboard
|
||||
namespace: kubeflow
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
- "app.k8s.io"
|
||||
- app.k8s.io
|
||||
resources:
|
||||
- applications
|
||||
- pods
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: RoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app: centraldashboard
|
||||
app.kubernetes.io/component: centraldashboard
|
||||
app.kubernetes.io/instance: centraldashboard-v1.0.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: centraldashboard
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v1.0.0
|
||||
name: centraldashboard
|
||||
namespace: kubeflow
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: Role
|
||||
name: centraldashboard
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: centraldashboard
|
||||
namespace: kubeflow
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: pytorch-operator
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: pytorch-operator
|
||||
name: pytorch-operator
|
||||
rules:
|
||||
- apiGroups:
|
||||
- kubeflow.org
|
||||
resources:
|
||||
- pytorchjobs
|
||||
- pytorchjobs/status
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- apiextensions.k8s.io
|
||||
resources:
|
||||
- customresourcedefinitions
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
- services
|
||||
- endpoints
|
||||
- events
|
||||
verbs:
|
||||
- '*'
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
labels:
|
||||
app: tf-job-operator
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: tf-job-operator
|
||||
name: tf-job-operator
|
||||
rules:
|
||||
- apiGroups:
|
||||
- kubeflow.org
|
||||
resources:
|
||||
- tfjobs
|
||||
- tfjobs/status
|
||||
- tfjobs/finalizers
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- apiextensions.k8s.io
|
||||
resources:
|
||||
- customresourcedefinitions
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- pods
|
||||
- services
|
||||
- endpoints
|
||||
- events
|
||||
verbs:
|
||||
- '*'
|
||||
- apiGroups:
|
||||
- apps
|
||||
- extensions
|
||||
resources:
|
||||
- deployments
|
||||
verbs:
|
||||
- '*'
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app: pytorch-operator
|
||||
app.kubernetes.io/component: pytorch
|
||||
app.kubernetes.io/instance: pytorch-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: pytorch-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: pytorch-operator
|
||||
name: pytorch-operator
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: pytorch-operator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: pytorch-operator
|
||||
namespace: kubeflow
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
apiVersion: rbac.authorization.k8s.io/v1beta1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
labels:
|
||||
app: tf-job-operator
|
||||
app.kubernetes.io/component: tfjob
|
||||
app.kubernetes.io/instance: tf-job-operator-v0.7.0
|
||||
app.kubernetes.io/managed-by: kfctl
|
||||
app.kubernetes.io/name: tf-job-operator
|
||||
app.kubernetes.io/part-of: kubeflow
|
||||
app.kubernetes.io/version: v0.7.0
|
||||
kustomize.component: tf-job-operator
|
||||
name: tf-job-operator
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: tf-job-operator
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: tf-job-operator
|
||||
namespace: kubeflow
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue