Unpacked
무료 디스코드 데이터 패키지 뷰어·분석·시각화, zip 열면 게임별 플레이시간·라이브·음성·메시지·디스코드 사용시간 확인
엔지니어용 오픈소스 분석 DB, AI 에이전트·실시간 분석·효율적 ELT 지원, 최고의 가성비 제공
The open-source analytical database for engineers — built for AI agents, real-time analytics, and efficient ELT, with the best price-performance in the market.
데이터Go · ShellGitHub @firebolt-db온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Run and manage Firebolt on Kubernetes with the Firebolt Operator
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A Kubernetes operator that manages Firebolt infrastructure: metadata services, an Envoy query-routing proxy, and compute engines with zero-downtime scaling via blue-green deployments.README 전문 보기 ↗A Kubernetes operator that manages Firebolt infrastructure: metadata services, an Envoy query-routing proxy, and compute engines with zero-downtime scaling via blue-green deployments.
The operator manages five custom resources:
FireboltInstance and cannot operate without one.spec.engineClassRef — service account / IAM binding, scheduling, sidecars, and the engine container image.spec.engineClassRef resolves namespaced-first: a FireboltEngineClass in the engine's namespace wins over a cluster object of the same name.customEngineConfig). Engines do not reference it by name. The object must be named firebolt (a CEL rule on the CRD pins the name), so a namespace holds at most one.When you change an engine's configuration (e.g., scale from 3 to 5 nodes), the operator performs a zero-downtime blue-green transition: it creates a new generation, waits for readiness, switches traffic, drains the old generation, and deletes it. Editing the resolved FireboltEngineClass or ClusterFireboltEngineClass triggers the same blue-green flow on every consumer engine.
For more detailed information checkout our official documentation
kubectl firebolt pluginFor convenient management there's kubectl-firebolt, a kubectl plugin that creates, lists, deletes, and port-forwards FireboltEngines and FireboltInstances without hand-authoring manifests:
make kubectl-firebolt # builds bin/kubectl-firebolt; put it on PATH
kubectl firebolt engine create my-engine -n my-ns --instance my-instance --type my-engine-class
kubectl firebolt engine list -o wide
It builds the CRs from this repo's api/v1alpha1 types, so it versions in lockstep with the CRDs. See cmd/kubectl-firebolt/README.md for install, the full command set, and output formats.
Paste the following prompt into your favorite coding agent and let it drive the whole local install for you. Ours is Claude Code.
Install the Firebolt Kubernetes Operator on a local Kind cluster, then bring up a working FireboltInstance and FireboltEngine end to end.
If I only gave you the GitHub repo URL, clone the repo first. If I already opened the repo locally, work from the existing checkout.
Follow the "Quick start" section of README.md — it covers the prerequisites, the local Kind setup, object storage, and creating the FireboltInstance and FireboltEngine. Treat this as a request to actually deploy and verify the operator, not just inspect the codebase. Don't assume I have the prerequisites done; if a required tool is missing or a step is ambiguous, tell me and stop rather than guessing.
Workflow:
- Run a non-mutating discovery step first: print tool versions, Docker daemon status, any existing Kind clusters, and the current kube-context. Fail fast with a clear message if a required tool is missing or Docker is down.
- Before making any cluster changes, show me the resolved plan: which Kind cluster and registry you will create or reuse, which make targets you will run, and which namespaces and manifests you will apply.
- Prefer the repo's existing make targets and example manifests over hand-rolled kubectl/helm commands. Run make prepare-test-e2e (cluster + registry + images), then make local-deploy (build, load, Helm install). Stream the output and stop on the first error.
- Create the FireboltInstance, wait until it reports Ready, then deploy object storage and create the FireboltEngineClass + FireboltEngine. Poll for readiness with short loops; never sleep blindly.
- After everything is up, run a smoke check: confirm the operator deployment is Available and the instance and engine are Ready (kubectl get fire -n firebolt). Optionally send a trivial SQL query through the instance gateway as described in "Connecting to engines".
- When done, report the kube-context, what was deployed and where, the in-cluster gateway endpoint, and any remaining manual steps or warnings. If anything failed, show the failing command output and your best diagnosis before continuing.
This is the fast path if you want the agent to drive the install for you. If you would rather run the steps yourself, skip to the Quick start below.
For a step-by-step walkthrough, follow the quickstart guide in our official documentation or using the documentation source file at docs/quickstart.mdx.
The operator sends one anonymous, aggregate usage event to Scarf at most once per day. This helps Firebolt understand how the community runs the operator and prioritize improvements.
The event contains the operator and engine versions, Kubernetes minor version, OS and architecture, and bucketed instance, engine, and replica counts. It does not contain names, stable identifiers, query data, schemas, connection parameters, secrets, or configuration. Counts are bucketed rather than exact. As with any network request, the source IP address is visible to Scarf; Scarf may use it to infer the company and does not store it.
This README also contains a cookie-free Scarf pixel for aggregate page-view statistics. Viewing it in a client that loads remote images can make a request to Scarf independently of the operator's runtime settings; blocking remote images prevents that request.
Image and chart pulls through oci.firebolt.io additionally record the requested version and platform before redirecting to GitHub Container Registry.
You can opt out in any of these ways:
telemetry.enabled=false in the Helm values. This disables runtime events,
switches the default operator and engine repositories to GHCR (custom
image repositories remain unchanged), and sets DO_NOT_TRACK=1 on every
deployed engine container so the engines' own usage telemetry is disabled
as well. An engine or class template that sets DO_NOT_TRACK in its
container env keeps its value; envFrom sources cannot override the
injected entry, because Kubernetes gives env precedence over envFrom.oci://ghcr.io/firebolt-db/helm-charts to bypass Scarf
for the chart download as well. Helm selects the chart repository before it
reads chart values.DO_NOT_TRACK=1 and SCARF_NO_ANALYTICS=1 disable runtime events only.The Firebolt Operator supports these runtime flags. The binary default is what
the manager uses when you run it directly. The Helm chart default is what the
firebolt-operator chart passes with its default values.yaml.
| Flag | Binary default | Helm chart default | Description |
|---|---|---|---|
--version | false | Not set | Print the version and exit. |
--namespace | "" | Not set | Namespace to watch. Watches all namespaces when empty. |
--metrics-bind-address | 0 | :8443 | Address for the metrics endpoint. Use 0 to disable metrics. |
--metrics-secure | true | true | Serve metrics over HTTPS with Kubernetes authentication and authorization. |
--metrics-cert-path | "" | Not set | Directory that contains the metrics server certificate. |
--metrics-cert-name | tls.crt | Not set | Metrics server certificate file name. |
--metrics-cert-key | tls.key | Not set | Metrics server key file name. |
--health-probe-bind-address | :8081 | :8081 | Address for health probes. |
--leader-elect | false | true | Enable leader election for HA deployments. |
--enable-webhooks | true | false | Enable the admission webhook server. |
--webhook-cert-path | "" | Not set | Directory that contains the webhook certificate. The chart sets /tmp/k8s-webhook-server/serving-certs when webhook.enabled=true. |
--webhook-cert-name | tls.crt | Not set | Webhook certificate file name. |
--webhook-cert-key | tls.key | Not set | Webhook key file name. |
make lint # golangci-lint
make test # unit tests (envtest, no cluster required)
make test-e2e # E2E tests (requires Kind cluster)
AGENTS.md.dev-docs/.--enable-http2 |
false |
| Not set |
| Enable HTTP/2 for the metrics and webhook servers. |
--engine-max-cpu | "" | Not set | Maximum allowed CPU request and limit on the engine container (spec.template.spec.containers[name=engine].resources). Empty disables the bound. |
--engine-max-memory | "" | Not set | Maximum allowed memory request and limit on the engine container. Empty disables the bound. |
--engine-max-ephemeral-storage | "" | Not set | Maximum allowed ephemeral-storage request and limit on the engine container. Empty disables the bound. |
--telemetry | true | true | Send a once-daily anonymous aggregate usage event. When false, the operator also stamps DO_NOT_TRACK=1 on deployed engine containers and defaults engine pulls to GHCR. |
--telemetry-endpoint | https://telemetry.firebolt.io/firebolt-operator | Same as binary | Scarf Event Collection endpoint for anonymous aggregate usage events. |
--zap-devel | false | Not set | Enable controller-runtime development logging defaults. |
--zap-encoder | json | json | Log encoding. Valid values are json and console. |
--zap-log-level | info | info | Minimum log level. Valid values include debug, info, error, and panic. |
--zap-stacktrace-level | error | error | Level at and above which stack traces are captured. |
--zap-time-encoding | rfc3339 | Not set | Timestamp encoding for zap logs. |