diff --git a/.github/workflows/example-http-python3.12-django5.0-stable.yaml b/.github/workflows/example-http-python3.12-django5.0-stable.yaml index a130fd59..3f3cf8bb 100644 --- a/.github/workflows/example-http-python3.12-django5.0-stable.yaml +++ b/.github/workflows/example-http-python3.12-django5.0-stable.yaml @@ -47,7 +47,7 @@ jobs: run: | set -xe; - cd http-python3.12-django5.0; + cd httpserver-python3.12-django5.0; kraft cloud deploy \ --no-start \ diff --git a/.github/workflows/example-http-python3.12-django5.0-staging.yaml b/.github/workflows/example-http-python3.12-django5.0-staging.yaml index 6c298e24..a2ea3fc5 100644 --- a/.github/workflows/example-http-python3.12-django5.0-staging.yaml +++ b/.github/workflows/example-http-python3.12-django5.0-staging.yaml @@ -47,7 +47,7 @@ jobs: run: | set -xe; - cd http-python3.12-django5.0; + cd httpserver-python3.12-django5.0; kraft cloud deploy \ --no-start \ diff --git a/.github/workflows/example-http-rust1.87-actix-web4-stable.yaml b/.github/workflows/example-http-python3.12-flask3.0-stable.yaml similarity index 51% rename from .github/workflows/example-http-rust1.87-actix-web4-stable.yaml rename to .github/workflows/example-http-python3.12-flask3.0-stable.yaml index d169b206..e130a315 100644 --- a/.github/workflows/example-http-rust1.87-actix-web4-stable.yaml +++ b/.github/workflows/example-http-python3.12-flask3.0-stable.yaml @@ -1,4 +1,4 @@ -name: examples/http-rust1.87-actix-web4 (stable) +name: examples/http-python3.12-flask3.0 (stable) on: workflow_dispatch: @@ -6,20 +6,20 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-rust1.87-actix-web4-stable.yaml' - - 'http-rust1.87-actix-web4/**' - - '!http-rust1.87-actix-web4/README.md' + - '.github/workflows/example-http-python3.12-flask3.0-stable.yaml' + - 'http-python3.12-flask3.0/**' + - '!http-python3.12-flask3.0/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-rust1.87-actix-web4-stable.yaml' - - 'http-rust1.87-actix-web4/**' - - '!http-rust1.87-actix-web4/README.md' + - '.github/workflows/example-http-python3.12-flask3.0-stable.yaml' + - 'http-python3.12-flask3.0/**' + - '!http-python3.12-flask3.0/README.md' schedule: - - cron: '45 15 * * 1-5' + - cron: '30 15 * * 1-5' # Automatically cancel in-progress actions on the same branch concurrency: @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-rust1.87-actix-web4; + cd httpserver-python3.12-flask3.0; kraft cloud deploy \ --no-start \ - --name http-rust187-actix-web4-${GITHUB_RUN_ID} \ + --name http-python312-flask30-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-testing/base-compat:latest \ - --subdomain http-rust187-actix-web4-${GITHUB_RUN_ID} \ + --subdomain http-python312-flask30-${GITHUB_RUN_ID} \ -p 443:8080 \ - -M 256 \ + -M 512 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-rust187-actix-web4-${GITHUB_RUN_ID} + kraft cloud vm start -w 5s http-python312-flask30-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-rust187-actix-web4-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STABLE }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://http-python312-flask30-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STABLE }}.unikraft.app - name: Cleanup uses: unikraft/kraftkit@staging @@ -71,7 +71,7 @@ jobs: run: | set -xe; - kraft cloud vm stop http-rust187-actix-web4-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-rust187-actix-web4-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-rust187-actix-web4-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-rust187-actix-web4-${GITHUB_RUN_ID} || true; + kraft cloud vm stop http-python312-flask30-${GITHUB_RUN_ID} || true; + kraft cloud vm logs http-python312-flask30-${GITHUB_RUN_ID} || true; + kraft cloud vm rm http-python312-flask30-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/http-python312-flask30-${GITHUB_RUN_ID} || true; \ No newline at end of file diff --git a/.github/workflows/example-http-python3.12-flask3.0-staging.yaml b/.github/workflows/example-http-python3.12-flask3.0-staging.yaml index ffde800d..17c9947d 100644 --- a/.github/workflows/example-http-python3.12-flask3.0-staging.yaml +++ b/.github/workflows/example-http-python3.12-flask3.0-staging.yaml @@ -47,7 +47,7 @@ jobs: run: | set -xe; - cd http-python3.12-flask3.0; + cd httpserver-python3.12-flask3.0; kraft cloud deploy \ --no-start \ diff --git a/.github/workflows/example-httpserver-g++13.2staging.yaml b/.github/workflows/example-httpserver-g++13.2-staging.yaml similarity index 100% rename from .github/workflows/example-httpserver-g++13.2staging.yaml rename to .github/workflows/example-httpserver-g++13.2-staging.yaml diff --git a/.github/workflows/example-prisma-expressjs4.19-node18stable.yaml b/.github/workflows/example-prisma-expressjs4.19-node18-stable.yaml similarity index 100% rename from .github/workflows/example-prisma-expressjs4.19-node18stable.yaml rename to .github/workflows/example-prisma-expressjs4.19-node18-stable.yaml diff --git a/README.md b/README.md index 0c805115..95715cc5 100644 --- a/README.md +++ b/README.md @@ -6,26 +6,25 @@ This repository contains examples of how to deploy applications onto [Unikraft C Example | Unikraft Cloud
`stable` | Unikraft Cloud
`staging` | |-|-|-| -[`caddy`](https://github.com/unikraft-cloud/examples/tree/main/caddy) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-caddy-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-caddy-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-caddy-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-caddy-staging.yaml) | -[`http-c`](https://github.com/unikraft-cloud/examples/tree/main/http-c) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-c-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-c-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-c-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-c-staging.yaml) | -[`http-cpp`](https://github.com/unikraft-cloud/examples/tree/main/http-cpp) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-cpp-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-cpp-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-cpp-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-cpp-staging.yaml) | -[`http-cpp-boost`](https://github.com/unikraft-cloud/examples/tree/main/http-cpp-boost) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-cpp-boost-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-cpp-boost-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-cpp-boost-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-cpp-boost-staging.yaml) | -[`http-go1.21`](https://github.com/unikraft-cloud/examples/tree/main/http-go1.21) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-go1.21-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-go1.21-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-go1.21-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-go1.21-staging.yaml) | -[`http-lua5.1`](https://github.com/unikraft-cloud/examples/tree/main/http-lua5.1) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-lua5.1-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-lua5.1-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-lua5.1-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-lua5.1-staging.yaml) | -[`http-node21`](https://github.com/unikraft-cloud/examples/tree/main/http-node21) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-node21-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-node21-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-node21-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-node21-staging.yaml) | -[`http-perl5.38`](https://github.com/unikraft-cloud/examples/tree/main/http-perl5.38) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-perl5.38-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-perl5.38-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-perl5.38-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-perl5.38-staging.yaml) | -[`http-php8.2`](https://github.com/unikraft-cloud/examples/tree/main/http-php8.2) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-php8.2-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-php8.2-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-php8.2-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-php8.2-staging.yaml) | -[`http-python3.12`](https://github.com/unikraft-cloud/examples/tree/main/http-python3.12) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-staging.yaml) | +[`caddy2.7-go1.21`](https://github.com/unikraft-cloud/examples/tree/main/caddy2.7-go1.21) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-caddy2.7-go1.21-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/.github/workflows/example-caddy2.7-go1.21-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-caddy2.7-go1.21-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/.github/workflows/example-caddy2.7-go1.21-staging.yaml) | +[`httpserver-gcc13.2`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-gcc13.2) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-gcc13.2-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-gcc13.2-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-gcc13.2-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-gcc13.2-staging.yaml) | +[`httpserver-g++13.2`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-g++13.2) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-g++13.2-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-g++13.2-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-g++13.2-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-g++13.2-staging.yaml) | +[`httpserver-boost1.74-g++13.2`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-boost1.74-g++13.2) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-boost1.74-g++13.2-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-boost1.74-g++13.2-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-boost1.74-g++13.2-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-boost1.74-g++13.2-staging.yaml) | +[`httpserver-go1.21`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-go1.21) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-go1.21-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-go1.21-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-go1.21-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-go1.21-staging.yaml) | +[`httpserver-lua5.1`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-lua5.1) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-lua5.1-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-lua5.1-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-lua5.1-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-lua5.1-staging.yaml) | +[`httpserver-nodejs21`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-nodejs21) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-nodejs21-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-nodejs21-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-nodejs21-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-nodejs21-staging.yaml) | +[`httpserver-perl5.38`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-perl5.38) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-perl5.38-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-perl5.38-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-perl5.38-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-perl5.38-staging.yaml) | +[`httpserver-php8.2`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-php8.2) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-php8.2-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-php8.2-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-php8.2-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-php8.2-staging.yaml) | +[`httpserver-python3.12`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-python3.12) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-python3.12-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-python3.12-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-python3.12-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-python3.12-staging.yaml) | [`http-python3.12-flask3.0`](https://github.com/unikraft-cloud/examples/tree/main/http-python3.12-flask3.0) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-flask3.0-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-flask3.0-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-flask3.0-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-flask3.0-staging.yaml) | [`http-python3.12-django5.0`](https://github.com/unikraft-cloud/examples/tree/main/http-python3.12-django5.0) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-django5.0-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-django5.0-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-django5.0-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-python3.12-django5.0-staging.yaml) | -[`http-ruby3.2`](https://github.com/unikraft-cloud/examples/tree/main/http-ruby3.2) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-ruby3.2-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-ruby3.2-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-ruby3.2-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-ruby3.2-staging.yaml) | -[`http-rust1.73`](https://github.com/unikraft-cloud/examples/tree/main/http-rust1.73) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.73-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.73-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.73-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.73-staging.yaml) | -[`http-rust1.87-actix-web4`](https://github.com/unikraft-cloud/examples/tree/main/http-rust1.87-actix-web4) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.87-actix-web4-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.87-actix-web4-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.87-actix-web4-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.87-actix-web4-staging.yaml) | -[`http-rust1.81-rocket0.5`](https://github.com/unikraft-cloud/examples/tree/main/http-rust1.81-rocket0.5) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.81-rocket0.5-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.81-rocket0.5-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.81-rocket0.5-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-http-rust1.81-rocket0.5-staging.yaml) | +[`httpserver-ruby3.2`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-ruby3.2) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-ruby3.2-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-ruby3.2-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-ruby3.2-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-ruby3.2-staging.yaml) | +[`httpserver-rust1.73`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-rust1.73) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.73-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.73-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.73-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.73-staging.yaml) | +[`httpserver-rust1.87-actix-web4`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-rust1.87-actix-web4) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.87-actix-web4-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.87-actix-web4-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.87-actix-web4-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.87-actix-web4-staging.yaml) | +[`httpserver-rust1.81-rocket0.5`](https://github.com/unikraft-cloud/examples/tree/main/httpserver-rust1.81-rocket0.5) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.81-rocket0.5-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.81-rocket0.5-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.81-rocket0.5-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-httpserver-rust1.81-rocket0.5-staging.yaml) | [`imaginary`](https://github.com/unikraft-cloud/examples/tree/main/imaginary) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-imaginary-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-imaginary-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-imaginary-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-imaginary-staging.yaml) | -[`llama2`](https://github.com/unikraft-cloud/examples/tree/main/llama2) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-llama2-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-llama2-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-llama2-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-llama2-staging.yaml) | [`nginx`](https://github.com/unikraft-cloud/examples/tree/main/nginx) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-nginx-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-nginx-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-nginx-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-nginx-staging.yaml) | -[`node21-expressjs`](https://github.com/unikraft-cloud/examples/tree/main/node21-expressjs) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-expressjs-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-expressjs-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-expressjs-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-expressjs-staging.yaml) | +[`expressjs4.18-node21`](https://github.com/unikraft-cloud/examples/tree/main/expressjs4.18-node21) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-expressjs4.18-node21-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-expressjs4.18-node21-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-expressjs4.18-node21-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-expressjs4.18-node21-staging.yaml) | [`node19-nextjs`](https://github.com/unikraft-cloud/examples/tree/main/node21-nextjs) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node19-nextjs-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node19-nextjs-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node19-nextjs-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node19-nextjs-staging.yaml) | [`node20-nextjs`](https://github.com/unikraft-cloud/examples/tree/main/node21-nextjs) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node20-nextjs-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node20-nextjs-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node20-nextjs-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node20-nextjs-staging.yaml) | [`node21-nextjs`](https://github.com/unikraft-cloud/examples/tree/main/node21-nextjs) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-nextjs-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-nextjs-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-nextjs-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-nextjs-staging.yaml) | @@ -33,13 +32,13 @@ Example | Unikraft Cloud
`stable` | Unikraft Cloud
`staging` | [`node21-solidstart`](https://github.com/unikraft-cloud/examples/tree/main/node21-solid-start) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-solidstart-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-solidstart-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-solidstart-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-solidstart-staging.yaml) | [`node21-remix`](https://github.com/unikraft-cloud/examples/tree/main/node21-remix) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-remix-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-remix-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-remix-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-remix-staging.yaml) | [`node21-websocket`](https://github.com/unikraft-cloud/examples/tree/main/node21-websocket) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-websocket-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-websocket-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-websocket-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node21-websocket-staging.yaml) | -[`node18-prisma`](https://github.com/unikraft-cloud/examples/tree/main/node18-prisma-rest-express) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node18-prisma-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node18-prisma-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node18-prisma-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node18-prisma-staging.yaml) | +[`prisma-expressjs4.19-node18`](https://github.com/unikraft-cloud/examples/tree/main/prisma-expressjs4.19-node18) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-prisma-expressjs4.19-node18-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-prisma-expressjs4.19-node18-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-prisma-expressjs4.19-node18-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-prisma-expressjs4.19-node18-staging.yaml) | [`node-playwright-chromium`](https://github.com/unikraft-cloud/examples/tree/main/node-playwright-chromium) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-chromium-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-chromium-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-chromium-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-chromium-staging.yaml) | [`node-playwright-firefox`](https://github.com/unikraft-cloud/examples/tree/main/node-playwright-firefox) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-firefox-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-firefox-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-firefox-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-firefox-staging.yaml) | [`node-playwright-webkit`](https://github.com/unikraft-cloud/examples/tree/main/node-playwright-webkit) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-webkit-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-webkit-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-webkit-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-node-playwright-webkit-staging.yaml) | [`postgres`](https://github.com/unikraft-cloud/examples/tree/main/postgres) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-postgres-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-postgres-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-postgres-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-postgres-staging.yaml) | [`python-playwright-chromium`](https://github.com/unikraft-cloud/examples/tree/main/python-playwright-chromium) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-python-playwright-chromium-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-python-playwright-chromium-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-python-playwright-chromium-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-python-playwright-chromium-staging.yaml) | [`ruby3.2-rails`](https://github.com/unikraft-cloud/examples/tree/main/ruby3.2-rails) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-ruby3.2-rails-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-ruby3.2-rails-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-ruby3.2-rails-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-ruby3.2-rails-staging.yaml) | -[`skipper`](https://github.com/unikraft-cloud/examples/tree/main/skipper) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-skipper-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-skipper-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-skipper-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-skipper-staging.yaml) | +[`skipper0.18`](https://github.com/unikraft-cloud/examples/tree/main/skipper0.18) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-skipper0.18-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-skipper0.18-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-skipper0.18-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-skipper0.18-staging.yaml) | [`traefik`](https://github.com/unikraft-cloud/examples/tree/main/traefik) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-traefik-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-traefik-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-traefik-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-traefik-staging.yaml) | [`opentelemetry-collector`](https://github.com/unikraft-cloud/examples/tree/main/opentelemetry-collector) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-opentelemetry-collector-stable.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-opentelemetry-collector-stable.yaml) | [![](https://github.com/unikraft-cloud/examples/actions/workflows/example-opentelemetry-collector-staging.yaml/badge.svg)](https://github.com/unikraft-cloud/examples/actions/workflows/example-opentelemetry-collector-staging.yaml) |