Skip to content
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

Add support for self-hosted ClickHouse #413

Merged
merged 23 commits into from
Jun 4, 2024
Merged

Add support for self-hosted ClickHouse #413

merged 23 commits into from
Jun 4, 2024

Conversation

0x2b3bfa0
Copy link
Member

@0x2b3bfa0 0x2b3bfa0 commented Jun 1, 2024

clickhouse:
  enabled: true

  # Optional configuration to pull from a private registry
  image:
    registry: docker.io
    repository: bitnami/clickhouse
    tag: 24.4.1-debian-12-r4

Important

Make sure that global.dvcx.clickHouse.dsn is not set, or it will override the self-hosted ClickHouse connection string.

@0x2b3bfa0 0x2b3bfa0 added the enhancement New feature or request label Jun 1, 2024
@0x2b3bfa0 0x2b3bfa0 requested a review from shcheklein June 1, 2024 17:10
@0x2b3bfa0 0x2b3bfa0 self-assigned this Jun 1, 2024
Copy link
Member

@shcheklein shcheklein left a comment

Choose a reason for hiding this comment

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

Do we need to bring the whole chart like we do for other tools? to make it self-contained?

@0x2b3bfa0
Copy link
Member Author

Do we need to bring the whole chart like we do for other tools? to make it self-contained?

What do you mean exactly by "bring[ing] the whole chart"? If you mean "vendoring" (committing) any tgz with external Bitnami charts to our repository, we've never done that for any of the tools.

@0x2b3bfa0 0x2b3bfa0 marked this pull request as ready for review June 1, 2024 17:18
@shcheklein
Copy link
Member

I primarily mean the tgz bundle that we provide, not necessarily vendoring code itself. I'm not sure how exactly that is done.

@0x2b3bfa0
Copy link
Member Author

We don't have to bundle (vendor) third-party charts with ours; Helm fetches them automatically.

Copy link
Member

@shcheklein shcheklein left a comment

Choose a reason for hiding this comment

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

Linter is failing though. THanks @0x2b3bfa0 !

@shcheklein
Copy link
Member

Q: does it come with some basic PV / PVC?

@@ -59,7 +59,7 @@ jobs:
if: steps.list-changed.outputs.changed == 'true'
run: |
ct lint-and-install --target-branch ${{ github.event.repository.default_branch }} --upgrade --skip-missing-values --debug \
--helm-extra-set-args '--set ci=true --set global.blobvault.persistentVolume.storageClassName="standard" --set imagePullSecrets[0].name=iterativeai --set dockerUsername=${{ vars.ITERATIVE_DOCKER_REGISTRY_USER }} --set dockerPassword=${{ secrets.ITERATIVE_DOCKER_REGISTRY_PASSWORD }} --set dockerServer=docker.iterative.ai'
--helm-extra-set-args '--set ci=true --set global.blobvault.persistentVolume.storageClassName="standard" --set clickhouse.auth.password="clickhouse" --set imagePullSecrets[0].name=iterativeai --set dockerUsername=${{ vars.ITERATIVE_DOCKER_REGISTRY_USER }} --set dockerPassword=${{ secrets.ITERATIVE_DOCKER_REGISTRY_PASSWORD }} --set dockerServer=docker.iterative.ai'
Copy link
Member Author

@0x2b3bfa0 0x2b3bfa0 Jun 2, 2024

Choose a reason for hiding this comment

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

https://github.com/iterative/helm-charts/actions/runs/9332063406/job/25690736127#step:10:117

Error: UPGRADE FAILED: execution error at (studio/charts/clickhouse/templates/secret.yaml:19:21): 
PASSWORDS ERROR: You must provide your current passwords when upgrading the release.
                 Note that even after reinstallation, old credentials may be needed as they may be kept in persistent volume claims.
                 Further information can be obtained at https://docs.bitnami.com/general/how-to/troubleshoot-helm-chart-issues/#credential-errors-while-upgrading-chart-releases

    'auth.password' must not be empty, please add '--set auth.***' to the command. To get the current value:

        export ADMIN_PASSWORD=$(kubectl get secret --namespace "studio-woa6hxx2un" studio-woa6hxx2un-clickhouse -o jsonpath="{.data.admin-password}" | base64 -d)

Copy link
Member Author

Choose a reason for hiding this comment

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

@iterative/platform, is there any better solution?

@0x2b3bfa0
Copy link
Member Author

Q: does it come with some basic PV / PVC?

Yes, you can configure it with these options if needed.

@shcheklein
Copy link
Member

@0x2b3bfa0 are there any blockers? are we good to go here?

@0x2b3bfa0

This comment was marked as outdated.

@mattseddon

This comment was marked as outdated.

@0x2b3bfa0

This comment was marked as outdated.

@0x2b3bfa0 0x2b3bfa0 enabled auto-merge (squash) June 4, 2024 04:39
@0x2b3bfa0 0x2b3bfa0 disabled auto-merge June 4, 2024 04:39
@0x2b3bfa0 0x2b3bfa0 enabled auto-merge (squash) June 4, 2024 04:40
Comment on lines +247 to +249
# Shards / replicas configuration
replicaCount: 1
shards: 1
Copy link
Member Author

@0x2b3bfa0 0x2b3bfa0 Jun 4, 2024

Choose a reason for hiding this comment

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

Using more shards/replicas will cause eventual consistency issues with table creation; to be fixed whenever we have to scale.

@0x2b3bfa0 0x2b3bfa0 merged commit d8d82de into main Jun 4, 2024
4 checks passed
@0x2b3bfa0 0x2b3bfa0 deleted the clickhouse branch June 4, 2024 04:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants