From aace1d43e8bed2e97d311d129bc0312e7dcb3ce0 Mon Sep 17 00:00:00 2001 From: kbeyro <121854496+kbeyro@users.noreply.github.com> Date: Wed, 26 Jun 2024 14:59:33 +0200 Subject: [PATCH] update properties for docker flags --- docker/nmaas-platform.properties.template | 22 ++-- src/main/resources/application.properties | 143 +++++++++++----------- 2 files changed, 82 insertions(+), 83 deletions(-) diff --git a/docker/nmaas-platform.properties.template b/docker/nmaas-platform.properties.template index 93cec7bb2..70e00fe04 100644 --- a/docker/nmaas-platform.properties.template +++ b/docker/nmaas-platform.properties.template @@ -10,10 +10,10 @@ spring.profiles.active=env_kubernetes, dcn_manual, db_standalone # ---------------- # # General settings # # ---------------- # -server.port=${PLATFORM_PORT} -portal.address=${PORTAL_HOST} -admin.password=${ADMIN_PASSWORD} -admin.email=${ADMIN_EMAIL} +server.port=${PLATFORM_PORT:9000} +portal.address=${PORTAL_HOST:http://localhost:4200} +admin.password=${ADMIN_PASSWORD:admin} +admin.email=${ADMIN_EMAIL:admin@nmaas.eu} # REST API documentation springdoc.api-docs.enabled=${PLATFORM_API_DOCS_ENABLED:false} @@ -22,10 +22,10 @@ springdoc.swagger-ui.enabled=${PLATFORM_API_DOCS_ENABLED:false} springdoc.swagger-ui.path=/api-docs/ui.html # Email -spring.mail.username=${SMTP_LOGIN} -spring.mail.password=${SMTP_PASSWORD} -spring.mail.host=${SMTP_HOST} -spring.mail.port=${SMTP_PORT} +spring.mail.username=${SMTP_LOGIN:default} +spring.mail.password=${SMTP_PASSWORD:default} +spring.mail.host=${SMTP_HOST:smtp.nmaas.eu} +spring.mail.port=${SMTP_PORT:587} spring.mail.properties.mail.smtp.auth=${USE_LOGIN_PASSWORD} spring.mail.properties.mail.smtp.starttls.enable=${USE_STARTTLS} spring.mail.properties.mail.smtp.starttls.required=${USE_STARTTLS} @@ -51,9 +51,9 @@ notifications.from-address=${SMTP_FROM} # Database # # ---------------- # # Standalone PostgreSQL -db.standalone.jdbc-url=jdbc:postgresql://${POSTGRESQL_HOST}:${POSTGRESQL_PORT}/${POSTGRESQL_DBNAME} -db.standalone.username=${POSTGRESQL_USERNAME} -db.standalone.password=${POSTGRESQL_PASSWORD} +db.standalone.jdbc-url=jdbc:postgresql://${POSTGRESQL_HOST:postgresql}:${POSTGRESQL_PORT:5432}/${POSTGRESQL_DBNAME:nmaas} +db.standalone.username=${POSTGRESQL_USERNAME:nmaas} +db.standalone.password=${POSTGRESQL_PASSWORD:nmaas} # FlywayDB settings spring.flyway.enabled=true spring.flyway.locations=classpath:/db/migration diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 0b9ab5204..e9ab18a79 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -9,25 +9,25 @@ spring.profiles.active=env_kubernetes, db_memory # ---------------- # # General settings # # ---------------- # -server.port=9000 -portal.address=http://localhost:4200 -admin.password=admin -admin.email=admin@nmaas.eu +server.port=${PLATFORM_PORT:9000} +portal.address=${PORTAL_HOST:http://localhost:4200} +admin.password=${ADMIN_PASSWORD:admin} +admin.email=${ADMIN_EMAIL:admin@nmaas.eu} # REST API documentation -springdoc.api-docs.enabled=true -springdoc.api-docs.path=/api-docs/spec -springdoc.swagger-ui.enabled=true -springdoc.swagger-ui.path=/api-docs/ui.html +springdoc.api-docs.enabled=${PLATFORM_API_DOCS_ENABLED:true} +springdoc.api-docs.path={$PLATFORM_API_DOCS_PATH:/api-docs/spec} +springdoc.swagger-ui.enabled=${PLATFORM_API_DOCS_ENABLED:true} +springdoc.swagger-ui.path={$PLATFORM_API_SWAGGER_PATH:/api-docs/ui.html} # Email -spring.mail.username=default -spring.mail.password=default -spring.mail.host=smtp.nmaas.eu -spring.mail.port=587 -spring.mail.properties.mail.smtp.auth=true -spring.mail.properties.mail.smtp.starttls.enable=true -spring.mail.properties.mail.smtp.starttls.required=true +spring.mail.username=${SMTP_LOGIN:default} +spring.mail.password=${SMTP_PASSWORD:default} +spring.mail.host=${SMTP_HOST:smtp.nmaas.eu} +spring.mail.port=${SMTP_PORT:587} +spring.mail.properties.mail.smtp.auth=${USE_LOGIN_PASSWORD:true} +spring.mail.properties.mail.smtp.starttls.enable=${USE_STARTTLS:true} +spring.mail.properties.mail.smtp.starttls.required=${USE_STARTTLS:true} spring.mail.properties.mail.smtp.connectiontimeout=5000 spring.mail.properties.mail.smtp.timeout=3000 spring.mail.properties.mail.smtp.writetimeout=5000 @@ -38,14 +38,14 @@ spring.http.encoding.enabled=true spring.http.encoding.force=true # Actuator and Metrics -nmaas.metrics.enabled=true +nmaas.metrics.enabled=${METRICS_ENABLED:true} management.endpoints.web.exposure.include=health,prometheus management.info.git.mode=full # disabled strict check if email configuration is valid management.health.mail.enabled=false # Notifications -notifications.from-address= +notifications.from-address=${SMTP_FROM} # ---------------- # # Database # @@ -55,9 +55,9 @@ db.inmemory.jdbc-url=jdbc:h2:mem:nmaas db.inmemory.username=nmaas db.inmemory.password=nmaas # Standalone PostgreSQL -db.standalone.jdbc-url=jdbc:postgresql://localhost:5432/nmaas -db.standalone.username=nmaas -db.standalone.password=nmaas +db.standalone.jdbc-url=jdbc:postgresql://${POSTGRESQL_HOST:postgresql}:${POSTGRESQL_PORT:5432}/${POSTGRESQL_DBNAME:nmaas} +db.standalone.username=${POSTGRESQL_USERNAME:nmaas} +db.standalone.password=${POSTGRESQL_PASSWORD:nmaas} # Common spring.h2.console.enabled=true spring.jpa.properties.hibernate.show_sql=false @@ -76,25 +76,24 @@ spring.flyway.enabled=false # -------------------------------------------------------- # # NMaaS application deployment and configuration processes # # -------------------------------------------------------- # -nmaas.service.deployment.check.interval=10 -nmaas.service.deployment.max.duration=120 -nmaas.service.upgrade.cron=0 */5 * * * ? -nmaas.service.upgrade-summary.cron=0 0 * * * ? -# interval for which to collect information about last upgrades (in hours) -nmaas.service.upgrade-summary.interval=24 +nmaas.service.deployment.check.interval=${DEPLOYMENT_CHECK_INTERVAL:10} +nmaas.service.deployment.max.duration=${DEPLOYMENT_CHECK_TIMEOUT:120} +nmaas.service.upgrade.cron=${APP_UPGRADE_CRON:0 */5 * * * ?} +nmaas.service.upgrade-summary.cron=${APP_UPGRADE_SUMMARY_CRON:0 0 * * * ?} +nmaas.service.upgrade-summary.interval=${APP_UPGRADE_SUMMARY_INTERVAL:24} nmaas.portal.domains.codename.pattern=[a-z0-9-]{2,12} nmaas.portal.domains.codename.length=12 nmaas.portal.modals.appinstall.pattern=[a-zA-Z0-9-]{3,10} nmaas.portal.domains.namespace.pattern=[a-z0-9-]{0,64} -nmaas.platform.webhooks.baseurl=http://localhost:9000/api/gitlab/webhooks +nmaas.platform.webhooks.baseurl=${PLATFORM_BASEURL:http://localhost:9000}/api/gitlab/webhooks nmaas.kubernetes.incluster=false -nmaas.kubernetes.apiserver.url=https://10.1.1.11:6443 +nmaas.kubernetes.apiserver.url=${KUBERNETES_APISERVER_URL:https://10.1.1.11:6443} # flag indicating if namespace should be created upon domain creation -nmaas.domains.create.namespace=false +nmaas.domains.create.namespace=${NAMESPACE_CREATION_ENABLED:false} # ------------------------------ # # Quartz scheduler configuration # @@ -110,10 +109,10 @@ upload.dir=/tmp jwt.tokenValidFor=3600000 jwt.refreshTokenValidFor=13600000 jwt.issuer=NMaaS -jwt.signingKey=testKey +jwt.signingKey=${API_KEY:testKey} jwt.resetSigningKey=testResetKey jwt.resetTokenValidFor=1800000 -captcha.secret=6LeJgbQUAAAAAIGNksMVgPqiGbdPrYKjXAeeFa5e +captcha.secret=${CAPTCHA_SECRET:6LeJgbQUAAAAAIGNksMVgPqiGbdPrYKjXAeeFa5e} # current pagination issue fix -> set default page size to 1000 # this is still a temporary fix spring.data.web.pageable.default-page-size=1000 @@ -121,71 +120,71 @@ spring.data.web.pageable.default-page-size=1000 # ------------------------ # # SAML proxy configuration # # ------------------------ # -sso.loginUrl=https://shibbolethsp.pllab.internal/cgi-bin/nmaas.php -sso.logoutUrl=https://shibbolethsp.pllab.internal/Shibboleth.sso/Logout -sso.timeout=15 -sso.key=sso_shared_secret_key +sso.loginUrl=${SSO_URL_LOGIN:https://shibbolethsp.pllab.internal/cgi-bin/nmaas.php} +sso.logoutUrl=${SSO_URL_LOGOUT:https://shibbolethsp.pllab.internal/Shibboleth.sso/Logout} +sso.timeout=${SSO_TIMEOUT:15} +sso.key=${SSO_KEY:sso_shared_secret_key} # ------------------ # # Helm configuration # # ------------------ # -helm.update.async.enabled=false -helm.update.async.cron=0 * * * * ? -helm.address=10.134.241.6 -helm.username=nmaas -helm.useLocalCharts=true -helm.repositoryName=nmaas-test -helm.repositoryUrl=https://nmaas-test.helm.repository -helm.chartsDirectory=/home/nmaas/charts -helm.enableTls=false +helm.update.async.enabled=${HELM_UPDATE_ASYNC_ENABLED:false} +helm.update.async.cron=${HELM_UPDATE_ASYNC_CRON:0 * * * * ?} +helm.address=${HELM_ADDRESS:10.134.241.6} +helm.username=${HELM_USERNAME:nmaas} +helm.useLocalCharts=t${HELM_USELOCALCHARTS:true} +helm.repositoryName=${HELM_REPOSITORY:nmaas-test} +helm.repositoryUrl=${HELM_REPOSITORY_URL:https://nmaas-test.helm.repository} +helm.chartsDirectory=${HELM_LOCALCHARTSDIR:/home/nmaas/charts} +helm.enableTls=${HELM_ENABLETLS:false} # possible values for Helm version are v2 and v3 (if none is provided v3 is used by default) -helm.version=v2 +helm.version=${HELM_VERSION:v2} # --------------------- # # Janitor configuration # # --------------------- # -janitor.address=nmaas-janitor -janitor.port=5000 +janitor.address=${JANITOR_ADDRESS:nmaas-janitor} +janitor.port=${JANITOR_PORT:5000} # -------------------- # # GitLab configuration # # -------------------- # -gitlab.address=nmaas-gitlab-unicorn -gitlab.port=8080 -gitlab.token=test_gitlab_token +gitlab.address=${GITLAB_ADDRESS:nmaas-gitlab-unicorn} +gitlab.port=${GITLAB_PORT:8080} +gitlab.token=${GITLAB_TOKEN:test_gitlab_token} # ------------------------ # # Kubernetes configuration # # ------------------------ # kubernetes.ingress.controllerConfigOption=USE_EXISTING -kubernetes.ingress.supportedIngressClass=nginx -kubernetes.ingress.publicIngressClass=public +kubernetes.ingress.supportedIngressClass=${K8S_INGRESS_CONTROLLER_INGRESS_CLASS:nginx} +kubernetes.ingress.publicIngressClass=${K8S_INGRESS_CONTROLLER_PUBLIC_INGRESS_CLASS:public} kubernetes.ingress.controllerChartName=nginx kubernetes.ingress.controllerChartArchive=nginx-ingress.tgz kubernetes.ingress.resourceConfigOption=DEPLOY_FROM_CHART -kubernetes.ingress.externalServiceDomain=nmaas.test.net -kubernetes.ingress.publicServiceDomain=public.nmaas.test.net -kubernetes.ingress.tlsSupported=true -kubernetes.ingress.certificateConfigOption=USE_LETSENCRYPT -kubernetes.ingress.issuerOrWildcardName=nmaas-issuer -kubernetes.ingress.ingressPerDomain=true -kubernetes.deployment.namespaceConfigOption=USE_DOMAIN_NAMESPACE -kubernetes.deployment.defaultNamespace=default +kubernetes.ingress.externalServiceDomain=${K8S_INGRESS_CONTROLLER_EXTERNAL_SERVICE_DOMAIN:nmaas.test.net} +kubernetes.ingress.publicServiceDomain=${K8S_INGRESS_CONTROLLER_PUBLIC_SERVICE_DOMAIN:public.nmaas.test.net} +kubernetes.ingress.tlsSupported=${K8S_INGRESS_CONTROLLER_TLS_SUPPORTED:true} +kubernetes.ingress.certificateConfigOption={K8S_INGRESS_CERTIFICATE_CONFIG_OPTION:USE_LETSENCRYPT} +kubernetes.ingress.issuerOrWildcardName=${K8S_INGRESS_CERTIFICATE_ISSUER_OR_WILDCARD_NAME:nmaas-issuer} +kubernetes.ingress.ingressPerDomain=${K8S_INGRESS_CONTROLLER_PER_DOMAIN:true} +kubernetes.deployment.namespaceConfigOption=${K8S_DEPLOYMENT_NAMESPACE_CONFIG_OPTION:USE_DOMAIN_NAMESPACE} +kubernetes.deployment.defaultNamespace=${K8S_DEPLOYMENT_DEFAULT_NAMESPACE:default} kubernetes.deployment.forceDedicatedWorkers=false -kubernetes.deployment.smtpServerHostname=nmaas-postfix -kubernetes.deployment.smtpServerPort=587 -kubernetes.deployment.smtpServerUsername= -kubernetes.deployment.smtpServerPassword= -kubernetes.deployment.defaultStorageClass=storageClass +kubernetes.deployment.smtpServerHostname=${SMTP_HOST:nmaas-postfix} +kubernetes.deployment.smtpServerPort=${SMTP_PORT:587} +kubernetes.deployment.smtpServerUsername=${SMTP_LOGIN} +kubernetes.deployment.smtpServerPassword=${SMTP_PASSWORD} +kubernetes.deployment.defaultStorageClass=${K8S_DEPLOYMENT_DEFAULT_STORAGE_CLASS:storageClass} # -------------------- # # Portal configuration # # -------------------- # -portal.config.maintenance=false -portal.config.ssoLoginAllowed=false -portal.config.defaultLanguage=en -portal.config.testInstance=false -portal.config.sendAppInstanceFailureEmails=false -portal.config.showDomainRegistrationSelector=true +portal.config.maintenance=${PORTAL_MAINTENANCE_FLAG:false} +portal.config.ssoLoginAllowed=${PORTAL_SSO_ALLOWED_FLAG:false} +portal.config.defaultLanguage=${PORTAL_DEFAULT_LANG:en} +portal.config.testInstance=${PORTAL_TEST_INSTANCE_FLAG:false} +portal.config.sendAppInstanceFailureEmails=${PORTAL_SEND_FAILURE_NOTIF_FLAG:false} +portal.config.showDomainRegistrationSelector=${PORTAL_DOMAIN_REGISTRATION_SELECTOR:true} # string - list of emails with ':' as a separator, e.g. admin1@nmaas.eu;admin2@nmaas.eu -portal.config.appInstanceFailureEmailList=admin@nmaas.eu +portal.config.appInstanceFailureEmailList=${ADMIN_EMAIL:admin@nmaas.eu} \ No newline at end of file -- GitLab