From 9d7946f70893b968b94f7bf49ce0eff2e6c293fc Mon Sep 17 00:00:00 2001 From: Araf Karsh Hamid Date: Tue, 21 Jan 2025 18:55:09 +0530 Subject: [PATCH] Kubernetes ConfigMaps, External Database Service & tools --- compile | 2 +- config/application.properties | 4 +- getServiceName | 12 +- src/docker/Input/application.properties | 4 +- .../Package/default/application.properties | 4 +- .../Yamls/vanilla-configmap-active.yaml | 6 + .../Yamls/vanilla-configmap-default.yaml | 2 +- .../Yamls/vanilla-database-service.yaml | 7 + src/kubernetes/Yamls/vanilla-deploy.yaml | 22 +- src/kubernetes/deploy | 12 + src/kubernetes/describe | 12 + src/kubernetes/events | 12 + src/kubernetes/logs | 6 +- src/kubernetes/restart | 12 + src/kubernetes/vanillaInstall | 14 + src/main/resources/app.props.build | 4 +- src/main/resources/application.properties | 4 +- .../backup/application.properties.211 | 264 ++++++++++++++++++ 18 files changed, 379 insertions(+), 24 deletions(-) create mode 100644 src/kubernetes/Yamls/vanilla-configmap-active.yaml create mode 100644 src/kubernetes/Yamls/vanilla-database-service.yaml create mode 100755 src/kubernetes/deploy create mode 100755 src/kubernetes/describe create mode 100755 src/kubernetes/events create mode 100755 src/kubernetes/restart create mode 100644 src/main/resources/backup/application.properties.211 diff --git a/compile b/compile index f52d86d..18aade0 100755 --- a/compile +++ b/compile @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # ------------------------------------------------------------------------------------------- # @author: Araf Karsh Hamid # ------------------------------------------------------------------------------------------- diff --git a/config/application.properties b/config/application.properties index b3ac4a9..7ae71ee 100644 --- a/config/application.properties +++ b/config/application.properties @@ -1,8 +1,8 @@ # ======================================================================= # MS-Vanilla Service Properties # ======================================================================= -build.number=211 -build.date=Tue Jan 21 10:05:58 IST 2025 +build.number=212 +build.date=Tue Jan 21 18:03:47 IST 2025 # ------------------------------------------------------------------------ # Spring Profile # ------------------------------------------------------------------------ diff --git a/getServiceName b/getServiceName index 2abb864..2b46c5a 100755 --- a/getServiceName +++ b/getServiceName @@ -10,25 +10,25 @@ containerName=4 param=$1 if [ -z "$param" ] then - fgrep service.name= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 + grep '^service.name=' $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 exit fi if [ $param == $orgName ] then - fgrep service.org= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 + grep '^service.org=' $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 exit elif [ $param == $serviceName ] then - fgrep service.name= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 + grep '^service.name=' $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 exit elif [ $param == $apiName ] then - fgrep service.api.name= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 + grep '^service.api.name=' $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 exit elif [ $param == $containerName ] then - fgrep service.container= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 + grep '^service.container=' $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 exit fi -fgrep service.api.name= $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 +grep '^service.api.name=' $SRC_BASE/src/main/resources/app.props.tmpl | cut -d "=" -f 2 exit diff --git a/src/docker/Input/application.properties b/src/docker/Input/application.properties index b3ac4a9..7ae71ee 100644 --- a/src/docker/Input/application.properties +++ b/src/docker/Input/application.properties @@ -1,8 +1,8 @@ # ======================================================================= # MS-Vanilla Service Properties # ======================================================================= -build.number=211 -build.date=Tue Jan 21 10:05:58 IST 2025 +build.number=212 +build.date=Tue Jan 21 18:03:47 IST 2025 # ------------------------------------------------------------------------ # Spring Profile # ------------------------------------------------------------------------ diff --git a/src/kubernetes/Package/default/application.properties b/src/kubernetes/Package/default/application.properties index a8db045..fb11088 100644 --- a/src/kubernetes/Package/default/application.properties +++ b/src/kubernetes/Package/default/application.properties @@ -1,5 +1,5 @@ -build.number=211 -build.date=Tue Jan 21 10:05:58 IST 2025 +build.number=212 +build.date=Tue Jan 21 18:03:47 IST 2025 spring.profiles.default=dev service.org=arafkarsh service.name=MS-Vanilla diff --git a/src/kubernetes/Yamls/vanilla-configmap-active.yaml b/src/kubernetes/Yamls/vanilla-configmap-active.yaml new file mode 100644 index 0000000..90ba120 --- /dev/null +++ b/src/kubernetes/Yamls/vanilla-configmap-active.yaml @@ -0,0 +1,6 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: vanilla-configmap-active +data: + spring.profiles.active: prod \ No newline at end of file diff --git a/src/kubernetes/Yamls/vanilla-configmap-default.yaml b/src/kubernetes/Yamls/vanilla-configmap-default.yaml index 217dce6..8fcf4cd 100644 --- a/src/kubernetes/Yamls/vanilla-configmap-default.yaml +++ b/src/kubernetes/Yamls/vanilla-configmap-default.yaml @@ -17,7 +17,7 @@ data: service.license=Apache 2 License service.license.url=https://github.com/arafkarsh/ms-springboot-334-vanilla?tab=Apache-2.0-1-ov-file server.port=9334 - server.version=0.3.4 + server.version=3.4.0 server.restart=false server.leak.test=3 server.resources.url=${service.url}${service.api.path} diff --git a/src/kubernetes/Yamls/vanilla-database-service.yaml b/src/kubernetes/Yamls/vanilla-database-service.yaml new file mode 100644 index 0000000..5bdf00c --- /dev/null +++ b/src/kubernetes/Yamls/vanilla-database-service.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: Service +metadata: + name: database-service +spec: + type: ExternalName + externalName: 192.168.5.1 \ No newline at end of file diff --git a/src/kubernetes/Yamls/vanilla-deploy.yaml b/src/kubernetes/Yamls/vanilla-deploy.yaml index e9a500a..89c568f 100644 --- a/src/kubernetes/Yamls/vanilla-deploy.yaml +++ b/src/kubernetes/Yamls/vanilla-deploy.yaml @@ -21,18 +21,28 @@ spec: # Only for testing purpose - use Always imagePullPolicy: Always args: - - "-APP_PROFILE=prod" - - "-SPRING_PROFILES_ACTIVE=prod" - - "-SPRING_DATASOURCE_URL=jdbc:postgresql://192.168.5.1:5433/ms_vanilla_334" + - "-APP_PROFILE=$(SPRING_PROFILES_ACTIVE)"" + - "-SPRING_DATASOURCE_URL=jdbc:postgresql://database-service:5433/ms_vanilla_334" ports: - containerPort: 9334 hostPort: 9334 + volumeMounts: + - name: config-volume + mountPath: /config + readOnly: true env: - name: JASYPT_ENCRYPTOR_PASSWORD valueFrom: secretKeyRef: name: vanilla-secret key: JASYPT_ENCRYPTOR + - name: SPRING_CONFIG_LOCATION + value: "file:/config/application.properties" + - name: SPRING_PROFILES_ACTIVE + valueFrom: + configMapKeyRef: + name: vanilla-configmap-active # Shared ConfigMap for all environments + key: spring.profiles.active livenessProbe: httpGet: path: /ms-vanilla/api/v1/service/live @@ -47,4 +57,8 @@ spec: memory: 1536Mi requests: cpu: 1000m - memory: 1536Mi \ No newline at end of file + memory: 1536Mi + volumes: + - name: config-volume + configMap: + name: vanilla-configmap-default \ No newline at end of file diff --git a/src/kubernetes/deploy b/src/kubernetes/deploy new file mode 100755 index 0000000..50ee5a4 --- /dev/null +++ b/src/kubernetes/deploy @@ -0,0 +1,12 @@ +#!/bin/bash +#--------------------------------------------------------------- +# Vanilla Microservice Kubernetes Utils +# Araf Karsh Hamid, (c) Copyright 2025 +# License: Apache 2.0 +# Version 0.01 +#--------------------------------------------------------------- + +source utils/colimaStatus + +echo "Deploy the App..." +kubectl create -f Yamls/vanilla-deploy.yaml diff --git a/src/kubernetes/describe b/src/kubernetes/describe new file mode 100755 index 0000000..422074c --- /dev/null +++ b/src/kubernetes/describe @@ -0,0 +1,12 @@ +#!/bin/bash +#--------------------------------------------------------------- +# Vanilla Microservice Kubernetes Utils +# Araf Karsh Hamid, (c) Copyright 2025 +# License: Apache 2.0 +# Version 0.01 +#--------------------------------------------------------------- + +source utils/colimaStatus + +echo "Describe $1 and the component $2" +kubectl describe $1 $2 diff --git a/src/kubernetes/events b/src/kubernetes/events new file mode 100755 index 0000000..7f5d6c8 --- /dev/null +++ b/src/kubernetes/events @@ -0,0 +1,12 @@ +#!/bin/bash +#--------------------------------------------------------------- +# Vanilla Microservice Kubernetes Utils +# Araf Karsh Hamid, (c) Copyright 2025 +# License: Apache 2.0 +# Version 0.01 +#--------------------------------------------------------------- + +source utils/colimaStatus + +echo "Check Events" +kubectl get events --sort-by='.metadata.creationTimestamp' diff --git a/src/kubernetes/logs b/src/kubernetes/logs index 11a5e00..8984a33 100755 --- a/src/kubernetes/logs +++ b/src/kubernetes/logs @@ -8,5 +8,7 @@ source utils/colimaStatus -echo "Check the Logs of the Pod..." -kubectl logs -f $1 +podName=`kubectl get pods | awk 'NR>1 {print $1}'` + +echo "Check the Logs of the Pod=$podName" +kubectl logs -f $podName diff --git a/src/kubernetes/restart b/src/kubernetes/restart new file mode 100755 index 0000000..d04eced --- /dev/null +++ b/src/kubernetes/restart @@ -0,0 +1,12 @@ +#!/bin/bash +#--------------------------------------------------------------- +# Vanilla Microservice Kubernetes Utils +# Araf Karsh Hamid, (c) Copyright 2025 +# License: Apache 2.0 +# Version 0.01 +#--------------------------------------------------------------- + +source utils/colimaStatus + +echo "Restart all the pods of Vanilla Deployment" +kubectl rollout restart deployment vanilla-deployment diff --git a/src/kubernetes/vanillaInstall b/src/kubernetes/vanillaInstall index cede111..6a9a542 100755 --- a/src/kubernetes/vanillaInstall +++ b/src/kubernetes/vanillaInstall @@ -8,8 +8,22 @@ source utils/colimaStatus +echo "---------------------------------------------------------------" echo "Deploy the Vanilla Service in Kubernetes cluster" +echo "---------------------------------------------------------------" +echo "1. Deploy the Vanilla Service Config/Secrets in Kubernetes cluster" +kubectl create -f Yamls/vanilla-configmaps-active.yaml +kubectl create -f Yamls/vanilla-configmaps-default.yaml +kubectl create -f Yamls/vanilla-configmaps-dev.yaml +kubectl create -f Yamls/vanilla-configmaps-staging.yaml +kubectl create -f Yamls/vanilla-configmaps-prod.yaml kubectl create -f Yamls/vanilla-secret.yaml +echo "---------------------------------------------------------------" +echo "2. Deploy the External Database Service" +kubectl create -f Yamls/vanilla-database-service.yaml +echo "---------------------------------------------------------------" +echo "3. Deploy the Pods/Services/Ingress in Kubernetes cluster" kubectl create -f Yamls/vanilla-deploy.yaml kubectl create -f Yamls/vanilla-service.yaml kubectl create -f Yamls/vanilla-ingress.yaml +echo "---------------------------------------------------------------" diff --git a/src/main/resources/app.props.build b/src/main/resources/app.props.build index f02f2c4..cb07904 100644 --- a/src/main/resources/app.props.build +++ b/src/main/resources/app.props.build @@ -1,5 +1,5 @@ # ======================================================================= # MS-Vanilla Service Properties # ======================================================================= -build.number=211 -build.date=Tue Jan 21 10:05:58 IST 2025 +build.number=212 +build.date=Tue Jan 21 18:03:47 IST 2025 diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index b3ac4a9..7ae71ee 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,8 +1,8 @@ # ======================================================================= # MS-Vanilla Service Properties # ======================================================================= -build.number=211 -build.date=Tue Jan 21 10:05:58 IST 2025 +build.number=212 +build.date=Tue Jan 21 18:03:47 IST 2025 # ------------------------------------------------------------------------ # Spring Profile # ------------------------------------------------------------------------ diff --git a/src/main/resources/backup/application.properties.211 b/src/main/resources/backup/application.properties.211 new file mode 100644 index 0000000..fe2b67f --- /dev/null +++ b/src/main/resources/backup/application.properties.211 @@ -0,0 +1,264 @@ +# ======================================================================= +# MS-Vanilla Service Properties +# ======================================================================= +build.number=212 +build.date=Tue Jan 21 17:54:40 IST 2025 +# ------------------------------------------------------------------------ +# Spring Profile +# ------------------------------------------------------------------------ +spring.profiles.default=dev +# ======================================================================= +# Service Name & API Details - Version, Path +# ======================================================================= +service.org=arafkarsh +service.name=MS-Vanilla +service.api.name=ms-vanilla +service.api.prefix=api +service.api.version=v1 +service.api.error.prefix=13 +service.container=ms-vanilla-service +service.api.repository=https://github.com/arafkarsh/ms-springboot-334-vanilla +service.api.path=/${service.api.name}/${service.api.prefix}/${service.api.version} +service.url=http://www.arafkarsh.com/ +service.license=Apache 2 License +service.license.url=https://github.com/arafkarsh/ms-springboot-334-vanilla?tab=Apache-2.0-1-ov-file +# ======================================================================= +# Microservice Server Properties +# ======================================================================= +server.port=9334 +server.version=0.3.4 +server.restart=false +server.leak.test=3 +server.resources.url=${service.url}${service.api.path} +server.api.url.print=true +# ------------------------------------------------------------------------ +# Host SSL Details : +# Rename the file fusionAir.pkcs12 in resources folder and uncomment the +# following lines to enable SSL +# ------------------------------------------------------------------------ +#server.ssl.key-store=classpath:fusionAir.pkcs12 +#server.ssl.key-store-type=PKCS12 +#server.ssl.key-store-password=Fusion.2023 +#server.ssl.key-alias=fusionAir +# ------------------------------------------------------------------------ +# Security & JWT Token (Type 1 = secret key, 2 = public / private key) +# ------------------------------------------------------------------------ +server.crypto.public.key=publicKey.pem +server.crypto.private.key=privateKey.pem +server.token.issuer=${service.org} +# Type 1 = Secret, Type 2 = Public / Private Key +server.token.type=1 +server.token.test=true +# Token Expiry Times - Security Policy will reject High Expiry Time +server.token.auth.expiry=600000 +server.token.refresh.expiry=3600000 +server.token.key=<([1234567890SecretKey!!To??Encrypt##Data@12345%6790])> +server.secure.data.key=<([1234567890SecretKEY!!TO??Encrypt##DATA@12345%6790])> +# ------------------------------------------------------------------------ +# Keycloak Details for OAuth 2 Authentication +# ------------------------------------------------------------------------ +server.keycloak.url=http://localhost:8080/realms/Fusion-Air/protocol/openid-connect/token +server.keycloak.certs=http://localhost:8080/realms/Fusion-Air/protocol/openid-connect/certs +server.keycloak.clientId=fusion-air-user-service +server.keycloak.secret=2AGe7XxP8evCmhdjD3cmgpE23y0g6PGU +server.keycloak.grantType=password +server.keycloak.publicKey=publicKey.KeyCloak.pem +server.keycloak.issuer=http://localhost:8080/realms/Fusion-Air +server.keycloak.enabled=false +# ------------------------------------------------------------------------ +# Host Details +# ------------------------------------------------------------------------ +server.host=localhost +server.host.dev=http://localhost:${server.port} +server.host.dev.desc=Development Server +server.host.uat=https://uat.${service.org}.com +server.host.uat.desc=UAT Server +server.host.prod=https://prod.${service.org}.com +server.host.prod.desc=Production Server +server.error.whitelabel.enabled=true +server.vulnerability.demos.allowed=false +# Service Properties Details +# ------------------------------------------------------------------------ +spring.codec.max-in-memory-size=3MB +app.property.product=fusion.air.product +app.property.product.list=/create, /status, /all/secured, /search/product, /search/price, /search/active, /deactivate, /activate, /update, /update/price, /update/details, /delete +app.property.list=element1, element2, element3 +app.property.map={key1:'val1', key2 : 'val2', key3 : 'val3'} +# ------------------------------------------------------------------------ +# Logging / Events: LogBack Setup / File Roll Over, +# ------------------------------------------------------------------------ +# Log Groups +logging.group.tomcat=org.apache.catalina, org.apache.coyote, org.apache.tomcat +# Logging Levels for various components +logging.level.org.springframework.boot.web.servlet=INFO +logging.level.org.springframework.web.servlet.DispatcherServlet=INFO +logging.level.org.springframework.security.web.FilterChainProxy=INFO +# Spring Default Groups +logging.level.web=INFO +logging.level.sql=INFO +logging.level.tomcat=INFO +# Root level logging +logging.level.root=INFO +# Specify the logback configuration file +logging.config=classpath:logback-spring.xml +# Supported Log Format plain / json +logging.format=plain +# Log file paths and rolling policy +logging.path=/tmp/logs/${service.api.name} +# Log File Name. File Extension .log or .json is added dynamically based on logging format. +logging.file.name=${service.api.name}.v${server.version} +# Log File Pattern for Size and Time based File Roll Over Name +logging.pattern.rolling-file-name=${logging.path}/${logging.file.name}-%d{yyyy-MM-dd}-%i +# Max Single File Size = 30 MB +logging.file.max-size=10MB +# Retention and total size cap for logs +# Keep Log Files for 100 Days with Max Cap at 3 GB +logging.file.max-history=100 +logging.file.total-size-cap=3GB +# ------------------------------------------------------------------------ +# Metrics: Micrometer / Prometheus / Actuator / +# ------------------------------------------------------------------------ +# Enable exposure of specific actuator endpoints (health, metrics, prometheus) +springdoc.show-actuator=true +management.endpoints.web.exposure.include=health,metrics,prometheus,info +# Enable Spring Boot Actuator Endpoints +management.endpoint.health.enabled=true +management.endpoint.metrics.enabled=true +management.endpoint.prometheus.enabled=true +# Enable Metrics +management.metrics.export.prometheus.enabled=true +management.metrics.enable.jvm=false +management.metrics.enable.jvm.gc=false +management.metrics.enable.datasource=false +# ------------------------------------------------------------------------ +# Tracing: Open Telemetry / Micrometer +# Micrometer only supports HTTP/Protobuf (http) for OTLP. grpc is not supported. +# ------------------------------------------------------------------------ +# OpenTelemetry Setup +# W3C Standard, B3 Zipkin Standard +# ------------------------------------------------------------------------ +otel.propagators=tracecontext +otel.resource.attributes.deployment.environment=dev +otel.resource.attributes.service.name=ms-vanilla +otel.resource.attributes.service.namespace=shopping +# ------------------------------------------------------------------------ +# Export to Collector +# ------------------------------------------------------------------------ +# Enable OpenTelemetry +otel.javaagent.debug=true +otel.service.name=${service.container} +otel.exporter.otlp.endpoint=http://localhost:4318 +# to load the Custom OpenTelemetric Config +otel.traces.exporter=none +otel.metrics.exporter=none +otel.logs.exporter=none +# ------------------------------------------------------------------------ +# Disable global auto-instrumentation and explicitly enable for jdbc, logback, web, kafka, etc +# ------------------------------------------------------------------------ +otel.instrumentation.common.default-enabled=false +# Enable specific instrumentation (JDBC is not supported in this version of Open Telemetry) +otel.instrumentation.jdbc.enabled=false +otel.instrumentation.logback-mdc.enabled=true +otel.instrumentation.spring-web.enabled=true +otel.instrumentation.spring-webmvc.enabled=true +otel.instrumentation.micrometer.enabled=true +# External Systems Kafka / MongoDB +otel.instrumentation.kafka.enabled=false +otel.instrumentation.mongo.enabled=false +# ------------------------------------------------------------------------ +# Async - Reactive Framework +# ------------------------------------------------------------------------ +#otel.instrumentation.spring-webflux.enabled=false +#otel.instrumentation.r2dbc.enabled=false +# ------------------------------------------------------------------------ +#management.tracing.enabled=false +# OpenTelemetry Tracing Configuration +#management.otlp.metrics.export.enabled=false +#management.otlp.metrics.export.url=http://localhost:4358/v1/metrics +# number of Meter to include in a single payload sent to the backend. The default is 10,000. +#management.otlp.metrics.export.batchSize=15000 +#management.otlp.metrics.export.timeout=5s +# Determines how the additive quantities are expressed, in relation to time. Values are cumulative or delta +#management.otlp.metrics.export.aggregationTemporality=cumulative +# Additional headers to send with exported metrics +#management.otlp.metrics.export.headers.Authorization=Bearer abc123 +# the interval at which metrics will be published. +#management.otlp.metrics.export.step=10s +# Resource Attributes are used for all metrics published. +#management.otlp.metrics.export.resourceAttributes.service.name=ms-vanilla-service +# ======================================================================= +# Text Encryption +# ======================================================================= +# Ensure this matches your environment variable +jasypt.encryptor.password=${JASYPT_ENCRYPTOR_PASSWORD} +#jasypt.encryptor.password=${BASE64:JASYPT_ENCRYPTOR_PASSWORD} +# Match the algorithm +jasypt.encryptor.algorithm=PBEWithHmacSHA512AndAES_256 +jasypt.encryptor.iv-generator-classname=org.jasypt.iv.RandomIvGenerator +jasypt.encryptor.salt-generator-classname=org.jasypt.salt.RandomSaltGenerator +# ======================================================================= +# Database Properties +# ======================================================================= +db.server=mem +db.port=5432 +db.name=ms_cache +db.schema=ms_schema +db.vendor=H2 +# To Store the Data in File +#spring.datasource.url=jdbc:h2:file:/data/demo +spring.datasource.url=jdbc:h2:${db.server}:${db.name};DB_CLOSE_ON_EXIT=FALSE +spring.datasource.driverClassName=org.h2.Driver +spring.datasource.username=sa +spring.datasource.password=ENC(lA6JCEpK7+wuHDpB1A41DOUfn6L74DQxaazXLTjyQHY5/X6CONfUEyDt6erWifrN) +spring.jpa.database-platform=org.hibernate.dialect.H2Dialect +spring.datasource.hikari.connection-test-query=SELECT 1 +# ======================================================================= +# JPA / Hibernate Properties +# ------------------------------------------------------------------------ +spring.jpa.show-sql=true +spring.jpa.defer-datasource-initialization=true +#spring.sql.init.data-locations=data-trans.sql +# Hibernate ddl auto (create, create-drop, validate, update) +spring.jpa.hibernate.ddl-auto=create-drop +spring.jpa.properties.hibernate.format_sql=true +spring.jpa.properties.hibernate.validator.apply_to_ddl=false +#spring.jpa.properties.hibernate.check_nullability=true +# ======================================================================= +# External Remote Server Properties +# ======================================================================= +remote.host=127.0.0.1 +remote.port=8080 +remote.protocol=http +# ======================================================================= +# Open API Properties +# For More Info: https://springdoc.org/#Introduction +# springdoc.api-docs.path=/api-docs +# ======================================================================= +springdoc.api-docs.path=${service.api.path} +springdoc.swagger-ui.path=${service.api.path}/swagger-ui.html +springdoc.swagger-ui.tryItOutEnabled=true +springdoc.swagger-ui.filter=true +springdoc.swagger-ui.use-root-path=true +springdoc.swagger-ui.disable-swagger-default-url=true +server.forward-headers-strategy=framework +springdoc.cache.disabled=true +springdoc.writer-with-default-pretty-printer=true +#springdoc.swagger-ui.configUrl=${service.api.path}/swagger-config/swagger-config.json +# Disabling the api-docs endpoint +springdoc.api-docs.enabled=true +# Disabling the swagger-ui +#springdoc.swagger-ui.enabled=true +springdoc.swagger-ui.operationsSorter=method +# For sorting tags alphabetically +springdoc.swagger-ui.tagsSorter=alpha +#springdoc.show-actuator=true +# Packages to include +# springdoc.packagesToScan=io.fusion.water, io.fusion.fire +# Paths to include +# springdoc.pathsToMatch=/v1, /api/health/** +# To expose the swagger-ui, on the management port +#springdoc.use-management-port=true +# This property enables the openapi and swaggerui endpoints to be exposed +# beneath the actuator base path. +# management.endpoints.web.exposure.include=openapi, swaggerui +# ======================================================================= \ No newline at end of file