Added kubernetes deployment
This commit is contained in:
parent
ef360b2e89
commit
63209d5352
|
@ -0,0 +1,2 @@
|
|||
*lock
|
||||
public/**
|
|
@ -1,9 +1,8 @@
|
|||
FROM registry.odit.services/hub/betterweb/hugo:latest as build
|
||||
FROM registry.odit.services/hub/hugomods/hugo:exts as build
|
||||
WORKDIR /app
|
||||
|
||||
COPY . /app/
|
||||
RUN hugo
|
||||
|
||||
FROM registry.odit.services/library/nginx-brotli:3.15
|
||||
COPY ./nginx.conf /etc/nginx/nginx.conf
|
||||
COPY --from=build /app/public /usr/share/nginx/html
|
||||
FROM registry.odit.services/hub/hugomods/hugo:nginx
|
||||
COPY --from=build /app/public /site
|
|
@ -3,7 +3,9 @@ archetype: home
|
|||
title: Kubecon 2024
|
||||
---
|
||||
|
||||
All about the things I did and sessions I attended at Kubecon 2024.
|
||||
All about the things I did and sessions I attended at KubeCon/CloudNativeCon 2024.
|
||||
|
||||
This current version is probably full of typos - will fix later.
|
||||
|
||||
## Style Guide
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
apiVersion: cert-manager.io/v1
|
||||
kind: Certificate
|
||||
metadata:
|
||||
name: kubecon24.nicolai-ort.com-cert
|
||||
namespace: nicolai-ort
|
||||
spec:
|
||||
commonName: kubecon24.nicolai-ort.com
|
||||
secretName: kubecon24.nicolai-ort.com-cert
|
||||
dnsNames:
|
||||
- kubecon24.nicolai-ort.com
|
||||
issuerRef:
|
||||
name: letsencrypt-prod
|
||||
kind: ClusterIssuer
|
|
@ -0,0 +1,33 @@
|
|||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: kubecon24
|
||||
namespace: nicolai-ort
|
||||
labels:
|
||||
app: kubecon24
|
||||
spec:
|
||||
replicas: 1
|
||||
revisionHistoryLimit: 10
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxUnavailable: 0
|
||||
maxSurge: 1
|
||||
selector:
|
||||
matchLabels:
|
||||
app: kubecon24
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app: kubecon24
|
||||
spec:
|
||||
containers:
|
||||
- name: kubecon24
|
||||
image: registry.odit.services/niggl/kubecon24:latest
|
||||
imagePullPolicy: Always
|
||||
ports:
|
||||
- containerPort: 80
|
||||
name: web
|
||||
imagePullSecrets:
|
||||
- name: registry-odit-services
|
||||
restartPolicy: Always
|
|
@ -0,0 +1,17 @@
|
|||
---
|
||||
apiVersion: traefik.io/v1alpha1
|
||||
kind: IngressRoute
|
||||
metadata:
|
||||
name: kubecon24.nicolai-ort.com
|
||||
namespace: nicolai-ort
|
||||
spec:
|
||||
entryPoints:
|
||||
- websecure
|
||||
routes:
|
||||
- match: Host(`kubecon24.nicolai-ort.com`)
|
||||
kind: Rule
|
||||
services:
|
||||
- name: kubecon24
|
||||
port: 80
|
||||
tls:
|
||||
secretName: kubecon24.nicolai-ort.com-cert
|
|
@ -0,0 +1,14 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: kubecon24
|
||||
namespace: nicolai-ort
|
||||
labels:
|
||||
app: kubecon24
|
||||
spec:
|
||||
ports:
|
||||
- port: 80
|
||||
selector:
|
||||
app: kubecon24
|
||||
type: ClusterIP
|
49
nginx.conf
49
nginx.conf
|
@ -1,49 +0,0 @@
|
|||
events {
|
||||
}
|
||||
http {
|
||||
include mime.types;
|
||||
sendfile on;
|
||||
server {
|
||||
error_page 404 /index.html;
|
||||
root /usr/share/nginx/html;
|
||||
location ~ /index\.html$ {
|
||||
internal;
|
||||
add_header Cache-Control 'no-store';
|
||||
}
|
||||
location ~* \.(png|jpg|jpeg|webp|gif|ico|woff|otf|ttf|eot|svg|txt|pdf|docx?|xlsx?)$ {
|
||||
access_log off;
|
||||
expires 1y;
|
||||
}
|
||||
location / {
|
||||
try_files $uri $uri/ /index.html;
|
||||
}
|
||||
# --- GZIP
|
||||
gzip on;
|
||||
gzip_disable "msie6";
|
||||
gzip_vary on;
|
||||
gzip_proxied any;
|
||||
gzip_comp_level 6;
|
||||
gzip_buffers 16 8k;
|
||||
gzip_http_version 1.1;
|
||||
gzip_types application/javascript
|
||||
application/rss+xml
|
||||
application/vnd.ms-fontobject
|
||||
application/x-font
|
||||
application/x-font-opentype
|
||||
application/x-font-otf
|
||||
application/x-font-truetype
|
||||
application/x-font-ttf
|
||||
application/x-javascript
|
||||
application/xhtml+xml
|
||||
application/xml
|
||||
font/opentype
|
||||
font/otf
|
||||
font/ttf
|
||||
image/svg+xml
|
||||
image/x-icon
|
||||
text/css
|
||||
text/javascript
|
||||
text/plain
|
||||
text/xml;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue