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

Kubeflow 1.4->1.6 Rebase #99

Merged
merged 209 commits into from
Sep 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
209 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
af4ef55
Fix NaN in Kubeflow Notebooks (#6092)
munagekar Aug 16, 2021
ecb72c2
add section for 1.4; small updates for 1.3 section (#6082)
shannonbradshaw Aug 18, 2021
4e9b081
Remove virtualservice timeout to prevent websocket disconnect (#6126)
abe-hpe Sep 9, 2021
5838216
fix(admission-webhook): attach namespace to pod request if pod does n…
henrysecond1 Sep 9, 2021
fa908a2
Fix notebook base image gpg keys (#6138)
davidspek Sep 13, 2021
21d44a8
update links for new testing infra (#6144)
theofpa Sep 18, 2021
f57be7a
Add more root OWNERS (#6146)
Bobgy Sep 20, 2021
1540f9c
Improve README for example-notebook-servers (#6165)
thesuperzapper Oct 5, 2021
e8e8e6b
jwa(front): Don't disable vendors with no GPUs (#6171)
kimwnasptd Oct 7, 2021
1914025
Bump Golang version in PodDefaults, TensorBoard Controller and KFAM t…
kimwnasptd Oct 8, 2021
f9c4733
Update Notebooks README regarding custom packages (#6176)
kimwnasptd Oct 12, 2021
ea5c891
Fix reference to PodPreset as PodDefault (#6184)
gymaganis Oct 13, 2021
acaec5b
fix: tensorboard-controller is killed due to out of memory (#6148)
juliusvonkohout Oct 20, 2021
0c6c738
fix(web-apps): Use relative path for --deploy-url build. #5566 (#6206)
zijianjoy Nov 1, 2021
667e912
Document for cutting Kubeflow website release. (#6198)
zijianjoy Nov 18, 2021
bd000c9
Change namespace label for Katib metrics collector injection (#6225)
andreyvelich Nov 23, 2021
54c0877
fix(backend): tensorboard-controller does not work because of missing…
juliusvonkohout Nov 23, 2021
80edfad
add(web-apps): i18n Fr translations (#6122)
rohank07 Nov 24, 2021
34dcb6d
chore(docs): It's better to refer to the cli documents, not repo's re…
haoxins Dec 8, 2021
bd3c889
fix(docs): Fix the 404 K8s docs link (#6236)
haoxins Dec 8, 2021
ab9c961
nit: typo in README.md (#6211)
ca-scribner Dec 8, 2021
2f4d730
web-apps(front) : change error msg for min (#6193)
anencore94 Dec 8, 2021
d43aee1
Centraldashboard/add uncaughtexception handler (#6203)
haoxins Dec 8, 2021
dcda2b8
Fix(frontend): Upgrade ts node to v4 (#6242)
haoxins Dec 15, 2021
fb20644
admission-webhook-manifests: Update the cert manager from v1alpha2 to…
haoxins Dec 16, 2021
0711234
Short term updates to Published Kubeflow Roadmap (#6248)
jbottum Dec 21, 2021
df52e88
Upgrade the google cloud monitoring node.js client (#6210)
haoxins Dec 22, 2021
0e6a3bb
fix dashboard sending malformed headers to kfam (#6186)
thesuperzapper Dec 22, 2021
2f47bfa
correct typo - track to tracked (#6264)
jbottum Dec 28, 2021
bedda47
centraldashboard: Update node and use latest-stable (#6260)
kimwnasptd Jan 3, 2022
24ddb4c
Tell user to select a namespace to access namespaced menu item (#6181)
toshi-k Jan 4, 2022
9f6191a
Fix unnecessary updates of istio AuthorizationPolicy (#6269)
sunzhaochang Jan 20, 2022
5ed0f5f
Introduce a basic proposals flow for more advanced features (#6272)
kimwnasptd Jan 20, 2022
0a79697
Secure access to KFAM (#6077)
davidspek Jan 20, 2022
12bf9a9
fix(notebooks) make culling work with multi-user (#5128) (#5980)
LEDfan Jan 21, 2022
47d1ea0
JWA: Very basic E2E tests to run locally (#6005)
kimwnasptd Jan 24, 2022
b4a7d88
chore: remove Bobgy from OWNERS
Bobgy Jan 25, 2022
c494d0e
Merge pull request #6313 from kubeflow/Bobgy-patch-2
Bobgy Jan 25, 2022
c4ca7a9
frontend: Use responsive tables instead of cards (#6316)
kimwnasptd Jan 26, 2022
241e495
Don't use asterisk in Dockerfiles (#6318)
kimwnasptd Jan 26, 2022
1b255e5
Bump log4js from 6.3.0 to 6.4.1 in /components/crud-web-apps/common/f…
dependabot[bot] Jan 26, 2022
e7f5b24
Bump postcss from 7.0.16 to 7.0.39 in /components/centraldashboard (#…
dependabot[bot] Jan 26, 2022
239f8e8
Bump log4js from 6.3.0 to 6.4.1 in /components/crud-web-apps/tensorbo…
dependabot[bot] Jan 26, 2022
ab712ad
Bump log4js from 6.3.0 to 6.4.1 in /components/crud-web-apps/volumes/…
dependabot[bot] Jan 26, 2022
54b8b8c
Bump log4js from 6.3.0 to 6.4.1 in /components/crud-web-apps/jupyter/…
dependabot[bot] Jan 26, 2022
c055d52
Update images for the 1.5 rc0 release (#6319)
kimwnasptd Jan 27, 2022
aabf3c8
Fix(manifests): Upgrade rbac.authorization.k8s.io from v1beta1 to v1 …
haoxins Feb 3, 2022
c3723ac
proposal: Extend Notebook Controller to expose idleness for Jupyter (…
athamark Feb 4, 2022
81f75cd
Synchronize jupyter-web-application role with clusterrole (#6241)
juliusvonkohout Feb 4, 2022
0ac4445
Kubeflow Roadmap update - with 1.5 details (#6266)
jbottum Feb 4, 2022
b65662d
notebooks: Extend Notebook Controller to expose idleness for Jupyter …
athamark Feb 7, 2022
79d8c85
jwa: Rework the Storage API of the web app (#6321)
kimwnasptd Feb 7, 2022
9905a75
profiles: Update the permissions for notebook idleness (#6335)
kimwnasptd Feb 9, 2022
9a9cce8
notebooks: Graceful handling of events (#6338)
kimwnasptd Feb 9, 2022
1fbaab4
notebooks: Fix endless restarts (#6341)
kimwnasptd Feb 9, 2022
365786e
releasing: Update tags for v1.5.0-rc.1 (#6343)
kimwnasptd Feb 10, 2022
eea8ebf
fix error comparison between pointer and pointer in "CopyStatefulSetF…
mofanke Feb 14, 2022
4ad0158
[bugfix]: update unsupported links to latest pages (#6192)
anencore94 Feb 18, 2022
ba6a700
centraldashboard: Add KServe overlay (#6383)
kimwnasptd Mar 4, 2022
4189a20
notebooks: Don't reconcile on Events deletion (#6391)
kimwnasptd Mar 4, 2022
9d50184
releasing: Create v1.5.0-rc.2 images (#6394)
kimwnasptd Mar 4, 2022
d224549
release: Images for the 1.5.0 tag (#6398)
kimwnasptd Mar 9, 2022
2d347e9
added env for app secure cookies (#6395)
BenzhaminKim Mar 29, 2022
30c44dc
build(deps): bump github.com/gogo/protobuf from 1.1.1 to 1.3.2 in /co…
dependabot[bot] Apr 14, 2022
1ac28c9
build(deps): bump notebook from 6.4.0 to 6.4.10 in /components/exampl…
dependabot[bot] Apr 14, 2022
158a2f4
build(deps): bump minimist from 1.2.5 to 1.2.6 in /components/crud-we…
dependabot[bot] Apr 14, 2022
5c3fb60
build(deps): bump minimist from 1.2.5 to 1.2.6 in /components/crud-we…
dependabot[bot] Apr 14, 2022
d334742
build(deps): bump follow-redirects from 1.14.1 to 1.14.8 in /componen…
dependabot[bot] Apr 14, 2022
dc986d7
build(deps): bump ajv from 6.10.2 to 6.12.6 in /components/crud-web-a…
dependabot[bot] Apr 14, 2022
7d0e3cf
build(deps): bump ajv from 6.10.2 to 6.12.6 in /components/crud-web-a…
dependabot[bot] Apr 14, 2022
7ab92e9
build(deps): bump lodash-es from 4.17.11 to 4.17.21 in /components/cr…
dependabot[bot] Apr 14, 2022
c774879
build(deps): bump minimist from 1.2.5 to 1.2.6 in /components/crud-we…
dependabot[bot] Apr 14, 2022
62b2ed0
build(deps): bump minimist from 1.2.5 to 1.2.6 in /components/crud-we…
dependabot[bot] Apr 14, 2022
9af3297
build(deps): bump undefsafe from 2.0.2 to 2.0.5 in /components/centra…
dependabot[bot] Apr 14, 2022
fd00428
build(deps): bump url-parse from 1.5.1 to 1.5.10 in /components/crud-…
dependabot[bot] Apr 14, 2022
a26c352
build(deps): bump url-parse from 1.5.1 to 1.5.10 in /components/crud-…
dependabot[bot] Apr 14, 2022
c3e1312
build(deps-dev): bump karma from 6.3.4 to 6.3.16 in /components/crud-…
dependabot[bot] Apr 14, 2022
ec31bf8
build(deps-dev): bump karma from 6.3.4 to 6.3.16 in /components/crud-…
dependabot[bot] Apr 14, 2022
b7036b6
build(deps): bump moment from 2.24.0 to 2.29.2 in /components/central…
dependabot[bot] Apr 14, 2022
62673e7
build(deps): bump url-parse from 1.5.1 to 1.5.10 in /components/crud-…
dependabot[bot] Apr 14, 2022
f823365
build(deps): bump url-parse from 1.4.7 to 1.5.10 in /components/centr…
dependabot[bot] Apr 14, 2022
4623721
build(deps-dev): bump karma from 6.3.4 to 6.3.16 in /components/crud-…
dependabot[bot] Apr 14, 2022
d16cdf3
build(deps-dev): bump karma from 6.3.4 to 6.3.16 in /components/crud-…
dependabot[bot] Apr 14, 2022
8b471ef
build(deps): bump follow-redirects from 1.14.1 to 1.14.9 in /componen…
dependabot[bot] Apr 14, 2022
db36e1b
build(deps): bump nanoid from 3.1.23 to 3.3.2 in /components/crud-web…
dependabot[bot] Apr 14, 2022
e5084c5
build(deps): bump follow-redirects from 1.14.1 to 1.14.9 in /componen…
dependabot[bot] Apr 14, 2022
979b41c
Bump shelljs from 0.8.3 to 0.8.5 in /components/centraldashboard (#6284)
dependabot[bot] Apr 14, 2022
769f860
Bump shelljs from 0.8.4 to 0.8.5 in /components/crud-web-apps/common/…
dependabot[bot] Apr 14, 2022
f3a28dc
build(deps): bump nanoid from 3.1.23 to 3.3.2 in /components/crud-web…
dependabot[bot] Apr 15, 2022
be0c8c4
build(deps): bump nanoid from 3.1.23 to 3.3.2 in /components/crud-web…
dependabot[bot] Apr 15, 2022
a3e6769
build(deps): bump tensorflow from 2.5.0 to 2.5.3 in /components/examp…
dependabot[bot] Apr 15, 2022
6ec89df
build(deps): bump url-parse from 1.5.1 to 1.5.10 in /components/crud-…
dependabot[bot] Apr 15, 2022
986a4eb
build(deps): bump follow-redirects from 1.14.1 to 1.14.9 in /componen…
dependabot[bot] Apr 15, 2022
ccfaf7f
build(deps): bump follow-redirects from 1.9.0 to 1.14.9 in /component…
dependabot[bot] Apr 15, 2022
87300e6
build(deps): bump async from 2.6.3 to 2.6.4 in /components/crud-web-a…
dependabot[bot] Apr 15, 2022
03b83fd
build(deps): bump async from 2.6.3 to 2.6.4 in /components/crud-web-a…
dependabot[bot] Apr 15, 2022
14d21db
build(deps): bump async from 2.6.3 to 2.6.4 in /components/crud-web-a…
dependabot[bot] Apr 15, 2022
8ad0285
Bump shelljs from 0.8.4 to 0.8.5 in /components/crud-web-apps/tensorb…
dependabot[bot] Apr 15, 2022
62c59c0
Bump shelljs from 0.8.4 to 0.8.5 in /components/crud-web-apps/volumes…
dependabot[bot] Apr 15, 2022
0e291e0
Bump node-fetch from 2.6.0 to 2.6.7 in /components/centraldashboard (…
dependabot[bot] Apr 15, 2022
6f231d8
build(deps): bump nanoid from 3.1.23 to 3.3.2 in /components/crud-web…
dependabot[bot] Apr 15, 2022
342bacf
build(deps): bump async from 2.6.3 to 2.6.4 in /components/crud-web-a…
dependabot[bot] Apr 15, 2022
1102714
Fix kubernetes python client to v22.6.0 (#6422)
benjamintanweihao May 1, 2022
da6efb9
Support K8s 1.22 in notebook controller (#6374)
samuelvl May 3, 2022
7106ef6
Fix vendortooltip typo (#6426)
leetdavid May 10, 2022
3f3dbfe
notebooks: notebook controller config RESTClient QPS and Burst in com…
mofanke May 13, 2022
8be0d98
AIP-5879 Admission Webhook 1.22 Compatibility (#6459)
aaron-arellano May 13, 2022
2fa0d36
KF conformance test driver (#6478)
james-jwu Jun 1, 2022
2570148
1st update of Kubeflow Roadmap for Kubeflow 1.6 (#6456)
jbottum Jun 6, 2022
d505318
Add GH actions to push images to a DockerHub registry after a merge (…
NickLoukas Jun 15, 2022
a9d449e
Pin alpine repository version (#6494)
alembiewski Jun 15, 2022
eb3a27a
feat(Jupyter): Show group one or two only if images exists (#6482)
haoxins Jun 15, 2022
d02437f
Upgrade API version of `Tensorboard` CRD to `v1` (#6406)
alembiewski Jun 17, 2022
7ec12d6
Add GH actions for building manifests at any pull request (#6524)
NickLoukas Jun 17, 2022
c3ae4dc
update jupyterlab to 3.4.3 (#6527)
thesuperzapper Jun 20, 2022
7f4231d
notebooks: Allow notebook controller to patch events (#6523)
henrysecond1 Jun 20, 2022
2033cee
Fix typos in GH actions that build and push Docker images (#6541)
NickLoukas Jun 24, 2022
20a7eeb
Make GH actions build images on PR and push only on merge (#6543)
NickLoukas Jun 24, 2022
9bac27a
Add GH actions for applying manifests at any pull request (#6530)
NickLoukas Jun 28, 2022
d25de59
jwa: Expose a last-activity column (#6544)
kimwnasptd Jun 29, 2022
eb0a564
Reword image name in TWA Gh action (#6547)
NickLoukas Jun 29, 2022
0ac8e0c
Fix VWA path in Gh action for building image (#6549)
NickLoukas Jun 29, 2022
ad21487
Add GH action for publishing all images when VERSION is updated (#6537)
NickLoukas Jun 30, 2022
a7529aa
release: Use DockerHub for all images (#6548)
kimwnasptd Jun 30, 2022
b389d9c
Update install command for code server extension (#6554)
Jun 30, 2022
411342f
Introduce a mechanism to build all Kubeflow images (#6555)
apo-ger Jul 1, 2022
ba6d03b
Profile Controller, Admission webhook cherry-picks + v1.6.0-rc.1 tag …
kimwnasptd Jul 21, 2022
eea9c3e
Extend Docker Publish workflows to be triggered on Version change (#6…
NickLoukas Jul 25, 2022
79430b2
Fix workflows for building all images when Version file changes (#6597)
NickLoukas Jul 26, 2022
7746ff4
Fix(Jupyter): Fix the ImageGroup object path (#6596)
haoxins Jul 26, 2022
0da0294
Update Version file to tag 'v1.6.0-rc.1' (#6598)
NickLoukas Jul 26, 2022
c149911
notebooks: Fix notebook endless restarts (#6337) (#6603)
mofanke Jul 28, 2022
ae8097d
JWA(front): Fix image group one and two not showing (#6625)
orfeas-k Aug 25, 2022
b390d14
fix Profile Plugins functionality (#6624)
surajkota Aug 25, 2022
c9414b3
Fix #6528: Mirroring Pod conditions to Notebook (#6619)
midhun1998 Aug 26, 2022
909559a
Fix #6056: Update Notebook status properly (#6628)
apo-ger Aug 30, 2022
a7d8d74
Ensure we build images for a new Version only on push events (#6632)
NickLoukas Aug 31, 2022
ead7f24
release: Images for the v1.6.0-rc.2 tag (#6631)
apo-ger Aug 31, 2022
57e35d5
Fix invalid kustomization patch introduced for profile-controller man…
arkaitzj Sep 2, 2022
39bd199
release: Images for the v1.6.0 tag (#6636)
apo-ger Sep 7, 2022
83a79bf
git reset 50902c6b58218e3f823e744c76585b4bc9077b2a
Sep 13, 2022
69bfa28
git reset d25de599327a96f9f7e8d4740fdd9a4bb0780097
Sep 13, 2022
a05ddff
removed upstream workflows
Sep 13, 2022
5e764c5
dummy commit
Sep 13, 2022
fe8c602
dummy commit
Sep 13, 2022
6885ee5
dummy commit
Sep 13, 2022
33b47e6
dummy commit
Sep 13, 2022
4745788
Merge branch 'bryan-rebase-1.4-to-1.6-take-3' into stc-master
Sep 15, 2022
01eab3d
update workflows
Sep 15, 2022
c2216ee
Update notebook_controller.go
bryanpaget Sep 16, 2022
c75680e
re-added readiness probe
Sep 16, 2022
6825217
re-added readiness probe
Sep 16, 2022
4f5d35a
fix(UI): HOME --> Manage Contributors
bryanpaget Sep 16, 2022
85491ca
trying io.k8s.kubernetes.pkg.api.v1.Handler
bryanpaget Sep 16, 2022
50ce38d
trying io.k8s.kubernetes.pkg.api.v1.Handler
bryanpaget Sep 16, 2022
8f68bdc
untrying io.k8s.kubernetes.pkg.api.v1.Handler
bryanpaget Sep 16, 2022
d1d2533
fix(rebase): add missing commit
bryanpaget Sep 20, 2022
854b320
update Handler --> ProbeHandler
bryanpaget Sep 20, 2022
d99b1ba
Update build-centraldashboard.yml
bryanpaget Sep 20, 2022
6999162
Update build-notebookcontroller.yml
bryanpaget Sep 20, 2022
6b7596e
fix(languages.json)
bryanpaget Sep 20, 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
  •  
  •  
  •  
5 changes: 3 additions & 2 deletions OWNERS
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# We want to rely on fine grained OWNERs files.
# Approvers listed here is just a backup in case someone is out.
approvers:
- Bobgy
- pdmack
- pdmack
- james-jwu
- zijianjoy
5 changes: 2 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,9 @@ The Kubeflow community is organized into working groups (WGs) with associated re
* [Training](https://github.com/kubeflow/community/tree/master/wg-training)

## Quick Links
* [Prow test dashboard](https://k8s-testgrid.appspot.com/sig-big-data)
* [Prow jobs dashboard](https://prow.k8s.io/?repo=kubeflow%2Fkubeflow)
* [Prow jobs dashboard](http://prow.kubeflow-testing.com)
* [PR Dashboard](https://k8s-gubernator.appspot.com/pr)
* [Argo UI for E2E tests](http://testing-argo.kubeflow.org)
* [Argo UI for E2E tests](https://argo.kubeflow-testing.com)

## Get Involved
Please refer to the [Community](https://www.kubeflow.org/docs/about/community/) page.
Expand Down
98 changes: 97 additions & 1 deletion ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,102 @@
# Kubeflow Roadmap

## Kubeflow 1.4 Release, Due: September 2021
## Kubeflow 1.6 Release, Due: July 2022
* Kubeflow 1.6 [milestones and timelines](https://github.com/kubeflow/community/pull/558)

#### Themes
* Kubernetes 1.22 support

### Major Features from each Working Group (note: Individual WG versions are independent of Kubeflow's)

#### Kubeflow Pipelines
* V2 Preview: Support running pipeline in Argo-agnostic approach
* New DAG visualization based on Pipeline Template and MLMD
* SDK to change from `kfp.v2` to `kfp`
* KFP SDK CLI [design](https://docs.google.com/document/d/1Z79ebKaf3hjyadSRsme1Qo7F-Tqu4qM1cyKuLeu2PgA/edit#heading=h.x9snb54sjlu9)

#### Katib
* Support for Population based training
* Support JSON format for Metrics Collector
* UI Enhancement to add a separate page for Trials and show Trial logs

#### Training Operator
* PyTorch elastic training enhancements
* Elastic scheduling with Volcano support
* MPI Operator v2

#### Notebooks, Central Dashboard, Web Apps, Manifest
* Sorting and filtering support for the web apps
* Expose Notebook idleness information in the JWA

#### KServe
* Knative 1.0 support and certified for KServe Serverless installation
* KServe 0.9 SDK with ModelServer API name changes and improvement for CloudEvent support
* New ServingRuntime and ClusterServingRuntime CRDs
* New ModelSpec in InferenceServices
* ModelMesh updates include support for multi-namespace reconciliation

#### Detailed features, bug fixes and enhancements will be identified in the Working Group Roadmaps

* [Training Operators](https://github.com/kubeflow/common/blob/master/ROADMAP.md)
* [KFServing](https://github.com/kubeflow/kfserving/blob/master/ROADMAP.md)
* [Katib](https://github.com/kubeflow/katib/blob/master/ROADMAP.md)
* [Kubeflow Pipelines](https://github.com/kubeflow/pipelines/blob/master/ROADMAP.md)
* [Notebooks, Central Dashboard](https://docs.google.com/document/d/1YtSWRhdhyOgd6ZQcWLM38TGDy2H_EhXjr8U5lUi37_I/edit)


## Kubeflow 1.5 Release, Delivered: March 2022
* Kubeflow 1.5 [milestones and timeline](https://github.com/kubeflow/community/pull/538)

### Themes
* Switching to [Emissary executor](https://www.kubeflow.org/docs/components/pipelines/installation/choose-executor/#emissary-executor) enables Kubeflow Pipelines deployment on Kubernetes >= v1.20, which runs on containerd runtime instead of Docker runtime
* Improve model accuracy and reduce overfitting, especially with hyper parameter tuning
* Simplify operations and optimize utilization (including spot instance use cases for distributed training)
* More consistent user experience - UI appearance, features and naming
* Improved documentation, tutorials and examples
* Stretch - Support for K8s 1.22 and associated dependencies (cert mgr, istio)

### Major Features from each Working Group (note: Individual WG versions are independent of Kubeflow's)

#### Kubeflow Pipelines, v1.8
* Switching to [Emissary executor](https://www.kubeflow.org/docs/components/pipelines/installation/choose-executor/#emissary-executor) enables Kubeflow Pipelines deployment on Kubernetes >= v1.20, which runs on containerd runtime instead of Docker runtime.

#### Katib, v0.13
* Katib controller leader election for HA operations and faster recovery
* Validation for Early Stopping algorithm settings helps users to reduce model overfitting
* Improve SDK, AWS CI, parameter settings across frameworks (goptuna, optuna, hyperopt)
* Update namespace label for Metrics Collector injection (note - breaking change)

#### Training Operator, v1.3
* Elastic Training for PyTorch, restarts pod rather than whole job, supports spot instances
* MPI addition to Unified training operator
* Python SDK supported on PyPI

#### Notebooks, Central Dashboard, Web Apps, Manifest, v1.5
* Exposing notebook idleness parameters, reduces infra used on idle notebooks
* UI consistency between web apps along with frontend pagination, and remove cards and user responsive tables
* Support for dark mode
* More options to define PVC specification

#### KServe, v0.7
* KFServing is rebranded to [KServe](https://github.com/kserve)
* [ModelMesh](https://github.com/kserve/modelmesh-serving) joins KServe
* Triton model serving runtime defaults to v21.09
* (Alpha feature) Raw kubernetes deployment support, Istio/Knative dependency is now optional

#### Detailed features, bug fixes and enhancements are identified in the Working Group Roadmaps

* [Training Operators](https://github.com/kubeflow/common/blob/master/ROADMAP.md)
* [KFServing](https://github.com/kubeflow/kfserving/blob/master/ROADMAP.md)
* [Katib](https://github.com/kubeflow/katib/blob/master/ROADMAP.md)
* [Kubeflow Pipelines](https://github.com/kubeflow/pipelines/blob/master/ROADMAP.md)
* [Notebooks](https://github.com/kubeflow/kubeflow/issues/5978)


## Kubeflow 1.4.1 Release, Delivered: December 2021
* The need for a patch release was triggered by [#2082](https://github.com/kubeflow/manifests/issues/2082)
* 1.4.1 Tracking issue: [2084](https://github.com/kubeflow/manifests/issues/2082)

## Kubeflow 1.4 Release, Delivered: October 2021

### Themes and Major Features

Expand Down
46 changes: 46 additions & 0 deletions components/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
REGISTRY ?= kubeflownotebookswg
TAG ?= $(shell git describe --tags --always --dirty)

build-all:
@echo "\nBuilding KFAM image...\n"
make docker-build -C access-management

@echo "\nBuilding Admission-webhook image...\n"
make docker-build -C admission-webhook

@echo "\nBuilding Centraldashboard image...\n"
make docker-build -C centraldashboard

@echo "\nBuilding Jupyter-Web-App image...\n"
make docker-build -C crud-web-apps/jupyter

@echo "\nBuilding Tensorboard-Web-App image...\n"
make docker-build -C crud-web-apps/tensorboards

@echo "\nBuilding Volumes-Web-App image...\n"
make docker-build -C crud-web-apps/volumes

@echo "\nBuilding Notebook-controller image...\n"
make docker-build -C notebook-controller

@echo "\nBuilding Profile-controller image...\n"
make docker-build -C profile-controller

@echo "\nBuilding tensorboard-controller image...\n"
make docker-build -C tensorboard-controller

@echo "\nBuilding notebook-server images...\n"
make docker-build-all -C example-notebook-servers

@echo "\nAll images of prv-kubeflow-kubeflow repo have been built successfully!\n"

push-all:
for img in kfam admission-webhook centraldashboard jupyter-web-app tensorboards-web-app volumes-web-app notebook-controller profile-controller \
tensorboard-controller ; do \
docker tag $$img:$(TAG) ${REGISTRY}/$$img:${TAG} ; \
docker push ${REGISTRY}/$$img:${TAG} ; \
done

make docker-push-all -C example-notebook-servers TAG=${TAG} REGISTRY=${REGISTRY}

@echo "\nAll images have been succesfully retaged and pushed with registry: ${REGISTRY} and tag: ${TAG}...\n"
38 changes: 16 additions & 22 deletions components/access-management/Makefile
Original file line number Diff line number Diff line change
@@ -1,30 +1,24 @@
REGISTRY_PROJECT ?= kubeflow-dev
GOLANG_VERSION ?= 1.12
GCLOUD_PROJECT ?= kubeflow-images-public
IMG ?= gcr.io/$(GCLOUD_PROJECT)/kfam
PROJECT ?= kubeflow-dev
TAG ?= $(eval TAG := $(shell date +v%Y%m%d)-$(shell git describe --tags --always --dirty)-$(shell git diff | shasum -a256 | cut -c -6))$(TAG)
GO_SWAGGER_URL ?= https://github.com/go-swagger/go-swagger/releases/download/v0.21.0/swagger_linux_amd64

CHANGED_FILES := $(shell git diff-files --relative=components/centraldashboard)
GIT_VERSION := $(shell git describe --tags --always --dirty)

ifeq ($(strip $(CHANGED_FILES)),)
# Changed files is empty; not dirty
# Don't include --dirty because it could be dirty if files outside the ones we care
# about changed.
GIT_VERSION := $(shell git describe --tags --long)
else
GIT_VERSION := $(shell git describe --tags --long)-dirty-$(shell git diff | shasum -a256 | cut -c -6)
endif
IMG ?= kfam
TAG ?= $(GIT_VERSION)

build:
docker build -t $(IMG):$(TAG) .
generate-go-client: bin/swagger
bin/swagger generate client -f api/swagger.yaml -t api/go_client

bin/swagger:
mkdir -p bin
wget -O bin/swagger '$(GO_SWAGGER_URL)'
chmod +x bin/swagger

build-gcb:
gcloud --project=$(PROJECT) \
builds submit \
--machine-type=n1-highcpu-32 \
--substitutions=_GIT_VERSION=$(GIT_VERSION),_REGISTRY=$(REGISTRY_PROJECT) \
--config=cloudbuild.yaml .
docker-build:
docker build -t $(IMG):$(TAG) .

push: build
docker-push:
docker push $(IMG):$(TAG)

image: docker-build docker-push
2 changes: 1 addition & 1 deletion components/access-management/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ The goal is to support multi-tenancy kubeflow cluster / services.
### Profile
- Profile contains owner which refers to a k8s user.
- Profile will create a namespace with same name and make profile owner the namespace owner.
- Profile will create necessary k8s resources to enable owner access to kubeflow servuces under multi-tenancy mode.
- Profile will create necessary k8s resources to enable owner access to kubeflow services under multi-tenancy mode.
- After the namespace is created, the owner can grant access to additional users or groups using the API or by creating RBAC roles & bindings directly.
- Delete profile will delete namespace and other k8s resources owned by this profile.

Expand Down
18 changes: 12 additions & 6 deletions components/admission-webhook/Makefile
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
# Image URL to use all building/pushing image targets
IMG ?= gcr.io/kubeflow-images-public/admission-webhook
TAG ?= $(eval TAG := $(shell date +v%Y%m%d)-$(shell git describe --tags --always --dirty)-$(shell git diff | shasum -a256 | cut -c -6))$(TAG)
GOLANG_VERSION ?= 1.12
IMG ?= admission-webhook
TAG ?= $(shell git describe --tags --always --dirty)

build:
go build -gcflags 'all=-N -l' -o bin/webhook .

build-gcr:
docker build -t $(IMG):$(TAG) .
@echo Built $(IMG):$(TAG)
docker-build:
docker build -t ${IMG}:${TAG} -f Dockerfile .

docker-push:
docker push ${IMG}:${TAG}

image: docker-build docker-push

docker-push:
docker push ${IMG}:${TAG}
23 changes: 15 additions & 8 deletions components/admission-webhook/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
## Goal
We need a way to inject common data (env vars, volumes) to pods (e.g. notebooks).
See [issue](https://github.com/kubeflow/kubeflow/issues/2641).
K8s has [PodPreset](https://kubernetes.io/docs/concepts/workloads/pods/podpreset/) resource with similar use-case, however it is in alpha.
K8s [admission-controller](https://godoc.org/k8s.io/api/admissionregistration/v1beta1#MutatingWebhookConfiguration) and CRD can be used to implement PodPreset as done in [here](https://github.com/jpeeler/podpreset-crd).
K8s has [PodPreset](https://v1-19.docs.kubernetes.io/docs/concepts/workloads/pods/podpreset/) resource with similar use-case, however it is in alpha.
K8s [admission-controller](https://godoc.org/k8s.io/api/admissionregistration/v1#MutatingWebhookConfiguration) and CRD can be used to implement PodPreset as done in [here](https://github.com/jpeeler/podpreset-crd).
We borrowed this PodPreset implementation, customize it for Kubeflow and rename it to PodDefault to avoid confusion.
The code is not directly used as Kubeflow's use case for PodDefault controller is slightly different.
In fact, PodDefault in Kubeflow is defined as CRD without the custom controller (as opposed to [here](https://github.com/jpeeler/podpreset-crd)).
Expand All @@ -13,7 +13,7 @@ Here is the workflow on how this is used in Kubeflow:
1. Users create PodDefault manifests which describe additional runtime requirements (i.e., volume, volumeMounts, environment variables) to be injected into a Pod at creation time.
PodDefaults use label selectors to specify the Pods to which a given PodDefault applies.
PodDefaults are namespace scope, i.e., they can be applied/viewed in the namespace.
As an example, the following manifest declares a PodPrest in `kubeflow` namespace to add the secret ```gcp-secret``` in to pods in the given namespace.
As an example, the following manifest declares a `PodDefault` in the `kubeflow` namespace to add the secret ```gcp-secret``` in to pods in the given namespace.

```
apiVersion: "kubeflow.org/v1alpha1"
Expand Down Expand Up @@ -48,11 +48,11 @@ For the above PodDefault, when a pod creation request comes which has the label
to the pod as described in the PodDefault spec.

## Webhook Configuration
Define a [MutatingWebhookConfiguration](https://godoc.org/k8s.io/api/admissionregistration/v1beta1#MutatingWebhookConfiguration),
Define a [MutatingWebhookConfiguration](https://godoc.org/k8s.io/api/admissionregistration/v1#MutatingWebhookConfiguration),
for example:

```
apiVersion: admissionregistration.k8s.io/v1beta1
apiVersion: admissionregistration.k8s.io/v1
kind: MutatingWebhookConfiguration
metadata:
name: gcp-cred-webhook
Expand All @@ -75,17 +75,24 @@ This specifies
1. When there is a pod being created (see `rules`),
1. call the webhook service `gcp-cred-webhook.default` at path `/add-cred` (see `clientConfig`)

### admissionregistration.k8s.io/v1 default failurePolicy
In adopting `admissionregistration.k8s.io/v1` for the `MutatingWebhookConfiguration` we accept the default value
for `failurePolicy` to be `Fail` per [documentation](https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#failure-policy). Upon testing this default feature it was discovered if the `AdmissionWebhook`'s `mutating-webhook-configuration` failed to mutate a pod then the pod would fail to start, its associated `Deployment` or `StatefulSet` would continually attempt to create the pod until the process that created the pod was terminated. Furthermore, any pod that is targeted by the `AdmissionWebhook` for mutation was effected and will fail to start if there are configuration collisions or some other issue, already running pods are not effected by this policy. Again, only pods created after the policy change may be effected.

Engineers should be mindful of this setting as it was also noted these failures can persist beyond the `timeoutSeconds` parameter that
is by default set to `10` seconds in the `v1` API. For example, a `StatefulSet`s attempted to create notebook pods
despite its API request getting rejected by the `mutating-webhook-configuration`. Please refer to kubernetes documentation to read up on
the `failurePolicy: Ignore` parameter as this was the default value in `v1beta1`.

### Webhook implementation
The webhook should be a server that can handle request coming from the configured path (`/add-cred` in the above).
The request and response types are both [AdmissionReview](https://godoc.org/k8s.io/api/admission/v1beta1#AdmissionReview)
The request and response types are both [AdmissionReview](https://godoc.org/k8s.io/api/admission/v1#AdmissionReview)

## Reference
1. [K8S PodPreset](https://kubernetes.io/docs/concepts/workloads/pods/podpreset)
1. [K8S PodPreset](https://v1-19.docs.kubernetes.io/docs/concepts/workloads/pods/podpreset/)
1. https://github.com/jpeeler/podpreset-crd
1. https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/
1. https://github.com/kubernetes/kubernetes/tree/v1.13.0/test/images/webhook
1. https://github.com/morvencao/kube-mutating-webhook-tutorial
1. How to self sign: [link](https://github.com/kubernetes/kubectl/issues/86)
1. What to put for caBundle: [issue](https://github.com/kubernetes/kubernetes/issues/61171)

13 changes: 11 additions & 2 deletions components/admission-webhook/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@ limitations under the License.
package main

import (
"context"
"crypto/tls"

"sigs.k8s.io/controller-runtime/pkg/client"

"k8s.io/klog"
"sigs.k8s.io/controller-runtime/pkg/certwatcher"
"sigs.k8s.io/controller-runtime/pkg/client/config"
)

Expand All @@ -39,12 +41,19 @@ func getCrdClient() client.Client {
}

func configTLS(config Config) *tls.Config {
sCert, err := tls.LoadX509KeyPair(config.CertFile, config.KeyFile)
certWatcher, err := certwatcher.New(config.CertFile, config.KeyFile)
if err != nil {
klog.Fatalf("config=%#v Error: %v", config, err)
}

go func() {
if err := certWatcher.Start(context.TODO()); err != nil {
klog.Fatalf("config=%#v Error: %v", config, err)
}
}()

return &tls.Config{
Certificates: []tls.Certificate{sCert},
GetCertificate: certWatcher.GetCertificate,
// TODO: uses mutual tls after we agree on what cert the apiserver should use.
//ClientAuth: tls.RequireAndVerifyClientCert,
}
Expand Down
Loading