fake service in dev

This commit is contained in:
Andras Bacsai 2022-10-24 13:12:31 +02:00
parent c578fa63e5
commit 8bbe771f5b

View File

@ -1,136 +1,7 @@
import { createDirectories, getServiceFromDB, getServiceImage, getServiceMainPort, isDev, makeLabelForServices } from "./common";
import fs from 'fs/promises';
export async function getTemplates() {
let templates = [{
"templateVersion": "1.0.0",
"defaultVersion": "latest",
"name": "Test-Fake-Service",
"description": "",
"services": {
"$$id": {
"name": "Test-Fake-Service",
"depends_on": [
"$$id-postgresql",
"$$id-redis"
],
"image": "weblate/weblate:$$core_version",
"volumes": [
"$$id-data:/app/data",
],
"environment": [
`POSTGRES_SECRET=$$secret_postgres_secret`,
`WEBLATE_SITE_DOMAIN=$$config_weblate_site_domain`,
`WEBLATE_ADMIN_PASSWORD=$$secret_weblate_admin_password`,
`POSTGRES_PASSWORD=$$secret_postgres_password`,
`POSTGRES_USER=$$config_postgres_user`,
`POSTGRES_DATABASE=$$config_postgres_db`,
`POSTGRES_HOST=$$id-postgresql`,
`POSTGRES_PORT=5432`,
`REDIS_HOST=$$id-redis`,
],
"ports": [
"8080"
]
},
"$$id-postgresql": {
"name": "PostgreSQL",
"depends_on": [],
"image": "postgres:14-alpine",
"volumes": [
"$$id-postgresql-data:/var/lib/postgresql/data",
],
"environment": [
"POSTGRES_USER=$$config_postgres_user",
"POSTGRES_PASSWORD=$$secret_postgres_password",
"POSTGRES_DB=$$config_postgres_db",
],
"ports": []
},
"$$id-redis": {
"name": "Redis",
"depends_on": [],
"image": "redis:7-alpine",
"volumes": [
"$$id-redis-data:/data",
],
"environment": [],
"ports": [],
}
},
"variables": [
{
"id": "$$config_weblate_site_domain",
"main":"$$id",
"name": "WEBLATE_SITE_DOMAIN",
"label": "Weblate Domain",
"defaultValue": "$$generate_domain",
"description": "",
},
{
"id": "$$secret_weblate_admin_password",
"main":"$$id",
"name": "WEBLATE_ADMIN_PASSWORD",
"label": "Weblate Admin Password",
"defaultValue": "$$generate_password",
"description": "",
"extras": {
"isVisibleOnUI": true,
}
},
{
"id": "$$secret_weblate_admin_password2",
"name": "WEBLATE_ADMIN_PASSWORD2",
"label": "Weblate Admin Password2",
"defaultValue": "$$generate_password",
"description": "",
},
{
"id": "$$config_postgres_user",
"main":"$$id-postgresql",
"name": "POSTGRES_USER",
"label": "PostgreSQL User",
"defaultValue": "$$generate_username",
"description": "",
},
{
"id": "$$secret_postgres_password",
"main":"$$id-postgresql",
"name": "POSTGRES_PASSWORD",
"label": "PostgreSQL Password",
"defaultValue": "$$generate_password(32)",
"description": "",
},
{
"id": "$$secret_postgres_password_hex32",
"name": "POSTGRES_PASSWORD_hex32",
"label": "PostgreSQL Password hex32",
"defaultValue": "$$generate_hex(32)",
"description": "",
},
{
"id": "$$config_postgres_something_hex32",
"name": "POSTGRES_SOMETHING_HEX32",
"label": "PostgreSQL Something hex32",
"defaultValue": "$$generate_hex(32)",
"description": "",
},
{
"id": "$$config_postgres_db",
"main":"$$id-postgresql",
"name": "POSTGRES_DB",
"label": "PostgreSQL Database",
"defaultValue": "weblate",
"description": "",
},
{
"id": "$$secret_postgres_secret",
"name": "POSTGRES_SECRET",
"label": "PostgreSQL Secret",
"defaultValue": "",
"description": "",
},
]
},
let templates = [
{
"templateVersion": "1.0.0",
"defaultVersion": "1.0.3",
@ -1308,6 +1179,138 @@ export async function getTemplates() {
"documentation": "https://appwrite.io/docs"
}
];
if (!isDev) {
templates.push({
"templateVersion": "1.0.0",
"defaultVersion": "latest",
"name": "Test-Fake-Service",
"description": "",
"services": {
"$$id": {
"name": "Test-Fake-Service",
"depends_on": [
"$$id-postgresql",
"$$id-redis"
],
"image": "weblate/weblate:$$core_version",
"volumes": [
"$$id-data:/app/data",
],
"environment": [
`POSTGRES_SECRET=$$secret_postgres_secret`,
`WEBLATE_SITE_DOMAIN=$$config_weblate_site_domain`,
`WEBLATE_ADMIN_PASSWORD=$$secret_weblate_admin_password`,
`POSTGRES_PASSWORD=$$secret_postgres_password`,
`POSTGRES_USER=$$config_postgres_user`,
`POSTGRES_DATABASE=$$config_postgres_db`,
`POSTGRES_HOST=$$id-postgresql`,
`POSTGRES_PORT=5432`,
`REDIS_HOST=$$id-redis`,
],
"ports": [
"8080"
]
},
"$$id-postgresql": {
"name": "PostgreSQL",
"depends_on": [],
"image": "postgres:14-alpine",
"volumes": [
"$$id-postgresql-data:/var/lib/postgresql/data",
],
"environment": [
"POSTGRES_USER=$$config_postgres_user",
"POSTGRES_PASSWORD=$$secret_postgres_password",
"POSTGRES_DB=$$config_postgres_db",
],
"ports": []
},
"$$id-redis": {
"name": "Redis",
"depends_on": [],
"image": "redis:7-alpine",
"volumes": [
"$$id-redis-data:/data",
],
"environment": [],
"ports": [],
}
},
"variables": [
{
"id": "$$config_weblate_site_domain",
"main": "$$id",
"name": "WEBLATE_SITE_DOMAIN",
"label": "Weblate Domain",
"defaultValue": "$$generate_domain",
"description": "",
},
{
"id": "$$secret_weblate_admin_password",
"main": "$$id",
"name": "WEBLATE_ADMIN_PASSWORD",
"label": "Weblate Admin Password",
"defaultValue": "$$generate_password",
"description": "",
"extras": {
"isVisibleOnUI": true,
}
},
{
"id": "$$secret_weblate_admin_password2",
"name": "WEBLATE_ADMIN_PASSWORD2",
"label": "Weblate Admin Password2",
"defaultValue": "$$generate_password",
"description": "",
},
{
"id": "$$config_postgres_user",
"main": "$$id-postgresql",
"name": "POSTGRES_USER",
"label": "PostgreSQL User",
"defaultValue": "$$generate_username",
"description": "",
},
{
"id": "$$secret_postgres_password",
"main": "$$id-postgresql",
"name": "POSTGRES_PASSWORD",
"label": "PostgreSQL Password",
"defaultValue": "$$generate_password(32)",
"description": "",
},
{
"id": "$$secret_postgres_password_hex32",
"name": "POSTGRES_PASSWORD_hex32",
"label": "PostgreSQL Password hex32",
"defaultValue": "$$generate_hex(32)",
"description": "",
},
{
"id": "$$config_postgres_something_hex32",
"name": "POSTGRES_SOMETHING_HEX32",
"label": "PostgreSQL Something hex32",
"defaultValue": "$$generate_hex(32)",
"description": "",
},
{
"id": "$$config_postgres_db",
"main": "$$id-postgresql",
"name": "POSTGRES_DB",
"label": "PostgreSQL Database",
"defaultValue": "weblate",
"description": "",
},
{
"id": "$$secret_postgres_secret",
"name": "POSTGRES_SECRET",
"label": "PostgreSQL Secret",
"defaultValue": "",
"description": "",
},
]
})
}
// if (isDev) {
// templates = JSON.parse((await fs.readFile('./template.json')).toString())
// }