Skip to content

[KFP] Connect KFP to use MLRun CE SeaweedFS Solution#261

Open
shay79il wants to merge 1 commit intomlrun:developmentfrom
shay79il:CEML-622-kfp
Open

[KFP] Connect KFP to use MLRun CE SeaweedFS Solution#261
shay79il wants to merge 1 commit intomlrun:developmentfrom
shay79il:CEML-622-kfp

Conversation

@shay79il
Copy link
Collaborator

@shay79il shay79il commented Feb 22, 2026

Configure Kubeflow Pipelines to use SeaweedFS S3 gateway for artifact storage,
with KFP 2.x compatibility updates and security hardening.

CEML-622

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR configures Kubeflow Pipelines (KFP) to use the SeaweedFS S3-compatible storage gateway for artifact storage, with KFP 2.x compatibility updates and security hardening for pipeline components.

Changes:

  • Configured KFP launcher with SeaweedFS artifact storage using the minio:// URI scheme (KFP's standard S3-compatible protocol)
  • Added KFP 2.x environment variables for artifact retention and proxy configuration with optional flags
  • Hardened metadata-envoy deployment with security context restrictions
  • Externalized LOG_LEVEL configuration to ConfigMap for better configurability

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
ct.yaml New configuration file to disable version increment checks for chart-testing tool
charts/mlrun-ce/Chart.yaml Bumped chart version from 0.11.0-rc9 to 0.11.0-rc10
Makefile Updated helm-lint target to use ct.yaml configuration
charts/mlrun-ce/templates/pipelines/configmaps/pipeline-install-config.yaml Added LOG_LEVEL configuration with INFO as default
charts/mlrun-ce/templates/pipelines/configmaps/kfp-launcher.yaml Configured defaultPipelineRoot with minio:// scheme pointing to SeaweedFS S3 gateway, includes comprehensive documentation
charts/mlrun-ce/templates/pipelines/deployments/ml-pipeline.yaml Moved LOG_LEVEL to ConfigMap reference, added optional KFP 2.x environment variables (ARTIFACT_RETENTION_DAYS, ARTIFACTS_PROXY_ENABLED), and improved code organization with section comments
charts/mlrun-ce/templates/pipelines/deployments/metadata-envoy-deployment.yaml Added container security context with privilege escalation prevention and capability restrictions

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

name: pipeline-install-config
key: bucketName

# KFP 2.15.x - Artifact retention and proxy configuration
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comment references "KFP 2.15.x" but the current version in use is 2.14.3 (as seen in values.yaml). The comment should either reference "KFP 2.14.x+" or be updated to reflect the actual version being used. This could cause confusion about which KFP version these features are actually available in.

Suggested change
# KFP 2.15.x - Artifact retention and proxy configuration
# KFP 2.14.x+ - Artifact retention and proxy configuration

Copilot uses AI. Check for mistakes.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we want to use ARTIFACT_RETENTION_DAYS we should upgrade the KFP server version to 2.15

allowPrivilegeEscalation: false
runAsNonRoot: true
runAsUser: 1000
runAsGroup: 0
Copy link

Copilot AI Feb 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The security context sets runAsGroup: 0 (root group), which weakens the security posture. While the container runs as a non-root user (runAsUser: 1000), running with group ID 0 can still grant elevated permissions. Consider using a non-root group ID (e.g., runAsGroup: 1000) unless the envoy proxy specifically requires root group membership for its operation.

Suggested change
runAsGroup: 0
runAsGroup: 1000

Copilot uses AI. Check for mistakes.
cacheImage: {{ .Values.pipelines.images.cacheImage.repository }}:{{ .Values.pipelines.images.cacheImage.tag }}
cacheNodeRestrictions: "false"
cronScheduleTimezone: UTC
LOG_LEVEL: INFO
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe worth to add an option to the user to change this log level

key: bucketName

# KFP 2.15.x - Artifact retention and proxy configuration
- name: ARTIFACT_RETENTION_DAYS
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What are the values for ARTIFACT_RETENTION_DAYS. and ARTIFACTS_PROXY_ENABLED ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

they are optional not mandatory
If the client does not provide them all good

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if may maybe worth adding an option for the user to set values for those ENV in the config map by using the values.yaml file.
not mandatory, choose if you want to add it

@shay79il shay79il force-pushed the CEML-622-kfp branch 2 times, most recently from 9031be9 to d35bb5d Compare February 24, 2026 19:18
Configure Kubeflow Pipelines to use SeaweedFS S3 gateway for artifact storage, with KFP 2.x compatibility updates
[CEML-622](https://iguazio.atlassian.net/browse/CEML-622)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants