Skip to content

Commit

Permalink
Test for varnish trough the eeacms/varnish component
Browse files Browse the repository at this point in the history
  • Loading branch information
rubenvdlinde committed Nov 11, 2019
1 parent 357a867 commit 6e0e0b7
Show file tree
Hide file tree
Showing 14 changed files with 235 additions and 135 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Changelog

## 2019-11-11 (v.0.0.1)

- Initial public release
11 changes: 6 additions & 5 deletions api/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -137,16 +137,17 @@ COPY --from=api_platform_php /srv/api/public public/
# "varnish" stage #
#############################
# does not depend on any of the above stages, but placed here to keep everything in one Dockerfile
FROM cooptilleuls/varnish:${VARNISH_VERSION}-alpine AS api_platform_varnish
#FROM eeacms/varnish AS api_platform_varnish
#FROM cooptilleuls/varnish:${VARNISH_VERSION}-alpine AS api_platform_varnish
FROM eeacms/varnish AS api_platform_varnish
#FROM varnish:6.3 AS api_platform_varnish

COPY docker/varnish/conf/default.vcl /etc/varnish/conf.d/
# Lets install envsubst
RUN apk --no-cache add gettext
#RUN apk --no-cache add gettext

COPY docker/varnish/conf /usr/local/etc/varnish/
#COPY docker/varnish/conf /usr/local/etc/varnish/

RUN envsubst '$PHP_SERVICE' < /usr/local/etc/varnish/default.vcl.template > /usr/local/etc/varnish/default.vcl
#RUN envsubst '$PHP_SERVICE' < /usr/local/etc/varnish/default.vcl.template > /usr/local/etc/varnish/default.vcl

# Lets parse the toml file
# RUN envsubst < /usr/local/etc/varnish/default.vcl.template > /usr/local/etc/varnish/default.vcl
Expand Down
1 change: 1 addition & 0 deletions api/docker/varnish/conf/agent_secret
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
admin:admin
30 changes: 15 additions & 15 deletions api/docker/varnish/conf/default.vcl
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
vcl 4.0;

import std;
#import std;

