App Store template
Skardi icon

Skardi

Federated SQL query server that turns YAML-defined queries into parameterized HTTP APIs across files, databases, object storage, and vector stores.

Launch in your Sealos workspace.

Skardi template preview
Template previewFull screenshot
Template deployments
14 on Sealos
Deployment
Your own instance
Category
Tools

About this template

Overview

SQL across anything — query, join, and aggregate over local files, databases, S3, and vector stores, or turn any SQL into a parameterized HTTP API with zero application code. Written in Rust, powered by Apache DataFusion.

From the documentation

A product-search-demo pipeline is pre-loaded when you first launch the instance. Use it to verify everything is working:

How to deploy Skardi

  1. Choose Deploy now to start Skardi in your Sealos workspace.
  2. Review auth_mode, auth_secret, auth_db_path in the deployment form.
  3. Launch the template, then inspect the application status and resource cards in Canvas.

Resources to plan for

Start with the resources defined by the Skardi template. Review CPU, memory, persistent storage, and network allocations for every service in Canvas. Capacity needs depend on your data and workload; monitor usage as they grow.

Template configuration and setup

Access after deployment

Use the application URL or connection details shown in Canvas. Follow the deployment guide for first-time account setup or client configuration, and keep generated credentials available for that step.

Hosting and billing

Sealos monthly plans include compute, memory, storage, and traffic. Size your plan for all deployed services. Software licenses and external AI or API services may have separate terms and charges. Confirm the applicable plan and optional charges in Cost Center.

Compare Sealos resource plans
Read full documentationCollapse documentation

For current cloud charges, refer to Sealos plan pricing. Upstream documentation may reference earlier billing models.

Skardi

SQL across anything — query, join, and aggregate over local files, databases, S3, and vector stores, or turn any SQL into a parameterized HTTP API with zero application code. Written in Rust, powered by Apache DataFusion.

Quick Start

A product-search-demo pipeline is pre-loaded when you first launch the instance. Use it to verify everything is working:

# List all registered pipelines
curl https://<your-app-host>/pipelines

# Run the demo pipeline — returns products filtered by price, brand, category, etc.
curl -X POST https://<your-app-host>/product-search-demo/execute \
  -H "Content-Type: application/json" \
  -d '{
    "brand": null,
    "max_price": 50.0,
    "min_price": null,
    "color": null,
    "category": null,
    "availability": null,
    "limit": 10
  }'

All parameters are optional — pass null to skip a filter.

Customizing Your Deployment

Skardi is configured via two YAML files mounted from ConfigMaps:

ConfigMapFilePurpose
<app-name>-ctxctx.yamlDefines data sources (CSV, Parquet, PostgreSQL, MySQL, SQLite, MongoDB, Redis, S3, Lance, Iceberg)
<app-name>-pipelinepipeline.yamlDefines the SQL query served as a REST endpoint

Edit the ConfigMaps through the Sealos dashboard or with kubectl, then restart the pod to apply changes.

Example: Adding a PostgreSQL Data Source
# ctx.yaml
data_sources:
  - name: "users"
    type: "postgres"
    connection_string: "postgresql://localhost:5432/mydb?sslmode=disable"
    options:
      table: "users"
      user_env: "PG_USER"
      pass_env: "PG_PASSWORD"
Example: Defining a Pipeline
# pipeline.yaml
metadata:
  name: user-lookup
  version: 1.0.0

query: |
  SELECT id, name, email
  FROM users
  WHERE id = {user_id}

Execute it:

curl -X POST https://<your-app-host>/user-lookup/execute \
  -H "Content-Type: application/json" \
  -d '{"user_id": 42}'

API Endpoints

EndpointMethodDescription
/healthGETHealth check
/pipelinesGETList all pipelines
/:name/executePOSTExecute a pipeline

Supported Data Sources

CSV · Parquet · JSON · PostgreSQL · MySQL · SQLite · MongoDB · Redis · Apache Iceberg · Lance (vector + full-text search) · S3 / GCS / Azure Blob

Links

From launch to everyday operations

Why deploy
on Sealos

A shorter path from an app you want to an app you can run. Sealos brings deployment and ongoing operations into one place.

  1. One-click deployment

    Start with a ready-made template. Review its configuration and launch from the Sealos console.

  2. Managed Kubernetes

    Run on managed infrastructure with built-in workload scheduling and recovery.

  3. Automatic HTTPS

    Give your application a public HTTPS endpoint with certificates managed for you.

  4. Persistent storage

    Keep application data on persistent volumes across container restarts.

  5. Room to grow

    Adjust CPU, memory, and replicas from the console as your workload changes.

One template. Connected resources.

You Get the Whole Stack

Sealos provisions the resources defined by your template and brings them together in your workspace.

  • App Service

    Container workloads with configurable CPU, memory, and replicas.

  • Public HTTPS URL

    An address for your app, with managed TLS certificates.

  • Database

    A database provisioned alongside your app when the template calls for one.

  • Persistent Volume

    Storage for the files and data your application needs to keep.

  • Environment Variables

    Application settings and secrets configured in one place.

  • Logs & Metrics

    Inspect container logs and resource usage from the console.

Resources and their configuration vary by template. Review the deployment form for this app’s exact setup.

Explore more production-ready templates.

More