{ "$schema" : "https://json-schema.org/draft/2020-12/schema", "$defs" : { "ExampleAppSchema-nullable" : { "type" : [ "object", "null" ], "properties" : { "baseDomain" : { "type" : [ "string", "null" ], "description" : "The domain under which a subdomain these applications will be made available" } }, "additionalProperties" : false }, "HelmConfigWithValues-nullable" : { "type" : [ "object", "null" ], "properties" : { "chart" : { "type" : [ "string", "null" ], "description" : "Name of the Helm chart" }, "repoURL" : { "type" : [ "string", "null" ], "description" : "Repository url from which the Helm chart should be obtained" }, "values" : { "$ref" : "#/$defs/Map(String,Object)-nullable", "description" : "Helm values of the chart, allows overriding defaults and setting values that are not exposed as explicit configuration" }, "version" : { "type" : [ "string", "null" ], "description" : "The version of the Helm chart to be installed" } }, "additionalProperties" : false }, "Map(String,Object)-nullable" : { "type" : [ "object", "null" ] }, "Map(String,String)" : { "type" : "object", "additionalProperties" : { "type" : "string" } }, "RepositorySchema-nullable" : { "type" : [ "object", "null" ], "properties" : { "url" : { "type" : [ "string", "null" ], "description" : "HTTP URL of the repo" } }, "additionalProperties" : false }, "RepositorySchemaWithRef-nullable" : { "type" : [ "object", "null" ], "properties" : { "ref" : { "type" : [ "string", "null" ], "description" : "Ref of the repo to use, e.g. a tag, commit or branch" }, "url" : { "type" : [ "string", "null" ], "description" : "HTTP URL of the repo" } }, "additionalProperties" : false } }, "type" : "object", "properties" : { "application" : { "type" : [ "object", "null" ], "properties" : { "baseUrl" : { "type" : [ "string", "null" ], "description" : "the external base url (TLD) for all tools, e.g. https://example.com or http://localhost:8080. The individual -url params for argocd, grafana, vault and mailhog take precedence." }, "destroy" : { "type" : [ "boolean", "null" ], "description" : "Unroll playground" }, "gitEmail" : { "type" : [ "string", "null" ], "description" : "Sets git author and committer email used for initial commits" }, "gitName" : { "type" : [ "string", "null" ], "description" : "Sets git author and committer name used for initial commits" }, "insecure" : { "type" : [ "boolean", "null" ], "description" : "Sets insecure-mode in cURL which skips cert validation" }, "mirrorRepos" : { "type" : [ "boolean", "null" ], "description" : "Changes the sources of deployed tools so they are not pulled from the internet, but are pulled from git and work in air-gapped environments." }, "namePrefix" : { "type" : [ "string", "null" ], "description" : "Set name-prefix for repos, jobs, namespaces" }, "namespaceIsolation" : { "type" : [ "boolean", "null" ], "description" : "Configure tools to explicitly work with the given namespaces only, and not cluster-wide. This way GOP can be installed without having cluster-admin permissions." }, "netpols" : { "type" : [ "boolean", "null" ], "description" : "Sets Network Policies" }, "openshift" : { "type" : [ "boolean", "null" ], "description" : "When set, openshift specific resources and configurations are applied" }, "password" : { "type" : [ "string", "null" ], "description" : "Set initial admin passwords" }, "podResources" : { "type" : [ "boolean", "null" ], "description" : "Write kubernetes resource requests and limits on each pod" }, "remote" : { "type" : [ "boolean", "null" ], "description" : "Expose services as LoadBalancers" }, "skipCrds" : { "type" : [ "boolean", "null" ], "description" : "Skip installation of CRDs. This requires prior installation of CRDs" }, "urlSeparatorHyphen" : { "type" : [ "boolean", "null" ], "description" : "Use hyphens instead of dots to separate application name from base-url" }, "username" : { "type" : [ "string", "null" ], "description" : "Set initial admin username" }, "yes" : { "type" : [ "boolean", "null" ], "description" : "Skip confirmation" } }, "additionalProperties" : false, "description" : "Application configuration parameter for GOP" }, "content" : { "type" : [ "object", "null" ], "properties" : { "examples" : { "type" : [ "boolean", "null" ], "description" : "Deploy example content: source repos, GitOps repos, Jenkins Job, Argo CD apps/project" }, "namespaces" : { "description" : "Additional kubernetes namespaces. These are authorized to Argo CD, supplied with image pull secrets, monitored by prometheus, etc. Namespaces can be templates, e.g. ${config.application.namePrefix}staging", "type" : [ "array", "null" ], "items" : { "type" : "string" } }, "repos" : { "description" : "Content repos to push into target environment", "type" : [ "array", "null" ], "items" : { "type" : "object", "properties" : { "createJenkinsJob" : { "type" : [ "boolean", "null" ], "description" : "If true, creates a Jenkins job, if jenkinsfile exists in one of the content repo's branches." }, "overwriteMode" : { "anyOf" : [ { "type" : "null" }, { "type" : "string", "enum" : [ "INIT", "RESET", "UPGRADE" ] } ], "description" : "This defines, how customer repos will be updated.\nINIT - push only if repo does not exist.\nRESET - delete all files after cloning source - files not in content are deleted\nUPGRADE - clone and copy - existing files will be overwritten, files not in content are kept. For type: MIRROR reset and upgrade have same result: in both cases source repo will be force pushed to target repo." }, "password" : { "type" : [ "string", "null" ], "description" : "Password to authenticate against content repo" }, "path" : { "type" : [ "string", "null" ], "description" : "Path within the content repo to process" }, "ref" : { "type" : [ "string", "null" ], "description" : "Reference for a specific branch, tag, or commit. Emtpy defaults to default branch of the repo. With type MIRROR: ref must not be a commit hash; Choosing a ref only mirrors the ref but does not delete other branches/tags!" }, "target" : { "type" : [ "string", "null" ], "description" : "Target repo for the repository in the for of namespace/name. Must contain one slash to separate namespace from name." }, "targetRef" : { "type" : [ "string", "null" ], "description" : "Reference for a specific branch or tag in the target repo of a MIRROR or COPY repo. If ref is a tag, targetRef is treated as tag as well. Except: targetRef is full ref like refs/heads/my-branch or refs/tags/my-tag. Empty defaults to the source ref." }, "templating" : { "type" : [ "boolean", "null" ], "description" : "When true, template all files ending in .ftl within the repo" }, "type" : { "anyOf" : [ { "type" : "null" }, { "type" : "string", "enum" : [ "FOLDER_BASED", "COPY", "MIRROR" ] } ], "description" : "Content Repos can either be:\ncopied (only the files, starting on ref, starting at path within the repo. Requires target)\n, mirrored (FORCE pushes ref or the whole git repo if no ref set). Requires target, does not allow path and template.)\nfolderBased (folder structure is interpreted as repos. That is, root folder becomes namespace in SCM, sub folders become repository names in SCM, files are copied. Requires target.)" }, "url" : { "type" : [ "string", "null" ], "description" : "URL of the content repo. Mandatory for each type." }, "username" : { "type" : [ "string", "null" ], "description" : "Username to authenticate against content repo" } }, "additionalProperties" : false } }, "variables" : { "$ref" : "#/$defs/Map(String,Object)-nullable", "description" : "Additional variables to use in custom templates." } }, "additionalProperties" : false, "description" : "Config parameters for content, i.e. end-user or tenant applications as opposed to cluster-resources" }, "features" : { "type" : [ "object", "null" ], "properties" : { "argocd" : { "type" : [ "object", "null" ], "properties" : { "active" : { "type" : [ "boolean", "null" ], "description" : "Install ArgoCD" }, "emailFrom" : { "type" : [ "string", "null" ], "description" : "Notifications, define Argo CD sender email address" }, "emailToAdmin" : { "type" : [ "string", "null" ], "description" : "Notifications, define Argo CD admin recipient email address" }, "emailToUser" : { "type" : [ "string", "null" ], "description" : "Notifications, define Argo CD user / app-team recipient email address" }, "env" : { "description" : "Pass a list of env vars to Argo CD components. Currently only works with operator", "type" : [ "array", "null" ], "items" : { "$ref" : "#/$defs/Map(String,String)", "additionalProperties" : { "type" : "string" } } }, "operator" : { "type" : [ "boolean", "null" ], "description" : "Install ArgoCD via an already running ArgoCD Operator" }, "resourceInclusionsCluster" : { "type" : [ "string", "null" ], "description" : "Internal Kubernetes API Server URL https://IP:PORT (kubernetes.default.svc). Needed in argocd-operator resourceInclusions. Use this parameter if argocd.operator=true and NOT running inside a Pod (remote mode). Full URL needed, for example: https://100.125.0.1:443" }, "url" : { "type" : [ "string", "null" ], "description" : "The URL where argocd is accessible. It has to be the full URL with http:// or https://" } }, "additionalProperties" : false, "description" : "Config Parameter for the ArgoCD Operator" }, "certManager" : { "type" : [ "object", "null" ], "properties" : { "active" : { "type" : [ "boolean", "null" ], "description" : "Sets and enables Cert Manager" }, "helm" : { "type" : [ "object", "null" ], "properties" : { "acmeSolverImage" : { "type" : [ "string", "null" ], "description" : "Sets acmeSolver Image for Cert Manager" }, "cainjectorImage" : { "type" : [ "string", "null" ], "description" : "Sets cainjector Image for Cert Manager" }, "chart" : { "type" : [ "string", "null" ], "description" : "Name of the Helm chart" }, "image" : { "type" : [ "string", "null" ], "description" : "Sets image for Cert Manager" }, "repoURL" : { "type" : [ "string", "null" ], "description" : "Repository url from which the Helm chart should be obtained" }, "startupAPICheckImage" : { "type" : [ "string", "null" ], "description" : "Sets startupAPICheck Image for Cert Manager" }, "values" : { "$ref" : "#/$defs/Map(String,Object)-nullable", "description" : "Helm values of the chart, allows overriding defaults and setting values that are not exposed as explicit configuration" }, "version" : { "type" : [ "string", "null" ], "description" : "The version of the Helm chart to be installed" }, "webhookImage" : { "type" : [ "string", "null" ], "description" : "Sets webhook Image for Cert Manager" } }, "additionalProperties" : false, "description" : "Common Config parameters for the Helm package manager: Name of Chart (chart), URl of Helm-Repository (repoURL) and Chart Version (version). Note: These config is intended to obtain the chart from a different source (e.g. in air-gapped envs), not to use a different version of a helm chart. Using a different helm chart or version to the one used in the GOP version will likely cause errors." } }, "additionalProperties" : false, "description" : "Config parameters for the Cert Manager" }, "exampleApps" : { "type" : [ "object", "null" ], "properties" : { "nginx" : { "$ref" : "#/$defs/ExampleAppSchema-nullable", "description" : "Config parameters for the NGINX example apps apps and exercises" }, "petclinic" : { "$ref" : "#/$defs/ExampleAppSchema-nullable", "description" : "Config parameters for the petclinic example apps apps and exercises" } }, "additionalProperties" : false, "description" : "Config parameters for the example apps and exercises" }, "ingressNginx" : { "type" : [ "object", "null" ], "properties" : { "active" : { "type" : [ "boolean", "null" ], "description" : "Sets and enables Nginx Ingress Controller" }, "helm" : { "type" : [ "object", "null" ], "properties" : { "chart" : { "type" : [ "string", "null" ], "description" : "Name of the Helm chart" }, "image" : { "type" : [ "string", "null" ], "description" : "The image of the Helm chart to be installed" }, "repoURL" : { "type" : [ "string", "null" ], "description" : "Repository url from which the Helm chart should be obtained" }, "values" : { "$ref" : "#/$defs/Map(String,Object)-nullable", "description" : "Helm values of the chart, allows overriding defaults and setting values that are not exposed as explicit configuration" }, "version" : { "type" : [ "string", "null" ], "description" : "The version of the Helm chart to be installed" } }, "additionalProperties" : false, "description" : "Common Config parameters for the Helm package manager: Name of Chart (chart), URl of Helm-Repository (repoURL) and Chart Version (version). Note: These config is intended to obtain the chart from a different source (e.g. in air-gapped envs), not to use a different version of a helm chart. Using a different helm chart or version to the one used in the GOP version will likely cause errors." } }, "additionalProperties" : false, "description" : "Config parameters for the NGINX Ingress Controller" }, "mail" : { "type" : [ "object", "null" ], "properties" : { "helm" : { "type" : [ "object", "null" ], "properties" : { "chart" : { "type" : [ "string", "null" ], "description" : "Name of the Helm chart" }, "image" : { "type" : [ "string", "null" ], "description" : "The image of the Helm chart to be installed" }, "repoURL" : { "type" : [ "string", "null" ], "description" : "Repository url from which the Helm chart should be obtained" }, "values" : { "$ref" : "#/$defs/Map(String,Object)-nullable", "description" : "Helm values of the chart, allows overriding defaults and setting values that are not exposed as explicit configuration" }, "version" : { "type" : [ "string", "null" ], "description" : "The version of the Helm chart to be installed" } }, "additionalProperties" : false, "description" : "Common Config parameters for the Helm package manager: Name of Chart (chart), URl of Helm-Repository (repoURL) and Chart Version (version). Note: These config is intended to obtain the chart from a different source (e.g. in air-gapped envs), not to use a different version of a helm chart. Using a different helm chart or version to the one used in the GOP version will likely cause errors." }, "mailhog" : { "type" : [ "boolean", "null" ], "description" : "Installs MailHog as Mail server." }, "mailhogUrl" : { "type" : [ "string", "null" ], "description" : "Sets url for MailHog" }, "smtpAddress" : { "type" : [ "string", "null" ], "description" : "Sets smtp port of external Mailserver" }, "smtpPassword" : { "type" : [ "string", "null" ], "description" : "Sets smtp password of external Mailserver" }, "smtpPort" : { "type" : [ "integer", "null" ], "description" : "Sets smtp port of external Mailserver" }, "smtpUser" : { "type" : [ "string", "null" ], "description" : "Sets smtp username for external Mailserver" } }, "additionalProperties" : false, "description" : "Config parameters for mail servers" }, "monitoring" : { "type" : [ "object", "null" ], "properties" : { "active" : { "type" : [ "boolean", "null" ], "description" : "Installs the Kube-Prometheus-Stack. This includes Prometheus, the Prometheus operator, Grafana and some extra resources" }, "grafanaEmailFrom" : { "type" : [ "string", "null" ], "description" : "Notifications, define grafana alerts sender email address" }, "grafanaEmailTo" : { "type" : [ "string", "null" ], "description" : "Notifications, define grafana alerts recipient email address" }, "grafanaUrl" : { "type" : [ "string", "null" ], "description" : "Sets url for grafana" }, "helm" : { "type" : [ "object", "null" ], "properties" : { "chart" : { "type" : [ "string", "null" ], "description" : "Name of the Helm chart" }, "grafanaImage" : { "type" : [ "string", "null" ], "description" : "Sets image for grafana" }, "grafanaSidecarImage" : { "type" : [ "string", "null" ], "description" : "Sets image for grafana's sidecar" }, "prometheusConfigReloaderImage" : { "type" : [ "string", "null" ], "description" : "Sets image for prometheus-operator's config-reloader" }, "prometheusImage" : { "type" : [ "string", "null" ], "description" : "Sets image for prometheus" }, "prometheusOperatorImage" : { "type" : [ "string", "null" ], "description" : "Sets image for prometheus-operator" }, "repoURL" : { "type" : [ "string", "null" ], "description" : "Repository url from which the Helm chart should be obtained" }, "values" : { "$ref" : "#/$defs/Map(String,Object)-nullable", "description" : "Helm values of the chart, allows overriding defaults and setting values that are not exposed as explicit configuration" }, "version" : { "type" : [ "string", "null" ], "description" : "The version of the Helm chart to be installed" } }, "additionalProperties" : false, "description" : "Common Config parameters for the Helm package manager: Name of Chart (chart), URl of Helm-Repository (repoURL) and Chart Version (version). Note: These config is intended to obtain the chart from a different source (e.g. in air-gapped envs), not to use a different version of a helm chart. Using a different helm chart or version to the one used in the GOP version will likely cause errors." } }, "additionalProperties" : false, "description" : "Config parameters for the Monitoring system (prometheus)" }, "secrets" : { "type" : [ "object", "null" ], "properties" : { "externalSecrets" : { "type" : [ "object", "null" ], "properties" : { "helm" : { "type" : [ "object", "null" ], "properties" : { "certControllerImage" : { "type" : [ "string", "null" ], "description" : "Sets image for external secrets operator's controller" }, "chart" : { "type" : [ "string", "null" ], "description" : "Name of the Helm chart" }, "image" : { "type" : [ "string", "null" ], "description" : "Sets image for external secrets operator" }, "repoURL" : { "type" : [ "string", "null" ], "description" : "Repository url from which the Helm chart should be obtained" }, "values" : { "$ref" : "#/$defs/Map(String,Object)-nullable", "description" : "Helm values of the chart, allows overriding defaults and setting values that are not exposed as explicit configuration" }, "version" : { "type" : [ "string", "null" ], "description" : "The version of the Helm chart to be installed" }, "webhookImage" : { "type" : [ "string", "null" ], "description" : "Sets image for external secrets operator's webhook" } }, "additionalProperties" : false, "description" : "Common Config parameters for the Helm package manager: Name of Chart (chart), URl of Helm-Repository (repoURL) and Chart Version (version). Note: These config is intended to obtain the chart from a different source (e.g. in air-gapped envs), not to use a different version of a helm chart. Using a different helm chart or version to the one used in the GOP version will likely cause errors." } }, "additionalProperties" : false, "description" : "Config parameters for the external secrets operator" }, "vault" : { "type" : [ "object", "null" ], "properties" : { "helm" : { "type" : [ "object", "null" ], "properties" : { "chart" : { "type" : [ "string", "null" ], "description" : "Name of the Helm chart" }, "image" : { "type" : [ "string", "null" ], "description" : "Sets image for vault" }, "repoURL" : { "type" : [ "string", "null" ], "description" : "Repository url from which the Helm chart should be obtained" }, "values" : { "$ref" : "#/$defs/Map(String,Object)-nullable", "description" : "Helm values of the chart, allows overriding defaults and setting values that are not exposed as explicit configuration" }, "version" : { "type" : [ "string", "null" ], "description" : "The version of the Helm chart to be installed" } }, "additionalProperties" : false, "description" : "Common Config parameters for the Helm package manager: Name of Chart (chart), URl of Helm-Repository (repoURL) and Chart Version (version). Note: These config is intended to obtain the chart from a different source (e.g. in air-gapped envs), not to use a different version of a helm chart. Using a different helm chart or version to the one used in the GOP version will likely cause errors." }, "mode" : { "anyOf" : [ { "type" : "null" }, { "type" : "string", "enum" : [ "dev", "prod" ] } ], "description" : "Installs Hashicorp vault and the external secrets operator. Possible values: dev, prod." }, "url" : { "type" : [ "string", "null" ], "description" : "Sets url for vault ui" } }, "additionalProperties" : false, "description" : "Config parameters for the secrets-vault" } }, "additionalProperties" : false, "description" : "Config parameters for the secrets management" } }, "additionalProperties" : false, "description" : "Config parameters for features or tools" }, "images" : { "type" : [ "object", "null" ], "properties" : { "helm" : { "type" : [ "string", "null" ], "description" : "Sets image for helm" }, "helmKubeval" : { "type" : [ "string", "null" ], "description" : "Sets image for helmkubeval" }, "kubectl" : { "type" : [ "string", "null" ], "description" : "Sets image for kubectl" }, "kubeval" : { "type" : [ "string", "null" ], "description" : "Sets image for kubeval" }, "maven" : { "type" : [ "string", "null" ], "description" : "Sets image for maven" }, "nginx" : { "type" : [ "string", "null" ], "description" : "Sets image for nginx used in various applications" }, "petclinic" : { "type" : [ "string", "null" ], "description" : "Sets image for petclinic used in various applications" }, "yamllint" : { "type" : [ "string", "null" ], "description" : "Sets image for yamllint" } }, "additionalProperties" : false, "description" : "Config params for images that do not belong to specific features" }, "jenkins" : { "type" : [ "object", "null" ], "properties" : { "active" : { "type" : [ "boolean", "null" ], "description" : "Installs Jenkins as CI server" }, "additionalEnvs" : { "anyOf" : [ { "type" : "null" }, { "$ref" : "#/$defs/Map(String,String)" } ], "description" : "Set additional environments to Jenkins", "additionalProperties" : { "type" : "string" } }, "helm" : { "$ref" : "#/$defs/HelmConfigWithValues-nullable", "description" : "Common Config parameters for the Helm package manager: Name of Chart (chart), URl of Helm-Repository (repoURL) and Chart Version (version). Note: These config is intended to obtain the chart from a different source (e.g. in air-gapped envs), not to use a different version of a helm chart. Using a different helm chart or version to the one used in the GOP version will likely cause errors." }, "mavenCentralMirror" : { "type" : [ "string", "null" ], "description" : "URL for maven mirror, used by applications built in Jenkins" }, "metricsPassword" : { "type" : [ "string", "null" ], "description" : "Mandatory when jenkins-url is set and monitoring enabled" }, "metricsUsername" : { "type" : [ "string", "null" ], "description" : "Mandatory when jenkins-url is set and monitoring enabled" }, "password" : { "type" : [ "string", "null" ], "description" : "Mandatory when jenkins-url is set" }, "skipPlugins" : { "type" : [ "boolean", "null" ], "description" : "Skips plugin installation. Use with caution! If the plugins are not installed up front, the installation will likely fail. The intended use case for this is after the first installation, for config changes only. Do not use on first installation or upgrades." }, "skipRestart" : { "type" : [ "boolean", "null" ], "description" : "Skips restarting Jenkins after plugin installation. Use with caution! If the plugins are not installed up front, the installation will likely fail. The intended use case for this is after the first installation, for config changes only. Do not use on first installation or upgrades." }, "url" : { "type" : [ "string", "null" ], "description" : "The url of your external jenkins" }, "username" : { "type" : [ "string", "null" ], "description" : "Mandatory when jenkins-url is set" } }, "additionalProperties" : false, "description" : "Config parameters for Jenkins CI/CD Pipeline Server" }, "registry" : { "type" : [ "object", "null" ], "properties" : { "active" : { "type" : [ "boolean", "null" ], "description" : "Installs a simple cluster-local registry for demonstration purposes. Warning: Registry does not provide authentication!" }, "createImagePullSecrets" : { "type" : [ "boolean", "null" ], "description" : "Create image pull secrets for registry and proxy-registry for all GOP namespaces and helm charts. Uses proxy-username, read-only-username or registry-username (in this order). Use this if your cluster is not auto-provisioned with credentials for your private registries or if you configure individual helm images to be pulled from the proxy-registry that requires authentication." }, "helm" : { "$ref" : "#/$defs/HelmConfigWithValues-nullable", "description" : "Common Config parameters for the Helm package manager: Name of Chart (chart), URl of Helm-Repository (repoURL) and Chart Version (version). Note: These config is intended to obtain the chart from a different source (e.g. in air-gapped envs), not to use a different version of a helm chart. Using a different helm chart or version to the one used in the GOP version will likely cause errors." }, "internalPort" : { "type" : [ "integer", "null" ], "description" : "Port of registry registry. Ignored when a registry*url params are set" }, "password" : { "type" : [ "string", "null" ], "description" : "Optional when registry-url is set" }, "path" : { "type" : [ "string", "null" ], "description" : "Optional when registry-url is set" }, "proxyPassword" : { "type" : [ "string", "null" ], "description" : "Use with registry-proxy-url, added to Jenkins as credentials and created as pull secrets, when create-image-pull-secrets is set." }, "proxyUrl" : { "type" : [ "string", "null" ], "description" : "The url of your proxy-registry. Used in pipelines to authorize pull base images. Use in conjunction with petclinic base image. Used in helm charts when create-image-pull-secrets is set. Use in conjunction with helm.*image fields." }, "proxyUsername" : { "type" : [ "string", "null" ], "description" : "Use with registry-proxy-url, added to Jenkins as credentials and created as pull secrets, when create-image-pull-secrets is set." }, "readOnlyPassword" : { "type" : [ "string", "null" ], "description" : "Optional alternative password for registry-url with read-only permissions that is used when create-image-pull-secrets is set." }, "readOnlyUsername" : { "type" : [ "string", "null" ], "description" : "Optional alternative username for registry-url with read-only permissions that is used when create-image-pull-secrets is set." }, "url" : { "type" : [ "string", "null" ], "description" : "The url of your external registry, used for pushing images" }, "username" : { "type" : [ "string", "null" ], "description" : "Optional when registry-url is set" } }, "additionalProperties" : false, "description" : "Config parameters for Registry" }, "repositories" : { "type" : [ "object", "null" ], "properties" : { "cesBuildLib" : { "$ref" : "#/$defs/RepositorySchema-nullable", "description" : "Repo to pull the ces-build-lib, used in examples and exercises as depedency of the gitops-build-lib" }, "gitopsBuildLib" : { "$ref" : "#/$defs/RepositorySchema-nullable", "description" : "Repo to pull the gitops-build-lib, used in examples and exercises" }, "springBootHelmChart" : { "$ref" : "#/$defs/RepositorySchemaWithRef-nullable", "description" : "Repo to pull the generic Spring Boot Helm chart, used in examples and exercises" }, "springPetclinic" : { "$ref" : "#/$defs/RepositorySchemaWithRef-nullable", "description" : "Repo to pull the Spring Petclinic, used in examples and exercises" } }, "additionalProperties" : false, "description" : "Config params for repositories used within GOP" }, "scmm" : { "type" : [ "object", "null" ], "properties" : { "helm" : { "$ref" : "#/$defs/HelmConfigWithValues-nullable", "description" : "Common Config parameters for the Helm package manager: Name of Chart (chart), URl of Helm-Repository (repoURL) and Chart Version (version). Note: These config is intended to obtain the chart from a different source (e.g. in air-gapped envs), not to use a different version of a helm chart. Using a different helm chart or version to the one used in the GOP version will likely cause errors." }, "password" : { "type" : [ "string", "null" ], "description" : "Mandatory when scmm-url is set" }, "provider" : { "type" : [ "string", "null" ], "description" : "Sets the scm Provider. Possible Options are \"scm-manager\" and \"gitlab\"" }, "rootPath" : { "type" : [ "string", "null" ], "description" : "Sets the root path for the Git Repositories. In SCM-Manager it is always \"repo\"" }, "skipPlugins" : { "type" : [ "boolean", "null" ], "description" : "Skips plugin installation. Use with caution! If the plugins are not installed up front, the installation will likely fail. The intended use case for this is after the first installation, for config changes only. Do not use on first installation or upgrades." }, "skipRestart" : { "type" : [ "boolean", "null" ], "description" : "Skips restarting SCM-Manager after plugin installation. Use with caution! If the plugins are not installed up front, the installation will likely fail. The intended use case for this is after the first installation, for config changes only. Do not use on first installation or upgrades.'" }, "url" : { "type" : [ "string", "null" ], "description" : "The host of your external scm-manager" }, "username" : { "type" : [ "string", "null" ], "description" : "Mandatory when scmm-url is set" } }, "additionalProperties" : false, "description" : "Config parameters for SCMManager (Git repository Server, https://scm-manager.org/)" } }, "additionalProperties" : false }