backend default {
.host = "php";
.port = "80";
#backend default {
# .host = "php";
# .port = "80";
# Health check
#.probe = {
# .url = "/";
Expand All @@ -13,17 +13,17 @@ backend default {
# .window = 5;
# .threshold = 3;
#}
}
#}

# Hosts allowed to send BAN requests
acl invalidators {
"localhost";
"php";
#acl invalidators {
# "localhost";
# "php";
# local Kubernetes network
"10.0.0.0"/8;
"172.16.0.0"/12;
"192.168.0.0"/16;
}
# "10.0.0.0"/8;
# "172.16.0.0"/12;
# "192.168.0.0"/16;
#}

sub vcl_recv {
if (req.restarts > 0) {
Expand All @@ -35,9 +35,9 @@ sub vcl_recv {

# To allow API Platform to ban by cache tags
if (req.method == "BAN") {
if (client.ip !~ invalidators) {
return (synth(405, "Not allowed"));
}
#if (client.ip !~ invalidators) {
# return (synth(405, "Not allowed"));
#}

if (req.http.ApiPlatform-Ban-Regex) {
ban("obj.http.Cache-Tags ~ " + req.http.ApiPlatform-Ban-Regex);
Expand Down
16 changes: 8 additions & 8 deletions api/helm/templates/api-deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ include "name" . }}-{{ .Values.settings.env }}-nginx
name: {{ include "name" . }}-nginx
labels:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-nginx
app.kubernetes.io/part-of: {{ include "name" . }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }}-nginx
app.kubernetes.io/part-of: {{ include "name" . }}
helm.sh/chart: {{ include "chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: 1
template:
metadata:
labels:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-nginx
app.kubernetes.io/part-of: {{ include "name" . }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }}-nginx
app.kubernetes.io/part-of: {{ include "name" . }}
helm.sh/chart: {{ include "chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
containers:
- name: {{ include "name" . }}-{{ .Values.settings.env }}-nginx
- name: {{ include "name" . }}-nginx
image: "{{ .Values.settings.registryBase }}/{{ .Values.settings.projectName }}-nginx:{{ .Values.settings.env }}"
imagePullPolicy: {{ .Values.settings.pullPolicy }}
ports:
Expand Down
6 changes: 3 additions & 3 deletions api/helm/templates/api-loadbalancer.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "name" . }}-{{ .Values.settings.env }}-api-loadbalancer
name: {{ include "name" . }}-api-loadbalancer
spec:
selector:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-nginx
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }}-nginx
app.kubernetes.io/instance: {{ .Release.Name }}
type: LoadBalancer
ports:
- protocol: TCP
Expand Down
12 changes: 6 additions & 6 deletions api/helm/templates/api-service.yaml
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "name" . }}-{{ .Values.settings.env }}
name: {{ include "name" . }}
labels:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}
app.kubernetes.io/part-of: {{ include "name" . }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }
app.kubernetes.io/part-of: {{ include "name" . }}
helm.sh/chart: {{ include "chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
type: NodePort
Expand All @@ -15,5 +15,5 @@ spec:
targetPort: 80
protocol: TCP
selector:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-nginx
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }}-nginx
app.kubernetes.io/instance: {{ .Release.Name }}
21 changes: 9 additions & 12 deletions api/helm/templates/php-deployment.yaml
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ include "name" . }}-{{ .Values.settings.env }}-php
name: {{ include "name" . }}-php
labels:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-php
app.kubernetes.io/part-of: {{ include "name" . }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }}-php
app.kubernetes.io/part-of: {{ include "name" . }}
helm.sh/chart: {{ include "chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: {{ .Values.php.replicaCount }}
template:
metadata:
labels:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-php
app.kubernetes.io/part-of: {{ include "name" . }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }}-php
app.kubernetes.io/part-of: {{ include "name" . }}
helm.sh/chart: {{ include "chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
containers:
- name: {{ include "name" . }}-{{ .Values.settings.env }}-php
- name: {{ include "name" . }}-php
image: "{{ .Values.settings.registryBase }}/{{ .Values.settings.projectName }}-php:{{ .Values.settings.env }}"
imagePullPolicy: {{ .Values.settings.pullPolicy }}
ports:
Expand Down Expand Up @@ -63,10 +63,7 @@ spec:
name: {{ template "fullname" . }}
key: cors-allow-origin
- name: VARNISH_URL
valueFrom:
configMapKeyRef:
name: {{ template "fullname" . }}
key: varnish-url
value: {{ include "name" . }}-varnish
- name: APP_SECRET
valueFrom:
secretKeyRef:
Expand Down
12 changes: 6 additions & 6 deletions api/helm/templates/php-service.yaml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "name" . }}-{{ .Values.settings.env }}-php
name: {{ include "name" . }}-php
labels:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-php
app.kubernetes.io/part-of: {{ include "name" . }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }}-php
app.kubernetes.io/part-of: {{ include "name" . }}
helm.sh/chart: {{ include "chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
type: ClusterIP
ports:
- port: 9000
selector:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-php
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }}-php
app.kubernetes.io/instance: {{ .Release.Name }}
17 changes: 10 additions & 7 deletions api/helm/templates/varnish-deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,19 @@
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ include "name" . }}-{{ .Values.settings.env }}-varnish
name: {{ include "name" . }}-varnish
labels:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-varnish
app.kubernetes.io/part-of: {{ include "name" . }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }}-varnish
app.kubernetes.io/part-of: {{ include "name" . }}
helm.sh/chart: {{ include "chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
replicas: {{ .Values.varnish.replicaCount }}
template:
metadata:
labels:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-varnish
app.kubernetes.io/name: {{ include "name" . }}-varnish
helm.sh/chart: {{ include "chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
Expand All @@ -23,8 +23,11 @@ spec:
- name: {{ include "name" . }}-varnish
image: "{{ .Values.settings.registryBase }}/{{ .Values.settings.projectName }}-varnish:{{ .Values.settings.env }}"
imagePullPolicy: {{ .Values.settings.pullPolicy }}
command: ["varnishd"]
args: ["-F", "-f", "/usr/local/etc/varnish/default.vcl", "-p", "http_resp_hdr_len=65536", "-p", "http_resp_size=98304"]
env:
- name: BACKENDS
value: {{ include "name" . }}-php
#command: ["varnishd"]
#args: ["-F", "-f", "/usr/local/etc/varnish/default.vcl", "-p", "http_resp_hdr_len=65536", "-p", "http_resp_size=98304"]
ports:
- containerPort: 80
livenessProbe:
Expand Down
12 changes: 6 additions & 6 deletions api/helm/templates/varnish-service.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
apiVersion: v1
kind: Service
metadata:
name: {{ include "name" . }}-{{ .Values.settings.env }}-varnish
name: {{ include "name" . }}-varnish
labels:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-varnish
app.kubernetes.io/part-of: {{ include "name" . }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }}-varnish
app.kubernetes.io/part-of: {{ include "name" . }}
helm.sh/chart: {{ include "chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
spec:
type: NodePort
Expand All @@ -16,6 +16,6 @@ spec:
targetPort: 80
protocol: TCP
selector:
app.kubernetes.io/name: {{ include "name" . }}-{{ .Values.settings.env }}-varnish
app.kubernetes.io/instance: {{ .Release.Name }}-{{ .Values.settings.env }}
app.kubernetes.io/name: {{ include "name" . }}-varnish
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
1 change: 1 addition & 0 deletions api/helm/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
settings:
registryBase: docker.io/conduction
projectName: pc
version: dev
env: dev
debug: 1
replicaCount: 1
Expand Down
Loading

0 comments on commit 6e0e0b7

Please sign in to comment.