{ "kind": "List", "apiVersion": "v1", "items": [ { "kind": "Template", "apiVersion": "v1", "metadata": { "name": "kallithea-scm-multi-postgresql", "annotations": { "description": "Kallithea SCM (Multiple Pods / PostgreSQL)", "iconClass": "icon-database", "tags": "instant-app,kallithea" } }, "objects": [ { "kind": "ImageStream", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } } }, { "kind": "BuildConfig", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "triggers": [ { "type": "ImageChange" }, { "type": "ConfigChange" } ], "source": { "type": "Git", "git": { "uri": "https://github.com/GrahamDumpleton/openshift3-kallithea.git", "ref": "master" } }, "strategy": { "type": "Source", "sourceStrategy": { "from": { "kind": "ImageStreamTag", "namespace": "openshift", "name": "python:2.7" }, "scripts": "https://raw.githubusercontent.com/GrahamDumpleton/warpdrive/master/s2i/bootstrap" } }, "output": { "to": { "kind": "ImageStreamTag", "name": "${APPLICATION_NAME}:latest" } } } }, { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "strategy": { "type": "Recreate", "recreateParams": { "pre": { "failurePolicy": "Abort", "execNewPod": { "containerName": "${APPLICATION_NAME}", "command": [ "warpdrive", "setup" ], "env": [ { "name": "KALLITHEA_DEPLOYMENT_TYPE", "value": "multiple-pods" }, { "name": "KALLITHEA_DATABASE_TYPE", "value": "postgresql" }, { "name": "OPENSHIFT_POSTGRESQL_DB_HOST", "value": "${APPLICATION_NAME}-db" }, { "name": "OPENSHIFT_POSTGRESQL_DB_PORT", "value": "5432" }, { "name": "OPENSHIFT_POSTGRESQL_DB_USERNAME", "value": "${DATABASE_USERNAME}" }, { "name": "OPENSHIFT_POSTGRESQL_DB_PASSWORD", "value": "${DATABASE_PASSWORD}" }, { "name": "OPENSHIFT_POSTGRESQL_DB_NAME", "value": "kallithea" }, { "name": "OPENSHIFT_POSTGRESQL_DB_URL", "value": "postgresql://${DATABASE_USERNAME}:${DATABASE_PASSWORD}@${APPLICATION_NAME}-db:5432/kallithea" }, { "name": "KALLITHEA_ADMIN_USERNAME", "value": "${APPLICATION_ADMIN_USERNAME}" }, { "name": "KALLITHEA_ADMIN_PASSWORD", "value": "${APPLICATION_ADMIN_PASSWORD}" }, { "name": "KALLITHEA_ADMIN_EMAIL", "value": "${APPLICATION_ADMIN_EMAIL}" } ], "volumes": [ "${APPLICATION_NAME}-pv" ] } }, "mid": { "failurePolicy": "Abort", "execNewPod": { "containerName": "${APPLICATION_NAME}", "command": [ "warpdrive", "migrate" ], "env": [ { "name": "KALLITHEA_DEPLOYMENT_TYPE", "value": "multiple-pods" }, { "name": "KALLITHEA_DATABASE_TYPE", "value": "postgresql" }, { "name": "OPENSHIFT_POSTGRESQL_DB_HOST", "value": "${APPLICATION_NAME}-db" }, { "name": "OPENSHIFT_POSTGRESQL_DB_PORT", "value": "5432" }, { "name": "OPENSHIFT_POSTGRESQL_DB_USERNAME", "value": "${DATABASE_USERNAME}" }, { "name": "OPENSHIFT_POSTGRESQL_DB_PASSWORD", "value": "${DATABASE_PASSWORD}" }, { "name": "OPENSHIFT_POSTGRESQL_DB_NAME", "value": "kallithea" }, { "name": "OPENSHIFT_POSTGRESQL_DB_URL", "value": "postgresql://${DATABASE_USERNAME}:${DATABASE_PASSWORD}@${APPLICATION_NAME}-db:5432/kallithea" }, { "name": "KALLITHEA_ADMIN_USERNAME", "value": "${APPLICATION_ADMIN_USERNAME}" }, { "name": "KALLITHEA_ADMIN_PASSWORD", "value": "${APPLICATION_ADMIN_PASSWORD}" }, { "name": "KALLITHEA_ADMIN_EMAIL", "value": "${APPLICATION_ADMIN_EMAIL}" } ], "volumes": [ "${APPLICATION_NAME}-pv" ] } } } }, "triggers": [ { "type": "ImageChange", "imageChangeParams": { "automatic": true, "containerNames": [ "${APPLICATION_NAME}" ], "from": { "kind": "ImageStreamTag", "name": "${APPLICATION_NAME}:latest" } } }, { "type": "ConfigChange" } ], "replicas": 1, "selector": { "web": "${APPLICATION_NAME}" }, "template": { "metadata": { "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}:latest", "ports": [ { "containerPort": 8080, "protocol": "TCP" } ], "env": [ { "name": "KALLITHEA_DEPLOYMENT_TYPE", "value": "multiple-pods" }, { "name": "KALLITHEA_DATABASE_TYPE", "value": "postgresql" }, { "name": "OPENSHIFT_POSTGRESQL_DB_HOST", "value": "${APPLICATION_NAME}-db" }, { "name": "OPENSHIFT_POSTGRESQL_DB_PORT", "value": "5432" }, { "name": "OPENSHIFT_POSTGRESQL_DB_USERNAME", "value": "${DATABASE_USERNAME}" }, { "name": "OPENSHIFT_POSTGRESQL_DB_PASSWORD", "value": "${DATABASE_PASSWORD}" }, { "name": "OPENSHIFT_POSTGRESQL_DB_NAME", "value": "kallithea" }, { "name": "OPENSHIFT_POSTGRESQL_DB_URL", "value": "postgresql://${DATABASE_USERNAME}:${DATABASE_PASSWORD}@${APPLICATION_NAME}-db:5432/kallithea" }, { "name": "KALLITHEA_ADMIN_USERNAME", "value": "${APPLICATION_ADMIN_USERNAME}" }, { "name": "KALLITHEA_ADMIN_PASSWORD", "value": "${APPLICATION_ADMIN_PASSWORD}" }, { "name": "KALLITHEA_ADMIN_EMAIL", "value": "${APPLICATION_ADMIN_EMAIL}" } ], "resources": { "limits": { "memory": "${APPLICATION_MEMORY_LIMIT}" } }, "volumeMounts": [ { "name": "${APPLICATION_NAME}-pv", "mountPath": "/opt/app-root/data" } ], "readinessProbe": { "httpGet": { "path": "/", "port": 8080, "scheme": "HTTP" } } } ], "volumes": [ { "name": "${APPLICATION_NAME}-pv", "persistentVolumeClaim": { "claimName": "${APPLICATION_NAME}-pvc" } } ] } } } }, { "kind": "PersistentVolumeClaim", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}-pvc" }, "spec": { "accessModes": [ "ReadWriteMany" ], "resources": { "requests": { "storage": "${APPLICATION_VOLUME_CAPACITY}" } } } }, { "kind": "PersistentVolumeClaim", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}-db-pvc" }, "spec": { "accessModes": [ "ReadWriteOnce" ], "resources": { "requests": { "storage": "${DATABASE_VOLUME_CAPACITY}" } } } }, { "kind": "Service", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "ports": [ { "name": "8080-tcp", "protocol": "TCP", "port": 8080, "targetPort": 8080 } ], "selector": { "web": "${APPLICATION_NAME}" } } }, { "kind": "Route", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "to": { "kind": "Service", "name": "${APPLICATION_NAME}" }, "port": { "targetPort": "8080-tcp" }, "tls": { "termination": "edge", "insecureEdgeTerminationPolicy": "Allow" } } }, { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}-db", "labels": { "db": "${APPLICATION_NAME}-db" } }, "spec": { "strategy": { "type": "Recreate" }, "triggers": [ { "type": "ImageChange", "imageChangeParams": { "automatic": true, "containerNames": [ "${APPLICATION_NAME}-db" ], "from": { "kind": "ImageStreamTag", "name": "postgresql:9.4", "namespace": "openshift" } } }, { "type": "ConfigChange" } ], "replicas": 1, "selector": { "db": "${APPLICATION_NAME}-db" }, "template": { "metadata": { "name": "${APPLICATION_NAME}-db", "labels": { "db": "${APPLICATION_NAME}-db" } }, "spec": { "containers": [ { "name": "${APPLICATION_NAME}-db", "image": "openshift/postgresql", "ports": [ { "containerPort": 5432, "protocol": "TCP" } ], "readinessProbe": { "timeoutSeconds": 1, "initialDelaySeconds": 5, "exec": { "command": [ "/bin/sh", "-i", "-c", "psql -h 127.0.0.1 -U $POSTGRESQL_USER -q -d $POSTGRESQL_DATABASE -c 'SELECT 1'" ] } }, "livenessProbe": { "timeoutSeconds": 1, "initialDelaySeconds": 30, "tcpSocket": { "port": 5432 } }, "env": [ { "name": "POSTGRESQL_USER", "value": "${DATABASE_USERNAME}" }, { "name": "POSTGRESQL_PASSWORD", "value": "${DATABASE_PASSWORD}" }, { "name": "POSTGRESQL_DATABASE", "value": "kallithea" } ], "resources": { "limits": { "memory": "${DATABASE_MEMORY_LIMIT}" } }, "volumeMounts": [ { "name": "${APPLICATION_NAME}-db-pv", "mountPath": "/var/lib/pgsql/data" } ] } ], "volumes": [ { "name": "${APPLICATION_NAME}-db-pv", "persistentVolumeClaim": { "claimName": "${APPLICATION_NAME}-db-pvc" } } ] } } } }, { "kind": "Service", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}-db", "labels": { "db": "${APPLICATION_NAME}-db" } }, "spec": { "ports": [ { "name": "postgresql", "protocol": "TCP", "port": 5432, "targetPort": 5432 } ], "selector": { "db": "${APPLICATION_NAME}-db" } } } ], "parameters": [ { "name": "APPLICATION_NAME", "displayName": "Application instance name", "description": "The name of the Kallithea instance", "value": "kallithea", "from": "[a-zA-Z0-9]{10}", "required": true }, { "name": "APPLICATION_ADMIN_USERNAME", "displayName": "Application admin user", "description": "Name of Kallithea admin user", "generate": "expression", "value": "admin", "required": true }, { "name": "APPLICATION_ADMIN_PASSWORD", "displayName": "Application admin user password", "description": "Initial password for Kallithea admin user", "generate": "expression", "from": "[a-zA-Z0-9]{16}", "required": true }, { "name": "APPLICATION_ADMIN_EMAIL", "displayName": "Application admin email", "description": "Email address of Kallithea admin user", "generate": "expression", "value": "admin@example.com", "required": true }, { "name": "APPLICATION_MEMORY_LIMIT", "displayName": "Application memory limit", "description": "Maximum amount of memory Kallithea can use", "value": "384Mi", "required": true }, { "name": "APPLICATION_VOLUME_CAPACITY", "displayName": "Application volume capacity", "description": "Volume space available for source code repositories and database", "value": "512Mi", "required": true }, { "name": "DATABASE_USERNAME", "displayName": "PostgreSQL database user", "description": "Name of PostgreSQL database user", "generate": "expression", "from": "user[A-Z0-9]{3}", "required": true }, { "name": "DATABASE_PASSWORD", "displayName": "PostgreSQL user password", "description": "Password for the PostgreSQL user", "generate": "expression", "from": "[a-zA-Z0-9]{16}", "required": true }, { "name": "DATABASE_MEMORY_LIMIT", "displayName": "PostgreSQL memory limit", "description": "Maximum amount of memory PostgreSQL can use", "value": "384Mi", "required": true }, { "name": "DATABASE_VOLUME_CAPACITY", "displayName": "Database volume capacity", "description": "Volume space available for database", "value": "512Mi", "required": true } ], "labels": { "template": "kallithea-scm-multi-postgresql-template" } }, { "kind": "Template", "apiVersion": "v1", "metadata": { "name": "kallithea-scm-single-postgresql", "annotations": { "description": "Kallithea SCM (Single Pod / PostgreSQL)", "iconClass": "icon-database", "tags": "instant-app,kallithea" } }, "objects": [ { "kind": "ImageStream", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } } }, { "kind": "BuildConfig", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "triggers": [ { "type": "ImageChange" }, { "type": "ConfigChange" } ], "source": { "type": "Git", "git": { "uri": "https://github.com/GrahamDumpleton/openshift3-kallithea.git", "ref": "master" } }, "strategy": { "type": "Source", "sourceStrategy": { "from": { "kind": "ImageStreamTag", "namespace": "openshift", "name": "python:2.7" }, "scripts": "https://raw.githubusercontent.com/GrahamDumpleton/warpdrive/master/s2i/bootstrap" } }, "output": { "to": { "kind": "ImageStreamTag", "name": "${APPLICATION_NAME}:latest" } } } }, { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "strategy": { "type": "Recreate" }, "triggers": [ { "type": "ImageChange", "imageChangeParams": { "automatic": true, "containerNames": [ "${APPLICATION_NAME}" ], "from": { "kind": "ImageStreamTag", "name": "${APPLICATION_NAME}:latest" } } }, { "type": "ImageChange", "imageChangeParams": { "automatic": true, "containerNames": [ "${APPLICATION_NAME}-db" ], "from": { "kind": "ImageStreamTag", "name": "postgresql:9.4", "namespace": "openshift" } } }, { "type": "ConfigChange" } ], "replicas": 1, "selector": { "web": "${APPLICATION_NAME}" }, "template": { "metadata": { "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}:latest", "ports": [ { "containerPort": 8080, "protocol": "TCP" } ], "env": [ { "name": "KALLITHEA_DEPLOYMENT_TYPE", "value": "single-pod" }, { "name": "KALLITHEA_DATABASE_TYPE", "value": "postgresql" }, { "name": "OPENSHIFT_POSTGRESQL_DB_HOST", "value": "localhost" }, { "name": "OPENSHIFT_POSTGRESQL_DB_PORT", "value": "5432" }, { "name": "OPENSHIFT_POSTGRESQL_DB_USERNAME", "value": "${DATABASE_USERNAME}" }, { "name": "OPENSHIFT_POSTGRESQL_DB_PASSWORD", "value": "${DATABASE_PASSWORD}" }, { "name": "OPENSHIFT_POSTGRESQL_DB_NAME", "value": "kallithea" }, { "name": "OPENSHIFT_POSTGRESQL_DB_URL", "value": "postgresql://${DATABASE_USERNAME}:${DATABASE_PASSWORD}@localhost:5432/kallithea" }, { "name": "KALLITHEA_ADMIN_USERNAME", "value": "${APPLICATION_ADMIN_USERNAME}" }, { "name": "KALLITHEA_ADMIN_PASSWORD", "value": "${APPLICATION_ADMIN_PASSWORD}" }, { "name": "KALLITHEA_ADMIN_EMAIL", "value": "${APPLICATION_ADMIN_EMAIL}" } ], "resources": { "limits": { "memory": "${APPLICATION_MEMORY_LIMIT}" } }, "volumeMounts": [ { "name": "${APPLICATION_NAME}-pv", "mountPath": "/opt/app-root/data" } ], "readinessProbe": { "httpGet": { "path": "/", "port": 8080, "scheme": "HTTP" } } }, { "name": "${APPLICATION_NAME}-db", "image": "openshift/postgresql", "ports": [ { "containerPort": 5432, "protocol": "TCP" } ], "readinessProbe": { "timeoutSeconds": 1, "initialDelaySeconds": 5, "exec": { "command": [ "/bin/sh", "-i", "-c", "psql -h 127.0.0.1 -U $POSTGRESQL_USER -q -d $POSTGRESQL_DATABASE -c 'SELECT 1'" ] } }, "livenessProbe": { "timeoutSeconds": 1, "initialDelaySeconds": 30, "tcpSocket": { "port": 5432 } }, "env": [ { "name": "POSTGRESQL_USER", "value": "${DATABASE_USERNAME}" }, { "name": "POSTGRESQL_PASSWORD", "value": "${DATABASE_PASSWORD}" }, { "name": "POSTGRESQL_DATABASE", "value": "kallithea" } ], "resources": { "limits": { "memory": "${DATABASE_MEMORY_LIMIT}" } }, "volumeMounts": [ { "name": "${APPLICATION_NAME}-pv", "mountPath": "/var/lib/pgsql/data" } ] } ], "volumes": [ { "name": "${APPLICATION_NAME}-pv", "persistentVolumeClaim": { "claimName": "${APPLICATION_NAME}-pvc" } } ] } } } }, { "kind": "PersistentVolumeClaim", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}-pvc" }, "spec": { "accessModes": [ "ReadWriteOnce" ], "resources": { "requests": { "storage": "${APPLICATION_VOLUME_CAPACITY}" } } } }, { "kind": "Service", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "ports": [ { "name": "8080-tcp", "protocol": "TCP", "port": 8080, "targetPort": 8080 } ], "selector": { "web": "${APPLICATION_NAME}" } } }, { "kind": "Route", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "to": { "kind": "Service", "name": "${APPLICATION_NAME}" }, "port": { "targetPort": "8080-tcp" }, "tls": { "termination": "edge", "insecureEdgeTerminationPolicy": "Allow" } } } ], "parameters": [ { "name": "APPLICATION_NAME", "displayName": "Application instance name", "description": "The name of the Kallithea instance", "value": "kallithea", "from": "[a-zA-Z0-9]{10}", "required": true }, { "name": "APPLICATION_ADMIN_USERNAME", "displayName": "Application admin user", "description": "Name of Kallithea admin user", "generate": "expression", "value": "admin", "required": true }, { "name": "APPLICATION_ADMIN_PASSWORD", "displayName": "Application admin user password", "description": "Initial password for Kallithea admin user", "generate": "expression", "from": "[a-zA-Z0-9]{16}", "required": true }, { "name": "APPLICATION_ADMIN_EMAIL", "displayName": "Application admin email", "description": "Email address of Kallithea admin user", "generate": "expression", "value": "admin@example.com", "required": true }, { "name": "APPLICATION_MEMORY_LIMIT", "displayName": "Application memory limit", "description": "Maximum amount of memory Kallithea can use", "value": "384Mi", "required": true }, { "name": "APPLICATION_VOLUME_CAPACITY", "displayName": "Application volume capacity", "description": "Volume space available for source code repositories and database", "value": "512Mi", "required": true }, { "name": "DATABASE_USERNAME", "displayName": "PostgreSQL database user", "description": "Name of PostgreSQL database user", "generate": "expression", "from": "user[A-Z0-9]{3}", "required": true }, { "name": "DATABASE_PASSWORD", "displayName": "PostgreSQL user password", "description": "Password for the PostgreSQL user", "generate": "expression", "from": "[a-zA-Z0-9]{16}", "required": true }, { "name": "DATABASE_MEMORY_LIMIT", "displayName": "PostgreSQL memory limit", "description": "Maximum amount of memory PostgreSQL can use", "value": "384Mi", "required": true } ], "labels": { "template": "kallithea-scm-single-postgresql-template" } }, { "kind": "Template", "apiVersion": "v1", "metadata": { "name": "kallithea-scm-single-sqlite", "annotations": { "description": "Kallithea SCM (Single Pod / SQLite)", "iconClass": "icon-database", "tags": "instant-app,kallithea" } }, "objects": [ { "kind": "ImageStream", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } } }, { "kind": "BuildConfig", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "triggers": [ { "type": "ImageChange" }, { "type": "ConfigChange" } ], "source": { "type": "Git", "git": { "uri": "https://github.com/GrahamDumpleton/openshift3-kallithea.git", "ref": "master" } }, "strategy": { "type": "Source", "sourceStrategy": { "from": { "kind": "ImageStreamTag", "namespace": "openshift", "name": "python:2.7" }, "scripts": "https://raw.githubusercontent.com/GrahamDumpleton/warpdrive/master/s2i/bootstrap" } }, "output": { "to": { "kind": "ImageStreamTag", "name": "${APPLICATION_NAME}:latest" } } } }, { "kind": "DeploymentConfig", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "strategy": { "type": "Recreate" }, "triggers": [ { "type": "ImageChange", "imageChangeParams": { "automatic": true, "containerNames": [ "${APPLICATION_NAME}" ], "from": { "kind": "ImageStreamTag", "name": "${APPLICATION_NAME}:latest" } } }, { "type": "ConfigChange" } ], "replicas": 1, "selector": { "web": "${APPLICATION_NAME}" }, "template": { "metadata": { "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "containers": [ { "name": "${APPLICATION_NAME}", "image": "${APPLICATION_NAME}:latest", "ports": [ { "containerPort": 8080, "protocol": "TCP" } ], "env": [ { "name": "KALLITHEA_DEPLOYMENT_TYPE", "value": "single-pod" }, { "name": "KALLITHEA_DATABASE_TYPE", "value": "sqlite" }, { "name": "KALLITHEA_ADMIN_USERNAME", "value": "${APPLICATION_ADMIN_USERNAME}" }, { "name": "KALLITHEA_ADMIN_PASSWORD", "value": "${APPLICATION_ADMIN_PASSWORD}" }, { "name": "KALLITHEA_ADMIN_EMAIL", "value": "${APPLICATION_ADMIN_EMAIL}" } ], "resources": { "limits": { "memory": "${APPLICATION_MEMORY_LIMIT}" } }, "volumeMounts": [ { "name": "${APPLICATION_NAME}-pv", "mountPath": "/opt/app-root/data" } ], "readinessProbe": { "httpGet": { "path": "/", "port": 8080, "scheme": "HTTP" } } } ], "volumes": [ { "name": "${APPLICATION_NAME}-pv", "persistentVolumeClaim": { "claimName": "${APPLICATION_NAME}-pvc" } } ] } } } }, { "kind": "PersistentVolumeClaim", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}-pvc" }, "spec": { "accessModes": [ "ReadWriteOnce" ], "resources": { "requests": { "storage": "${APPLICATION_VOLUME_CAPACITY}" } } } }, { "kind": "Service", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "ports": [ { "name": "8080-tcp", "protocol": "TCP", "port": 8080, "targetPort": 8080 } ], "selector": { "web": "${APPLICATION_NAME}" } } }, { "kind": "Route", "apiVersion": "v1", "metadata": { "name": "${APPLICATION_NAME}", "labels": { "web": "${APPLICATION_NAME}" } }, "spec": { "to": { "kind": "Service", "name": "${APPLICATION_NAME}" }, "port": { "targetPort": "8080-tcp" }, "tls": { "termination": "edge", "insecureEdgeTerminationPolicy": "Allow" } } } ], "parameters": [ { "name": "APPLICATION_NAME", "displayName": "Application instance name", "description": "The name of the Kallithea instance", "value": "kallithea", "from": "[a-zA-Z0-9]{10}", "required": true }, { "name": "APPLICATION_ADMIN_USERNAME", "displayName": "Application admin user", "description": "Name of Kallithea admin user", "generate": "expression", "value": "admin", "required": true }, { "name": "APPLICATION_ADMIN_PASSWORD", "displayName": "Application admin user password", "description": "Initial password for Kallithea admin user", "generate": "expression", "from": "[a-zA-Z0-9]{16}", "required": true }, { "name": "APPLICATION_ADMIN_EMAIL", "displayName": "Application admin email", "description": "Email address of Kallithea admin user", "generate": "expression", "value": "admin@example.com", "required": true }, { "name": "APPLICATION_MEMORY_LIMIT", "displayName": "Application memory limit", "description": "Maximum amount of memory Kallithea can use", "value": "384Mi", "required": true }, { "name": "APPLICATION_VOLUME_CAPACITY", "displayName": "Application volume capacity", "description": "Volume space available for source code repositories and database", "value": "512Mi", "required": true } ], "labels": { "template": "kallithea-scm-single-sqlite-template" } } ] }