mirror of
https://github.com/helm/charts.git
synced 2026-08-23 22:37:45 +00:00
Artifactory ha nginx bugfix (#5233)
* Fixed issue of pod crashing after modifying nginx.conf from artifactory. * Bumped version * adding health check for nginx * probs configuration * setting default value of success threshold to 1 * changing defaults * added init container * minor fix in readme * bumped chart version
This commit is contained in:
committed by
k8s-ci-robot
parent
38775a7f2d
commit
d84ddb774c
@@ -1,7 +1,7 @@
|
||||
apiVersion: v1
|
||||
name: artifactory-ha
|
||||
home: https://www.jfrog.com/artifactory/
|
||||
version: 0.1.9
|
||||
version: 0.1.10
|
||||
appVersion: 5.10.1
|
||||
description: Universal Repository Manager supporting all major packaging formats,
|
||||
build tools and CI servers.
|
||||
|
||||
@@ -255,6 +255,18 @@ The following table lists the configurable parameters of the artifactory chart a
|
||||
| `artifactory.service.pool` | Artifactory instances to be in the load balancing pool. `members` or `all` | `members` |
|
||||
| `artifactory.externalPort` | Artifactory service external port | `8081` |
|
||||
| `artifactory.internalPort` | Artifactory service internal port | `8081` |
|
||||
| `artifactory.livenessProbe.enabled` | would you like a livessProbed to be enabled | `true` |
|
||||
| `artifactory.livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | 180 |
|
||||
| `artifactory.livenessProbe.periodSeconds` | How often to perform the probe | 10 |
|
||||
| `artifactory.livenessProbe.timeoutSeconds` | When the probe times out | 10 |
|
||||
| `artifactory.livenessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | 1 |
|
||||
| `artifactory.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | 10 |
|
||||
| `artifactory.readinessProbe.enabled` | would you like a readinessProbe to be enabled | `true` |
|
||||
| `artifactory.readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | 60 |
|
||||
| `artifactory.readinessProbe.periodSeconds` | How often to perform the probe | 10 |
|
||||
| `artifactory.readinessProbe.timeoutSeconds` | When the probe times out | 10 |
|
||||
| `artifactory.readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | 1 |
|
||||
| `artifactory.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | 10 |
|
||||
| `artifactory.persistence.mountPath` | Artifactory persistence volume mount path | `"/var/opt/jfrog/artifactory"` |
|
||||
| `artifactory.persistence.enabled` | Artifactory persistence volume enabled | `true` |
|
||||
| `artifactory.persistence.accessMode` | Artifactory persistence volume access mode | `ReadWriteOnce` |
|
||||
@@ -309,6 +321,18 @@ The following table lists the configurable parameters of the artifactory chart a
|
||||
| `nginx.internalPortHttp` | Nginx service internal port | `80` |
|
||||
| `nginx.externalPortHttps` | Nginx service external port | `443` |
|
||||
| `nginx.internalPortHttps` | Nginx service internal port | `443` |
|
||||
| `nginx.livenessProbe.enabled` | would you like a livessProbed to be enabled | `true` |
|
||||
| `nginx.livenessProbe.initialDelaySeconds` | Delay before liveness probe is initiated | 100 |
|
||||
| `nginx.livenessProbe.periodSeconds` | How often to perform the probe | 10 |
|
||||
| `nginx.livenessProbe.timeoutSeconds` | When the probe times out | 10 |
|
||||
| `nginx.livenessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | 1 |
|
||||
| `nginx.livenessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | 10 |
|
||||
| `nginx.readinessProbe.enabled` | would you like a readinessProbe to be enabled | `true` |
|
||||
| `nginx.readinessProbe.initialDelaySeconds` | Delay before readiness probe is initiated | 60 |
|
||||
| `nginx.readinessProbe.periodSeconds` | How often to perform the probe | 10 |
|
||||
| `nginx.readinessProbe.timeoutSeconds` | When the probe times out | 10 |
|
||||
| `nginx.readinessProbe.successThreshold` | Minimum consecutive successes for the probe to be considered successful after having failed. | 1 |
|
||||
| `nginx.readinessProbe.failureThreshold` | Minimum consecutive failures for the probe to be considered failed after having succeeded. | 10 |
|
||||
| `nginx.tlsSecretName` | SSL secret that will be used by the Nginx pod | |
|
||||
| `nginx.env.ssl` | Nginx Environment enable ssl | `true` |
|
||||
| `nginx.resources.requests.memory` | Nginx initial memory request | `250Mi` |
|
||||
|
||||
@@ -143,19 +143,28 @@ spec:
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.artifactory.node.resources | indent 10 }}
|
||||
{{- if .Values.artifactory.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: '/artifactory/webapp/#/login'
|
||||
port: 8081
|
||||
initialDelaySeconds: 90
|
||||
periodSeconds: 10
|
||||
failureThreshold: 10
|
||||
initialDelaySeconds: {{ .Values.artifactory.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.artifactory.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.artifactory.readinessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.artifactory.readinessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.artifactory.readinessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- if .Values.artifactory.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: '/artifactory/webapp/#/login'
|
||||
port: 8081
|
||||
initialDelaySeconds: 240
|
||||
periodSeconds: 10
|
||||
initialDelaySeconds: {{ .Values.artifactory.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.artifactory.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.artifactory.livenessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.artifactory.livenessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.artifactory.livenessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: binarystore-xml
|
||||
configMap:
|
||||
|
||||
@@ -149,19 +149,28 @@ spec:
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.artifactory.primary.resources | indent 10 }}
|
||||
{{- if .Values.artifactory.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: '/artifactory/webapp/#/login'
|
||||
port: 8081
|
||||
initialDelaySeconds: 60
|
||||
periodSeconds: 10
|
||||
failureThreshold: 10
|
||||
initialDelaySeconds: {{ .Values.artifactory.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.artifactory.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.artifactory.readinessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.artifactory.readinessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.artifactory.readinessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- if .Values.artifactory.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: '/artifactory/webapp/#/login'
|
||||
port: 8081
|
||||
initialDelaySeconds: 180
|
||||
periodSeconds: 10
|
||||
initialDelaySeconds: {{ .Values.artifactory.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.artifactory.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.artifactory.livenessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.artifactory.livenessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.artifactory.livenessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: binarystore-xml
|
||||
configMap:
|
||||
|
||||
@@ -29,8 +29,8 @@ spec:
|
||||
imagePullSecrets:
|
||||
- name: {{ .Values.imagePullSecrets }}
|
||||
{{- end }}
|
||||
{{- if .Values.nginx.persistence.enabled }}
|
||||
initContainers:
|
||||
{{- if .Values.nginx.persistence.enabled }}
|
||||
- name: "remove-lost-found"
|
||||
image: "{{ .Values.initContainerImage }}"
|
||||
imagePullPolicy: {{ .Values.nginx.image.pullPolicy }}
|
||||
@@ -42,6 +42,15 @@ spec:
|
||||
- mountPath: {{ .Values.nginx.persistence.mountPath | quote }}
|
||||
name: nginx-volume
|
||||
{{- end }}
|
||||
- name: "wait-for-artifactory"
|
||||
image: "{{ .Values.initContainerImage }}"
|
||||
command:
|
||||
- 'sh'
|
||||
- '-c'
|
||||
- >
|
||||
until nc -z -w 2 {{ $serviceName }} {{ $servicePort }} && echo artifactory ok; do
|
||||
sleep 2;
|
||||
done;
|
||||
containers:
|
||||
- name: {{ .Values.nginx.name }}
|
||||
image: '{{ .Values.nginx.image.repository }}:{{ .Values.nginx.image.version }}'
|
||||
@@ -58,9 +67,11 @@ spec:
|
||||
cp -fv /tmp/ssl/* /var/opt/jfrog/nginx/ssl;
|
||||
fi;
|
||||
until [ -f /etc/nginx/conf.d/artifactory.conf ]; do sleep 1; done;
|
||||
if ! grep -q 'upstream' /etc/nginx/conf.d/artifactory.conf; then
|
||||
sed -i -e 's,proxy_pass .*,proxy_pass http://{{ $serviceName }}:{{ $servicePort }}/artifactory/;,g' \
|
||||
-e 's,server_name .*,server_name ~(?<repo>.+)\\.{{ $serviceName }} {{ $serviceName }};,g' \
|
||||
/etc/nginx/conf.d/artifactory.conf;
|
||||
fi;
|
||||
sleep 5; nginx -s reload; touch /var/log/nginx/conf.done
|
||||
env:
|
||||
- name: ART_BASE_URL
|
||||
@@ -83,6 +94,28 @@ spec:
|
||||
{{- end }}
|
||||
resources:
|
||||
{{ toYaml .Values.nginx.resources | indent 10 }}
|
||||
{{- if .Values.nginx.readinessProbe.enabled }}
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: '/artifactory/webapp/#/login'
|
||||
port: 80
|
||||
initialDelaySeconds: {{ .Values.nginx.readinessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.nginx.readinessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.nginx.readinessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.nginx.readinessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.nginx.readinessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
{{- if .Values.nginx.livenessProbe.enabled }}
|
||||
livenessProbe:
|
||||
httpGet:
|
||||
path: '/artifactory/webapp/#/login'
|
||||
port: 80
|
||||
initialDelaySeconds: {{ .Values.nginx.livenessProbe.initialDelaySeconds }}
|
||||
periodSeconds: {{ .Values.nginx.livenessProbe.periodSeconds }}
|
||||
timeoutSeconds: {{ .Values.nginx.livenessProbe.timeoutSeconds }}
|
||||
failureThreshold: {{ .Values.nginx.livenessProbe.failureThreshold }}
|
||||
successThreshold: {{ .Values.nginx.livenessProbe.successThreshold }}
|
||||
{{- end }}
|
||||
volumes:
|
||||
- name: nginx-volume
|
||||
{{- if .Values.nginx.persistence.enabled }}
|
||||
|
||||
@@ -78,7 +78,22 @@ artifactory:
|
||||
membershipPort: 10017
|
||||
externalPort: 8081
|
||||
internalPort: 8081
|
||||
## The following settings are to configure the frequency of the liveness and readiness probes
|
||||
livenessProbe:
|
||||
enabled: true
|
||||
initialDelaySeconds: 180
|
||||
failureThreshold: 10
|
||||
timeoutSeconds: 10
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
|
||||
readinessProbe:
|
||||
enabled: true
|
||||
initialDelaySeconds: 60
|
||||
failureThreshold: 10
|
||||
timeoutSeconds: 10
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
persistence:
|
||||
redundancy: 3
|
||||
mountPath: "/var/opt/jfrog/artifactory"
|
||||
@@ -204,6 +219,22 @@ nginx:
|
||||
internalPortHttp: 80
|
||||
externalPortHttps: 443
|
||||
internalPortHttps: 443
|
||||
## The following settings are to configure the frequency of the liveness and readiness probes
|
||||
livenessProbe:
|
||||
enabled: true
|
||||
initialDelaySeconds: 100
|
||||
failureThreshold: 10
|
||||
timeoutSeconds: 10
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
|
||||
readinessProbe:
|
||||
enabled: true
|
||||
initialDelaySeconds: 60
|
||||
failureThreshold: 10
|
||||
timeoutSeconds: 10
|
||||
periodSeconds: 10
|
||||
successThreshold: 1
|
||||
## The SSL secret that will be used by the Nginx pod
|
||||
# tlsSecretName: chart-example-tls
|
||||
env:
|
||||
|
||||
Reference in New Issue
Block a user