Updated www docs section

This commit is contained in:
Julien Dessaux 2023-01-30 22:51:42 +01:00
parent c751f29c9e
commit 68cb0cdb50
Signed by: adyxax
GPG key ID: F92E51B86E07177E
2 changed files with 19 additions and 138 deletions

View file

@ -7,13 +7,14 @@ description: adyxax.org main website. www.adyxax.org, wiki.adyxax.org and blog.a
This is the website you are currently reading. It is a static website built using [hugo](https://github.com/gohugoio/hugo). This is the website you are currently reading. It is a static website built using [hugo](https://github.com/gohugoio/hugo).
I often refer to it as wiki.adyxax.org because this site replaces a dokuwiki I used for a long time as my main website (and a pmwiki before that), but with [hugo]({{< ref "hugo" >}}) it has become more than that. It is now a mix of wiki, blog and showcase of my work and interests. I often refer to it as wiki.adyxax.org because this site replaces a [dokuwiki](https://www.dokuwiki.org/dokuwiki) I used for a long time as my main website (and a [pmwiki](https://www.pmwiki.org/) before that), but with hugo it has become more than that: it is now a mix of wiki, blog and showcase of my work and interests.
For a log of how I made the initial setup, see [this blog article.]({{< ref "switching-to-hugo" >}}). Things are now simpler since I [wrote my own theme]({{< ref "ditching-the-heavy-hugo-theme" >}}). For a log of how I made the initial setup, see [this blog article.]({{< ref "switching-to-hugo" >}}). Things are now simpler since I [wrote my own theme]({{< ref "ditching-the-heavy-hugo-theme" >}}).
## Captain's log ## Captain's log
- 2021-09-12 : Added the search feature - 2023-01-28: [Website makeover]({{< ref "selenized.md" >}})
- 2021-09-12: [Added the search feature]({{< ref "blog/hugo/search.md" >}})
- 2021-07-28: Migrated to k3s setup on myth.adyxax.org - 2021-07-28: Migrated to k3s setup on myth.adyxax.org
- 2020-10-05: Initial setup of hugo on yen.adyxax.org's OpenBSD - 2020-10-05: Initial setup of hugo on yen.adyxax.org's OpenBSD

View file

@ -11,143 +11,17 @@ tags:
This is a static website built using hugo. This is a static website built using hugo.
The CI/CD is a work in progress, for now the installation is made from a crude kubernetes manifest. The instructions have been updated for the search feature. ## Container images
There are two container images:
- One for the hugo static website
- One for the search web service
These are both built with `buildah` using [the same script](https://git.adyxax.org/adyxax/ev-scripts/tree/www/build-images.sh).
## Kubernetes manifests ## Kubernetes manifests
```yaml [The whole manifest is here](https://git.adyxax.org/adyxax/www/tree/deploy/www.yaml).
apiVersion: v1
kind: Namespace
metadata:
name: www
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: www
name: www
labels:
app: www
spec:
replicas: 1
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
selector:
matchLabels:
app: www
template:
metadata:
labels:
app: www
spec:
containers:
- name: www
image: quay.io/adyxax/www:2021110901
ports:
- containerPort: 80
readinessProbe:
httpGet:
path: '/'
port: 80
initialDelaySeconds: 1
timeoutSeconds: 1
livenessProbe:
httpGet:
path: '/'
port: 80
initialDelaySeconds: 1
timeoutSeconds: 1
lifecycle:
preStop:
exec:
command: ["/bin/sh", "-c", "sleep 10"]
- name: search
image: quay.io/adyxax/www-search:2021110901
ports:
- containerPort: 8080
readinessProbe:
httpGet:
path: '/search/'
port: 8080
initialDelaySeconds: 1
timeoutSeconds: 1
livenessProbe:
httpGet:
path: '/search/'
port: 8080
initialDelaySeconds: 1
timeoutSeconds: 1
lifecycle:
preStop:
exec:
command: ["/bin/sh", "-c", "sleep 10"]
---
apiVersion: v1
kind: Service
metadata:
namespace: www
name: www
spec:
type: ClusterIP
selector:
app: www
ports:
- protocol: TCP
port: 80
targetPort: 80
name: www
- protocol: TCP
port: 8080
targetPort: 8080
name: search
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: www
name: www
spec:
ingressClassName: nginx
tls:
- secretName: wildcard-adyxax-org
rules:
- host: www.adyxax.org
http:
paths:
- path: '/'
pathType: Prefix
backend:
service:
name: www
port:
number: 80
- path: '/search'
pathType: Prefix
backend:
service:
name: www
port:
number: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
namespace: www
name: redirects
annotations:
nginx.ingress.kubernetes.io/permanent-redirect: https://www.adyxax.org/
nginx.ingress.kubernetes.io/permanent-redirect-code: "308"
spec:
ingressClassName: nginx
tls:
- secretName: wildcard-adyxax-org
rules:
- host: adyxax.org
- host: wiki.adyxax.org
```
## DNS CNAME ## DNS CNAME
@ -171,3 +45,9 @@ acme.sh --config-home "$HOME/.acme.sh" --server letsencrypt --dns dns_cf --issue
kubectl -n www create secret tls wildcard-adyxax-org --cert=$HOME/.acme.sh/adyxax.org/fullchain.cer \ kubectl -n www create secret tls wildcard-adyxax-org --cert=$HOME/.acme.sh/adyxax.org/fullchain.cer \
--key=$HOME/.acme.sh/adyxax.org/adyxax.org.key -o yaml --save-config --dry-run=client | kubectl apply -f - --key=$HOME/.acme.sh/adyxax.org/adyxax.org.key -o yaml --save-config --dry-run=client | kubectl apply -f -
``` ```
## CI/CD
The build and deployment of the website is handled by `eventline` with the following git hooks called by `gitolite` when I git push:
- [www-build](https://git.adyxax.org/adyxax/ev-scripts/tree/www/www-build.yaml)
- [www-deploy](https://git.adyxax.org/adyxax/ev-scripts/tree/www/www-deploy.yaml)