Skip to content

Cloud-native Template-based dynamic declarative Web UI Framework

License

Notifications You must be signed in to change notification settings

ulagbulag/cassette

Repository files navigation

📼 Cassette

Cassette logo

This is a Cloud-native Template-based dynamic declarative web UI framework built with Yew.

You can get started by experiencing the various features here: https://api.ulagbulag.io

You can also deploy your own example app using one-line simple command:

just run-examples  # trunk serve --features examples

Tutorial

TBD

Usage

TBD

Building

Cassette Player (App)

Dependencies

  • node (npm)
  • rustup

Install dependencies

cargo install just  # for Justfile

Build

just build

Run a local server

just run  # or, just type "just"

Cassette Gateway

Dependencies

  • rustup

Install dependencies

cargo install just  # for Justfile

Run a local server

just run-gateway

Test

just test

Cassette K8S Operator

Dependencies

  • rustup

Install dependencies

cargo install just  # for Justfile

Run a local server

just run-operator

Test

just test

Building Container Images

Build

just oci-build  # Player (App)
just oci-build-server  # Gateway, Operator

Run a local server

# Gateway
docker run --name cassette-gateway --rm \
    -p 8080:8080 \
    "quay.io/ulagbulag/cassette-server:latest" \
    'cassette-gateway'

# Player (App)
docker run --name cassette-player --rm \
    -p 6080:6080 \
    "quay.io/ulagbulag/cassette:latest"

Run a local K8S operator

docker run --name cassette-operator --rm \
    -v ~/.kube:/root/.kube:ro \
    "quay.io/ulagbulag/cassette-server:latest" \
    'cassette-operator'

Deploy

just oci-push  # Player (App)
just oci-push-server  # Gateway, Operator

Deploy on K8S

Please check sample kubernetes files.

LICENSE

It is licensed under AGPL v3.0 OR LATER.