diff --git a/.github/workflows/example-caddy-stable.yaml b/.github/workflows/example-caddy2.7-go1.21-stable.yaml similarity index 56% rename from .github/workflows/example-caddy-stable.yaml rename to .github/workflows/example-caddy2.7-go1.21-stable.yaml index 21d17bef..8b7f839f 100644 --- a/.github/workflows/example-caddy-stable.yaml +++ b/.github/workflows/example-caddy2.7-go1.21-stable.yaml @@ -1,4 +1,4 @@ -name: examples/caddy (stable) +name: examples/caddy2.7-go1.21 (stable) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-caddy-stable.yaml' - - 'caddy/**' - - '!caddy/README.md' + - '.github/workflows/example-caddy2.7-go1.21-stable.yaml' + - 'caddy2.7-go1.21/**' + - '!caddy2.7-go1.21/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-caddy-stable.yaml' - - 'caddy/**' - - '!caddy/README.md' + - '.github/workflows/example-caddy2.7-go1.21-stable.yaml' + - 'caddy2.7-go1.21/**' + - '!caddy2.7-go1.21/README.md' schedule: - cron: '0 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd caddy; + cd caddy2.7-go1.21; kraft cloud deploy \ --no-start \ - --name caddy-${GITHUB_RUN_ID} \ + --name caddy27-go121-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-testing/base-compat:latest \ - --subdomain caddy-${GITHUB_RUN_ID} \ + --subdomain caddy27-go121-${GITHUB_RUN_ID} \ -p 443:2015 \ -M 256 \ .; # wait for the instance to start - kraft cloud vm start -w 5s caddy-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s caddy27-go121-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://caddy-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STABLE }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://caddy27-go121-${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 caddy-${GITHUB_RUN_ID} || true; - kraft cloud vm logs caddy-${GITHUB_RUN_ID} || true; - kraft cloud vm rm caddy-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/caddy-${GITHUB_RUN_ID} || true; + kraft cloud vm stop caddy27-go121-${GITHUB_RUN_ID} || true; + kraft cloud vm logs caddy27-go121-${GITHUB_RUN_ID} || true; + kraft cloud vm rm caddy27-go121-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/caddy27-go121-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-caddy-staging.yaml b/.github/workflows/example-caddy2.7-go1.21-staging.yaml similarity index 56% rename from .github/workflows/example-caddy-staging.yaml rename to .github/workflows/example-caddy2.7-go1.21-staging.yaml index 6b487539..d9fb6724 100644 --- a/.github/workflows/example-caddy-staging.yaml +++ b/.github/workflows/example-caddy2.7-go1.21-staging.yaml @@ -1,4 +1,4 @@ -name: examples/caddy (staging) +name: examples/caddy2.7-go1.21 (staging) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-caddy-staging.yaml' - - 'caddy/**' - - '!caddy/README.md' + - '.github/workflows/example-caddy2.7-go1.21-staging.yaml' + - 'caddy2.7-go1.21/**' + - '!caddy2.7-go1.21/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-caddy-staging.yaml' - - 'caddy/**' - - '!caddy/README.md' + - '.github/workflows/example-caddy2.7-go1.21-staging.yaml' + - 'caddy2.7-go1.21/**' + - '!caddy2.7-go1.21/README.md' schedule: - cron: '0 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd caddy; + cd caddy2.7-go1.21; kraft cloud deploy \ --no-start \ - --name caddy-${GITHUB_RUN_ID} \ + --name caddy27-go121-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-staging/base-compat:latest \ - --subdomain caddy-${GITHUB_RUN_ID} \ + --subdomain caddy27-go121-${GITHUB_RUN_ID} \ -p 443:2015 \ -M 256 \ .; # wait for the instance to start - kraft cloud vm start -w 5s caddy-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s caddy27-go121-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://caddy-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://caddy27-go121-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app - name: Cleanup uses: unikraft/kraftkit@staging @@ -71,7 +71,7 @@ jobs: run: | set -xe; - kraft cloud vm stop caddy-${GITHUB_RUN_ID} || true; - kraft cloud vm logs caddy-${GITHUB_RUN_ID} || true; - kraft cloud vm rm caddy-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/caddy-${GITHUB_RUN_ID} || true; + kraft cloud vm stop caddy27-go121-${GITHUB_RUN_ID} || true; + kraft cloud vm logs caddy27-go121-${GITHUB_RUN_ID} || true; + kraft cloud vm rm caddy27-go121-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/caddy27-go121-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-c-stable.yaml b/.github/workflows/example-httpserver-boost1.74-g++13.2-stable.yaml similarity index 51% rename from .github/workflows/example-http-c-stable.yaml rename to .github/workflows/example-httpserver-boost1.74-g++13.2-stable.yaml index 90c1215c..18cd7508 100644 --- a/.github/workflows/example-http-c-stable.yaml +++ b/.github/workflows/example-httpserver-boost1.74-g++13.2-stable.yaml @@ -1,4 +1,4 @@ -name: examples/http-c (stable) +name: examples/httpserver-boost1.74-g++13.2 (stable) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-c-stable.yaml' - - 'http-c/**' - - '!http-c/README.md' + - '.github/workflows/example-httpserver-boost1.74-g++13.2-stable.yaml' + - 'httpserver-boost1.74-g++13.2/**' + - '!httpserver-boost1.74-g++13.2/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-c-stable.yaml' - - 'http-c/**' - - '!http-c/README.md' + - '.github/workflows/example-httpserver-boost1.74-g++13.2-stable.yaml' + - 'httpserver-boost1.74-g++13.2/**' + - '!httpserver-boost1.74-g++13.2/README.md' schedule: - cron: '0 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-c; + cd httpserver-boost1.74-g++13.2; kraft cloud deploy \ --no-start \ - --name http-c-${GITHUB_RUN_ID} \ + --name httpserver-boost174-g++132-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-testing/base-compat:latest \ - --subdomain http-c-${GITHUB_RUN_ID} \ + --subdomain httpserver-boost174-g++132-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 256 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-c-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-boost174-g++132-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-c-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STABLE }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-boost174-g++132-${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-c-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-c-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-c-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-c-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-boost174-g++132-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-boost174-g++132-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-boost174-g++132-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-boost174-g++132-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-c-staging.yaml b/.github/workflows/example-httpserver-boost1.74-g++13.2-staging.yaml similarity index 51% rename from .github/workflows/example-http-c-staging.yaml rename to .github/workflows/example-httpserver-boost1.74-g++13.2-staging.yaml index e735f93a..127b4b23 100644 --- a/.github/workflows/example-http-c-staging.yaml +++ b/.github/workflows/example-httpserver-boost1.74-g++13.2-staging.yaml @@ -1,4 +1,4 @@ -name: examples/http-c (staging) +name: examples/httpserver-boost1.74-g++13.2 (staging) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-c-staging.yaml' - - 'http-c/**' - - '!http-c/README.md' + - '.github/workflows/example-httpserver-boost1.74-g++13.2-staging.yaml' + - 'httpserver-boost1.74-g++13.2/**' + - '!httpserver-boost1.74-g++13.2/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-c-staging.yaml' - - 'http-c/**' - - '!http-c/README.md' + - '.github/workflows/example-httpserver-boost1.74-g++13.2-staging.yaml' + - 'httpserver-boost1.74-g++13.2/**' + - '!httpserver-boost1.74-g++13.2/README.md' schedule: - cron: '0 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-c; + cd httpserver-boost1.74-g++13.2; kraft cloud deploy \ --no-start \ - --name http-c-${GITHUB_RUN_ID} \ + --name httpserver-boost174-g++132-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-staging/base-compat:latest \ - --subdomain http-c-${GITHUB_RUN_ID} \ + --subdomain httpserver-boost174-g++132-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 256 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-c-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-boost174-g++132-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-c-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-boost174-g++132-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app - name: Cleanup uses: unikraft/kraftkit@staging @@ -71,7 +71,7 @@ jobs: run: | set -xe; - kraft cloud vm stop http-c-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-c-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-c-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-c-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-boost174-g++132-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-boost174-g++132-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-boost174-g++132-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-boost174-g++132-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-cpp-stable.yaml b/.github/workflows/example-httpserver-g++13.2-stable.yaml similarity index 55% rename from .github/workflows/example-http-cpp-stable.yaml rename to .github/workflows/example-httpserver-g++13.2-stable.yaml index d8e660c9..a471a721 100644 --- a/.github/workflows/example-http-cpp-stable.yaml +++ b/.github/workflows/example-httpserver-g++13.2-stable.yaml @@ -1,4 +1,4 @@ -name: examples/http-cpp (stable) +name: examples/httpserver-g++13.2 (stable) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-cpp-stable.yaml' - - 'http-cpp/**' - - '!http-cpp/README.md' + - '.github/workflows/example-httpserver-g++13.2-stable.yaml' + - 'httpserver-g++13.2/**' + - '!httpserver-g++13.2/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-cpp-stable.yaml' - - 'http-cpp/**' - - '!http-cpp/README.md' + - '.github/workflows/example-httpserver-g++13.2-stable.yaml' + - 'httpserver-g++13.2/**' + - '!httpserver-g++13.2/README.md' schedule: - cron: '0 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-cpp; + cd httpserver-g++13.2; kraft cloud deploy \ --no-start \ - --name http-cpp-${GITHUB_RUN_ID} \ + --name httpserver-g++132-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-testing/base-compat:latest \ - --subdomain http-cpp-${GITHUB_RUN_ID} \ + --subdomain httpserver-g++132-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 256 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-cpp-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-g++132-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-cpp-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STABLE }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-g++132-${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-cpp-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-cpp-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-cpp-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-cpp-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-g++132-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-g++132-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-g++132-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-g++132-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-cpp-boost-staging.yaml b/.github/workflows/example-httpserver-g++13.2staging.yaml similarity index 55% rename from .github/workflows/example-http-cpp-boost-staging.yaml rename to .github/workflows/example-httpserver-g++13.2staging.yaml index 5986e52b..eb02777f 100644 --- a/.github/workflows/example-http-cpp-boost-staging.yaml +++ b/.github/workflows/example-httpserver-g++13.2staging.yaml @@ -1,4 +1,4 @@ -name: examples/http-cpp-boost (staging) +name: examples/httpserver-g++13.2 (staging) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-cpp-boost-staging.yaml' - - 'http-cpp-boost/**' - - '!http-cpp-boost/README.md' + - '.github/workflows/example-httpserver-g++13.2-staging.yaml' + - 'httpserver-g++13.2/**' + - '!httpserver-g++13.2/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-cpp-boost-staging.yaml' - - 'http-cpp-boost/**' - - '!http-cpp-boost/README.md' + - '.github/workflows/example-httpserver-g++13.2-staging.yaml' + - 'httpserver-g++13.2/**' + - '!httpserver-g++13.2/README.md' schedule: - cron: '0 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-cpp-boost; + cd httpserver-g++13.2; kraft cloud deploy \ --no-start \ - --name http-cpp-boost-${GITHUB_RUN_ID} \ + --name httpserver-g++132-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-staging/base-compat:latest \ - --subdomain http-cpp-boost-${GITHUB_RUN_ID} \ + --subdomain httpserver-g++132-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 256 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-cpp-boost-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-g++132-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-cpp-boost-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-g++132-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app - name: Cleanup uses: unikraft/kraftkit@staging @@ -71,7 +71,7 @@ jobs: run: | set -xe; - kraft cloud vm stop http-cpp-boost-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-cpp-boost-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-cpp-boost-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-cpp-boost-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-g++132-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-g++132-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-g++132-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-g++132-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-cpp-boost-stable.yaml b/.github/workflows/example-httpserver-gcc13.2-stable.yaml similarity index 55% rename from .github/workflows/example-http-cpp-boost-stable.yaml rename to .github/workflows/example-httpserver-gcc13.2-stable.yaml index 8f3d146d..079f40e7 100644 --- a/.github/workflows/example-http-cpp-boost-stable.yaml +++ b/.github/workflows/example-httpserver-gcc13.2-stable.yaml @@ -1,4 +1,4 @@ -name: examples/http-cpp-boost (stable) +name: examples/httpserver-gcc13.2 (stable) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-cpp-boost-stable.yaml' - - 'http-cpp-boost/**' - - '!http-cpp-boost/README.md' + - '.github/workflows/example-httpserver-gcc13.2-stable.yaml' + - 'httpserver-gcc13.2/**' + - '!httpserver-gcc13.2/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-cpp-boost-stable.yaml' - - 'http-cpp-boost/**' - - '!http-cpp-boost/README.md' + - '.github/workflows/example-httpserver-gcc13.2-stable.yaml' + - 'httpserver-gcc13.2/**' + - '!httpserver-gcc13.2/README.md' schedule: - cron: '0 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-cpp-boost; + cd httpserver-gcc13.2; kraft cloud deploy \ --no-start \ - --name http-cpp-boost-${GITHUB_RUN_ID} \ + --name httpserver-gcc132-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-testing/base-compat:latest \ - --subdomain http-cpp-boost-${GITHUB_RUN_ID} \ + --subdomain httpserver-gcc132-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 256 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-cpp-boost-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-gcc132-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-cpp-boost-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STABLE }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-gcc132-${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-cpp-boost-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-cpp-boost-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-cpp-boost-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-cpp-boost-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-gcc132-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-gcc132-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-gcc132-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-gcc132-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-cpp-staging.yaml b/.github/workflows/example-httpserver-gcc13.2-staging.yaml similarity index 55% rename from .github/workflows/example-http-cpp-staging.yaml rename to .github/workflows/example-httpserver-gcc13.2-staging.yaml index 63521c56..5bbc4980 100644 --- a/.github/workflows/example-http-cpp-staging.yaml +++ b/.github/workflows/example-httpserver-gcc13.2-staging.yaml @@ -1,4 +1,4 @@ -name: examples/http-cpp (staging) +name: examples/httpserver-gcc13.2 (staging) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-cpp-staging.yaml' - - 'http-cpp/**' - - '!http-cpp/README.md' + - '.github/workflows/example-httpserver-gcc13.2-staging.yaml' + - 'httpserver-gcc13.2/**' + - '!httpserver-gcc13.2/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-cpp-staging.yaml' - - 'http-cpp/**' - - '!http-cpp/README.md' + - '.github/workflows/example-httpserver-gcc13.2-staging.yaml' + - 'httpserver-gcc13.2/**' + - '!httpserver-gcc13.2/README.md' schedule: - cron: '0 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-cpp; + cd httpserver-gcc13.2; kraft cloud deploy \ --no-start \ - --name http-cpp-${GITHUB_RUN_ID} \ + --name httpserver-gcc132-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-staging/base-compat:latest \ - --subdomain http-cpp-${GITHUB_RUN_ID} \ + --subdomain httpserver-gcc132-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 256 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-cpp-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-gcc132-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-cpp-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-gcc132-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app - name: Cleanup uses: unikraft/kraftkit@staging @@ -71,7 +71,7 @@ jobs: run: | set -xe; - kraft cloud vm stop http-cpp-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-cpp-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-cpp-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-cpp-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-gcc132-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-gcc132-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-gcc132-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-gcc132-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-go1.21-stable.yaml b/.github/workflows/example-httpserver-go1.21-stable.yaml similarity index 55% rename from .github/workflows/example-http-go1.21-stable.yaml rename to .github/workflows/example-httpserver-go1.21-stable.yaml index 12b9fb18..f05bb25b 100644 --- a/.github/workflows/example-http-go1.21-stable.yaml +++ b/.github/workflows/example-httpserver-go1.21-stable.yaml @@ -1,4 +1,4 @@ -name: examples/http-go1.21 (stable) +name: examples/httpserver-go1.21 (stable) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-go1.21-stable.yaml' - - 'http-go1.21/**' - - '!http-go1.21/README.md' + - '.github/workflows/example-httpserver-go1.21-stable.yaml' + - 'httpserver-go1.21/**' + - '!httpserver-go1.21/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-go1.21-stable.yaml' - - 'http-go1.21/**' - - '!http-go1.21/README.md' + - '.github/workflows/example-httpserver-go1.21-stable.yaml' + - 'httpserver-go1.21/**' + - '!httpserver-go1.21/README.md' schedule: - cron: '15 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-go1.21; + cd httpserver-go1.21; kraft cloud deploy \ --no-start \ - --name http-go121-${GITHUB_RUN_ID} \ + --name httpserver-go121-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-testing/base-compat:latest \ - --subdomain http-go121-${GITHUB_RUN_ID} \ + --subdomain httpserver-go121-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 256 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-go121-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-go121-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-go121-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STABLE }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-go121-${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-go121-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-go121-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-go121-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-go121-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-go121-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-go121-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-go121-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-go121-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-go1.21-staging.yaml b/.github/workflows/example-httpserver-go1.21-staging.yaml similarity index 55% rename from .github/workflows/example-http-go1.21-staging.yaml rename to .github/workflows/example-httpserver-go1.21-staging.yaml index 617c1647..7b8dbfe8 100644 --- a/.github/workflows/example-http-go1.21-staging.yaml +++ b/.github/workflows/example-httpserver-go1.21-staging.yaml @@ -1,4 +1,4 @@ -name: examples/http-go1.21 (staging) +name: examples/httpserver-go1.21 (staging) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-go1.21-staging.yaml' - - 'http-go1.21/**' - - '!http-go1.21/README.md' + - '.github/workflows/example-httpserver-go1.21-staging.yaml' + - 'httpserver-go1.21/**' + - '!httpserver-go1.21/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-go1.21-staging.yaml' - - 'http-go1.21/**' - - '!http-go1.21/README.md' + - '.github/workflows/example-httpserver-go1.21-staging.yaml' + - 'httpserver-go1.21/**' + - '!httpserver-go1.21/README.md' schedule: - cron: '15 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-go1.21; + cd httpserver-go1.21; kraft cloud deploy \ --no-start \ - --name http-go121-${GITHUB_RUN_ID} \ + --name httpserver-go121-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-staging/base-compat:latest \ - --subdomain http-go121-${GITHUB_RUN_ID} \ + --subdomain httpserver-go121-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 256 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-go121-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-go121-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-go121-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-go121-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app - name: Cleanup uses: unikraft/kraftkit@staging @@ -71,7 +71,7 @@ jobs: run: | set -xe; - kraft cloud vm stop http-go121-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-go121-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-go121-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-go121-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-go121-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-go121-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-go121-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-go121-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-perl5.38-stable.yaml b/.github/workflows/example-httpserver-nodejs21-stable.yaml similarity index 53% rename from .github/workflows/example-http-perl5.38-stable.yaml rename to .github/workflows/example-httpserver-nodejs21-stable.yaml index eef0409c..1fc9ee38 100644 --- a/.github/workflows/example-http-perl5.38-stable.yaml +++ b/.github/workflows/example-httpserver-nodejs21-stable.yaml @@ -1,4 +1,4 @@ -name: examples/http-perl5.38 (stable) +name: examples/httpserver-nodejs21 (stable) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-perl5.38-stable.yaml' - - 'http-perl5.38/**' - - '!http-perl5.38/README.md' + - '.github/workflows/example-httpserver-nodejs21-stable.yaml' + - 'httpserver-nodejs21/**' + - '!httpserver-nodejs21/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-perl5.38-stable.yaml' - - 'http-perl5.38/**' - - '!http-perl5.38/README.md' + - '.github/workflows/example-httpserver-nodejs21-stable.yaml' + - 'httpserver-nodejs21/**' + - '!httpserver-nodejs21/README.md' schedule: - cron: '15 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-perl5.38; + cd httpserver-nodejs21; kraft cloud deploy \ --no-start \ - --name http-perl538-${GITHUB_RUN_ID} \ + --name httpserver-nodejs21-stable-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-testing/base-compat:latest \ - --subdomain http-perl538-${GITHUB_RUN_ID} \ + --subdomain httpserver-nodejs21-stable-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 512 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-perl538-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-nodejs21-stable-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-perl538-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STABLE }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-nodejs21-stable-${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-perl538-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-perl538-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-perl538-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-perl538-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-nodejs21-stable-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-nodejs21-stable-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-nodejs21-stable-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-nodejs21-stable-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-perl5.38-staging.yaml b/.github/workflows/example-httpserver-nodejs21-staging.yaml similarity index 53% rename from .github/workflows/example-http-perl5.38-staging.yaml rename to .github/workflows/example-httpserver-nodejs21-staging.yaml index 3cf2d46b..3478b591 100644 --- a/.github/workflows/example-http-perl5.38-staging.yaml +++ b/.github/workflows/example-httpserver-nodejs21-staging.yaml @@ -1,4 +1,4 @@ -name: examples/http-perl5.38 (staging) +name: examples/httpserver-nodejs21 (staging) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-perl5.38-staging.yaml' - - 'http-perl5.38/**' - - '!http-perl5.38/README.md' + - '.github/workflows/example-httpserver-nodejs21-staging.yaml' + - 'httpserver-nodejs21/**' + - '!httpserver-nodejs21/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-perl5.38-staging.yaml' - - 'http-perl5.38/**' - - '!http-perl5.38/README.md' + - '.github/workflows/example-httpserver-nodejs21-staging.yaml' + - 'httpserver-nodejs21/**' + - '!httpserver-nodejs21/README.md' schedule: - cron: '15 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-perl5.38; + cd httpserver-nodejs21; kraft cloud deploy \ --no-start \ - --name http-perl538-${GITHUB_RUN_ID} \ + --name httpserver-nodejs21-staging-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-staging/base-compat:latest \ - --subdomain http-perl538-${GITHUB_RUN_ID} \ + --subdomain httpserver-nodejs21-staging-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 512 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-perl538-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-nodejs21-staging-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-perl538-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-nodejs21-staging-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app - name: Cleanup uses: unikraft/kraftkit@staging @@ -71,7 +71,7 @@ jobs: run: | set -xe; - kraft cloud vm stop http-perl538-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-perl538-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-perl538-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-perl538-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-nodejs21-staging-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-nodejs21-staging-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-nodejs21-staging-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-nodejs21-staging-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-node21-stable.yaml b/.github/workflows/example-httpserver-perl5.38-stable.yaml similarity index 57% rename from .github/workflows/example-http-node21-stable.yaml rename to .github/workflows/example-httpserver-perl5.38-stable.yaml index cbdefe2b..57512bba 100644 --- a/.github/workflows/example-http-node21-stable.yaml +++ b/.github/workflows/example-httpserver-perl5.38-stable.yaml @@ -1,4 +1,4 @@ -name: examples/http-node21 (stable) +name: examples/httpserver-perl5.38 (stable) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-node21-stable.yaml' - - 'http-node21/**' - - '!http-node21/README.md' + - '.github/workflows/example-httpserver-perl5.38-stable.yaml' + - 'httpserver-perl5.38/**' + - '!httpserver-perl5.38/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-node21-stable.yaml' - - 'http-node21/**' - - '!http-node21/README.md' + - '.github/workflows/example-httpserver-perl5.38-stable.yaml' + - 'httpserver-perl5.38/**' + - '!httpserver-perl5.38/README.md' schedule: - cron: '15 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-node21; + cd httpserver-perl5.38; kraft cloud deploy \ --no-start \ - --name http-node21-stable-${GITHUB_RUN_ID} \ + --name httpserver-perl538-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-testing/base-compat:latest \ - --subdomain http-node21-stable-${GITHUB_RUN_ID} \ + --subdomain httpserver-perl538-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 512 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-node21-stable-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-perl538-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-node21-stable-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STABLE }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-perl538-${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-node21-stable-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-node21-stable-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-node21-stable-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-node21-stable-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-perl538-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-perl538-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-perl538-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-perl538-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-node21-staging.yaml b/.github/workflows/example-httpserver-perl5.38-staging.yaml similarity index 54% rename from .github/workflows/example-http-node21-staging.yaml rename to .github/workflows/example-httpserver-perl5.38-staging.yaml index fd0090f2..08e0adc6 100644 --- a/.github/workflows/example-http-node21-staging.yaml +++ b/.github/workflows/example-httpserver-perl5.38-staging.yaml @@ -1,4 +1,4 @@ -name: examples/http-node21 (staging) +name: examples/httpserver-perl5.38 (staging) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-node21-staging.yaml' - - 'http-node21/**' - - '!http-node21/README.md' + - '.github/workflows/example-httpserver-perl5.38-staging.yaml' + - 'httpserver-perl5.38/**' + - '!httpserver-perl5.38/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-node21-staging.yaml' - - 'http-node21/**' - - '!http-node21/README.md' + - '.github/workflows/example-httpserver-perl5.38-staging.yaml' + - 'httpserver-perl5.38/**' + - '!httpserver-perl5.38/README.md' schedule: - cron: '15 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-node21; + cd httpserver-perl5.38; kraft cloud deploy \ --no-start \ - --name http-node21-staging-${GITHUB_RUN_ID} \ + --name httpserver-perl538-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-staging/base-compat:latest \ - --subdomain http-node21-staging-${GITHUB_RUN_ID} \ + --subdomain httpserver-perl538-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 512 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-node21-staging-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-perl538-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-node21-staging-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-perl538-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app - name: Cleanup uses: unikraft/kraftkit@staging @@ -71,7 +71,7 @@ jobs: run: | set -xe; - kraft cloud vm stop http-node21-staging-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-node21-staging-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-node21-staging-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-node21-staging-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-perl538-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-perl538-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-perl538-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-perl538-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-python3.12-stable.yaml b/.github/workflows/example-httpserver-python3.12-stable.yaml similarity index 54% rename from .github/workflows/example-http-python3.12-stable.yaml rename to .github/workflows/example-httpserver-python3.12-stable.yaml index 7a61e305..ea715f10 100644 --- a/.github/workflows/example-http-python3.12-stable.yaml +++ b/.github/workflows/example-httpserver-python3.12-stable.yaml @@ -1,4 +1,4 @@ -name: examples/http-python3.12 (stable) +name: examples/httpserver-python3.12 (stable) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-python3.12-stable.yaml' - - 'http-python3.12/**' - - '!http-python3.12/README.md' + - '.github/workflows/example-httpserver-python3.12-stable.yaml' + - 'httpserver-python3.12/**' + - '!httpserver-python3.12/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-python3.12-stable.yaml' - - 'http-python3.12/**' - - '!http-python3.12/README.md' + - '.github/workflows/example-httpserver-python3.12-stable.yaml' + - 'httpserver-python3.12/**' + - '!httpserver-python3.12/README.md' schedule: - cron: '30 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-python3.12; + cd httpserver-python3.12; kraft cloud deploy \ --no-start \ - --name http-python312-${GITHUB_RUN_ID} \ + --name httpserver-python312-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-testing/base-compat:latest \ - --subdomain http-python312-${GITHUB_RUN_ID} \ + --subdomain httpserver-python312-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 512 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-python312-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-python312-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-python312-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STABLE }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-python312-${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-python312-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-python312-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-python312-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-python312-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-python312-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-python312-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-python312-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-python312-${GITHUB_RUN_ID} || true; diff --git a/.github/workflows/example-http-python3.12-staging.yaml b/.github/workflows/example-httpserver-python3.12-staging.yaml similarity index 54% rename from .github/workflows/example-http-python3.12-staging.yaml rename to .github/workflows/example-httpserver-python3.12-staging.yaml index daced0de..4dec707b 100644 --- a/.github/workflows/example-http-python3.12-staging.yaml +++ b/.github/workflows/example-httpserver-python3.12-staging.yaml @@ -1,4 +1,4 @@ -name: examples/http-python3.12 (staging) +name: examples/httpserver-python3.12 (staging) on: workflow_dispatch: @@ -6,17 +6,17 @@ on: push: branches: [ main ] paths: - - '.github/workflows/example-http-python3.12-staging.yaml' - - 'http-python3.12/**' - - '!http-python3.12/README.md' + - '.github/workflows/example-httpserver-python3.12-staging.yaml' + - 'httpserver-python3.12/**' + - '!httpserver-python3.12/README.md' pull_request: types: [ opened, synchronize, reopened ] branches: [ main ] paths: - - '.github/workflows/example-http-python3.12-staging.yaml' - - 'http-python3.12/**' - - '!http-python3.12/README.md' + - '.github/workflows/example-httpserver-python3.12-staging.yaml' + - 'httpserver-python3.12/**' + - '!httpserver-python3.12/README.md' schedule: - cron: '30 15 * * 1-5' @@ -47,22 +47,22 @@ jobs: run: | set -xe; - cd http-python3.12; + cd httpserver-python3.12; kraft cloud deploy \ --no-start \ - --name http-python312-${GITHUB_RUN_ID} \ + --name httpserver-python312-${GITHUB_RUN_ID} \ --runtime index.unikraft.io/official-staging/base-compat:latest \ - --subdomain http-python312-${GITHUB_RUN_ID} \ + --subdomain httpserver-python312-${GITHUB_RUN_ID} \ -p 443:8080 \ -M 512 \ .; # wait for the instance to start - kraft cloud vm start -w 5s http-python312-${GITHUB_RUN_ID}; + kraft cloud vm start -w 5s httpserver-python312-${GITHUB_RUN_ID}; sleep 5; - curl -Lv --fail-with-body --max-time 10 https://http-python312-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app + curl -Lv --fail-with-body --max-time 10 https://httpserver-python312-${GITHUB_RUN_ID}.${{ vars.UKC_METRO_STAGING }}.unikraft.app - name: Cleanup uses: unikraft/kraftkit@staging @@ -71,7 +71,7 @@ jobs: run: | set -xe; - kraft cloud vm stop http-python312-${GITHUB_RUN_ID} || true; - kraft cloud vm logs http-python312-${GITHUB_RUN_ID} || true; - kraft cloud vm rm http-python312-${GITHUB_RUN_ID} || true; - kraft cloud img rm index.unikraft.io/test/http-python312-${GITHUB_RUN_ID} || true; + kraft cloud vm stop httpserver-python312-${GITHUB_RUN_ID} || true; + kraft cloud vm logs httpserver-python312-${GITHUB_RUN_ID} || true; + kraft cloud vm rm httpserver-python312-${GITHUB_RUN_ID} || true; + kraft cloud img rm index.unikraft.io/test/httpserver-python312-${GITHUB_RUN_ID} || true; diff --git a/caddy/Dockerfile b/caddy2.7-go1.21/Dockerfile similarity index 100% rename from caddy/Dockerfile rename to caddy2.7-go1.21/Dockerfile diff --git a/caddy/Kraftfile b/caddy2.7-go1.21/Kraftfile similarity index 100% rename from caddy/Kraftfile rename to caddy2.7-go1.21/Kraftfile diff --git a/caddy/README.md b/caddy2.7-go1.21/README.md similarity index 100% rename from caddy/README.md rename to caddy2.7-go1.21/README.md diff --git a/caddy/rootfs/etc/caddy/Caddyfile b/caddy2.7-go1.21/rootfs/etc/caddy/Caddyfile similarity index 100% rename from caddy/rootfs/etc/caddy/Caddyfile rename to caddy2.7-go1.21/rootfs/etc/caddy/Caddyfile diff --git a/caddy/rootfs/var/www/index.html b/caddy2.7-go1.21/rootfs/var/www/index.html similarity index 100% rename from caddy/rootfs/var/www/index.html rename to caddy2.7-go1.21/rootfs/var/www/index.html diff --git a/redis/Dockerfile b/database-redis7.2/Dockerfile similarity index 100% rename from redis/Dockerfile rename to database-redis7.2/Dockerfile diff --git a/redis/Kraftfile b/database-redis7.2/Kraftfile similarity index 100% rename from redis/Kraftfile rename to database-redis7.2/Kraftfile diff --git a/redis/README.md b/database-redis7.2/README.md similarity index 100% rename from redis/README.md rename to database-redis7.2/README.md diff --git a/redis/fs/etc/redis/redis.conf b/database-redis7.2/fs/etc/redis/redis.conf similarity index 100% rename from redis/fs/etc/redis/redis.conf rename to database-redis7.2/fs/etc/redis/redis.conf diff --git a/duckdb-go/Dockerfile b/duckdb-go1.21/Dockerfile similarity index 100% rename from duckdb-go/Dockerfile rename to duckdb-go1.21/Dockerfile diff --git a/duckdb-go/Kraftfile b/duckdb-go1.21/Kraftfile similarity index 100% rename from duckdb-go/Kraftfile rename to duckdb-go1.21/Kraftfile diff --git a/duckdb-go/README.md b/duckdb-go1.21/README.md similarity index 100% rename from duckdb-go/README.md rename to duckdb-go1.21/README.md diff --git a/duckdb-go/src/go.mod b/duckdb-go1.21/src/go.mod similarity index 100% rename from duckdb-go/src/go.mod rename to duckdb-go1.21/src/go.mod diff --git a/duckdb-go/src/go.sum b/duckdb-go1.21/src/go.sum similarity index 100% rename from duckdb-go/src/go.sum rename to duckdb-go1.21/src/go.sum diff --git a/duckdb-go/src/main.go b/duckdb-go1.21/src/main.go similarity index 100% rename from duckdb-go/src/main.go rename to duckdb-go1.21/src/main.go diff --git a/flask3.0-python3.12-sqlite3/Dockerfile b/flask3.0-python3.12-sqlite3/Dockerfile new file mode 100644 index 00000000..af331146 --- /dev/null +++ b/flask3.0-python3.12-sqlite3/Dockerfile @@ -0,0 +1,23 @@ +FROM python:3.12-bookworm AS build + +RUN set -xe; \ + /usr/sbin/ldconfig /usr/local/lib + +WORKDIR /app + +COPY requirements.txt /app + +RUN pip3 install -r requirements.txt --no-cache-dir + +FROM scratch + +COPY --from=build /usr/local/lib /usr/local/lib +COPY --from=build /usr/local/bin/python3 /usr/bin/python3 +COPY --from=build /lib/x86_64-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/libc.so.6 +COPY --from=build /lib/x86_64-linux-gnu/libm.so.6 /lib/x86_64-linux-gnu/libm.so.6 +COPY --from=build /usr/lib/x86_64-linux-gnu/libz.so.1 /usr/lib/x86_64-linux-gnu/libz.so.1 +COPY --from=build /usr/lib/x86_64-linux-gnu/libcrypto.so.3 /usr/lib/x86_64-linux-gnu/libcrypto.so.3 +COPY --from=build /lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2 +COPY --from=build /etc/ld.so.cache /etc/ld.so.cache + +COPY ./server.py /src/server.py diff --git a/http-python3.12/Kraftfile b/flask3.0-python3.12-sqlite3/Kraftfile similarity index 100% rename from http-python3.12/Kraftfile rename to flask3.0-python3.12-sqlite3/Kraftfile diff --git a/flask3.0-python3.12-sqlite3/README.md b/flask3.0-python3.12-sqlite3/README.md new file mode 100644 index 00000000..f3ce6f25 --- /dev/null +++ b/flask3.0-python3.12-sqlite3/README.md @@ -0,0 +1,161 @@ +# Flask + +This guide explains how to create and deploy a [Flask](https://flask.palletsprojects.com/en/3.0.x/) web server. +To run this example, follow these steps: + +1. Install the [`kraft` CLI tool](https://unikraft.org/docs/cli/install) and a container runtime engine, for example [Docker](https://docs.docker.com/engine/install/). + +2. Clone the [`examples` repository](https://github.com/unikraft-cloud/examples) and `cd` into the `examples/http-python3.12-flask3.0/` directory: + +```bash +git clone https://github.com/unikraft-cloud/examples +cd examples/http-python3.12-flask3.0/ +``` + +Make sure to log into Unikraft Cloud by setting your token and a [metro](https://unikraft.com/docs/platform/metros) close to you. +This guide uses `fra` (Frankfurt, 🇩🇪): + +```bash +export UKC_TOKEN=token +# Set metro to Frankfurt, DE +export UKC_METRO=fra +``` + +When done, invoke the following command to deploy this app on Unikraft Cloud: + +```bash +kraft cloud deploy -p 443:8080 -M 512 . +``` + +The output shows the instance address and other details: + +```ansi +[●] Deployed successfully! + │ + ├────────── name: http-python312-flask30-bxwxm + ├────────── uuid: 3ff1ebad-2639-4214-bab4-ed35c4c32fa4 + ├───────── state: running + ├─────────── url: https://damp-sunset-azd6dtyt.fra.unikraft.app + ├───────── image: http-python312-flask30@sha256:d6c8e4c5a4f44e1d642d8eaeaa1d820b2841194dd6c5d4a872ae0a895c767da9 + ├───── boot time: 222.27 ms + ├──────── memory: 512 MiB + ├─────── service: damp-sunset-azd6dtyt + ├── private fqdn: http-python312-flask30-bxwxm.internal + ├──── private ip: 172.16.6.5 + └────────── args: /usr/bin/python3 /app/server.py +``` + +In this case, the instance name is `http-python312-flask30-bxwxm` and the address is `https://damp-sunset-azd6dtyt.fra.unikraft.app`. +They're different for each run. + +Use `curl` to query the Unikraft Cloud instance of the Python-based HTTP web server: + +```bash +curl https://young-night-5fpf0jj8.fra.unikraft.app +``` +```text +Hello, World! +``` + +You can list information about the instance by running: + +```bash +kraft cloud instance list +``` +```ansi +NAME FQDN STATE STATUS IMAGE MEMORY VCPUS ARGS BOOT TIME +http-python312-flask30-bxwxm damp-sunset-azd6dtyt.fra.unikraft.app running 1 minute ago http-python312-flask30@sha256:d6c8e... 512 MiB 1 /usr/bin/python3 /app/server.py 222273us +``` + +When done, you can remove the instance: + +```bash +kraft cloud instance remove http-python312-flask30-bxwxm +``` + +## Customize your app + +To customize the app, update the files in the repository, listed below: + +* `server.py`: the actual Python HTTP server +* `Kraftfile`: the Unikraft Cloud specification +* `Dockerfile`: the Docker-specified app filesystem + +Lines in the `Kraftfile` have the following roles: + +* `spec: v0.6`: The current `Kraftfile` specification version is `0.6`. + +* `runtime: python:3.12`: The Unikraft runtime kernel to use is Python 3.12. + +* `rootfs: ./Dockerfile`: Build the app root filesystem using the `Dockerfile`. + +* `cmd: ["/usr/bin/python3", "/src/server.py"]`: Use `/usr/bin/python3 /src/server.py` as the starting command of the instance. + +Lines in the `Dockerfile` have the following roles: + +* `FROM scratch`: Build the filesystem from the [`scratch` container image](https://hub.docker.com/_/scratch/), to [create a base image](https://docs.docker.com/build/building/base-images/). + +* `COPY ./server.py /app/server.py`: Copy the server implementation file (`server.py`) in the Docker filesystem (in `/app/server.py`). + +The following options are available for customizing the app: + +* If you only update the implementation in the `server.py` source file, you don't need to make any other changes. + +* If you create any new source files, copy them into the app filesystem by using the `COPY` command in the `Dockerfile`. + +* More extensive changes may require extending the `Dockerfile` ([see `Dockerfile` syntax reference](https://docs.docker.com/engine/reference/builder/)). + This includes the use of Python frameworks and the use of `pip`, as shown in the next section. + +## Using `pip` + +[`pip`](https://pip.pypa.io/en/stable/) is a package manager for Python. +It's used to install dependencies for Python apps. +`pip` uses the `requirements.txt` file to list required dependencies (with versions). + +To create an `pip`-based app: + +1. Add the `requirements.txt` file used by `pip`. + +2. Add framework-specific source files. + In this case, this means the `server.py` file. + +3. Update the `Dockerfile` to: + + 3.1. `COPY` the local files. + + 3.2. `RUN` the `pip3 install` command to install dependencies. + + 3.3. `COPY` of the resulting and required files (`/usr/local/lib/python3.12` and `server.py`) in the app filesystem, using the [`scratch` container](https://hub.docker.com/_/scratch/). + +The following lists the files: + +The `requirements.txt` file lists the `flask` dependency. + +The `Kraftfile` is the same one used for `http-python3.12`. + +For `Dockerfile` newly added lines have the following roles: + +* `FROM python:3.12-bookworm AS base`: Use the base image of the `python:3.12-bookworm` container. + This provides the `pip3` binary and other Python-related components. + Name the current image `base`. + +* `WORKDIR /app`: Use `/app` as working directory. + All other commands in the `Dockerfile` run inside this directory. + +* `COPY requirements.txt /app`: Copy the package configuration file to the Docker filesystem. + +* `RUN pip3 install ...`: Install `pip` components listed in `requirements.txt`. + +* `COPY --from=base ...`: Copy generated Python files in the new `base` image in the `scratch`-based image. + +Similar actions apply to other `pip3`-based apps. + +## Learn more + +Use the `--help` option for detailed information on using Unikraft Cloud: + +```bash +kraft cloud --help +``` + +Or visit the [CLI Reference](https://unikraft.com/docs/cli/overview). diff --git a/flask3.0-python3.12-sqlite3/requirements.txt b/flask3.0-python3.12-sqlite3/requirements.txt new file mode 100644 index 00000000..34e39e64 --- /dev/null +++ b/flask3.0-python3.12-sqlite3/requirements.txt @@ -0,0 +1 @@ +flask>=3.0,<3.1 diff --git a/flask3.0-python3.12-sqlite3/server.py b/flask3.0-python3.12-sqlite3/server.py new file mode 100644 index 00000000..f6f20f2b --- /dev/null +++ b/flask3.0-python3.12-sqlite3/server.py @@ -0,0 +1,9 @@ +from flask import Flask +app = Flask(__name__) + +@app.route('/') +def hello(): + return "Hello, World!\n" + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=8080) diff --git a/http-cpp-boost/Dockerfile b/httpserver-boost1.74-g++13.2/Dockerfile similarity index 100% rename from http-cpp-boost/Dockerfile rename to httpserver-boost1.74-g++13.2/Dockerfile diff --git a/http-c/Kraftfile b/httpserver-boost1.74-g++13.2/Kraftfile similarity index 100% rename from http-c/Kraftfile rename to httpserver-boost1.74-g++13.2/Kraftfile diff --git a/http-cpp-boost/README.md b/httpserver-boost1.74-g++13.2/README.md similarity index 100% rename from http-cpp-boost/README.md rename to httpserver-boost1.74-g++13.2/README.md diff --git a/http-cpp-boost/http_server.cpp b/httpserver-boost1.74-g++13.2/http_server.cpp similarity index 100% rename from http-cpp-boost/http_server.cpp rename to httpserver-boost1.74-g++13.2/http_server.cpp diff --git a/http-cpp/Dockerfile b/httpserver-g++13.2/Dockerfile similarity index 100% rename from http-cpp/Dockerfile rename to httpserver-g++13.2/Dockerfile diff --git a/http-cpp-boost/Kraftfile b/httpserver-g++13.2/Kraftfile similarity index 100% rename from http-cpp-boost/Kraftfile rename to httpserver-g++13.2/Kraftfile diff --git a/http-cpp/README.md b/httpserver-g++13.2/README.md similarity index 100% rename from http-cpp/README.md rename to httpserver-g++13.2/README.md diff --git a/http-cpp/http_server.cpp b/httpserver-g++13.2/http_server.cpp similarity index 100% rename from http-cpp/http_server.cpp rename to httpserver-g++13.2/http_server.cpp diff --git a/http-c/Dockerfile b/httpserver-gcc13.2/Dockerfile similarity index 100% rename from http-c/Dockerfile rename to httpserver-gcc13.2/Dockerfile diff --git a/http-cpp/Kraftfile b/httpserver-gcc13.2/Kraftfile similarity index 100% rename from http-cpp/Kraftfile rename to httpserver-gcc13.2/Kraftfile diff --git a/http-c/README.md b/httpserver-gcc13.2/README.md similarity index 100% rename from http-c/README.md rename to httpserver-gcc13.2/README.md diff --git a/http-c/http_server.c b/httpserver-gcc13.2/http_server.c similarity index 100% rename from http-c/http_server.c rename to httpserver-gcc13.2/http_server.c diff --git a/http-go1.21/Dockerfile b/httpserver-go1.21/Dockerfile similarity index 100% rename from http-go1.21/Dockerfile rename to httpserver-go1.21/Dockerfile diff --git a/http-go1.21/Kraftfile b/httpserver-go1.21/Kraftfile similarity index 100% rename from http-go1.21/Kraftfile rename to httpserver-go1.21/Kraftfile diff --git a/http-go1.21/README.md b/httpserver-go1.21/README.md similarity index 100% rename from http-go1.21/README.md rename to httpserver-go1.21/README.md diff --git a/http-go1.21/server.go b/httpserver-go1.21/server.go similarity index 100% rename from http-go1.21/server.go rename to httpserver-go1.21/server.go diff --git a/http-node21/Dockerfile b/httpserver-nodejs21/Dockerfile similarity index 100% rename from http-node21/Dockerfile rename to httpserver-nodejs21/Dockerfile diff --git a/http-node21/Kraftfile b/httpserver-nodejs21/Kraftfile similarity index 100% rename from http-node21/Kraftfile rename to httpserver-nodejs21/Kraftfile diff --git a/http-node21/README.md b/httpserver-nodejs21/README.md similarity index 100% rename from http-node21/README.md rename to httpserver-nodejs21/README.md diff --git a/http-node21/server.js b/httpserver-nodejs21/server.js similarity index 100% rename from http-node21/server.js rename to httpserver-nodejs21/server.js diff --git a/http-perl5.38/Dockerfile b/httpserver-perl5.38/Dockerfile similarity index 100% rename from http-perl5.38/Dockerfile rename to httpserver-perl5.38/Dockerfile diff --git a/http-perl5.38/Kraftfile b/httpserver-perl5.38/Kraftfile similarity index 100% rename from http-perl5.38/Kraftfile rename to httpserver-perl5.38/Kraftfile diff --git a/http-perl5.38/README.md b/httpserver-perl5.38/README.md similarity index 100% rename from http-perl5.38/README.md rename to httpserver-perl5.38/README.md diff --git a/http-perl5.38/server.pl b/httpserver-perl5.38/server.pl similarity index 100% rename from http-perl5.38/server.pl rename to httpserver-perl5.38/server.pl diff --git a/http-python3.12/Dockerfile b/httpserver-python3.12/Dockerfile similarity index 100% rename from http-python3.12/Dockerfile rename to httpserver-python3.12/Dockerfile diff --git a/httpserver-python3.12/Kraftfile b/httpserver-python3.12/Kraftfile new file mode 100644 index 00000000..103c377c --- /dev/null +++ b/httpserver-python3.12/Kraftfile @@ -0,0 +1,12 @@ +spec: v0.6 + +runtime: base-compat:latest + +labels: + cloud.unikraft.v1.instances/scale_to_zero.policy: "on" + cloud.unikraft.v1.instances/scale_to_zero.stateful: "false" + cloud.unikraft.v1.instances/scale_to_zero.cooldown_time_ms: 1000 + +rootfs: ./Dockerfile + +cmd: ["/usr/bin/python3", "/src/server.py"] diff --git a/http-python3.12/README.md b/httpserver-python3.12/README.md similarity index 100% rename from http-python3.12/README.md rename to httpserver-python3.12/README.md diff --git a/http-python3.12/server.py b/httpserver-python3.12/server.py similarity index 100% rename from http-python3.12/server.py rename to httpserver-python3.12/server.py