-
Notifications
You must be signed in to change notification settings - Fork 92
feat(helm)!: Add the Spider subchart and compression-coordinator wiring for Spider-orchestrated compression. #2418
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
Changes from all commits
adc1af8
a812975
be6e09e
dabc0ab
a48ead3
764e7e0
755fc11
8512e84
7feb0fe
ff23f0a
8eb92a4
104a68d
f26ff14
f4f2b83
8a3c7e7
309cefa
7dfe382
390f2ff
637a46c
c201a47
a8659c7
34f7f9b
4e91080
fb55eb8
2a8ca89
aef4cb9
4d9b2da
e975b25
7d50905
834d8d6
5cd94f1
c2af1ec
1fb0b98
85edf6e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| # Subcharts are downloaded by `helm dependency update`. | ||
| /charts/ |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| dependencies: | ||
| - name: spider | ||
| repository: https://github.com/y-scope/spider/raw/gh-pages | ||
| version: 0.1.8 | ||
| digest: sha256:8f49c09d52edef214a19f9442f5275a39b39a5259657f9314a25b1ed79308785 | ||
| generated: "2026-07-30T15:54:39.26863006-04:00" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,75 @@ | ||
| {{- if .Values.spider.enabled }} | ||
| apiVersion: "apps/v1" | ||
| kind: "Deployment" | ||
| metadata: | ||
| name: {{ include "clp.fullname" . }}-compression-coordinator | ||
| labels: | ||
| {{- include "clp.labels" . | nindent 4 }} | ||
| app.kubernetes.io/component: "compression-coordinator" | ||
| spec: | ||
| replicas: 1 | ||
| selector: | ||
| matchLabels: | ||
| {{- include "clp.selectorLabels" . | nindent 6 }} | ||
| app.kubernetes.io/component: "compression-coordinator" | ||
| template: | ||
| metadata: | ||
| labels: | ||
| {{- include "clp.labels" . | nindent 8 }} | ||
| app.kubernetes.io/component: "compression-coordinator" | ||
| spec: | ||
| {{- include "clp.createSchedulingConfigs" (dict | ||
| "root" . | ||
| "component" "compressionCoordinator" | ||
| ) | nindent 6 }} | ||
| serviceAccountName: {{ include "clp.fullname" . }}-service-account | ||
| terminationGracePeriodSeconds: 60 | ||
| initContainers: | ||
| - {{- include "clp.waitFor" (dict | ||
| "root" . | ||
| "type" "job" | ||
| "name" "db-table-creator" | ||
| ) | nindent 10 }} | ||
| - {{- include "clp.waitFor" (dict | ||
| "root" . | ||
| "type" "service" | ||
| "name" "storage" | ||
| ) | nindent 10 }} | ||
|
coderabbitai[bot] marked this conversation as resolved.
|
||
| containers: | ||
| - name: "compression-coordinator" | ||
| image: {{ include "clp.imageRef" (dict "root" . "component" "clpPackage") | quote }} | ||
| imagePullPolicy: "{{ .Values.image.clpPackage.pullPolicy }}" | ||
| env: | ||
| {{- include "clp.telemetryEnv" . | nindent 12 }} | ||
| - name: "CLP_DB_PASS" | ||
| valueFrom: | ||
| secretKeyRef: | ||
| name: {{ include "clp.fullname" . }}-database | ||
| key: "password" | ||
| - name: "CLP_DB_USER" | ||
| valueFrom: | ||
| secretKeyRef: | ||
| name: {{ include "clp.fullname" . }}-database | ||
| key: "username" | ||
| - name: "OTEL_SERVICE_NAME" | ||
| value: "compression-coordinator" | ||
| - name: "RUST_LOG" | ||
| value: {{ .Values.clpConfig.compression_coordinator.logging_level | quote }} | ||
| {{- include "clp.createResourceLimits" (dict | ||
| "root" . | ||
| "component" "compressionCoordinator" | ||
| ) | nindent 10 }} | ||
| volumeMounts: | ||
| - name: "config" | ||
| mountPath: "/etc/clp-config.yaml" | ||
| subPath: "clp-config.yaml" | ||
| readOnly: true | ||
| command: [ | ||
| "/opt/clp/bin/compression-coordinator", | ||
| "--config", "/etc/clp-config.yaml" | ||
| ] | ||
| volumes: | ||
| - name: "config" | ||
| configMap: | ||
| name: {{ include "clp.fullname" . }}-config | ||
| {{- end }} | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,5 +1,6 @@ | ||
| nameOverride: "" | ||
| fullnameOverride: "" | ||
| global: | ||
| fullnameOverride: "" | ||
| nameOverride: "" | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. mind quickly explaining why we have to move those two keys to
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is a great question which had haunted me for a while, and I am happy to explain as this is the problem with subchart. Consider the below config we must set at Spider side such that worker can talk to CLP database (for commit task). However,
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I see shall we mark this as a breaking change? as in, those who need to override those values should be aware they need to change different keys now |
||
|
|
||
| # Whether to allow scripts in `sbin` access to services on the host. | ||
| allowHostAccessForSbinScripts: true | ||
|
|
@@ -100,6 +101,7 @@ scheduling: | |
| resultsCache: {} | ||
|
|
||
| # Core | ||
| compressionCoordinator: {} | ||
| compressionScheduler: {} | ||
| logIngestor: {} | ||
| queryScheduler: {} | ||
|
|
@@ -130,6 +132,7 @@ resources: | |
| resultsCache: {} | ||
|
|
||
| # Core | ||
| compressionCoordinator: {} | ||
| compressionScheduler: {} | ||
| logIngestor: {} | ||
| queryScheduler: {} | ||
|
|
@@ -190,6 +193,21 @@ clpConfig: | |
| clp: "clp-db" | ||
| spider: "spider-db" | ||
|
|
||
| compression_coordinator: | ||
| commit_task_hard_timeout_secs: 60 | ||
| commit_task_max_retry: 1 | ||
| commit_task_soft_timeout_secs: 45 | ||
| compression_task_max_retry: 1 | ||
| database_connection_pool_size: 10 | ||
| job_polling_interval_millisecs: 100 | ||
| logging_level: "INFO" | ||
| resource_group: | ||
| name: "compression-coordinator" | ||
| result_polling: | ||
| init_backoff_millisecs: 100 | ||
| max_backoff_millisecs: 1000 | ||
| termination_timeout_secs: 30 | ||
|
|
||
| compression_scheduler: | ||
| jobs_poll_delay: 0.1 # seconds | ||
| logging_level: "INFO" | ||
|
|
@@ -366,3 +384,40 @@ serviceAccount: | |
| annotations: | ||
| # For IRSA on EKS, set: | ||
| # eks.amazonaws.com/role-arn: "arn:aws:iam::<ACCOUNT_ID>:role/<role-name>" | ||
|
|
||
| # Overrides for the Spider subchart's `values.yaml` | ||
| spider: | ||
| enabled: false | ||
|
hoophalab marked this conversation as resolved.
|
||
| image: | ||
| worker: | ||
| repository: "ghcr.io/y-scope/clp/clp-spider-worker" | ||
| tag: "main" | ||
|
20001020ycx marked this conversation as resolved.
|
||
| spiderConfig: | ||
|
20001020ycx marked this conversation as resolved.
20001020ycx marked this conversation as resolved.
|
||
| worker: | ||
| extra_envs: | ||
| - name: "CLP_CONFIG_PATH" | ||
| value: "/etc/clp-config.yaml" | ||
| - name: "CLP_DB_USER" | ||
| valueFrom: | ||
| secretKeyRef: | ||
| name: "{{ include \"clp.fullname\" . }}-database" | ||
| key: "username" | ||
| - name: "CLP_DB_PASS" | ||
| valueFrom: | ||
| secretKeyRef: | ||
| name: "{{ include \"clp.fullname\" . }}-database" | ||
| key: "password" | ||
| extra_volume_mounts: | ||
|
20001020ycx marked this conversation as resolved.
|
||
| - name: "clp-config" | ||
| mountPath: "/etc/clp-config.yaml" | ||
| subPath: "clp-config.yaml" | ||
| readOnly: true | ||
| - name: "staged-archives" | ||
| mountPath: "/var/data/staged-archives" | ||
| extra_volumes: | ||
| - name: "clp-config" | ||
| configMap: | ||
| name: "{{ include \"clp.fullname\" . }}-config" | ||
| - name: "staged-archives" | ||
| emptyDir: {} | ||
| service_account_name: "{{ include \"clp.fullname\" . }}-service-account" | ||
Uh oh!
There was an error while loading. Please reload this page.