https://github.com/ulagbulag/cassette
Cloud-native Template-based dynamic declarative Web UI Framework
https://github.com/ulagbulag/cassette
gui kubernetes rust template-based wasm web web-framework
Last synced: about 2 months ago
JSON representation
Cloud-native Template-based dynamic declarative Web UI Framework
- Host: GitHub
- URL: https://github.com/ulagbulag/cassette
- Owner: ulagbulag
- License: agpl-3.0
- Created: 2024-07-09T10:19:56.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-23T16:07:03.000Z (over 1 year ago)
- Last Synced: 2025-01-17T07:09:47.320Z (over 1 year ago)
- Topics: gui, kubernetes, rust, template-based, wasm, web, web-framework
- Language: Rust
- Homepage: https://api.ulagbulag.io
- Size: 731 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 📼 Cassette

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:
```bash
just run-examples # trunk serve --features examples
```
## Tutorial
TBD
## Usage
TBD
## Building
### Cassette Player (App)
#### Dependencies
- node (npm)
- rustup
#### Install dependencies
```bash
cargo install just # for Justfile
```
#### Build
```bash
just build
```
#### Run a local server
```bash
just run # or, just type "just"
```
### Cassette Gateway
#### Dependencies
- rustup
#### Install dependencies
```bash
cargo install just # for Justfile
```
#### Run a local server
```bash
just run-gateway
```
#### Test
```bash
just test
```
### Cassette K8S Operator
#### Dependencies
- rustup
#### Install dependencies
```bash
cargo install just # for Justfile
```
#### Run a local server
```bash
just run-operator
```
#### Test
```bash
just test
```
## Building Container Images
### Build
```bash
just oci-build # Player (App)
just oci-build-server # Gateway, Operator
```
### Run a local server
```bash
# 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
```bash
docker run --name cassette-operator --rm \
-v ~/.kube:/root/.kube:ro \
"quay.io/ulagbulag/cassette-server:latest" \
'cassette-operator'
```
### Deploy
```bash
just oci-push # Player (App)
just oci-push-server # Gateway, Operator
```
## Deploy on K8S
Please check [sample kubernetes](/kubernetes) files.
## LICENSE
It is licensed under [AGPL v3.0 OR LATER](LICENSE).
[Yew]: https://github.com/yewstack/yew