diff --git a/helm-chart/Chart.yaml b/helm-chart/Chart.yaml index 418b3854f..9b9c7beb4 100644 --- a/helm-chart/Chart.yaml +++ b/helm-chart/Chart.yaml @@ -14,4 +14,4 @@ type: application # This is the chart version. This version number should be incremented each time you make changes # to the chart and its templates, including the app version. -version: 9.0.0 +version: 9.0.1 diff --git a/helm-chart/README.md b/helm-chart/README.md index 136220f54..4735a4258 100644 --- a/helm-chart/README.md +++ b/helm-chart/README.md @@ -22,7 +22,7 @@ ingress: - host: datalab.my-domain.net EOF -helm install onyxia onyxia/onyxia --version "9.0.0" -f onyxia-values.yaml +helm install onyxia onyxia/onyxia --version "9.0.1" -f onyxia-values.yaml ``` ### Using the Keycloak Theme (Optional) @@ -44,7 +44,7 @@ extraInitContainers: | args: - -c - | - curl -L -f -S -o /extensions/onyxia.jar https://github.com/InseeFrLab/onyxia/releases/download/v9.0.0/keycloak-theme.jar + curl -L -f -S -o /extensions/onyxia.jar https://github.com/InseeFrLab/onyxia/releases/download/v9.0.1/keycloak-theme.jar volumeMounts: - name: extensions mountPath: /extensions @@ -71,7 +71,7 @@ After that, you should be able to select *onyxia* as *Login Theme*. Documentation reference for the available configuration parameter of the Onyxia Helm Chart. - [The REST API (`api`)](https://github.com/InseeFrLab/onyxia-api/blob/v3.0.0/README.md#configuration) -- [The Web Application (`web`)](https://github.com/InseeFrLab/onyxia/blob/web-v4.32.15/web/.env) +- [The Web Application (`web`)](https://github.com/InseeFrLab/onyxia/blob/web-v4.32.16/web/.env) Below is a sample `onyxia-values.yaml` file that illustrates where to specify the `api` and `web` configuration parameters. @@ -107,4 +107,4 @@ Below is a sample `onyxia-values.yaml` file that illustrates where to specify th If you are building your own service catalog for Onyxia ([learn how](https://docs.onyxia.sh/catalog-of-services)). Here are defined the onyxia reserved parameter and the structure of the dynamic context: -[`values.schema.json` `"x-onyxia"` specifications](https://github.com/InseeFrLab/onyxia/blob/web-v4.32.15/web/src/core/ports/OnyxiaApi/XOnyxia.ts) +[`values.schema.json` `"x-onyxia"` specifications](https://github.com/InseeFrLab/onyxia/blob/web-v4.32.16/web/src/core/ports/OnyxiaApi/XOnyxia.ts) diff --git a/helm-chart/values.yaml b/helm-chart/values.yaml index 7eb3855de..6fdc716ad 100644 --- a/helm-chart/values.yaml +++ b/helm-chart/values.yaml @@ -33,7 +33,7 @@ web: replicaCount: 1 image: repository: inseefrlab/onyxia-web - tag: 4.32.15 + tag: 4.32.16 pullPolicy: IfNotPresent ## Pod priority settings diff --git a/web/.env b/web/.env index 326ff60d2..4d4a3beb6 100644 --- a/web/.env +++ b/web/.env @@ -783,13 +783,13 @@ SERVICE_CONFIGURATION_EXPANDED_BY_DEFAULT=false # # https://github.com/InseeFrLab/onyxia/assets/6702424/8ee829e3-79ed-45c2-95d8-c89fefef7a41 # -S3_DOCUMENTATION_LINK=https://inseefrlab.github.io/docs.sspcloud.fr/docs/fr/storage.html +S3_DOCUMENTATION_LINK=https://docs.sspcloud.fr/content/storage.html # This parameter enable to customize the "our documentation" link on the "My Secrets" page. # # https://github.com/InseeFrLab/onyxia/assets/6702424/add9ac52-2604-40b6-a827-478587f2a05d # -VAULT_DOCUMENTATION_LINK=https://inseefrlab.github.io/docs.sspcloud.fr/docs/fr/secrets.html +VAULT_DOCUMENTATION_LINK=https://docs.sspcloud.fr/content/secrets.html # For devloppement only, to use if you want to run onyxia-web locally and connect to a remote # onyxia-api instance. diff --git a/web/package.json b/web/package.json index e6312d05a..3c090a70b 100644 --- a/web/package.json +++ b/web/package.json @@ -2,7 +2,7 @@ "name": "onyxia-web", "homepage": "https://onyxia.sh", "type": "module", - "version": "4.32.15", + "version": "4.32.16", "license": "MIT", "scripts": { "prepare": "yarn install-git-hooks && vite-envs update-types && copy-material-icons-to-public", @@ -61,8 +61,8 @@ "memoizee": "^0.4.15", "minimal-polyfills": "^2.2.3", "moment": "^2.29.1", - "oidc-spa": "^5.2.7", - "onyxia-ui": "^5.3.0", + "oidc-spa": "^5.3.0", + "onyxia-ui": "^5.3.6", "pathe": "^1.1.2", "powerhooks": "^1.0.12", "react": "^18.2.0", diff --git a/web/src/core/ports/OnyxiaApi/XOnyxia.ts b/web/src/core/ports/OnyxiaApi/XOnyxia.ts index d0a75aa18..e3efbdc60 100644 --- a/web/src/core/ports/OnyxiaApi/XOnyxia.ts +++ b/web/src/core/ports/OnyxiaApi/XOnyxia.ts @@ -78,6 +78,8 @@ export type XOnyxiaContext = { * } */ decodedIdToken: Record; + accessToken: string; + refreshToken: string; }; service: { oneTimePassword: string; diff --git a/web/src/core/usecases/clusterEventsMonitor/thunks.ts b/web/src/core/usecases/clusterEventsMonitor/thunks.ts index 0406891d7..8fdaad93d 100644 --- a/web/src/core/usecases/clusterEventsMonitor/thunks.ts +++ b/web/src/core/usecases/clusterEventsMonitor/thunks.ts @@ -59,6 +59,14 @@ export const thunks = { clusterEvent.severity = "info"; } + if ( + clusterEvent.message.includes( + "pod has unbound immediate PersistentVolumeClaims" + ) + ) { + clusterEvent.severity = "info"; + } + dispatch( actions.newClusterEventReceived({ "clusterEvent": clusterEvent, diff --git a/web/src/core/usecases/launcher/thunks.ts b/web/src/core/usecases/launcher/thunks.ts index 0f54df43f..8cf51f313 100644 --- a/web/src/core/usecases/launcher/thunks.ts +++ b/web/src/core/usecases/launcher/thunks.ts @@ -459,6 +459,10 @@ const privateThunks = { const project = projectManagement.protectedSelectors.currentProject(getState()); + const { decodedIdToken, accessToken, refreshToken } = dispatch( + userAuthentication.protectedThunks.getTokens() + ); + const xOnyxiaContext: XOnyxiaContext = { "user": { "idep": user.username, @@ -468,9 +472,9 @@ const privateThunks = { "ip": !doInjectPersonalInfos ? "0.0.0.0" : await onyxiaApi.getIp(), "darkMode": userConfigs.isDarkModeEnabled, "lang": paramsOfBootstrapCore.getCurrentLang(), - "decodedIdToken": dispatch( - userAuthentication.protectedThunks.getDecodedIdToken() - ) + decodedIdToken, + accessToken, + refreshToken }, "service": { "oneTimePassword": generateRandomPassword() diff --git a/web/src/core/usecases/userAuthentication/thunks.ts b/web/src/core/usecases/userAuthentication/thunks.ts index 1f26caeb7..694a7f82a 100644 --- a/web/src/core/usecases/userAuthentication/thunks.ts +++ b/web/src/core/usecases/userAuthentication/thunks.ts @@ -46,15 +46,15 @@ export const protectedThunks = { ) ); }, - "getDecodedIdToken": + "getTokens": () => (...args) => { const [, , { oidc }] = args; assert(oidc.isUserLoggedIn); - const { decodedIdToken } = oidc.getTokens(); + const { decodedIdToken, accessToken, refreshToken } = oidc.getTokens(); - return decodedIdToken; + return { decodedIdToken, accessToken, refreshToken }; } } satisfies Thunks; diff --git a/web/yarn.lock b/web/yarn.lock index 6fa92127c..c071996ff 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -3909,7 +3909,7 @@ resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.13.tgz#68f6877043d377092890ff5b298152b0a21671bd" integrity sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw== -"@types/memoizee@^0.4.4": +"@types/memoizee@^0.4.11", "@types/memoizee@^0.4.4": version "0.4.11" resolved "https://registry.yarnpkg.com/@types/memoizee/-/memoizee-0.4.11.tgz#da8897f0064bff3e845b5185e2a323bbd5c8d0a3" integrity sha512-2gyorIBZu8GoDr9pYjROkxWWcFtHCquF7TVbN2I+/OvgZhnIGQS0vX5KJz4lXNKb8XOSfxFOSG5OLru1ESqLUg== @@ -5180,6 +5180,14 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" +d@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/d/-/d-1.0.2.tgz#2aefd554b81981e7dccf72d6842ae725cb17e5de" + integrity sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw== + dependencies: + es5-ext "^0.10.64" + type "^2.7.2" + debug@2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -5411,6 +5419,16 @@ es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@ es6-symbol "^3.1.3" next-tick "^1.1.0" +es5-ext@^0.10.62, es5-ext@^0.10.64: + version "0.10.64" + resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.64.tgz#12e4ffb48f1ba2ea777f1fcdd1918ef73ea21714" + integrity sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg== + dependencies: + es6-iterator "^2.0.3" + es6-symbol "^3.1.3" + esniff "^2.0.1" + next-tick "^1.1.0" + es6-iterator@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" @@ -5634,6 +5652,16 @@ eslint@^8.56.0: strip-ansi "^6.0.1" text-table "^0.2.0" +esniff@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/esniff/-/esniff-2.0.1.tgz#a4d4b43a5c71c7ec51c51098c1d8a29081f9b308" + integrity sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg== + dependencies: + d "^1.0.1" + es5-ext "^0.10.62" + event-emitter "^0.3.5" + type "^2.7.2" + espree@^9.6.0, espree@^9.6.1: version "9.6.1" resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" @@ -7036,6 +7064,20 @@ memoizee@^0.4.15: next-tick "^1.1.0" timers-ext "^0.1.7" +memoizee@^0.4.17: + version "0.4.17" + resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.17.tgz#942a5f8acee281fa6fb9c620bddc57e3b7382949" + integrity sha512-DGqD7Hjpi/1or4F/aYAspXKNm5Yili0QDAFAY4QYvpqpgiY6+1jOfqpmByzjxbWd/T9mChbCArXAbDAsTm5oXA== + dependencies: + d "^1.0.2" + es5-ext "^0.10.64" + es6-weak-map "^2.0.3" + event-emitter "^0.3.5" + is-promise "^2.2.2" + lru-queue "^0.1.0" + next-tick "^1.1.0" + timers-ext "^0.1.7" + memoizerific@^1.11.3: version "1.11.3" resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a" @@ -7324,10 +7366,10 @@ ohash@^1.1.3: resolved "https://registry.yarnpkg.com/ohash/-/ohash-1.1.3.tgz#f12c3c50bfe7271ce3fd1097d42568122ccdcf07" integrity sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw== -oidc-spa@^5.2.7: - version "5.2.7" - resolved "https://registry.yarnpkg.com/oidc-spa/-/oidc-spa-5.2.7.tgz#74c5b730fb9a18c6221ae80245a0e6cecf86282e" - integrity sha512-OGl4YnQoZzoF1Dg1pd3rJ96wkdd8n8N7t/fbfpZutAAmTvJlZK3ok9PbaYDDeNLvqlt6GK5zdw+ntaNs6vHkXQ== +oidc-spa@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/oidc-spa/-/oidc-spa-5.3.0.tgz#c2252c026bd949b4a61f0578a11a29574032aa9d" + integrity sha512-ZIBDDtqft3DVNUHTp9OctefuFYtSuRFYMj3dngdvvUpKdvp6bH8FAjEKEzmIpsLbEjD96DGcL3Uj3Rwt6D6DWQ== on-finished@2.4.1: version "2.4.1" @@ -7357,18 +7399,20 @@ onetime@^6.0.0: dependencies: mimic-fn "^4.0.0" -onyxia-ui@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/onyxia-ui/-/onyxia-ui-5.3.0.tgz#ef169beafd7af6452889deb9d02418ebffaf5a2d" - integrity sha512-9eeGiSx17aUu7mKDK7W6HtpQVHrK7Mr+YyKgvjPotbLxMSdClqW7z1LDITnMzLHzH79mj0IWBnyy9u2NDB/r6Q== +onyxia-ui@^5.3.6: + version "5.3.6" + resolved "https://registry.yarnpkg.com/onyxia-ui/-/onyxia-ui-5.3.6.tgz#499a205fd48c6b9672cfe82f46e92b40bef3c4e4" + integrity sha512-eP8jMpskxjOMfSXWvtcxOM/p4fZKWyZv2ORdeBpGKsFWulVfi+UshWAl5x4Y2Fos4fvHHDdgPTDuXhT08lHwpw== dependencies: "@mui/icons-material" "^5.14.18" + "@types/memoizee" "^0.4.11" color "3.1.3" evt "^2.5.7" make-fetch-happen "^10.2.1" - memoizee "^0.4.15" + memoizee "^0.4.17" minimal-polyfills "^2.2.3" powerhooks "^1.0.12" + react-markdown "^5.0.3" run-exclusive "^2.2.19" tsafe "^1.7.2" tss-react "^4.9.12"