Compare commits

...

2 Commits

Author SHA1 Message Date
Nicolai Ort 6a674f7c3d
fixes and typos 2024-03-25 09:15:31 +01:00
Nicolai Ort 63209d5352
Added kubernetes deployment 2024-03-25 09:09:51 +01:00
10 changed files with 90 additions and 57 deletions

2
.dockerignore Normal file
View File

@ -0,0 +1,2 @@
*lock
public/**

View File

@ -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

View File

@ -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

View File

@ -24,11 +24,11 @@ And a very full talk at that.
```mermaid
flowchart LR
subgraph ii(OCI Image Index)
subgraph OCIImageIndex
lamd(linux/amd64)
larm(linux(arm64)
larm(linux/arm64)
end
ii->image
ii-->image
subgraph image
layer1
layer2

View File

@ -1,6 +1,7 @@
---
archetype: chapter
title: Day 4
weight: 4
---
The last day with a limited sponsor expo (10:00-14:30) and a bunch of people on the move (not me)

14
kube/certs.yaml Normal file
View File

@ -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

33
kube/deployment.yaml Normal file
View File

@ -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

17
kube/ingress.yaml Normal file
View File

@ -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

14
kube/service.yaml Normal file
View File

@ -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

View File

@ -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;
}
}