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

rebase: central-dashboard v1.6.0 #111

Merged
merged 239 commits into from
Oct 11, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
239 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
c9a2e1a
restore(notebook-controller) to upstream
Sep 21, 2022
8ff2b3f
pass(tests): locally
bryanpaget Sep 22, 2022
2f3ac12
Merge branch 'feature-1.6-upgrade' into stc-master
bryanpaget Sep 22, 2022
2c44d78
Delete build-notebookcontroller.yml
bryanpaget Sep 22, 2022
ce51d54
reset everything to upstream except centraldashboard
bryanpaget Sep 23, 2022
f18566b
Merge branch 'feature-1.6-passes-tests' into stc-master
bryanpaget Sep 23, 2022
019a299
Update build-centraldashboard.yml
bryanpaget Sep 23, 2022
262618c
Update ROADMAP.md
bryanpaget Sep 23, 2022
e77e204
Update ROADMAP.md
bryanpaget Sep 23, 2022
f010c7c
Update Makefile
bryanpaget Sep 23, 2022
268ceda
update(Dockerfile) to pass tests
bryanpaget Sep 26, 2022
c5a490b
tidy(centraldashboard): code issues from rebase.
bryanpaget Sep 26, 2022
ca0911c
add @polymer/app-localize-behavior
bryanpaget Sep 26, 2022
d422030
revert(centraldashboard): to upstream
bryanpaget Oct 4, 2022
37df477
add app/api.ts changes
bryanpaget Oct 4, 2022
4d7a9dc
add app/api_workgroup.ts changes
bryanpaget Oct 4, 2022
a52217c
add app/attach_user_middleware.ts changes
bryanpaget Oct 4, 2022
6e0d4cc
add config/centraldashboard-config.yaml changes
bryanpaget Oct 4, 2022
c49ae09
re-add fonts
bryanpaget Oct 4, 2022
85479c4
Revert "add config/centraldashboard-config.yaml changes"
bryanpaget Oct 4, 2022
16feca0
Revert "Revert "add config/centraldashboard-config.yaml changes""
bryanpaget Oct 4, 2022
9244efc
Revert "re-add fonts"
bryanpaget Oct 4, 2022
0cf36b1
take package-lock.json from upstream
bryanpaget Oct 4, 2022
1637039
update(main-page.js, main-page_test.js)
bryanpaget Oct 4, 2022
0cec5a3
tidy(centraldashboard): rm centraldashboard-old
bryanpaget Oct 4, 2022
47398df
npm audit fix
bryanpaget Oct 5, 2022
c7d5c0f
removed local critical cves
bryanpaget Oct 5, 2022
3c65fb0
removed local critical cves
bryanpaget Oct 5, 2022
1f8846d
reset(centraldashboard): upstream v1.6.0
bryanpaget Oct 6, 2022
eb09729
fix: json-schema, minimist and underscore CVES
rohank07 Oct 11, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions .github/workflows/build-centraldashboard.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,12 @@ name: component/centraldashboard
on:
push:
branches:
- stc-master
- rohan-test
paths:
- components/centraldashboard/**

pull_request:
types:
- 'opened'
# Environment variables available to all jobs and steps in this workflow
env:
REGISTRY_NAME: k8scc01covidacr
Expand Down
1 change: 0 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,3 @@ The Kubeflow community is organized into working groups (WGs) with associated re

## Get Involved
Please refer to the [Community](https://www.kubeflow.org/docs/about/community/) page.

9 changes: 6 additions & 3 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
# Kubeflow Roadmap

## Kubeflow 1.6 Release, Due: July 2022
* Kubeflow 1.6 [milestones and timelines](https://github.com/kubeflow/community/pull/558)
## Kubeflow 1.7 Release - planning now in process
* Please join the Kubeflow Community Meetings on Tuesdays for updates and for opportunities to contribute.

## Kubeflow 1.6 Release, Delivered: September 2022
* Kubeflow 1.6 [milestones and timelines](https://github.com/kubeflow/community/tree/master/releases/release-1.6)

#### Themes
* Kubernetes 1.22 support
* Kubeflow Pipelines v2 (alpha)

### 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
Expand Down
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
5 changes: 0 additions & 5 deletions components/access-management/kfam/bindings.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,10 @@ package kfam

import (
"fmt"
"k8s.io/apimachinery/pkg/labels"
v1 "k8s.io/client-go/listers/rbac/v1"
"net/url"
"regexp"
"strings"

"k8s.io/apimachinery/pkg/labels"
v1 "k8s.io/client-go/listers/rbac/v1"

istioSecurity "istio.io/api/security/v1beta1"
istioSecurityClient "istio.io/client-go/pkg/apis/security/v1beta1"
rbacv1 "k8s.io/api/rbac/v1"
Expand Down
36 changes: 33 additions & 3 deletions components/admission-webhook/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,46 @@
IMG ?= admission-webhook
TAG ?= $(shell git describe --tags --always --dirty)

# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
ifeq (,$(shell go env GOBIN))
GOBIN=$(shell go env GOPATH)/bin
else
GOBIN=$(shell go env GOBIN)
endif

generate: controller-gen
$(CONTROLLER_GEN) object:headerFile="hack/boilerplate.go.txt" paths="./..."

manifests: controller-gen
$(CONTROLLER_GEN) crd:crdVersions=v1,maxDescLen=0 output:crd:artifacts:config=manifests/base paths="./..."
mv manifests/base/kubeflow.org_poddefaults.yaml manifests/base/crd.yaml

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

docker-build:
docker build -t ${IMG}:${TAG} -f Dockerfile .

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

image: docker-build docker-push

docker-push:
docker push ${IMG}:${TAG}
CONTROLLER_GEN = $(shell pwd)/bin/controller-gen
.PHONY: controller-gen
controller-gen: ## Download controller-gen locally if necessary.
$(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.8.0)

# go-get-tool will 'go get' any package $2 and install it to $1.
PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))
define go-get-tool
@[ -f $(1) ] || { \
set -e ;\
TMP_DIR=$$(mktemp -d) ;\
cd $$TMP_DIR ;\
go mod init tmp ;\
echo "Downloading $(2)" ;\
GOBIN=$(PROJECT_DIR)/bin go get $(2) ;\
rm -rf $$TMP_DIR ;\
}
endef
14 changes: 14 additions & 0 deletions components/admission-webhook/hack/boilerplate.go.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
/*

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
86 changes: 84 additions & 2 deletions components/admission-webhook/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,8 @@ import (
)

const (
annotationPrefix = "poddefault.admission.kubeflow.org"
annotationPrefix = "poddefault.admission.kubeflow.org"
istioProxyContainerName = "istio-proxy"
)

// Config contains the server (the webhook) cert and key.
Expand Down Expand Up @@ -108,6 +109,12 @@ func safeToApplyPodDefaultsOnPod(pod *corev1.Pod, podDefaults []*settingsapi.Pod
errs = append(errs, err)
}

// imagePullSecrets attribute is defined at the Pod level, so determine if volumes
// injection is causing any conflict.
if _, err := mergeImagePullSecrets(pod.Spec.ImagePullSecrets, podDefaults); err != nil {
errs = append(errs, err)
}

for _, ctr := range pod.Spec.Containers {
if err := safeToApplyPodDefaultsOnContainer(&ctr, podDefaults); err != nil {
errs = append(errs, err)
Expand Down Expand Up @@ -147,6 +154,53 @@ func safeToApplyPodDefaultsOnContainer(ctr *corev1.Container, podDefaults []*set
return utilerrors.NewAggregate(errs)
}

// mergeImagePullSecrets merges a list of imagePullSecrets with the imagePullSecrets injected by given list podDefaults.
// It returns an error if it detects any conflict during the merge.
func mergeImagePullSecrets(
imagePullSecrets []corev1.LocalObjectReference,
podDefaults []*settingsapi.PodDefault) ([]corev1.LocalObjectReference, error) {

var errs []error

origMap := map[string]corev1.LocalObjectReference{}
for _, ips := range imagePullSecrets {
origMap[ips.Name] = ips
}

merged := make([]corev1.LocalObjectReference, len(imagePullSecrets))
copy(merged, imagePullSecrets)

for _, pd := range podDefaults {
for _, ips := range pd.Spec.ImagePullSecrets {
found, ok := origMap[ips.Name]
if !ok {
// if we don't have it already, append it and continue
origMap[ips.Name] = ips
merged = append(merged, ips)
continue
}

// make sure they are identical or throw an error
if !reflect.DeepEqual(found, ips) {
errs = append(
errs,
fmt.Errorf(
"merging imagePullSecret for %s has a conflict on %s: \n%#v\ndoes not match\n%#v\n in container",
pd.GetName(), ips.Name, ips, found),
)
}
}
}

err := utilerrors.NewAggregate(errs)
if err != nil {
klog.Error(err)
return nil, err
}

return merged, err
}

// mergeEnv merges a list of env vars with the env vars injected by given list podDefaults.
// It returns an error if it detects any conflict during the merge.
func mergeEnv(envVars []corev1.EnvVar, podDefaults []*settingsapi.PodDefault) ([]corev1.EnvVar, error) {
Expand Down Expand Up @@ -384,6 +438,12 @@ func applyPodDefaultsOnPod(pod *corev1.Pod, podDefaults []*settingsapi.PodDefaul
}
pod.Spec.Tolerations = tolerations

imagePullSecrets, err := mergeImagePullSecrets(pod.Spec.ImagePullSecrets, podDefaults)
if err != nil {
klog.Error(err)
}
pod.Spec.ImagePullSecrets = imagePullSecrets

var (
defaultAnnotations = make([]*map[string]string, len(podDefaults))
defaultLabels = make([]*map[string]string, len(podDefaults))
Expand Down Expand Up @@ -443,6 +503,27 @@ func applyPodDefaultsOnContainer(ctr *corev1.Container, podDefaults []*settingsa
klog.Error(err)
}
ctr.EnvFrom = envFrom

setCommandAndArgs(ctr, podDefaults)
}

//setCommandAndArgs adds command and args to the provided container. If the container already has a command or arguments set,
// they won't be overwritten by PodDefault.
func setCommandAndArgs(ctr *corev1.Container, podDefaults []*settingsapi.PodDefault) {
// ignore istio sidecar container
if ctr.Name == istioProxyContainerName {
return
}
for _, pd := range podDefaults {
if ctr.Command == nil && pd.Spec.Command != nil {
klog.Info(fmt.Sprintf("Updating container: %v, poddefault: %v, setting command: %v", ctr.Name, pd.GetName(), pd.Spec.Command))
ctr.Command = pd.Spec.Command
}
if ctr.Args == nil && pd.Spec.Args != nil {
klog.Info(fmt.Sprintf("Updating container: %v, poddefault: %v, setting args %v", ctr.Name, pd.GetName(), pd.Spec.Args))
ctr.Args = pd.Spec.Args
}
}
}

func mutatePods(ar v1.AdmissionReview) *v1.AdmissionResponse {
Expand All @@ -463,7 +544,7 @@ func mutatePods(ar v1.AdmissionReview) *v1.AdmissionResponse {
reviewResponse := v1.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)
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
}

Expand Down Expand Up @@ -519,6 +600,7 @@ func mutatePods(ar v1.AdmissionReview) *v1.AdmissionResponse {
// detect merge conflict
err = safeToApplyPodDefaultsOnPod(&pod, matchingPDs)
if err != nil {
// This code doesn't ignore the error but rejects the Pod.
// conflict, ignore the error, but raise an event
msg := fmt.Errorf("conflict occurred while applying poddefaults: %s on pod: %v err: %v",
strings.Join(defaultNames, ","), pod.GetName(), err)
Expand Down
78 changes: 75 additions & 3 deletions components/admission-webhook/main_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ func TestApplyPodDefaultsOnPod(t *testing.T) {
[]*settingsapi.PodDefault{
{
Spec: settingsapi.PodDefaultSpec{
Annotations: map[string]string{"baz": "bux"},
ServiceAccountName: "some-service-account",
Annotations: map[string]string{"baz": "bux"},
ServiceAccountName: "some-service-account",
AutomountServiceAccountToken: newTrue(),
},
},
Expand All @@ -110,7 +110,7 @@ func TestApplyPodDefaultsOnPod(t *testing.T) {
Labels: map[string]string{},
},
Spec: corev1.PodSpec{
ServiceAccountName: "some-service-account",
ServiceAccountName: "some-service-account",
AutomountServiceAccountToken: newTrue(),
},
},
Expand Down Expand Up @@ -201,3 +201,75 @@ func TestApplyPodDefaultsOnPod(t *testing.T) {
}

}

func TestSetCommandAndArgs(t *testing.T) {
commandOne := []string{
"cmd1",
}
argsOne := []string{
"arg1",
"arg2",
}
commandTwo := []string{
"cmd2",
}
argsTwo := []string{
"arg3",
"arg4",
}
for _, test := range []struct {
name string
in *corev1.Container
podDefaults []*settingsapi.PodDefault
out *corev1.Container
}{
{
name: "Set command and args",
in: &corev1.Container{},
podDefaults: []*settingsapi.PodDefault{
{
ObjectMeta: metav1.ObjectMeta{
Name: "test-pod-default",
},
Spec: settingsapi.PodDefaultSpec{
Command: commandOne,
Args: argsOne,
},
},
},
out: &corev1.Container{
Command: commandOne,
Args: argsOne,
},
},
{
name: "Do not overwrite command and args in case they are already set",
in: &corev1.Container{
Command: commandTwo,
Args: argsTwo,
},
podDefaults: []*settingsapi.PodDefault{
{
ObjectMeta: metav1.ObjectMeta{
Name: "test-pod-default",
},
Spec: settingsapi.PodDefaultSpec{
Command: commandOne,
Args: argsOne,
},
},
},
out: &corev1.Container{
Command: commandTwo,
Args: argsTwo,
},
},
} {
t.Run(test.name, func(t *testing.T) {
setCommandAndArgs(test.in, test.podDefaults)
if !reflect.DeepEqual(test.in, test.out) {
t.Fatalf("%#v\n Not Equals:\n%#v", test.in, test.out)
}
})
}
}
Loading