Skip to content

Commit e31b8c2

Browse files
committed
Migrate Nginx to use cos-common library
1 parent 3f780bc commit e31b8c2

13 files changed

Lines changed: 262 additions & 444 deletions

nginx/Chart.yaml

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
1-
apiVersion: v1
2-
appVersion: "1.0"
3-
description: A Helm chart for Kubernetes
1+
apiVersion: v2
42
name: nginx
5-
version: 0.1.3
3+
description: Nginx reverse proxy
4+
type: application
5+
version: 1.0.0
6+
dependencies:
7+
- name: cos-common
8+
version: 1.0.0
9+
repository: https://centerforopenscience.github.io/helm-charts/
10+
# - name: cos-common
11+
# version: 1.0.0
12+
# repository: file://../cos-common

nginx/files/nginx.conf

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
user nginx;
2+
worker_processes 1;
3+
4+
pid /var/run/nginx.pid;
5+
6+
error_log /var/log/nginx/error.log warn;
7+
8+
events {
9+
worker_connections 1024;
10+
}
11+
12+
http {
13+
include /etc/nginx/mime.types;
14+
default_type application/octet-stream;
15+
16+
log_format main '$remote_addr - $upstream_cache_status $remote_user [$time_local] '
17+
'"$request" $status $body_bytes_sent '
18+
'"$http_referer" "$http_user_agent" "$http_x_forwarded_for" '
19+
'rt=$request_time uct="$upstream_connect_time" uht="$upstream_header_time" urt="$upstream_response_time"';
20+
access_log /var/log/nginx/access.log main;
21+
22+
sendfile on;
23+
tcp_nopush on;
24+
tcp_nodelay on;
25+
keepalive_timeout 620s;
26+
keepalive_requests 10000;
27+
types_hash_max_size 2048;
28+
server_tokens off;
29+
30+
include /etc/nginx/conf.d/*.conf;
31+
32+
server {
33+
listen 80;
34+
server_name _;
35+
36+
location = /healthz {
37+
access_log off;
38+
return 200;
39+
}
40+
}
41+
}

nginx/templates/NOTES.txt

Lines changed: 25 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,28 @@
1-
1. Get the application URL by running these commands:
2-
{{- if .Values.ingress.enabled }}
3-
{{- range $host := .Values.ingress.hosts }}
4-
{{- range $.Values.ingress.paths }}
5-
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host }}{{ . }}
1+
Component fullname: {{ include "cos-common.fullname" (dict "root" . "name" "" "values" .Values.main) }}
2+
3+
{{- if and .Values.main.ingress.enabled (.Values.main.ingress.hosts) }}
4+
Ingress hosts:
5+
{{- $hosts := list }}
6+
{{- if and (kindIs "map" .Values.main.ingress.hosts) (or (hasKey .Values.main.ingress.hosts "primary") (hasKey .Values.main.ingress.hosts "secondary")) }}
7+
{{- range $h := (default (list) .Values.main.ingress.hosts.primary) }}
8+
{{- $hosts = append $hosts $h }}
69
{{- end }}
10+
{{- range $h := (default (list) .Values.main.ingress.hosts.secondary) }}
11+
{{- $hosts = append $hosts $h }}
12+
{{- end }}
13+
{{- else }}
14+
{{- range $h := .Values.main.ingress.hosts }}
15+
{{- $hosts = append $hosts $h.host }}
16+
{{- end }}
17+
{{- end }}
18+
{{- range $hosts }}
19+
- {{ . }}
20+
{{- end }}
21+
{{- else }}
22+
Service ports:
23+
{{- range .Values.main.service.ports }}
24+
- {{ .name }}: {{ .port }}
725
{{- end }}
8-
{{- else if contains "NodePort" .Values.service.type }}
9-
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "nginx.fullname" . }})
10-
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
11-
echo http://$NODE_IP:$NODE_PORT
12-
{{- else if contains "LoadBalancer" .Values.service.type }}
13-
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
14-
You can watch the status of by running 'kubectl get svc -w {{ include "nginx.fullname" . }}'
15-
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "nginx.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
16-
echo http://$SERVICE_IP:{{ .Values.service.port }}
17-
{{- else if contains "ClusterIP" .Values.service.type }}
18-
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "nginx.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
19-
echo "Visit http://127.0.0.1:8080 to use your application"
20-
kubectl port-forward $POD_NAME 8080:80
26+
Port-forward example:
27+
kubectl -n {{ .Release.Namespace }} port-forward svc/{{ include "cos-common.fullname" (dict "root" . "name" "" "values" .Values.main) }} 8080:{{ (index .Values.main.service.ports 0).port }}
2128
{{- end }}

nginx/templates/_helpers.tpl

Lines changed: 0 additions & 41 deletions
This file was deleted.

nginx/templates/certificate.yaml

Lines changed: 0 additions & 69 deletions
This file was deleted.

nginx/templates/configmap.yaml

Lines changed: 0 additions & 58 deletions
This file was deleted.

nginx/templates/deployment.yaml

Lines changed: 0 additions & 69 deletions
This file was deleted.

0 commit comments

Comments
 (0)