diff --git a/netlify.toml b/netlify.toml deleted file mode 100644 index 282f26879..000000000 --- a/netlify.toml +++ /dev/null @@ -1,25 +0,0 @@ -# SPDX-FileCopyrightText: 2024 JWP Consulting GK -# -# SPDX-License-Identifier: AGPL-3.0-or-later - -[build] -base = "frontend" -command = "npm run build" -# Apparently netlify automatically assumes this to be relative to the base -# folder -publish = "build" - -[build.environment] -NODE_ENV = "production" -VITE_PROJECTIFY_DOMAIN = "https://www.projectifyapp.com" -PROJECTIFY_FRONTEND_ADAPTER = "static" - -[[redirects]] -from = "/*" -to = "/fallback.html" -status = 200 - -[[headers]] - for = "/*" - [headers.values] - Content-Security-Policy = "frame-ancestors 'none'" diff --git a/tools/README.md b/tools/README.md deleted file mode 100644 index acfe26a31..000000000 --- a/tools/README.md +++ /dev/null @@ -1,26 +0,0 @@ - - -# Projectify development tooling - -# Install - -``` -poetry install --all-extras -``` - -And then - -``` -poetry run bin/rename_component.py -``` - -How to test - -``` -poetry run flake8 -poetry run mypy -``` diff --git a/tools/bin/format b/tools/bin/format deleted file mode 100755 index 41ea2310e..000000000 --- a/tools/bin/format +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/env sh -# SPDX-License-Identifier: AGPL-3.0-or-later -# -# SPDX-FileCopyrightText: 2024 JWP Consulting GK -set -e -ruff format . -ruff check --fix . diff --git a/tools/bin/test b/tools/bin/test deleted file mode 100755 index 1ab5b0082..000000000 --- a/tools/bin/test +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env sh -# SPDX-License-Identifier: AGPL-3.0-or-later -# -# SPDX-FileCopyrightText: 2024 JWP Consulting GK -set -e -ruff format --check . -ruff check . -mypy bin/rename-component diff --git a/tools/package-lock.json b/tools/package-lock.json deleted file mode 100644 index dabf88224..000000000 --- a/tools/package-lock.json +++ /dev/null @@ -1,255 +0,0 @@ -{ - "name": "tools", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "tools", - "version": "1.0.0", - "license": "ISC", - "dependencies": { - "ajv": "^8.17.1", - "ajv-cli": "^5.0.0" - } - }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-cli": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ajv-cli/-/ajv-cli-5.0.0.tgz", - "integrity": "sha512-LY4m6dUv44HTyhV+u2z5uX4EhPYTM38Iv1jdgDJJJCyOOuqB8KtZEGjPZ2T+sh5ZIJrXUfgErYx/j3gLd3+PlQ==", - "dependencies": { - "ajv": "^8.0.0", - "fast-json-patch": "^2.0.0", - "glob": "^7.1.0", - "js-yaml": "^3.14.0", - "json-schema-migrate": "^2.0.0", - "json5": "^2.1.3", - "minimist": "^1.2.0" - }, - "bin": { - "ajv": "dist/index.js" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-json-patch": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-2.2.1.tgz", - "integrity": "sha512-4j5uBaTnsYAV5ebkidvxiLUYOwjQ+JSFljeqfTxCrH9bDmlCQaOJFS84oDJ2rAXZq2yskmk3ORfoP9DCwqFNig==", - "dependencies": { - "fast-deep-equal": "^2.0.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/fast-json-patch/node_modules/fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w==" - }, - "node_modules/fast-uri": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", - "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==" - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/js-yaml": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", - "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/json-schema-migrate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/json-schema-migrate/-/json-schema-migrate-2.0.0.tgz", - "integrity": "sha512-r38SVTtojDRp4eD6WsCqiE0eNDt4v1WalBXb9cyZYw9ai5cGtBwzRNWjHzJl38w6TxFkXAIA7h+fyX3tnrAFhQ==", - "dependencies": { - "ajv": "^8.0.0" - } - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "license": "BSD-3-Clause" - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - } -} diff --git a/tools/package-lock.json.license b/tools/package-lock.json.license deleted file mode 100644 index d723339a2..000000000 --- a/tools/package-lock.json.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2024 JWP Consulting GK - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/tools/package.json b/tools/package.json deleted file mode 100644 index 06d4b5b7e..000000000 --- a/tools/package.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "name": "tools", - "version": "1.0.0", - "description": "# Install", - "main": "index.js", - "scripts": { - "check:render-schema": "ajv -s render.yaml.json -d ../render.yaml" - }, - "author": "", - "license": "ISC", - "dependencies": { - "ajv-cli": "^5.0.0", - "ajv": "^8.17.1" - } -} diff --git a/tools/package.json.license b/tools/package.json.license deleted file mode 100644 index d723339a2..000000000 --- a/tools/package.json.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2024 JWP Consulting GK - -SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/tools/pyproject.toml b/tools/pyproject.toml index a34524b2a..7e3c056b3 100644 --- a/tools/pyproject.toml +++ b/tools/pyproject.toml @@ -6,7 +6,6 @@ package-mode = false description = "Tooling for Projectify frontend" authors = ["Justus Perlwitz "] license = "AGPL" -readme = "README.md" [tool.poetry.dependencies] python = "^3.11" diff --git a/tools/render.yaml.json b/tools/render.yaml.json deleted file mode 100644 index feb0c2fa8..000000000 --- a/tools/render.yaml.json +++ /dev/null @@ -1,603 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-07/schema#", - "$id": "https://render.com/schema/render.yaml.json", - "title": "render.yaml JSON Schema", - "description": "A JSON schema for render.yaml files. See https://docs.render.com/blueprint-spec for more information", - "type": "object", - "definitions": { - "buildFilter": { - "type": "object", - "properties": { - "paths": { - "type": "array", - "items": { "type": "string" } - }, - "ignoredPaths": { - "type": "array", - "items": { "type": "string" } - } - } - }, - "cronService": { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "cron" - }, - "name": { - "type": "string" - }, - "region": { - "$ref": "#/definitions/region" - }, - "plan": { - "$ref": "#/definitions/plan" - }, - "runtime": { - "$ref": "#/definitions/runtime" - }, - "schedule": { - "type": "string" - }, - "buildCommand": { - "type": "string" - }, - "startCommand": { - "type": "string" - }, - "dockerCommand": { - "type": "string" - }, - "dockerfilePath": { - "type": "string" - }, - "dockerContext": { - "type": "string" - }, - "registryCredential": { - "$ref": "#/definitions/registryCredential" - }, - "repo": { - "type": "string" - }, - "branch": { - "type": "string" - }, - "image": { - "$ref": "#/definitions/image" - }, - "envVars": { - "type": "array", - "items": { - "$ref": "#/definitions/envVar" - } - }, - "buildFilter": { - "$ref": "#/definitions/buildFilter" - }, - "rootDir": { - "type": "string" - }, - "autoDeploy": { - "type": "boolean" - } - }, - "required": ["type", "name", "runtime", "schedule"], - "additionalProperties": false - }, - "database": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "databaseName": { - "type": "string" - }, - "user": { - "type": "string" - }, - "region": { - "$ref": "#/definitions/region" - }, - "plan": { - "$ref": "#/definitions/plan" - }, - "previewPlan": { - "$ref": "#/definitions/plan" - }, - "postgresMajorVersion": { - "type": "string", - "enum": ["10", "11", "12", "13", "14", "15", "16"], - "description": "What major version of PostgreSQL the database will use. Please refer to https://docs.render.com/databases for which versions may be valid for this owner." - }, - "highAvailability": { - "type": "object", - "properties": { - "enabled": { - "type": "boolean" - } - }, - "required": ["enabled"], - "additionalProperties": false - }, - "ipAllowList": { - "$ref": "#/definitions/ipAllowList" - }, - "readReplica": { - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": ["name"], - "additionalProperties": false - }, - "disk": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "mountPath": { - "type": "string" - }, - "sizeGB": { - "type": "integer", - "minimum": 1 - } - }, - "required": ["name", "mountPath"], - "additionalProperties": false - }, - "envVar": { - "anyOf": [ - {"$ref": "#/definitions/envVarFromKeyValue"}, - {"$ref": "#/definitions/envVarFromDatabase"}, - {"$ref": "#/definitions/envVarFromService"}, - {"$ref": "#/definitions/envVarFromGroup"} - ] - }, - "envVarFromDatabase": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "fromDatabase": { - "type": "object", - "properties": { - "name": { - "type": "string" - }, - "property": { - "type": "string" - } - }, - "required": ["name", "property"] - } - }, - "required": ["key", "fromDatabase"], - "additionalProperties": false - }, - "envVarFromKeyValue": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "value": { - "anyOf": [ - { "type": "string" }, - { "type": "number" } - ] - }, - "generateValue": { - "type": "boolean" - }, - "sync": { - "type": "boolean" - }, - "previewValue": { - "anyOf": [ - { "type": "string" }, - { "type": "number" } - ] - } - }, - "required": ["key"], - "additionalProperties": false - }, - "envVarFromService": { - "type": "object", - "properties": { - "key": { - "type": "string" - }, - "fromService": { - "type": "object", - "properties": { - "type": { - "$ref": "#/definitions/serviceType" - }, - "name": { - "type": "string" - }, - "property": { - "type": "string" - }, - "envVarKey": { - "type": "string" - } - }, - "required": ["name", "type"] - } - }, - "required": ["key", "fromService"], - "additionalProperties": false - }, - "envVarFromGroup": { - "type": "object", - "properties": { - "fromGroup": { - "type": "string" - } - }, - "required": ["fromGroup"], - "additionalProperties": false - }, - "envVarGroup": { - "properties": { - "name": { - "type": "string" - }, - "envVars": { - "type": "array", - "items": { - "$ref": "#/definitions/envVarFromKeyValue" - } - } - }, - "required": ["name", "envVars"], - "additionalProperties": false - }, - "header": { - "type": "object", - "properties": { - "path": { "type": "string" }, - "name": { "type": "string" }, - "value": { "type": "string" } - }, - "required": ["path", "name", "value"] - }, - "image": { - "type": "object", - "properties": { - "url": { - "type": "string" - }, - "creds": { - "$ref": "#/definitions/registryCredential" - } - }, - "required": ["url"], - "additionalProperties": false - }, - "ipAllowList": { - "type": "array", - "items": { - "type": "object", - "properties": { - "source": { - "type": "string" - }, - "description": { - "type": "string" - } - }, - "required": ["source"] - } - }, - "plan": { - "type": "string", - "enum": ["free", "starter", "standard", "pro", "pro plus", "pro max", "pro ultra"] - }, - "redisServer": { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "redis" - }, - "name": { - "type": "string" - }, - "region": { - "$ref": "#/definitions/region" - }, - "ipAllowList": { - "$ref": "#/definitions/ipAllowList" - }, - "plan": { - "$ref": "#/definitions/plan" - }, - "previewPlan": { - "$ref": "#/definitions/plan" - }, - "maxmemoryPolicy": { - "type": "string" - } - }, - "required": ["type", "name", "ipAllowList"], - "additionalProperties": false - }, - "region": { - "type": "string", - "enum": ["oregon", "ohio", "frankfurt", "singapore", "virginia"] - }, - "registryCredential": { - "properties": { - "fromRegistryCreds": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - }, - "required": ["name"], - "additionalProperties": false - } - }, - "required": ["fromRegistryCreds"], - "additionalProperties": false - }, - "route": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["redirect", "rewrite"] - }, - "source": { "type": "string" }, - "destination": { "type": "string" } - }, - "required": ["type", "source", "destination"] - }, - "runtime": { - "type": "string", - "enum": ["docker", "elixir", "go", "image", "node", "python", "ruby", "rust", "static"] - }, - "serverService": { - "type": "object", - "properties": { - "type": { - "type": "string", - "enum": ["web", "worker", "pserv"] - }, - "name": { - "type": "string" - }, - "region": { - "$ref": "#/definitions/region" - }, - "plan": { - "$ref": "#/definitions/plan" - }, - "runtime": { - "$ref": "#/definitions/runtime" - }, - "repo": { - "type": "string" - }, - "branch": { - "type": "string" - }, - "image": { - "$ref": "#/definitions/image" - }, - "rootDir": { - "type": "string" - }, - "dockerCommand": { - "type": "string" - }, - "dockerContext": { - "type": "string" - }, - "dockerfilePath": { - "type": "string" - }, - "numInstances": { - "type": "integer", - "minimum": 1 - }, - "healthCheckPath": { - "type": "string" - }, - "scaling": { - "type": "object", - "properties": { - "minInstances": { - "type": "integer", - "minimum": 1 - }, - "maxInstances": { - "type": "integer", - "minimum": 1 - }, - "targetMemoryPercent": { - "type": "integer", - "minimum": 1, - "maximum": 90 - }, - "targetCPUPercent": { - "type": "integer", - "minimum": 1, - "maximum": 90 - } - } - }, - "buildCommand": { - "type": "string" - }, - "startCommand": { - "type": "string" - }, - "preDeployCommand": { - "type": "string" - }, - "registryCredential": { - "$ref": "#/definitions/registryCredential" - }, - "domain": { - "type": "string" - }, - "domains": { - "type": "array", - "items": { - "type": "string" - } - }, - "envVars": { - "type": "array", - "items": { "$ref": "#/definitions/envVar" } - }, - "autoDeploy": { - "type": "boolean" - }, - "initialDeployHook": { - "type": "string" - }, - "disk": { - "$ref": "#/definitions/disk" - }, - "buildFilter": { - "$ref": "#/definitions/buildFilter" - }, - "pullRequestPreviewsEnabled": { - "type": "boolean" - }, - "previewPlan": { - "$ref": "#/definitions/plan" - }, - "maxShutdownDelaySeconds": { - "type": "integer", - "minimum": 1, - "maximum": 300 - } - }, - "required": ["type", "name", "runtime"], - "additionalProperties": false - }, - "serviceType": { - "type": "string", - "enum": ["web", "cron", "worker", "pserv", "static", "dpg", "job", "redis"] - }, - "staticService": { - "type": "object", - "properties": { - "type": { - "type": "string", - "const": "web" - }, - "name": { - "type": "string" - }, - "runtime": { - "type": "string", - "const": "static" - }, - "buildCommand": { - "type": "string" - }, - "staticPublishPath": { - "type": "string" - }, - "pullRequestPreviewsEnabled": { - "type": "boolean" - }, - "buildFilter": { - "$ref": "#/definitions/buildFilter" - }, - "headers": { - "type": "array", - "items": { - "$ref": "#/definitions/header" - } - }, - "routes": { - "type": "array", - "items": { - "$ref": "#/definitions/route" - } - }, - "envVars": { - "type": "array", - "items": { "$ref": "#/definitions/envVar" } - }, - "rootDir": { - "type": "string" - }, - "repo": { - "type": "string" - }, - "branch": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "domains": { - "type": "array", - "items": { - "type": "string" - } - }, - "autoDeploy": { - "type": "boolean" - } - }, - "required": ["type", "name"], - "additionalProperties": false - } - }, - "properties": { - "databases": { - "type": "array", - "items": { - "$ref": "#/definitions/database" - } - }, - "envVarGroups": { - "type": "array", - "items": { - "$ref": "#/definitions/envVarGroup" - } - }, - "previewsEnabled": { - "type": "boolean" - }, - "previewsExpireAfterDays": { - "type": "integer", - "minimum": 1 - }, - "services": { - "type": "array", - "items": { - "anyOf": [ - { "$ref": "#/definitions/redisServer" }, - { "$ref": "#/definitions/cronService" }, - { "$ref": "#/definitions/serverService" }, - { "$ref": "#/definitions/staticService" } - ] - } - }, - "version": { - "type": "string", - "const": "1" - } - }, - "additionalProperties": false -} diff --git a/tools/render.yaml.json.license b/tools/render.yaml.json.license deleted file mode 100644 index d723339a2..000000000 --- a/tools/render.yaml.json.license +++ /dev/null @@ -1,3 +0,0 @@ -SPDX-FileCopyrightText: 2024 JWP Consulting GK - -SPDX-License-Identifier: AGPL-3.0-or-later