Skip to content

Conversation

AliRamberg
Copy link
Contributor

@AliRamberg AliRamberg commented Jul 20, 2025

closes #treeverse/lakeFS-Enterprise#454

This was tested with both S3 and GS buckets

@CLAassistant
Copy link

CLAassistant commented Jul 20, 2025

CLA assistant check
All committers have signed the CLA.

@AliRamberg AliRamberg force-pushed the feature/chart/support-mds branch 4 times, most recently from 14122f2 to 778f88a Compare July 26, 2025 17:43
@@ -0,0 +1,10 @@
{{- if .Values.serviceAccount.create }}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Though can be considered breaking change, it's kinda awkward we have these values for creating a new ServiceAccount yet we never do

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@guy-har Do you think we can keep this? We've already had this value but never actually created the serviceAccout, only referenced it.

@AliRamberg AliRamberg force-pushed the feature/chart/support-mds branch from 778f88a to a34c3e1 Compare July 26, 2025 17:49
@AliRamberg AliRamberg force-pushed the feature/chart/support-mds branch from a34c3e1 to 757a3f3 Compare July 27, 2025 08:35
Copy link
Contributor

@guy-har guy-har left a comment

Choose a reason for hiding this comment

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

Looks Good,
Added minor comments.

Also, how was this tested?

Comment on lines 56 to 61
{{/*
Arktika service port
*/}}
{{- define "arktika.port" -}}
{{- default 80 (.Values.mds.service).port }}
{{- end }}
Copy link
Contributor

Choose a reason for hiding this comment

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

Didn't find usage, also, in the deployment we are using port 8000

apiVersion: v1
kind: Service
metadata:
name: arktika-server
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
name: arktika-server
name: {{ include "arktika.fullname" . }}

Arktika volumes
*/}}
{{- define "arktika.volumes" -}}
{{- with .Values.mds.extraVolumes -}}
Copy link
Contributor

Choose a reason for hiding this comment

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

Does not exist in values file

Copy link
Contributor Author

@AliRamberg AliRamberg Jul 27, 2025

Choose a reason for hiding this comment

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

I'm not sure it should be in the default values, because I thought that we shouldn't make these assumptions...
It's a consumer issue choosing what volumes or environment vars he needs. For our specific test case, I've created a secret with GS credentials which were then mounted using these generic templates.

Here's a snippet from my testing values, relevant for extraVolumes and extraVolumeMounts :

  extraVolumes:
    - name: gcp-credentials
      secret:
        secretName: gcp-credentials
  extraVolumeMounts:
    - name: gcp-credentials
      mountPath: /app/credentials.json
      subPath: credentials.json
  extraEnvVars:
    - name: GOOGLE_APPLICATION_CREDENTIALS
      value: /app/credentials.json

Arktika volume mounts
*/}}
{{- define "arktika.volumeMounts" -}}
{{- with .Values.mds.extraVolumeMounts -}}
Copy link
Contributor

Choose a reason for hiding this comment

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

Does not exist in values file

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Check above comment

labels:
{{- include "arktika.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.mds.replicaCount }}
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure whats the best practice here, but if we currently don't support working with multiple replicas, should it be hard coded? Otherwise we might need to document it somewhere

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Absolutely, thanks

@AliRamberg
Copy link
Contributor Author

AliRamberg commented Jul 27, 2025

Also, how was this tested?

I've manually installed the chart with both GS and S3 block stores and performed couple commits on the main repository, made sure the metadata repository is updated with no cloud provider errors

@AliRamberg AliRamberg force-pushed the feature/chart/support-mds branch from 2824b60 to 9ad1a90 Compare July 27, 2025 10:36
@AliRamberg AliRamberg requested a review from guy-har July 27, 2025 10:37
@AliRamberg AliRamberg force-pushed the feature/chart/support-mds branch from 9ad1a90 to afdb0a3 Compare July 27, 2025 10:38
helm.sh/chart: {{ include "lakefs.chart" . }}
{{ include "arktika.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
Copy link
Contributor

Choose a reason for hiding this comment

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

I wonder - perhaps the version should be the mds image tag instead?
(Feel free to not do it and resolve if you think otherwise)

{{- end }}
- name: {{ include "arktika.fullname" . }}-config
mountPath: /app/config.yaml
subPath: config.yaml
Copy link
Contributor

Choose a reason for hiding this comment

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

Will this not error during apply if config is empty?
Meaning by default Values.mds.config is null, so in runtime the ConfigMap has no key config.yaml in it's data spec at all, there's no such key.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I don't really mind as the service couldn't run without it, though we let the app catch it with a default value

Copy link
Contributor

Choose a reason for hiding this comment

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

WDYM? not sure I understand the response

@AliRamberg AliRamberg requested a review from Isan-Rivkin July 30, 2025 14:21
@AliRamberg AliRamberg force-pushed the feature/chart/support-mds branch 2 times, most recently from 5b6a264 to 97e3dce Compare July 30, 2025 15:35
Copy link
Contributor

@Isan-Rivkin Isan-Rivkin left a comment

Choose a reason for hiding this comment

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

Thanks! LGTM!
Left some unresolved / new comments but none of them is a blocker!
BTW Im sure you noticed but just in case there's git conflicts

Comment on lines 145 to 161
config:
lakefs:
endpoint: "https://example.lakefs.io"
access_key_id: "AKIAIOSFOLEXAMPLE"
secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
metadata_settings:
since: "1970-01-01T00:00:00+00"
max_commits: 100
repositories:
# example-repo-1:
# branches:
# - main
# - dev
# example-repo-2:
# branches:
# - main
# - feature-*
Copy link
Contributor

Choose a reason for hiding this comment

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

I would comment that out since it's dead config
and reference the docs, config structure may change
not a blocker

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is commented and I have referenced the docs above the mds block

@AliRamberg AliRamberg force-pushed the feature/chart/support-mds branch from 97e3dce to 2edf037 Compare July 31, 2025 08:14
@AliRamberg
Copy link
Contributor Author

Waiting on releasing until we have a valid image of the default version 0.1.0.

@AliRamberg AliRamberg merged commit 0549a90 into master Aug 4, 2025
3 checks passed
@AliRamberg AliRamberg deleted the feature/chart/support-mds branch August 4, 2025 13:25
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.

4 participants