Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat central-dashboard upgrade 1.4.0 #94

Merged
merged 107 commits into from
Sep 2, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
9c63a3b
releasing: Add WG-Notebooks leads to release owners (#5777)
yanniszark Mar 26, 2021
096d317
Specify commonLabels for tensorboard-controller (#5780)
davidspek Mar 26, 2021
98fc2dc
Remove jlewi as an approver (#5786)
jlewi Mar 26, 2021
ebc0c4f
Update notebook server base images (#5804)
davidspek Apr 6, 2021
3dbc352
Update second layer docker images to new tags and some python deps (#…
davidspek Apr 8, 2021
e8250b9
Update image tags and python packages in pytorch and tensorflow full …
davidspek Apr 8, 2021
43e03d4
Add CI format checks for the Jupyter web app (#5811)
kimwnasptd Apr 8, 2021
923a7c8
initial notebook server images README.md (#5818)
thesuperzapper Apr 8, 2021
52b724b
tensorboard-controller: Fix scheduling unbound PVCs (#5819)
elikatsis Apr 9, 2021
8a12599
Fix profile-controller CRD pruning issue (#5822)
yanniszark Apr 9, 2021
d73e468
Remove Logo Trademarks from the Jupyter Web App and make logos config…
davidspek Apr 13, 2021
2ed54bc
Make notebook limits configurable with a multiplication factor (#5815)
davidspek Apr 13, 2021
f757f4e
notebook-servers: Update JupyterLab and add Git Extension (#5846)
davidspek Apr 27, 2021
6d6b78b
chore: Add comment to reference RStudio license. (#5884)
zijianjoy May 6, 2021
770435f
CI/CD: add kustomize build tests (#5919)
davidspek May 16, 2021
2d845ee
Add CI format checks for the Volumes web app (#5820)
kimwnasptd May 17, 2021
18264c8
tensorboard-controller: fix binding issue (#5925)
davidspek May 25, 2021
e21819c
JWA: Don't override assets with logos ConfigMap (#5942)
kimwnasptd May 31, 2021
5487b16
Make it possible to add Namespaced menu items (#5871)
toshi-k May 31, 2021
ab0a20f
FIX The number of gpu must be set as string in Kubernetes/Openshift (…
juliusvonkohout Jun 2, 2021
054be47
feat(jupyter): add fonts as assets to service (#5691)
saffaalvi Jun 2, 2021
6c41e72
Update base notebook for Renovate compatibility (#5955)
davidspek Jun 3, 2021
434b10a
Update jupyter, rstudio and vs code notebook images + allow rstudio i…
davidspek Jun 3, 2021
189b89d
Make menu bar scrollable again (#5964)
toshi-k Jun 3, 2021
e6af287
[fix]: Make jupyter-web-app parse workspace volume MountPath (#5952)
anencore94 Jun 3, 2021
d1d6d64
Remove the f-strings in the Jupyter web app's backend (#5680)
davidspek Jun 3, 2021
9b60b94
Notebook servers: Add explanation about kernel not connecting (#5920)
davidspek Jun 3, 2021
e5c3c57
fix(profile-controller): KNative probes (#5848)
Subreptivus Jun 9, 2021
977965b
feat(jupyter): Support hiding image registry/tag (#5681)
saffaalvi Jun 9, 2021
e9324d3
Update dockerfiles and make compatible with Renovate (#5968)
davidspek Jun 17, 2021
d67b39c
Create OWNERS file in .github folder for Renovate config + workflows …
davidspek Jun 17, 2021
f573b22
Extend deadline for PyTorch image building (#5991)
davidspek Jun 18, 2021
c7ed4a3
Allow user to add/delete labels to user namespace using ConfigMap. Fi…
zijianjoy Jun 18, 2021
6e4ad3b
Update last batch of notebook server Dockerfiles (#5997)
davidspek Jun 21, 2021
44eb4fe
Update spawner_ui_config.yaml with new tags (#5998)
davidspek Jun 21, 2021
7a674c1
CRUD web apps: i18n (#5880)
wg102 Jun 21, 2021
d23044d
Remove deprecated JWA (#5959)
kimwnasptd Jun 21, 2021
f7671f7
Sync spawner yaml from source to manifests (#5999)
davidspek Jun 21, 2021
36e8528
notebooks: Add additional PGP server for RStudio package validation (…
davidspek Jun 23, 2021
1a2780c
Add support for ServiceAccountName and AutomountServiceAccountName to…
hopper-signifyd Jul 5, 2021
66bf469
WA: Use relative paths for fetching translation files (#6034)
kimwnasptd Jul 7, 2021
9d352d1
Update CRUD web apps from Angular 8 to Angular 12 (#6004)
davidspek Jul 21, 2021
bf406cf
lists roadmap in reverse chronological order (#6055)
mkbhanda Jul 27, 2021
5bf005f
Correct missing predicates in controller watches. Fixes #5326 (#5873)
filintod Aug 11, 2021
da90b7e
fix(web-apps): Use Angular's i18n proposed implementation (#6065)
kimwnasptd Aug 12, 2021
6c8b78e
[CentralDashboard] Add entry for Models web app (#6085)
kimwnasptd Aug 12, 2021
82f6228
Interact with the namespace selector (#5995)
toshi-k Aug 12, 2021
fe3f2f7
fix(jwa): Fix limits calculation when limitFactor is none (#6058)
kimwnasptd Aug 13, 2021
c4302fe
Update image tags in 1.4 release branch (#6096)
kimwnasptd Aug 18, 2021
dc77374
Fix NaN in Kubeflow Notebooks (#6092)
kimwnasptd Aug 16, 2021
c9c54e3
add section for 1.4; small updates for 1.3 section (#6082)
kimwnasptd Aug 18, 2021
e6ee21d
Remove virtualservice timeout to prevent websocket disconnect (#6126)
kimwnasptd Sep 9, 2021
2528926
fix(admission-webhook): attach namespace to pod request if pod does n…
kimwnasptd Sep 9, 2021
70f9478
Cherry picks for RC 1
kimwnasptd Sep 13, 2021
40a8c86
Cherry-pick: Notebooks base gpg fix (#6139)
kimwnasptd Sep 14, 2021
29ef970
Update images for RC 1 (#6137)
kimwnasptd Sep 14, 2021
1e9535e
Final preparations for 1.4 (#6177)
kimwnasptd Oct 8, 2021
291f19b
Automated cherry pick of #4751: Add AWS IAM Role for ServiceAccount s…
Jeffwan Feb 28, 2020
461b408
feat(jupyter): add ci
Jun 19, 2020
c192bc6
Update build.yml
sylus Jun 22, 2020
64bfa29
Update build.yml
sylus Jun 22, 2020
37fba80
feat(jupyter): Update GPU options
zachomedia Jun 26, 2020
8f2bb56
fix(access-management): Add patch from kubeflow/kubeflow!5202
Aug 14, 2020
381a491
fix(npm): vulnerabilities
saffaalvi Aug 28, 2020
32565cc
fix(profile): Update webpack.config.js for kf profiles
saffaalvi Aug 31, 2020
f83ecf5
ci: Don't use upstream issue triage
brendangadd Aug 31, 2020
3a57c17
ci: Stop building jupyter-web-app component
brendangadd Aug 31, 2020
8b92ea1
ci: Build/push centraldashboard component
brendangadd Aug 31, 2020
6a57743
chore(fonts): move into service
saffaalvi Sep 1, 2020
9aa3777
fix: rearrange dashboard cards
saffaalvi Sep 23, 2020
61e287a
fix: failing tests
Sep 28, 2020
390e9e6
fix: Fix broken container scan
brendangadd Oct 29, 2020
d6babdd
fix: Security vulnerabilities
brendangadd Oct 29, 2020
d453e8f
fix: add 'ws' module to package.json
saffaalvi Oct 30, 2020
0231f29
wip(centraldashboard): Manage multiple profiles
Sep 21, 2020
c73a3d6
feat: Manage multiple profiles
Oct 1, 2020
1105915
feat(centraldashboard):Official Languages
Oct 26, 2020
94bb3b2
fix(centraldashboard): i18n english text and french youtube link
Nov 25, 2020
c8d8c48
Automated cherry pick of #5404: Remove metadata link from centraldash…
Jeffwan Nov 17, 2020
795aca3
fix(jupyter): resolve build error
frazs Jun 19, 2020
c6b99ad
feat(jupyter): add ci
Jun 19, 2020
9e503cd
Update build.yml
sylus Jun 22, 2020
8ed6dc4
Update build.yml
sylus Jun 22, 2020
92810a7
ci: Stop building jupyter-web-app component
brendangadd Aug 31, 2020
559aa53
fix: rearrange dashboard cards
saffaalvi Sep 23, 2020
08ca1f7
fix(centraldashboard): remove config map usage + artifact menu and qu…
Dec 10, 2020
5d2b022
feat(pipelines): Fix pipelines on dashboard
zachomedia Dec 10, 2020
9f331aa
fix(centraldashboard): fix pipeline tests
Dec 11, 2020
b51a6e2
fix(centraldashboard): Remove configmap call + fix conflicts
Dec 11, 2020
04f2a18
feat(centraldashboard): Add i18n to dashboard links
saffaalvi Jan 14, 2021
567e5d9
cherry pick missing commits into v1.3-branch (#5836)
thesuperzapper Apr 14, 2021
31c125b
Release v1.3.0-rc.1 for kubeflow/kubeflow (#5838)
yanniszark Apr 14, 2021
56f19a1
Cherry-picks for 1.3.1 (#6007)
kimwnasptd Jun 23, 2021
89d8ec6
use eslint versions from upstream v1.3 branch
skyeturriff Jan 31, 2022
4dc367b
fix eslint errors in pipelines.js
skyeturriff Jan 31, 2022
15f5cc6
fix: test with namespace for pipeline-cards
wg102 Jan 31, 2022
be3753e
fix: wrong text for test
wg102 Jan 31, 2022
20a03c1
centraldashboard: Update node and use latest-stable (#6260)
kimwnasptd Jan 3, 2022
f217a87
eslint auto fixes
skyeturriff Feb 2, 2022
4ae1520
fix(vuln): Update base image
Jose-Matsuda Feb 2, 2022
1356c53
feat(ci): add notebook-controller workflow
Apr 25, 2022
1f0aac7
fix(ci): update notebook-controller ci (#86)
jumana-s Apr 25, 2022
6b492f8
fix(ci): push to acr once (#87)
jumana-s Apr 28, 2022
90e88bb
feat(notebook-controller): add readiness probe (#85)
jumana-s Apr 29, 2022
5e1e175
fix(npm): fix vulnerabilities
Jul 19, 2022
51a69b8
install(packages): overcome CVEs (#90)
bryanpaget Jul 22, 2022
8c30e2c
Merge branch 'stc-master' into feat-upgrade-1.4.0
rohank07 Sep 1, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
approvers:
- ioandr
- DavidSpek
- elikatsis
- kimwnasptd
- thesuperzapper
- StefanoFioravanzo
reviewers:
- avdaredevil
- prodonjs
- vkoukis
- thesuperzapper
- yanniszark
1 change: 0 additions & 1 deletion OWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,4 @@
# Approvers listed here is just a backup in case someone is out.
approvers:
- Bobgy
- jlewi
- pdmack
295 changes: 161 additions & 134 deletions ROADMAP.md

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion components/access-management/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG GOLANG_VERSION=1.12.4
ARG GOLANG_VERSION=1.17
FROM golang:${GOLANG_VERSION} as builder

WORKDIR /workspace
Expand Down
49 changes: 48 additions & 1 deletion components/access-management/go.mod
Original file line number Diff line number Diff line change
@@ -1,21 +1,68 @@
module github.com/kubeflow/kubeflow/components/access-management

go 1.12
go 1.17

require (
cloud.google.com/go v0.38.0 // indirect
github.com/PuerkitoBio/purell v1.1.1 // indirect
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef // indirect
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 // indirect
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/go-logr/logr v0.1.0 // indirect
github.com/go-openapi/analysis v0.19.10 // indirect
github.com/go-openapi/errors v0.20.1
github.com/go-openapi/jsonpointer v0.19.3 // indirect
github.com/go-openapi/jsonreference v0.19.3 // indirect
github.com/go-openapi/loads v0.19.5 // indirect
github.com/go-openapi/runtime v0.19.31
github.com/go-openapi/spec v0.19.8 // indirect
github.com/go-openapi/strfmt v0.20.2
github.com/go-openapi/swag v0.19.15
github.com/go-openapi/validate v0.19.10 // indirect
github.com/go-stack/stack v1.8.0 // indirect
github.com/gogo/protobuf v1.3.1 // indirect
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect
github.com/golang/protobuf v1.3.5 // indirect
github.com/google/btree v1.0.0 // indirect
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf // indirect
github.com/googleapis/gnostic v0.2.0 // indirect
github.com/gorilla/mux v1.7.2
github.com/gregjones/httpcache v0.0.0-20190212212710-3befbb6ad0cc // indirect
github.com/hashicorp/golang-lru v0.5.1 // indirect
github.com/imdario/mergo v0.3.7 // indirect
github.com/josharian/intern v1.0.0 // indirect
github.com/json-iterator/go v1.1.6 // indirect
github.com/konsorten/go-windows-terminal-sequences v1.0.2 // indirect
github.com/kubeflow/kubeflow/components/profile-controller v0.0.0-20191008230951-321c1d3313b6
github.com/mailru/easyjson v0.7.6 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
github.com/mitchellh/mapstructure v1.3.3 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.1 // indirect
github.com/oklog/ulid v1.3.1 // indirect
github.com/opentracing/opentracing-go v1.2.0 // indirect
github.com/peterbourgon/diskv v2.0.1+incompatible // indirect
github.com/prometheus/client_golang v0.9.2
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4 // indirect
github.com/prometheus/common v0.2.0 // indirect
github.com/prometheus/procfs v0.0.0-20190219184716-e4d4a2206da0 // indirect
github.com/sirupsen/logrus v1.4.2
github.com/spf13/pflag v1.0.3 // indirect
go.mongodb.org/mongo-driver v1.5.1 // indirect
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073 // indirect
golang.org/x/net v0.0.0-20200602114024-627f9648deb9 // indirect
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 // indirect
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd // indirect
golang.org/x/text v0.3.5 // indirect
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
google.golang.org/appengine v1.5.0 // indirect
gopkg.in/inf.v0 v0.9.1 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
istio.io/api v0.0.0-20201125194658-3cee6a1d3ab4
istio.io/client-go v1.8.0
istio.io/gogo-genproto v0.0.0-20190930162913-45029607206a // indirect
k8s.io/api v0.18.1
k8s.io/apimachinery v0.18.1
k8s.io/client-go v11.0.1-0.20190409021438-1a26190bd76a+incompatible
Expand Down
249 changes: 225 additions & 24 deletions components/access-management/go.sum

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions components/access-management/kfam/api_default.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import (
"k8s.io/client-go/informers"
clientset "k8s.io/client-go/kubernetes"
"k8s.io/client-go/kubernetes/scheme"
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
"k8s.io/client-go/plugin/pkg/client/auth/gcp"
"k8s.io/client-go/rest"
"sigs.k8s.io/controller-runtime/pkg/client/config"
)
Expand Down Expand Up @@ -68,7 +68,7 @@ func NewKfamClient(userIdHeader string, userIdPrefix string, clusterAdmin string
return nil, err
}

informerFactory := informers.NewSharedInformerFactory(kubeClient, time.Minute*60)
informerFactory := informers.NewSharedInformerFactory(kubeClient, time.Minute * 60)
roleBindingLister := informerFactory.Rbac().V1().RoleBindings().Lister()
stop := make(chan struct{})
informerFactory.Start(stop)
Expand Down
2 changes: 2 additions & 0 deletions components/access-management/kfam/bindings.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ package kfam

import (
"fmt"
"k8s.io/apimachinery/pkg/labels"
v1 "k8s.io/client-go/listers/rbac/v1"
"net/url"
"regexp"
"strings"
Expand Down
2 changes: 1 addition & 1 deletion components/admission-webhook/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build the manager binary
ARG GOLANG_VERSION=1.12
ARG GOLANG_VERSION=1.17
FROM golang:${GOLANG_VERSION} as builder

# Copy in the go src
Expand Down
8 changes: 5 additions & 3 deletions components/admission-webhook/go.mod
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module github.com/kubeflow/kubeflow/components/admission-webhook

go 1.12
go 1.17

replace (
k8s.io/api => k8s.io/api v0.0.0-20190222213804-5cb15d344471
Expand All @@ -9,11 +9,11 @@ replace (
)

require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/ghodss/yaml v1.0.0 // indirect
github.com/go-logr/logr v0.1.0 // indirect
github.com/go-logr/zapr v0.1.1 // indirect
github.com/gogo/protobuf v1.2.1 // indirect
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
github.com/golang/protobuf v1.3.1 // indirect
github.com/google/btree v1.0.0 // indirect
github.com/google/gofuzz v1.0.0 // indirect
Expand All @@ -37,7 +37,8 @@ require (
golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480 // indirect
golang.org/x/net v0.0.0-20190415214537-1da14a5a36f2
golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a // indirect
golang.org/x/sys v0.0.0-20190418153312-f0ce4c0180be // indirect
golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872 // indirect
golang.org/x/text v0.3.2 // indirect
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
google.golang.org/appengine v1.5.0 // indirect
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 // indirect
Expand All @@ -51,4 +52,5 @@ require (
k8s.io/utils v0.0.0-20190308190857-21c4ce38f2a7 // indirect
sigs.k8s.io/controller-runtime v0.1.10
sigs.k8s.io/testing_frameworks v0.1.1 // indirect
sigs.k8s.io/yaml v1.1.0 // indirect
)
16 changes: 5 additions & 11 deletions components/admission-webhook/go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ github.com/docker/docker v0.7.3-0.20190327010347-be7ac8be2ae0/go.mod h1:eEKB0N0r
github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
github.com/evanphx/json-patch v0.0.0-20190203023257-5858425f7550/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
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/ghodss/yaml v0.0.0-20180820084758-c7ce16629ff4/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk=
Expand Down Expand Up @@ -54,15 +53,13 @@ github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+
github.com/gogo/protobuf v0.0.0-20171007142547-342cbe0a0415/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/golang/glog v0.0.0-20160126235308-23def4e6c14b h1:VKtxabqXZkF25pY9ekfRL6a582T4P37/31XEstQ5p58=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/google/btree v1.0.0 h1:0udJVsspx3VBr5FwtLhQQtuAsVc79tTq0ocGIPAU6qo=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf h1:+RRA9JqSOZFfKrOeqr2z77+8R2RKyh8PG66dcu1V0ck=
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
Expand Down Expand Up @@ -93,7 +90,6 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
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/kubeflow/kubeflow v0.5.0 h1:iyNYf32He1FyWy9GmzPYZS/QcWsyL4xbBucDUGrwQC4=
github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mattbaird/jsonpatch v0.0.0-20171005235357-81af80346b1a h1:+J2gw7Bw77w/fbK7wnNJJDKmw1IbWft2Ul5BzrG1Qm8=
github.com/mattbaird/jsonpatch v0.0.0-20171005235357-81af80346b1a/go.mod h1:M1qoD/MqPgTZIk0EWKB38wE28ACRfVcn+cU08jyArI0=
Expand Down Expand Up @@ -152,7 +148,6 @@ go.uber.org/zap v1.9.1 h1:XCJQEf3W6eZaVwhRBof6ImoYGJSITeKWsyeh3HFu/5o=
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181025213731-e84da0312774/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2 h1:VklqNMn3ovrHsnt90PveolxSbWFaJdECFbxSq0Mqo2M=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480 h1:O5YqonU5IWby+w98jVUG9h7zlCWCcH4RHyPVReBmhzk=
golang.org/x/crypto v0.0.0-20190418165655-df01cb2cc480/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
Expand All @@ -166,7 +161,6 @@ golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73r
golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190206173232-65e2d4e15006/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a h1:oWX7TPOiFAMXLq8o0ikBYfCJVlRHBcsciT5bXOrH628=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190415214537-1da14a5a36f2 h1:iC0Y6EDq+rhnAePxGvJs2kzUAYcwESqdcGRPzEUfzTU=
golang.org/x/net v0.0.0-20190415214537-1da14a5a36f2/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
Expand All @@ -177,18 +171,18 @@ golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJ
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a h1:1BGLXjeY4akVXGgbC9HugT3Jv3hCI0z56oJR5vAMgBU=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313 h1:pczuHS43Cp2ktBEEmLwScxgjWsBSzdaQiKzUyf3DTTc=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190418153312-f0ce4c0180be h1:mI+jhqkn68ybP0ORJqunXn+fq+Eeb4hHKqLQcFICjAc=
golang.org/x/sys v0.0.0-20190418153312-f0ce4c0180be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872 h1:cGjJzUd8RgBw428LXP65YXni0aiGNA4Bl+ls8SmLOm8=
golang.org/x/sys v0.0.0-20190429190828-d89cdac9e872/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 h1:SvFZT6jyqRaOeXpc5h/JSfZenJ2O330aBsf7JfSUXmQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/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-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
Expand Down
13 changes: 12 additions & 1 deletion components/admission-webhook/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ func filterPodDefaults(list []settingsapi.PodDefault, pod *corev1.Pod) ([]*setti
}
// check if the pod namespace match the poddefault's namespace
if pd.GetNamespace() != pod.GetNamespace() {
klog.Infof("PodDefault '%s' is not in the namespcae of pod '%s' ", pd.GetName(), pod.GetName())
klog.Infof("PodDefault '%s/%s' is not in the namespace of pod '%s/%s'", pd.GetNamespace(), pd.GetName(), pod.GetNamespace(), pod.GetName())
continue
}
klog.V(4).Infof("PodDefault '%s' matches pod '%s' labels", pd.GetName(), pod.GetName())
Expand Down Expand Up @@ -392,6 +392,12 @@ func applyPodDefaultsOnPod(pod *corev1.Pod, podDefaults []*settingsapi.PodDefaul
for i, pd := range podDefaults {
defaultAnnotations[i] = &pd.Spec.Annotations
defaultLabels[i] = &pd.Spec.Labels
if pd.Spec.AutomountServiceAccountToken != nil {
pod.Spec.AutomountServiceAccountToken = pd.Spec.AutomountServiceAccountToken
}
if pd.Spec.ServiceAccountName != "" {
pod.Spec.ServiceAccountName = pd.Spec.ServiceAccountName
}
}
annotations, err := mergeMap(pod.Annotations, defaultAnnotations)
if err != nil {
Expand Down Expand Up @@ -457,6 +463,11 @@ func mutatePods(ar v1beta1.AdmissionReview) *v1beta1.AdmissionResponse {
}
reviewResponse := v1beta1.AdmissionResponse{}
reviewResponse.Allowed = true
if pod.Namespace == "" {
klog.Infof("Namespace was not set explicitly in Pod manifest, falling back to the namespace-'%s' coming from AdmissionReview request", ar.Request.Namespace)
pod.Namespace = ar.Request.Namespace
}

podCopy := pod.DeepCopy()
klog.V(1).Infof("Examining pod: %v\n", pod.GetName())

Expand Down
11 changes: 11 additions & 0 deletions components/admission-webhook/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,11 @@ func TestMergeMapGood(t *testing.T) {
}
}

func newTrue() *bool {
b := true
return &b
}

func TestApplyPodDefaultsOnPod(t *testing.T) {
for _, test := range []struct {
name string
Expand All @@ -90,6 +95,8 @@ func TestApplyPodDefaultsOnPod(t *testing.T) {
{
Spec: settingsapi.PodDefaultSpec{
Annotations: map[string]string{"baz": "bux"},
ServiceAccountName: "some-service-account",
AutomountServiceAccountToken: newTrue(),
},
},
},
Expand All @@ -102,6 +109,10 @@ func TestApplyPodDefaultsOnPod(t *testing.T) {
},
Labels: map[string]string{},
},
Spec: corev1.PodSpec{
ServiceAccountName: "some-service-account",
AutomountServiceAccountToken: newTrue(),
},
},
}, {
"Same k/v",
Expand Down
2 changes: 2 additions & 0 deletions components/admission-webhook/manifests/base/crd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ spec:
type: string
serviceAccountName:
type: string
automountServiceAccountToken:
type: boolean
env:
items:
type: object
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ commonLabels:
images:
- name: public.ecr.aws/j1r0q0g6/notebooks/admission-webhook
newName: public.ecr.aws/j1r0q0g6/notebooks/admission-webhook
newTag: v1.3.1-rc.0
newTag: v1.4
namespace: kubeflow
generatorOptions:
disableNameSuffixHash: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,14 @@ type PodDefaultSpec struct {
// +optional
Desc string `json:"desc,omitempty"`

// ServiceAccountName defines the service account to attach to the pod.
// +optional
ServiceAccountName string `json:"serviceAccountName,omitempty"`

// AutomountServiceAccountToken defines whether or not the service account access token should automatically be mounted to the pod.
// +optional
AutomountServiceAccountToken *bool `json:"automountServiceAccountToken,omitempty"`

// Env defines the collection of EnvVar to inject into containers.
// +optional
Env []v1.EnvVar `json:"env,omitempty"`
Expand Down
Loading