updated helm chart to use latest v6.0.1 version of the image (#382)
* updated helm chart to use latest v6.0.1 version of the image * updated workflow to run against multiple k8s versions
This commit is contained in:
13
.github/workflows/chart-test.yaml
vendored
13
.github/workflows/chart-test.yaml
vendored
@@ -15,7 +15,7 @@ jobs:
|
|||||||
- name: Install helm-docs
|
- name: Install helm-docs
|
||||||
working-directory: /tmp
|
working-directory: /tmp
|
||||||
env:
|
env:
|
||||||
HELM_DOCS_URL: https://github.com/norwoodj/helm-docs/releases/download/v1.5.0/helm-docs_1.5.0_Linux_x86_64.tar.gz
|
HELM_DOCS_URL: https://github.com/norwoodj/helm-docs/releases/download/v1.9.1/helm-docs_1.9.1_Linux_x86_64.tar.gz
|
||||||
run: |
|
run: |
|
||||||
curl -LSs $HELM_DOCS_URL | tar xz && \
|
curl -LSs $HELM_DOCS_URL | tar xz && \
|
||||||
mv ./helm-docs /usr/local/bin/helm-docs && \
|
mv ./helm-docs /usr/local/bin/helm-docs && \
|
||||||
@@ -35,16 +35,19 @@ jobs:
|
|||||||
|
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-20.04
|
runs-on: ubuntu-20.04
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
k8s-version: [1.22.9, 1.23.6, 1.24.1]
|
||||||
needs:
|
needs:
|
||||||
- lint
|
- lint
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v3
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
|
|
||||||
- name: Set up chart-testing
|
- name: Set up chart-testing
|
||||||
uses: helm/chart-testing-action@v2.1.0
|
uses: helm/chart-testing-action@v2.2.1
|
||||||
|
|
||||||
- name: Run chart-testing (list-changed)
|
- name: Run chart-testing (list-changed)
|
||||||
id: list-changed
|
id: list-changed
|
||||||
@@ -57,6 +60,10 @@ jobs:
|
|||||||
- name: Create k8s Kind Cluster
|
- name: Create k8s Kind Cluster
|
||||||
uses: helm/kind-action@v1.2.0
|
uses: helm/kind-action@v1.2.0
|
||||||
if: steps.list-changed.outputs.changed == 'true'
|
if: steps.list-changed.outputs.changed == 'true'
|
||||||
|
with:
|
||||||
|
version: v0.14.0
|
||||||
|
cluster_name: kind-cluster-k8s-${{ matrix.k8s-version }}
|
||||||
|
node_image: kindest/node:v${{ matrix.k8s-version }}
|
||||||
|
|
||||||
- name: Run chart-testing (install)
|
- name: Run chart-testing (install)
|
||||||
run: ct install --config .github/ct/config.yaml
|
run: ct install --config .github/ct/config.yaml
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
dependencies:
|
dependencies:
|
||||||
- name: postgresql
|
- name: postgresql
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
version: 11.1.19
|
version: 11.6.2
|
||||||
digest: sha256:5bb38230bfa62c63547851e6f46f66a61441a4a4f18e3689827546277e34d192
|
digest: sha256:1b96efc47b5dbe28bf34bcb694697325f3d2755a39ce2f1c371b2c9de9fac9d3
|
||||||
generated: "2022-04-08T21:55:34.6868891+02:00"
|
generated: "2022-06-03T11:48:19.1684784+02:00"
|
||||||
|
|||||||
@@ -7,9 +7,11 @@ sources:
|
|||||||
- https://github.com/hapifhir/hapi-fhir-jpaserver-starter
|
- https://github.com/hapifhir/hapi-fhir-jpaserver-starter
|
||||||
dependencies:
|
dependencies:
|
||||||
- name: postgresql
|
- name: postgresql
|
||||||
version: 11.1.19
|
version: 11.6.2
|
||||||
repository: https://charts.bitnami.com/bitnami
|
repository: https://charts.bitnami.com/bitnami
|
||||||
condition: postgresql.enabled
|
condition: postgresql.enabled
|
||||||
|
appVersion: v6.0.1
|
||||||
|
version: 0.9.0
|
||||||
annotations:
|
annotations:
|
||||||
artifacthub.io/license: Apache-2.0
|
artifacthub.io/license: Apache-2.0
|
||||||
artifacthub.io/changes: |
|
artifacthub.io/changes: |
|
||||||
@@ -17,13 +19,27 @@ annotations:
|
|||||||
# added, changed, deprecated, removed, fixed, and security.
|
# added, changed, deprecated, removed, fixed, and security.
|
||||||
- kind: changed
|
- kind: changed
|
||||||
description: |
|
description: |
|
||||||
updated HAPI FHIR starter image to 5.7.0
|
BREAKING CHANGE: updated HAPI FHIR starter image to v6.0.1.
|
||||||
|
See <https://github.com/hapifhir/hapi-fhir/releases/tag/v6.0.0> for all application changes.
|
||||||
- kind: changed
|
- kind: changed
|
||||||
description: |
|
description: |
|
||||||
BREAKING CHANGE: updated included PostgreSQL-subchart to v11
|
updated included PostgreSQL-subchart to v11.6.2
|
||||||
|
- kind: fixed
|
||||||
|
description: |
|
||||||
|
use a fixed image for the wait-for-database container (docker.io/bitnami/postgresql:14.3.0-debian-10-r20)
|
||||||
|
instead of relying on the PostgreSQL sub-chart values
|
||||||
- kind: changed
|
- kind: changed
|
||||||
description: |
|
description: |
|
||||||
BREAKING CHANGE: removed ability to override the image flavor.
|
expose actuator/metrics endpoint on a separate port (8081)
|
||||||
The one based on distroless is now the new default.
|
- kind: added
|
||||||
appVersion: v5.7.0
|
description: |
|
||||||
version: 0.8.0
|
support for monitoring metrics using ServiceMonitor CRDs
|
||||||
|
- kind: changed
|
||||||
|
description: |
|
||||||
|
switched liveness and readiness probes to Spring Boot actuator endpoints
|
||||||
|
- kind: changed
|
||||||
|
description: |
|
||||||
|
BREAKING CHANGE: removed included `NetworkPolicy`, which is subject to more thorough rework
|
||||||
|
- kind: added
|
||||||
|
description: |
|
||||||
|
allow configuring `topologySpreadConstraints` for the deployment
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# HAPI FHIR JPA Server Starter Helm Chart
|
# HAPI FHIR JPA Server Starter Helm Chart
|
||||||
|
|
||||||
  
|
  
|
||||||
|
|
||||||
This helm chart will help you install the HAPI FHIR JPA Server in a Kubernetes environment.
|
This helm chart will help you install the HAPI FHIR JPA Server in a Kubernetes environment.
|
||||||
|
|
||||||
@@ -40,10 +40,15 @@ helm install --render-subchart-notes hapi-fhir-jpaserver hapifhir/hapi-fhir-jpas
|
|||||||
| ingress.hosts[0].pathType | string | `"ImplementationSpecific"` | |
|
| ingress.hosts[0].pathType | string | `"ImplementationSpecific"` | |
|
||||||
| ingress.hosts[0].paths[0] | string | `"/"` | |
|
| ingress.hosts[0].paths[0] | string | `"/"` | |
|
||||||
| ingress.tls | list | `[]` | ingress TLS config |
|
| ingress.tls | list | `[]` | ingress TLS config |
|
||||||
|
| livenessProbe.failureThreshold | int | `5` | |
|
||||||
|
| livenessProbe.initialDelaySeconds | int | `30` | |
|
||||||
|
| livenessProbe.periodSeconds | int | `20` | |
|
||||||
|
| livenessProbe.successThreshold | int | `1` | |
|
||||||
|
| livenessProbe.timeoutSeconds | int | `30` | |
|
||||||
|
| metrics.service.port | int | `8081` | |
|
||||||
|
| metrics.serviceMonitor.additionalLabels | object | `{}` | additional labels to apply to the ServiceMonitor object, e.g. `release: prometheus` |
|
||||||
|
| metrics.serviceMonitor.enabled | bool | `false` | if enabled, creates a ServiceMonitor instance for Prometheus Operator-based monitoring |
|
||||||
| nameOverride | string | `""` | override the chart name |
|
| nameOverride | string | `""` | override the chart name |
|
||||||
| networkPolicy.allowedFrom | list | `[]` | Additional allowed NetworkPolicyPeer specs Evaluated as a template so you could do: Example: allowedFrom: - podSelector: matchLabels: app.kubernetes.io/name: {{ $.Release.Name }} |
|
|
||||||
| networkPolicy.enabled | bool | `false` | enable NetworkPolicy |
|
|
||||||
| networkPolicy.explicitNamespacesSelector | object | `{}` | a Kubernetes LabelSelector to explicitly select namespaces from which ingress traffic could be allowed |
|
|
||||||
| nodeSelector | object | `{}` | node selector for the pod |
|
| nodeSelector | object | `{}` | node selector for the pod |
|
||||||
| podAnnotations | object | `{}` | annotations applied to the server pod |
|
| podAnnotations | object | `{}` | annotations applied to the server pod |
|
||||||
| podDisruptionBudget.enabled | bool | `false` | Enable PodDisruptionBudget for the server pods. uses policy/v1/PodDisruptionBudget thus requiring k8s 1.21+ |
|
| podDisruptionBudget.enabled | bool | `false` | Enable PodDisruptionBudget for the server pods. uses policy/v1/PodDisruptionBudget thus requiring k8s 1.21+ |
|
||||||
@@ -75,6 +80,7 @@ helm install --render-subchart-notes hapi-fhir-jpaserver hapifhir/hapi-fhir-jpas
|
|||||||
| startupProbe.successThreshold | int | `1` | |
|
| startupProbe.successThreshold | int | `1` | |
|
||||||
| startupProbe.timeoutSeconds | int | `30` | |
|
| startupProbe.timeoutSeconds | int | `30` | |
|
||||||
| tolerations | list | `[]` | pod tolerations |
|
| tolerations | list | `[]` | pod tolerations |
|
||||||
|
| topologySpreadConstraints | list | `[]` | pod topology spread configuration see: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#api |
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
@@ -89,4 +95,4 @@ INFO[2021-11-20T12:38:04Z] Generating README Documentation for chart /usr/src/ap
|
|||||||
```
|
```
|
||||||
|
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
Autogenerated from chart metadata using [helm-docs v1.5.0](https://github.com/norwoodj/helm-docs/releases/v1.5.0)
|
Autogenerated from chart metadata using [helm-docs v1.9.1](https://github.com/norwoodj/helm-docs/releases/v1.9.1)
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ spec:
|
|||||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||||
initContainers:
|
initContainers:
|
||||||
- name: wait-for-db-to-be-ready
|
- name: wait-for-db-to-be-ready
|
||||||
image: "{{ .Values.postgresql.image.registry }}/{{ .Values.postgresql.image.repository }}:{{ .Values.postgresql.image.tag }}"
|
image: docker.io/bitnami/postgresql:14.3.0-debian-10-r20
|
||||||
imagePullPolicy: IfNotPresent
|
imagePullPolicy: IfNotPresent
|
||||||
securityContext:
|
securityContext:
|
||||||
allowPrivilegeEscalation: false
|
allowPrivilegeEscalation: false
|
||||||
@@ -66,9 +66,23 @@ spec:
|
|||||||
- name: http
|
- name: http
|
||||||
containerPort: 8080
|
containerPort: 8080
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
|
- name: metrics
|
||||||
|
containerPort: 8081
|
||||||
|
protocol: TCP
|
||||||
|
startupProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /readyz
|
||||||
|
port: http
|
||||||
|
{{- with .Values.startupProbe }}
|
||||||
|
initialDelaySeconds: {{ .initialDelaySeconds }}
|
||||||
|
periodSeconds: {{ .periodSeconds }}
|
||||||
|
timeoutSeconds: {{ .timeoutSeconds }}
|
||||||
|
successThreshold: {{ .successThreshold }}
|
||||||
|
failureThreshold: {{ .failureThreshold }}
|
||||||
|
{{- end }}
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /
|
path: /readyz
|
||||||
port: http
|
port: http
|
||||||
{{- with .Values.readinessProbe }}
|
{{- with .Values.readinessProbe }}
|
||||||
initialDelaySeconds: {{ .initialDelaySeconds }}
|
initialDelaySeconds: {{ .initialDelaySeconds }}
|
||||||
@@ -77,11 +91,11 @@ spec:
|
|||||||
successThreshold: {{ .successThreshold }}
|
successThreshold: {{ .successThreshold }}
|
||||||
failureThreshold: {{ .failureThreshold }}
|
failureThreshold: {{ .failureThreshold }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
startupProbe:
|
livenessProbe:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: /fhir/metadata
|
path: /livez
|
||||||
port: http
|
port: http
|
||||||
{{- with .Values.startupProbe }}
|
{{- with .Values.livenessProbe }}
|
||||||
initialDelaySeconds: {{ .initialDelaySeconds }}
|
initialDelaySeconds: {{ .initialDelaySeconds }}
|
||||||
periodSeconds: {{ .periodSeconds }}
|
periodSeconds: {{ .periodSeconds }}
|
||||||
timeoutSeconds: {{ .timeoutSeconds }}
|
timeoutSeconds: {{ .timeoutSeconds }}
|
||||||
@@ -106,6 +120,10 @@ spec:
|
|||||||
value: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect
|
value: ca.uhn.fhir.jpa.model.dialect.HapiFhirPostgres94Dialect
|
||||||
- name: HAPI_FHIR_USE_APACHE_ADDRESS_STRATEGY
|
- name: HAPI_FHIR_USE_APACHE_ADDRESS_STRATEGY
|
||||||
value: "true"
|
value: "true"
|
||||||
|
- name: MANAGEMENT_ENDPOINT_HEALTH_PROBES_ADD_ADDITIONAL_PATHS
|
||||||
|
value: "true"
|
||||||
|
- name: MANAGEMENT_SERVER_PORT
|
||||||
|
value: "8081"
|
||||||
{{- if .Values.extraEnv }}
|
{{- if .Values.extraEnv }}
|
||||||
{{ toYaml .Values.extraEnv | nindent 12 }}
|
{{ toYaml .Values.extraEnv | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -126,6 +144,10 @@ spec:
|
|||||||
tolerations:
|
tolerations:
|
||||||
{{- toYaml . | nindent 8 }}
|
{{- toYaml . | nindent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- with .Values.topologySpreadConstraints }}
|
||||||
|
topologySpreadConstraints:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: tmp-volume
|
- name: tmp-volume
|
||||||
emptyDir: {}
|
emptyDir: {}
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
{{- if .Values.networkPolicy.enabled }}
|
|
||||||
kind: NetworkPolicy
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
metadata:
|
|
||||||
name: {{ include "hapi-fhir-jpaserver.fullname" . }}
|
|
||||||
labels:
|
|
||||||
{{- include "hapi-fhir-jpaserver.labels" . | nindent 4 }}
|
|
||||||
spec:
|
|
||||||
podSelector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "hapi-fhir-jpaserver.selectorLabels" . | nindent 6 }}
|
|
||||||
ingress:
|
|
||||||
# Allow inbound connections from pods with the "hapi-fhir-jpaserver-client: true" label
|
|
||||||
- ports:
|
|
||||||
- port: http
|
|
||||||
from:
|
|
||||||
- podSelector:
|
|
||||||
matchLabels:
|
|
||||||
{{ include "hapi-fhir-jpaserver.fullname" . }}-client: "true"
|
|
||||||
{{- with .Values.networkPolicy.explicitNamespacesSelector }}
|
|
||||||
namespaceSelector:
|
|
||||||
{{ toYaml . | nindent 12 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.networkPolicy.allowedFrom }}
|
|
||||||
{{ tpl (toYaml .) $ | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -11,5 +11,9 @@ spec:
|
|||||||
targetPort: http
|
targetPort: http
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
name: http
|
name: http
|
||||||
|
- port: {{ .Values.metrics.service.port }}
|
||||||
|
targetPort: metrics
|
||||||
|
protocol: TCP
|
||||||
|
name: metrics
|
||||||
selector:
|
selector:
|
||||||
{{- include "hapi-fhir-jpaserver.selectorLabels" . | nindent 4 }}
|
{{- include "hapi-fhir-jpaserver.selectorLabels" . | nindent 4 }}
|
||||||
|
|||||||
30
charts/hapi-fhir-jpaserver/templates/servicemonitor.yaml
Normal file
30
charts/hapi-fhir-jpaserver/templates/servicemonitor.yaml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
{{- if .Values.metrics.serviceMonitor.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: ServiceMonitor
|
||||||
|
metadata:
|
||||||
|
name: {{ include "hapi-fhir-jpaserver.fullname" . }}
|
||||||
|
{{- if .Values.metrics.serviceMonitor.namespace }}
|
||||||
|
namespace: {{ .Values.metrics.serviceMonitor.namespace }}
|
||||||
|
{{- end }}
|
||||||
|
labels:
|
||||||
|
{{- include "hapi-fhir-jpaserver.labels" . | nindent 4 }}
|
||||||
|
{{- if .Values.metrics.serviceMonitor.additionalLabels }}
|
||||||
|
{{- toYaml .Values.metrics.serviceMonitor.additionalLabels | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
endpoints:
|
||||||
|
- port: metrics
|
||||||
|
path: /actuator/prometheus
|
||||||
|
{{- if .Values.metrics.serviceMonitor.interval }}
|
||||||
|
interval: {{ .Values.metrics.serviceMonitor.interval }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.metrics.serviceMonitor.scrapeTimeout }}
|
||||||
|
scrapeTimeout: {{ .Values.metrics.serviceMonitor.scrapeTimeout }}
|
||||||
|
{{- end }}
|
||||||
|
namespaceSelector:
|
||||||
|
matchNames:
|
||||||
|
- {{ .Release.Namespace }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "hapi-fhir-jpaserver.selectorLabels" . | nindent 6 }}
|
||||||
|
{{- end }}
|
||||||
@@ -88,6 +88,18 @@ tolerations: []
|
|||||||
# -- pod affinity
|
# -- pod affinity
|
||||||
affinity: {}
|
affinity: {}
|
||||||
|
|
||||||
|
# -- pod topology spread configuration
|
||||||
|
# see: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/#api
|
||||||
|
topologySpreadConstraints:
|
||||||
|
[]
|
||||||
|
# - maxSkew: 1
|
||||||
|
# topologyKey: topology.kubernetes.io/zone
|
||||||
|
# whenUnsatisfiable: ScheduleAnyway
|
||||||
|
# labelSelector:
|
||||||
|
# matchLabels:
|
||||||
|
# app.kubernetes.io/instance: hapi-fhir-jpaserver
|
||||||
|
# app.kubernetes.io/name: hapi-fhir-jpaserver
|
||||||
|
|
||||||
postgresql:
|
postgresql:
|
||||||
# -- enable an included PostgreSQL DB.
|
# -- enable an included PostgreSQL DB.
|
||||||
# see <https://github.com/bitnami/charts/tree/master/bitnami/postgresql> for details
|
# see <https://github.com/bitnami/charts/tree/master/bitnami/postgresql> for details
|
||||||
@@ -126,6 +138,13 @@ startupProbe:
|
|||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
timeoutSeconds: 30
|
timeoutSeconds: 30
|
||||||
|
|
||||||
|
livenessProbe:
|
||||||
|
failureThreshold: 5
|
||||||
|
initialDelaySeconds: 30
|
||||||
|
periodSeconds: 20
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 30
|
||||||
|
|
||||||
externalDatabase:
|
externalDatabase:
|
||||||
# -- external database host used with `postgresql.enabled=false`
|
# -- external database host used with `postgresql.enabled=false`
|
||||||
host: localhost
|
host: localhost
|
||||||
@@ -142,26 +161,6 @@ externalDatabase:
|
|||||||
# -- database name
|
# -- database name
|
||||||
database: fhir
|
database: fhir
|
||||||
|
|
||||||
networkPolicy:
|
|
||||||
# -- enable NetworkPolicy
|
|
||||||
enabled: false
|
|
||||||
# -- a Kubernetes LabelSelector to explicitly select namespaces from which ingress traffic could be allowed
|
|
||||||
explicitNamespacesSelector:
|
|
||||||
{}
|
|
||||||
# matchLabels:
|
|
||||||
# team: one
|
|
||||||
# test: foo
|
|
||||||
|
|
||||||
# -- Additional allowed NetworkPolicyPeer specs
|
|
||||||
# Evaluated as a template so you could do:
|
|
||||||
#
|
|
||||||
# Example:
|
|
||||||
# allowedFrom:
|
|
||||||
# - podSelector:
|
|
||||||
# matchLabels:
|
|
||||||
# app.kubernetes.io/name: {{ $.Release.Name }}
|
|
||||||
allowedFrom: []
|
|
||||||
|
|
||||||
# -- extra environment variables to set on the server container
|
# -- extra environment variables to set on the server container
|
||||||
extraEnv:
|
extraEnv:
|
||||||
[]
|
[]
|
||||||
@@ -176,3 +175,15 @@ podDisruptionBudget:
|
|||||||
minAvailable: 1
|
minAvailable: 1
|
||||||
# -- maximum unavailable instances
|
# -- maximum unavailable instances
|
||||||
maxUnavailable: ""
|
maxUnavailable: ""
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
serviceMonitor:
|
||||||
|
# -- if enabled, creates a ServiceMonitor instance for Prometheus Operator-based monitoring
|
||||||
|
enabled: false
|
||||||
|
# -- additional labels to apply to the ServiceMonitor object, e.g. `release: prometheus`
|
||||||
|
additionalLabels: {}
|
||||||
|
# namespace: monitoring
|
||||||
|
# interval: 30s
|
||||||
|
# scrapeTimeout: 10s
|
||||||
|
service:
|
||||||
|
port: 8081
|
||||||
|
|||||||
Reference in New Issue
Block a user