From 2529e1ed633c87fd41464f407f9595f24c1d7329 Mon Sep 17 00:00:00 2001 From: Juergen Kunz Date: Tue, 28 Apr 2026 14:27:52 +0000 Subject: [PATCH] feat: add cloudly app template --- apps/cloudly/app.json | 14 ++++++ apps/cloudly/versions/1.0.0/config.json | 64 +++++++++++++++++++++++++ catalog.json | 9 ++++ 3 files changed, 87 insertions(+) create mode 100644 apps/cloudly/app.json create mode 100644 apps/cloudly/versions/1.0.0/config.json diff --git a/apps/cloudly/app.json b/apps/cloudly/app.json new file mode 100644 index 0000000..3fbf0ac --- /dev/null +++ b/apps/cloudly/app.json @@ -0,0 +1,14 @@ +{ + "id": "cloudly", + "name": "Cloudly", + "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.", + "category": "Dev Tools", + "iconName": "server", + "latestVersion": "1.0.0", + "versions": ["1.0.0"], + "maintainer": "serve.zone", + "links": { + "Source": "https://code.foss.global/serve.zone/cloudly", + "Docs": "https://serve.zone" + } +} diff --git a/apps/cloudly/versions/1.0.0/config.json b/apps/cloudly/versions/1.0.0/config.json new file mode 100644 index 0000000..28effa4 --- /dev/null +++ b/apps/cloudly/versions/1.0.0/config.json @@ -0,0 +1,64 @@ +{ + "image": "code.foss.global/serve.zone/cloudly:latest", + "port": 80, + "envVars": [ + { + "key": "SERVEZONE_ENVIRONMENT", + "value": "production", + "description": "Cloudly runtime environment.", + "required": true + }, + { + "key": "SERVEZONE_URL", + "value": "${SERVICE_DOMAIN}", + "description": "Public Cloudly hostname without protocol.", + "required": true + }, + { + "key": "SERVEZONE_PORT", + "value": "80", + "description": "Internal Cloudly HTTP port inside the container.", + "required": true + }, + { + "key": "SERVEZONE_SSLMODE", + "value": "external", + "description": "Use external TLS termination through Onebox or dcrouter.", + "required": true + }, + { + "key": "SERVEZONE_ADMINACCOUNT", + "value": "admin:change-me-now", + "description": "Initial admin account in username:password format.", + "required": true + }, + { + "key": "MONGODB_URL", + "value": "mongodb://${MONGODB_HOST}:${MONGODB_PORT}", + "description": "MongoDB server URL provisioned by Onebox.", + "required": true + }, + { + "key": "MONGODB_NAME", + "value": "${MONGODB_DATABASE}", + "description": "MongoDB database name provisioned by Onebox.", + "required": true + }, + { + "key": "MONGODB_USER", + "value": "${MONGODB_USERNAME}", + "description": "MongoDB username provisioned by Onebox.", + "required": true + }, + { + "key": "MONGODB_PASS", + "value": "${MONGODB_PASSWORD}", + "description": "MongoDB password provisioned by Onebox.", + "required": true + } + ], + "platformRequirements": { + "mongodb": true + }, + "minOneboxVersion": "1.24.2" +} diff --git a/catalog.json b/catalog.json index 67611de..e7e3bfe 100644 --- a/catalog.json +++ b/catalog.json @@ -110,6 +110,15 @@ "latestVersion": "1.0.0", "tags": ["docker", "devtools"] }, + { + "id": "cloudly", + "name": "Cloudly", + "description": "Multi-node serve.zone control plane for clusters, workload services, domains, and deployments.", + "category": "Dev Tools", + "iconName": "server", + "latestVersion": "1.0.0", + "tags": ["serve.zone", "control-plane", "clusters", "deployments"] + }, { "id": "redis", "name": "Redis",