diff --git a/modules/redirect.wasm b/modules/redirect.wasm index 1e1685526..7409d009e 100644 Binary files a/modules/redirect.wasm and b/modules/redirect.wasm differ diff --git a/spin.toml b/spin.toml index e4b6a3bf7..d09155487 100644 --- a/spin.toml +++ b/spin.toml @@ -24,6 +24,11 @@ id = "trigger-fileserver-downloads" component = "fileserver-downloads" route = "/downloads/..." +[[trigger.http]] +id = "trigger-redirect-spin-index" +component = "redirect-spin-index" +route = "/spin" + [[trigger.http]] id = "trigger-redirect-cloud-index" component = "redirect-cloud-index" @@ -134,6 +139,26 @@ id = "trigger-serverless-ai" component = "serverless-ai" route = "/cloud/serverless-ai" +[[trigger.http]] +id = "trigger-spin-version-proxy" +component = "spin-version-proxy" +route = "/spin/..." + +[[trigger.http]] +id = "trigger-bartholomew-spin-v1" +component = "bartholomew-spin-v1" +route = "/spin/v1/..." + +[[trigger.http]] +id = "trigger-bartholomew-spin-v2" +component = "bartholomew-spin-v2" +route = "/spin/v2/..." + +[[trigger.http]] +id = "trigger-bartholomew-spin-v3" +component = "bartholomew-spin-v3" +route = "/spin/v3/..." + [[trigger.http]] id = "trigger-redirect-wasm-langs-root" component = "redirect-wasm-langs-root" @@ -159,21 +184,6 @@ id = "trigger-spin-kubernetes-known-issues" component = "redirect-spin-kubernetes-known-issues" route = "/spin/v2/kubernetes-known-issues" -[[trigger.http]] -id = "trigger-spin-deploying-to-fermyon" -component = "redirect-spin-deploying-to-fermyon" -route = "/spin/deploying-to-fermyon" - -[[trigger.http]] -id = "trigger-spin-developing" -component = "redirect-spin-developing" -route = "/spin/developing" - -[[trigger.http]] -id = "trigger-spin-wildcard-redirect-to-spinframework" -component = "wildcard-redirect-to-spinframework" -route = "/spin/..." - [component.bartholomew] # Using build from bartholomew main source = "modules/bartholomew.wasm" @@ -192,6 +202,11 @@ files = [{ source = "static/", destination = "/" }] source = "modules/spin_static_fs.wasm" files = [{ source = "downloads/", destination = "/" }] +# Redirect /spin to /spin/index +[component.redirect-spin-index] +source = "modules/redirect.wasm" +environment = { DESTINATION = "/spin/index" } + # Redirect /cloud to /cloud/index [component.redirect-cloud-index] source = "modules/redirect.wasm" @@ -202,90 +217,90 @@ environment = { DESTINATION = "/cloud/index" } source = "modules/redirect.wasm" environment = { DESTINATION = "/bartholomew/index" } -# Redirect /spin/rust-components/http-trigger to https://spinframework.dev/http-trigger +# Redirect /spin/rust-components/http-trigger to /spin/http-trigger [component.redirect-spin-rust-components-http-trigger] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/http-trigger", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/http-trigger" } -# Redirect /spin/contributing/extending-and-embedding to https://spinframework.dev/extending-and-embedding +# Redirect /spin/contributing/extending-and-embedding to /spin/extending-and-embedding [component.spin-contributing-extending-and-embedding] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/extending-and-embedding", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/extending-and-embedding" } -# Redirect /spin/rust-components/redis-trigger to https://spinframework.dev/redis-trigger +# Redirect /spin/rust-components/redis-trigger to /spin/redis-trigger [component.spin-rust-components-redis-trigger] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/redis-trigger", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/redis-trigger" } -# Redirect /spin/configuration to https://spinframework.dev/writing-apps +# Redirect /spin/configuration to /spin/writing-apps [component.spin-configuration] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/writing-apps", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/writing-apps" } -# Redirect /spin/configuration/http-trigger to https://spinframework.dev/http-trigger +# Redirect /spin/configuration/http-trigger to /spin/http-trigger [component.spin-configuration-http-trigger] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/http-trigger", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/http-trigger" } -# Redirect /spin/configuration/redis-trigger to https://spinframework.dev/redis-trigger +# Redirect /spin/configuration/redis-trigger to /spin/redis-trigger [component.spin-configuration-redis-trigger] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/redis-trigger", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/redis-trigger" } -# Redirect /spin/quickstart/developing to https://spinframework.dev/quickstart +# Redirect /spin/quickstart/developing to /spin/quickstart [component.spin-quickstart-developing] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/quickstart" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/quickstart" } -# Redirect /spin/quickstart/configuration to https://spinframework.dev/writing-apps +# Redirect /spin/quickstart/configuration to /spin/writing-apps [component.spin-quickstart-configuration] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/writing-apps", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/writing-apps" } -# Redirect /spin/quickstart/install to https://spinframework.dev/install +# Redirect /spin/quickstart/install to /spin/install [component.spin-quickstart-install] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/install", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/install" } -# Redirect /spin/quickstart/go-components to https://spinframework.dev/go-components +# Redirect /spin/quickstart/go-components to /spin/go-components [component.spin-quickstart-go-components] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/go-components", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/go-components" } -# Redirect /spin/quickstart/rust-components to https://spinframework.dev/rust-components +# Redirect /spin/quickstart/rust-components to /spin/rust-components [component.spin-quickstart-rust-components] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/rust-components", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/rust-components" } -# Redirect /spin/contributing/ to https://spinframework.dev/contributing-spin +# Redirect /spin/contributing/ to spin/contributing-spin [component.spin-contributing] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/contributing-spin", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/contributing-spin" } -# Redirect /spin/kv-store/ to https://spinframework.dev/key-value-store-tutorial +# Redirect /spin/kv-store/ to spin/key-value-store-tutorial [component.spin-kv-store-tutorial] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/kv-store-tutorial" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/kv-store-tutorial" } # Redirecting from common to spin incase someone had it bookmarked before removal of common [component.redirect-contributing-common-to-spin] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/cli-reference", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/cli-reference" } -# Redirect /spin/kubernetes-dynamic-configuration to https://spinframework.dev/kubernetes +# Redirect /spin/kubernetes-dynamic-configuration to /spin/kubernetes [component.redirect-spin-kubernetes-dynamic-configuration] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/kubernetes", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/kubernetes" } -# Redirect /spin/kubernetes-sidecars to https://spinframework.dev/kubernetes +# Redirect /spin/kubernetes-sidecars to /spin/kubernetes [component.redirect-spin-kubernetes-sidecars] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/kubernetes", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/kubernetes" } -# Redirect /spin/kubernetes-known-issues to https://spinframework.dev/kubernetes +# Redirect /spin/kubernetes-known-issues to /spin/kubernetes [component.redirect-spin-kubernetes-known-issues] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/kubernetes", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/kubernetes" } [component.hub-fileserver-static] source = { url = "https://github.com/fermyon/spin-fileserver/releases/download/v0.0.2/spin_static_fs.wasm", digest = "sha256:65456bf4e84cf81b62075e761b2b0afaffaef2d0aeda521b245150f76b96421b" } @@ -296,45 +311,30 @@ files = [{ source = "spin-up-hub/dist/", destination = "/" }] command = "npm run build" workdir = "spin-up-hub" -# Redirect /spin/spin-oci to https://spinframework.dev/registry-tutorial +# Redirect /spin/spin-oci to /spin/registry-tutorial [component.registry-tutorial] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/registry-tutorial", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/registry-tutorial" } -# Redirect /spin/url-shortener to https://spinframework.dev/url-shortener-tutorial +# Redirect /spin/url-shortener to /spin/url-shortener-tutorial [component.url-shortener-tutorial] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/url-shortener-tutorial", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/url-shortener-tutorial" } -# Redirect /spin/kv-store-tutorial to https://spinframework.dev/key-value-store-tutorial +# Redirect /spin/kv-store-tutorial to /spin/key-value-store-tutorial [component.key-value-store-tutorial] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/key-value-store-tutorial", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/key-value-store-tutorial" } -# Redirect /spin/serverless-ai-tutorial to https://spinframework.dev/ai-sentiment-analysis-api-tutorial +# Redirect /spin/serverless-ai-tutorial to /spin/ai-sentiment-analysis-api-tutorial [component.ai-sentiment-analysis-api-tutorial] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/ai-sentiment-analysis-api-tutorial", STATUSCODE = "301" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/ai-sentiment-analysis-api-tutorial" } -# Redirect /cloud/serverless-ai to https://spinframework.dev/serverless-ai-hello-world +# Redirect /cloud/serverless-ai to /spin/serverless-ai-hello-world [component.serverless-ai] source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/serverless-ai-hello-world.md", STATUSCODE = "301" } - -# Redirect /spin/deploying-to-fermyon to https://spinframework.dev/deploying -[component.redirect-spin-deploying-to-fermyon] -source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/deploying", STATUSCODE = "301" } - -# Redirect /spin/developing to https://spinframework.dev/quickstart -[component.redirect-spin-developing] -source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev/quickstart", STATUSCODE = "301" } - -# Redirect /spin/... to spinframework.dev/... -[component.wildcard-redirect-to-spinframework] -source = "modules/redirect.wasm" -environment = { DESTINATION = "https://spinframework.dev", STATUSCODE = "301", INCLUDE_PATH = "true", TRIM_PREFIX = "/spin" } +environment = { DESTINATION = "https://developer.fermyon.com/spin/serverless-ai-hello-world.md" } # Redirect /wasm-languages to /wasm-languages/webassembly-language-support [component.redirect-wasm-langs-root] @@ -345,3 +345,41 @@ environment = { DESTINATION = "/wasm-languages/webassembly-language-support" } [component.redirect-wasm-functions-root] source = "modules/redirect.wasm" environment = { DESTINATION = "/wasm-functions/index" } + +# Component to give us clean versioned URLs for spin from the root +[component.spin-version-proxy] +source = "modules/spin-redirecter.wasm" +variables = { latest_spin_version = "v3" } +files = ["spin-redirect.json"] +exclude_files = ["**/node_modules"] +allowed_outbound_hosts = ["http://self"] +# Need to modify action to get the js2wasm plugin +# [component.build] +# workdir = "spin-redirecter" +# command = "npm install && npm run build" + +[component.bartholomew-spin-v1] +# Using build from bartholomew main +source = "modules/bartholomew.wasm" +environment = { PREVIEW_MODE = "0" } +files = ["content/**/*", "templates/*", "scripts/*", "config/*", "shortcodes/*"] + +[component.bartholomew-spin-v1.build] +command = "npm run build-index && npm run build-hub-index" +watch = ["content/**/*", "templates/*"] + +[component.bartholomew-spin-v2] +# Using build from bartholomew main +source = "modules/bartholomew.wasm" +environment = { PREVIEW_MODE = "0" } +files = ["content/**/*", "templates/*", "scripts/*", "config/*", "shortcodes/*"] + +[component.bartholomew-spin-v2.build] +command = "npm run build-index && npm run build-hub-index" +watch = ["content/**/*", "templates/*"] + +[component.bartholomew-spin-v3] +# Using build from bartholomew main +source = "modules/bartholomew.wasm" +environment = { PREVIEW_MODE = "0" } +files = ["content/**/*", "templates/*", "scripts/*", "config/*", "shortcodes/*"]