Pipeline run api hooks - #689
Conversation
…#12514) Prior to this commit, the executor output always set a custom_path field regardless of if it was set. This caused KFP API server versions prior to 2.15 to fail in the launcher with: "output_metadata.json": proto: (line 1:237): unknown field "custom_path" Signed-off-by: mprahl <mprahl@users.noreply.github.com>
Signed-off-by: mprahl <mprahl@users.noreply.github.com>
…iter (kubeflow#12531) Bumps [urllib3](https://github.com/urllib3/urllib3) from 2.5.0 to 2.6.0. - [Release notes](https://github.com/urllib3/urllib3/releases) - [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst) - [Commits](urllib3/urllib3@2.5.0...2.6.0) --- updated-dependencies: - dependency-name: urllib3 dependency-version: 2.6.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Enhance security context in cache-deployer deployment Added security context to the cache-deployer deployment. Signed-off-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com> * Enhance cache-deployer deployment with labels Add metadata labels to the cache-deployer template. Signed-off-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com> * Remove app label from cache-deployer metadata Removed metadata labels from cache-deployer deployment. Signed-off-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com> --------- Signed-off-by: Julius von Kohout <45896133+juliusvonkohout@users.noreply.github.com>
…ging) (kubeflow#12549) * chore: add cleanup jobs for kind workflows Signed-off-by: sduvvuri1603 <sduvvuri@redhat.com> * chore: cleanup kind workflows and harden artifacts Signed-off-by: sduvvuri1603 <sduvvuri@redhat.com> --------- Signed-off-by: sduvvuri1603 <sduvvuri@redhat.com>
…ne deployments (kubeflow#12543) Signed-off-by: Helber Belmiro <helber.belmiro@gmail.com>
update test cases for env vars Signed-off-by: JerT33 <trestjeremiah@gmail.com>
Signed-off-by: Nelesh Singla <117123879+nsingla@users.noreply.github.com>
…beflow#12559) Bumps [github.com/expr-lang/expr](https://github.com/expr-lang/expr) from 1.17.5 to 1.17.7. - [Release notes](https://github.com/expr-lang/expr/releases) - [Commits](expr-lang/expr@v1.17.5...v1.17.7) --- updated-dependencies: - dependency-name: github.com/expr-lang/expr dependency-version: 1.17.7 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
no need to add explicit step to clean up diskspace as its part of create cluster action Signed-off-by: Nelesh Singla <117123879+nsingla@users.noreply.github.com>
… 3.7.5 (kubeflow#12544) Bumps [github.com/argoproj/argo-workflows/v3](https://github.com/argoproj/argo-workflows) from 3.7.3 to 3.7.5. - [Release notes](https://github.com/argoproj/argo-workflows/releases) - [Changelog](https://github.com/argoproj/argo-workflows/blob/main/CHANGELOG.md) - [Commits](argoproj/argo-workflows@v3.7.3...v3.7.5) --- updated-dependencies: - dependency-name: github.com/argoproj/argo-workflows/v3 dependency-version: 3.7.5 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…pod restarts. Fixes kubeflow#12468 (kubeflow#12469) minor adjustment to print statement Signed-off-by: JerT33 <trestjeremiah@gmail.com>
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
…low#12563) * fix(ci): setup trivy caching Signed-off-by: droctothorpe <mythicalsunlight@gmail.com> * fix(ci): move actionlint to pre-commit Signed-off-by: droctothorpe <mythicalsunlight@gmail.com> * fix comment Signed-off-by: droctothorpe <mythicalsunlight@gmail.com> * Rate limit workaround Signed-off-by: droctothorpe <mythicalsunlight@gmail.com> * Use ECR instead of GHCR Signed-off-by: droctothorpe <mythicalsunlight@gmail.com> --------- Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
* fix: make docker_task_handler optional for SubprocessRunner [local execution] Signed-off-by: Aniket Patil <aniketpatil2027@gmail.com> * fix: local SubprocessRunner supports running without Docker Signed-off-by: Aniket Patil <aniketpatil2027@gmail.com> * fix: string formatting issues for pre-commit checks Signed-off-by: Aniket Patil <aniketpatil2027@gmail.com> --------- Signed-off-by: Aniket Patil <aniketpatil2027@gmail.com>
Bumping version of envoy because the older one uses an envoy image that had as base a ubuntu image in end of life, so by bumping the version. The new one no longer uses the older ubuntu image. Signed-off-by: Tiago Moreira <110294544+TiagoMoreira003@users.noreply.github.com>
…ntTime]] forward compatible from v1 to v2 (kubeflow#12497) * Adds formatting to make Parameter macros such as [[CurrentTime]] forward compatible with v2 from v1 ,matching the behaviour of v1 templates Signed-off-by: Siva-Sainath <siva.explores06@proton.me> * Fix gofmt formatting issue Signed-off-by: Siva-Sainath <siva.explores06@proton.me> * solved a go linting pre-commit test error Signed-off-by: Siva <siva.explores06@proton.me> Signed-off-by: Siva-Sainath <siva.explores06@proton.me> * fix(backend): add formatting to make parameter macros such as [[CurrentTime]] forward compatible from v1 to v2 Signed-off-by: Siva-Sainath <siva.explores06@proton.me> --------- Signed-off-by: Siva-Sainath <siva.explores06@proton.me> Signed-off-by: Siva <siva.explores06@proton.me>
…low#12566) Signed-off-by: Humair Khan <HumairAK@users.noreply.github.com>
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
* display parameters Signed-off-by: rishabh998186 <rishabh998186@gmail.com.com> * Propagate default parameters on mount Signed-off-by: rishabh998186 <rishabh998186@gmail.com.com> * fixing syntex error Signed-off-by: rishabh998186 <rishabh998186@gmail.com.com> --------- Signed-off-by: rishabh998186 <rishabh998186@gmail.com.com> Co-authored-by: rishabh998186 <rishabh998186@gmail.com.com>
Signed-off-by: mprahl <mprahl@users.noreply.github.com>
… issues (kubeflow#12575) Removed unnecessary blank lines for cleaner code. Signed-off-by: juhyeon <28646684+juhyeon-cha@users.noreply.github.com>
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com> Signed-off-by: Alex <mythicalsunlight@gmail.com>
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
Signed-off-by: ajugeorge97 <40798642+ajugeorge97@users.noreply.github.com>
…r runner (kubeflow#12511) Signed-off-by: Nelesh Singla <117123879+nsingla@users.noreply.github.com>
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
The full python:3.11 image carries a large attack surface with numerous system-level CVEs inherited from buildpack-deps. Switching to python:3.11-slim eliminates vulnerable packages not needed at runtime, including libxml2, libexpat, perl, and nghttp2. Key CVEs mitigated by removing system packages in the full image: - CVE-2024-45491 (CRITICAL 9.8) libexpat: integer overflow in dtdCopy - CVE-2024-45490 (CRITICAL 9.8) libexpat: negative length not rejected - CVE-2022-49043 (HIGH) libxml2: use-after-free in xmlXIncludeAddNode - CVE-2024-56171 (HIGH) libxml2: use-after-free in schema validation - CVE-2025-24928 (HIGH) libxml2: stack buffer overflow in DTD validation - CVE-2023-52425 (HIGH 7.5) libexpat: DoS via large token reparsing - CVE-2023-44487 (HIGH 7.5) nghttp2: HTTP/2 Rapid Reset DoS - CVE-2023-31484 (HIGH 8.1) perl CPAN: no TLS certificate verification Also pins Google Cloud SDK to v557.0.0 with SHA256 checksum verification, adds --no-install-recommends, apt list cleanup, and SDK tarball removal to the visualization server Dockerfile. Signed-off-by: Jaison Paul <paul.jaison@gmail.com>
kubeflow#12865 (kubeflow#12866) * fix(sdk): remove overly restrictive accelerator limit validation Signed-off-by: kevo-1 <kevin.bastawrous@gmail.com> * fix: reformat raise ValueError in set_accelerator_limit for YAPF Signed-off-by: kevo-1 <kevin.bastawrous@gmail.com> --------- Signed-off-by: kevo-1 <kevin.bastawrous@gmail.com>
) The OpenTelemetry Go SDK v1.36.0 is vulnerable to arbitrary code execution via PATH hijacking (GO-2026-4394). Confirmed call traces exist in backend/src/common/util/workflow.go and backend/src/v2/objectstore/object_store.go through init chains. Upgrades otel/sdk and related otel packages to v1.40.0, which includes the fix. Signed-off-by: Jaison Paul <paul.jaison@gmail.com>
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
…w#12867) Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.12.6 to 6.14.0. - [Release notes](https://github.com/ajv-validator/ajv/releases) - [Commits](ajv-validator/ajv@v6.12.6...v6.14.0) --- updated-dependencies: - dependency-name: ajv dependency-version: 6.14.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ubeflow#12877) * Respect artifact CustomPath consistently, update publishLogs test to check artifact uploaded Signed-off-by: alenawang <alena.n.wang@gmail.com> * Publish and display executor log artifact when component fails Co-authored-by: tarat44 <32471142+tarat44@users.noreply.github.com> Signed-off-by: alenawang <alena.n.wang@gmail.com> * Make suggested fixes Signed-off-by: alenawang <alena.n.wang@gmail.com> --------- Signed-off-by: alenawang <alena.n.wang@gmail.com> Co-authored-by: tarat44 <32471142+tarat44@users.noreply.github.com>
…ow#12855) * test(frontend): guard paged table against DOM nesting warnings Signed-off-by: Jeff Spahr <spahrj@gmail.com> * test(frontend): keep paged table console errors visible Signed-off-by: Jeff Spahr <spahrj@gmail.com> --------- Signed-off-by: Jeff Spahr <spahrj@gmail.com>
…12814) Bumps [qs](https://github.com/ljharb/qs) to 6.14.2 and updates ancestor dependency [express](https://github.com/expressjs/express). These dependencies need to be updated together. Updates `qs` from 6.13.0 to 6.14.2 - [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md) - [Commits](ljharb/qs@v6.13.0...v6.14.2) Updates `express` from 4.21.2 to 4.22.1 - [Release notes](https://github.com/expressjs/express/releases) - [Changelog](https://github.com/expressjs/express/blob/v4.22.1/History.md) - [Commits](expressjs/express@4.21.2...v4.22.1) --- updated-dependencies: - dependency-name: qs dependency-version: 6.14.2 dependency-type: indirect - dependency-name: express dependency-version: 4.22.1 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [diff](https://github.com/kpdecker/jsdiff) from 4.0.2 to 4.0.4. - [Changelog](https://github.com/kpdecker/jsdiff/blob/master/release-notes.md) - [Commits](kpdecker/jsdiff@v4.0.2...v4.0.4) --- updated-dependencies: - dependency-name: diff dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…low#12816) Bumps [qs](https://github.com/ljharb/qs) from 6.14.1 to 6.14.2. - [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md) - [Commits](ljharb/qs@v6.14.1...v6.14.2) --- updated-dependencies: - dependency-name: qs dependency-version: 6.14.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…beflow#12797) Bumps [axios](https://github.com/axios/axios) from 1.13.4 to 1.13.5. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](axios/axios@v1.13.4...v1.13.5) --- updated-dependencies: - dependency-name: axios dependency-version: 1.13.5 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…ow#12693) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.21...4.17.23) --- updated-dependencies: - dependency-name: lodash dependency-version: 4.17.23 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…kubeflow#12858) * fix(frontend): upgrade re-resizable to remove legacy lifecycle warnings Signed-off-by: Jeff Spahr <spahrj@gmail.com> * test(frontend): add sidepanel smoke coverage pages Signed-off-by: Jeff Spahr <spahrj@gmail.com> --------- Signed-off-by: Jeff Spahr <spahrj@gmail.com>
…roup/runAsNonRoot (kubeflow#12859) * feat: add global admin defaults for security context runAsUser/runAsGroup Expose configmap-driven admin defaults for runAsUser and runAsGroup on customer workload containers. When configured via pipeline-install-config, these values are applied at compile time and override SDK-specified values. Empty by default (feature off) for backward compatibility. Does not affect executor, driver, sidecar, or init containers. Signed-off-by: Jaison Paul <paul.jaison@gmail.com> * fix: prevent runtime override of admin security defaults + reject bool UID/GID Thread admin-configured runAsUser/runAsGroup defaults from compiler to driver via CLI flags so they are pre-populated in the pod spec patch before user values are evaluated. This closes the gap where extendPodSpecPatch always saw a nil SecurityContext (from a fresh patch) and allowed SDK-specified values to override admin defaults via strategic merge. Also reject Python bool arguments for run_as_user/run_as_group since bool is a subclass of int and True/False silently serialize as UID 1/0. Signed-off-by: Jaison Paul <paul.jaison@gmail.com> * feat: add runAsNonRoot as admin-configurable security context default Adds `defaultSecurityContextRunAsNonRoot` to the admin ConfigMap, threading it through the full API server → compiler → driver chain alongside the existing runAsUser/runAsGroup defaults. Admin-set values override SDK-specified values at both compile-time and runtime, matching the existing enforcement pattern. Also adds `run_as_non_root` parameter to the Python SDK's `set_security_context()`. Signed-off-by: Jaison Paul <paul.jaison@gmail.com> * fix: missing DefaultRunAsNonRoot in CreateJob, regenerate protobuf, add parser tests - Add missing DefaultRunAsNonRoot threading in CreateJob TemplateOptions construction (resource_manager.go) - Regenerate kubernetes_executor_config.pb.go from proto definition instead of manual edit, ensuring wire format tables are correct - Add unit tests for parseOptionalInt64 and parseOptionalBool helpers Signed-off-by: Jaison Paul <paul.jaison@gmail.com> * fix: regenerate protobuf Go/Python with CI-matching tool versions Regenerate kubernetes_executor_config.pb.go with protoc-gen-go v1.36.6 and kubernetes_executor_config_pb2.py with updated serialized descriptor including the new run_as_non_root field. Signed-off-by: Jaison Paul <paul.jaison@gmail.com> * fix: align Python protobuf version to CI toolchain (6.31.1) Signed-off-by: Jaison Paul <paul.jaison@gmail.com> * fix: use realistic GID values in AdminSetPreserved test per review Set adminGID to 0 and userGID to 100 to reflect the typical use case where an administrator enforces runAsGroup 0. Signed-off-by: Jaison Paul <paul.jaison@gmail.com> --------- Signed-off-by: Jaison Paul <paul.jaison@gmail.com>
…flow#12876) Signed-off-by: Priyanshu-u07 <connect.priyanshu8271@gmail.com>
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com>
…12882) Signed-off-by: Dipanshu Gupta <dipgupta@redhat.com>
…#12905) Signed-off-by: Nelesh Singla <117123879+nsingla@users.noreply.github.com>
Signed-off-by: droctothorpe <mythicalsunlight@gmail.com> Co-authored-by: zazulam <m.zazula@gmail.com>
Signed-off-by: Jeff Spahr <spahrj@gmail.com>
…ion-test (kubeflow#12682) Bumps [diff](https://github.com/kpdecker/jsdiff) from 5.2.0 to 5.2.2. - [Changelog](https://github.com/kpdecker/jsdiff/blob/master/release-notes.md) - [Commits](kpdecker/jsdiff@v5.2.0...v5.2.2) --- updated-dependencies: - dependency-name: diff dependency-version: 5.2.2 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…tegration-test (kubeflow#12691) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.21...4.17.23) --- updated-dependencies: - dependency-name: lodash dependency-version: 4.17.23 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(frontend): add React peer gate and 18/19 upgrade plan Signed-off-by: Jeff Spahr <spahrj@gmail.com> * fix(frontend): improve JSON parse errors in peer check script Signed-off-by: Jeff Spahr <spahrj@gmail.com> * refactor(frontend): use semver for React peer checks Signed-off-by: Jeff Spahr <spahrj@gmail.com> * fix(frontend): sync lockfile for semver override Signed-off-by: Jeff Spahr <spahrj@gmail.com> * docs(frontend): drop duplicated React upgrade plan Signed-off-by: Jeff Spahr <spahrj@gmail.com> * docs(frontend): remove superseded React 17 checklist Signed-off-by: Jeff Spahr <spahrj@gmail.com> * docs(frontend): tighten canonical React upgrade checklist Signed-off-by: Jeff Spahr <spahrj@gmail.com> --------- Signed-off-by: Jeff Spahr <spahrj@gmail.com>
…list (kubeflow#12918) Signed-off-by: manaswinidas <dasmanaswini10@gmail.com>
…nt (kubeflow#12872) * chore(frontend): remove dead deps request, coveralls, swagger-ts-client Remove three unused dependencies that collectively pull in the deprecated `request` package and its large transitive tree. ## `request` (direct dependency) Used only by `frontend/scripts/replace_protos.js`, a script that downloads MLMD proto files from GitHub via `npm run build:replace`. Evidence the script is dead: - Only one file in the repo imports `request`: this script (line 19) - The script was last modified in commit e035a88 (Aug 2021) to bump MLMD to v1.2.0 - The most recent MLMD upgrade (commit eaec515, Aug 2023, bumping to v1.14.0) updated the proto files directly in git without running this script - `build:replace` is not referenced in any CI workflow, Makefile, or other script - The proto files the script manages (third_party/ml-metadata/...) are checked directly into git and updated manually ## `coveralls` (devDependency) Submits test coverage data to the Coveralls service. Evidence it is dead: - The two scripts that used it were deleted in commit c7f8729 (Sep 2024, "chore: Remove unwanted Frontend test files kubeflow#10973"): `frontend/scripts/report-coveralls.sh` and `frontend/scripts/get-coveralls-repo-token.js` - The npm script that invoked them (`test:ci:prow`) was also removed in that commit - No current npm script, CI workflow, or source file references coveralls - No .coveralls.yml config file exists ## `swagger-ts-client` (devDependency) Generates TypeScript API clients from Swagger specs. Evidence it is dead: - Present since the initial commit 633e2dd but was never actually used — the repo has always used Java-based swagger-codegen-cli.jar for API client generation (see apis:* scripts in package.json) - Zero imports, references, npm scripts, or config files for swagger-ts-client exist anywhere in the repo ## Changes - Delete `frontend/scripts/replace_protos.js` - Remove `request`, `coveralls`, `swagger-ts-client` from package.json - Remove `build:replace` npm script - Regenerate package-lock.json (64 transitive packages pruned) - Remove `build:replace` documentation from CONTRIBUTING.md ## Verification - npm ci: passes - npm run lint: passes - npm run typecheck: passes - npm run test: 117/117 files, 1652/1652 tests pass - npm ls request: confirms request is no longer in the tree Signed-off-by: Jeff Spahr <spahrj@gmail.com> * chore: remove stale build:replace and coveralls references Address Copilot review feedback: - Remove `npm run build:replace` reference from third_party/ml-metadata/README.md, point to build:protos instead - Remove dead Coveralls badge from root README.md (service no longer used since kubeflow#10973) Signed-off-by: Jeff Spahr <spahrj@gmail.com> * fix(frontend): regenerate lockfile with Node 22 / npm 10 The previous lockfile was generated with Node 25 / npm 11, which produces a different resolution format. CI uses Node 22.19.0 / npm 10.9.3 (per .nvmrc), causing npm ci to fail with missing entries (e.g. babel-plugin-macros@3.1.0). Regenerated with the correct toolchain version. Signed-off-by: Jeff Spahr <spahrj@gmail.com> * fix(frontend): realign lockfile with master-resolved dependency graph Use the current master lockfile as baseline and regenerate lock metadata under Node 22.19.0/npm 10 so only this PR's dependency removals remain. This avoids unintended transitive upgrades that caused frontend TypeScript failures in CI. Signed-off-by: Jeff Spahr <spahrj@gmail.com> --------- Signed-off-by: Jeff Spahr <spahrj@gmail.com>
… protobufs Signed-off-by: Helber Belmiro <helber.belmiro@gmail.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Description of your changes:
Checklist: