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

Endpoints for every ClickHouse version for testing #61905

Open
alexey-milovidov opened this issue Mar 26, 2024 · 0 comments
Open

Endpoints for every ClickHouse version for testing #61905

alexey-milovidov opened this issue Mar 26, 2024 · 0 comments
Labels

Comments

@alexey-milovidov
Copy link
Member

alexey-milovidov commented Mar 26, 2024

Implement endpoints like

v24.3.fiddle.clickhouse.com
pr65432.fiddle.clickhouse.com

They will be backed by a single server in AWS with a large EBS volume to hold the binaries.

The endpoints will only support the HTTP interface.
Only the latest patch version for every minor version is supported.

The traffic will be routed by a CloudFlare worker and a wildcard DNS record.

The worker will use a simple logic to map the subdomain to a port number. For example, v24.3 will be mapped to port 2403, and pr65432 will be mapped to 15432 where 1 is fixed, and 5432 is the remainder of the division of PR number by 10000. It will attempt to request on the specified port. If the port is not available, it will instead make an API request to a controller service, running on that server at port 8080. The controller service will receive a request to run a certain clickhouse-server version, make this request synchronously, and return a reply when the server is available. Then, the worker will repeat the previous request.

ClickHouse will be downloaded as a single binary to a subdirectory and run without installation.

The server should not use Docker, Kubernetes, ECR, Lambda, or other hi-tech.

It is expected that the service will often be broken or that it could be abused.

The goal is to provide a tool for reviewers to quickly try the features, or a component for AI to facilitate testing, or a honeypot to find bugs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant