Skip to main content

Getting Started with Zilla


Getting Started with Zilla

Zilla can validate API requests and message streams using your OpenAPI and AsyncAPI schemas. Zilla implements the OpenAPI and AsyncAPI schemas directly meaning there are little or no changes necessary to start serving you existing operations through Zilla. You can just drop in an existing OpenAPI/AsyncAPI specification and Zilla can seamlessly integrate with your current API management workflows and tooling.

You can see a working Petstore Demoopen in new window using OpenAPI/AsyncAPI schemas. Zilla can also define and proxy MQTT endpoints using a pair of AsyncAPI schemas. Check out the Taxi Demoopen in new window to see a Zilla MQTT proxy defined using AsyncAPI, which is deployed Liveopen in new window using Kubernetes.

You can explicitly define your APIs in a Zilla configuration by carefully orchestrating all of the different Bindings Zilla has to offer. You can see many of them on display by using the Kafka Proxy Quickstart or checking out the Zilla Examplesopen in new window repo.

Kafka Proxy Quickstart | Petstore Demoopen in new window | Taxi Demoopen in new window | Zilla Examplesopen in new window

Run via Docker

Run the latest Zilla release with the default empty configuration via Docker.

docker run ghcr.io/aklivity/zilla:latest start -v

The output should display the Zilla config and started to know Zilla is ready for traffic.

// default Zilla config
name: default

// Zilla status
started

Specify your own zilla.yaml file.

docker run -v ./zilla.yaml:/etc/zilla/zilla.yaml ghcr.io/aklivity/zilla:latest start -v

Run via Helm

Go to the Zilla artifacthubopen in new window page to find out more on how to install Zilla using Helm.

helm install zilla oci://ghcr.io/aklivity/charts/zilla --namespace zilla --create-namespace --wait \
    --values values.yaml \
    --set-file zilla\\.yaml=zilla.yaml

Zilla specific configuration is in the zilla.yaml file which can be included in the helm install by adding --set-file zilla\\.yaml=zilla.yaml to your command.

The zilla.yaml Config

The zilla.yaml config is declaratively configured to clearly define API mappings and endpoints that Zilla implements. This makes creating and managing your Zilla services easy.

Zilla config intro | bindings | guards | vaults | catalogs | telemetry

Zilla HTTP Proxy

The Zilla HTTP Kafka Proxy lets you configure application-centric REST APIs and SSE streams that unlock Kafka event-driven architectures.

Overview and Features | Simple CRUD API | Simple SSE Stream | Petstore Demoopen in new window

Zilla gRPC Proxy

The Zilla gRPC Kafka Proxy lets you implement gRPC service definitions from protobuf files to produce and consume messages via Kafka topics.

Overview and Features | Simple gRPC Server | Route Guide example

Zilla MQTT Proxy

The Zilla MQTT Kafka Proxy manages MQTT Pub/Sub connections and messages on and off of Kafka.

Overview and Features | Simple MQTT Broker | MQTT Kafka broker | Taxi Demoopen in new window

Zilla Plus

Everything in OSS plus commercial integrations and enterprise support. Partner-certified solutions for Confluent Cloud, Redpanda, and AWS MSK. Check out the Zillaopen in new window product page and find detailed instructions for each of our markeplace offerings below.

Amazon MSK Secure Public Access
This allows Kafka clients from outside the private network access to the full functionality of your Amazon MSK cluster.

Confluent Cloud Secure Public Access
This allows Confluent and Kafka clients from outside the private network access to the full functionality of your Confluent Cloud cluster.

Amazon MSK IoT Access and Control
Your Amazon cluster is turned into a fully-fledged MQTT broker.

Confluent Cloud IoT Access and Control
Your Confluent Cloud cluster is turned into a fully-fledged MQTT broker.

Redpanda IoT Access and Control
Your Redpanda cluster is turned into a fully-fledged MQTT broker.