Le blog tech de Nicolas Steinmetz (Time Series, IoT, Web, Ops, Data)
Cette édition et les précédentes sont également disposnibles sur substack Web, Ops, IoT & Time Series pour ceux qui préfèrent les emails ou la consommation via l’app Substack
Une édition un peu courte avec ce mois de Mai où j’étais plus ⛵️ que 👨💻
.internal
est en cours de discussion pour une décision en avril. On va pouvoir (enfin) sortir des domaines fictifs, des domaines publics utilisés en interne (adieu macompany.org
) ou encore du “DNS menteur” (macompany.com
résolu différemment suivant si on est en interne ou en externe). Néanmoins, une bonne question émerge : comment gérer et garantir les certificats en .internal
que tout le monde peut revendiquer ? Aucune entité de certification publique ne pourra émettre de tels certificats… Cela repose alors la question de la PKI privée et de la diffusion des certificats de la CA pour valider les domaines sur votre parc informatique…keepAliveMaxRequests
et keepAliveMaxTime
pour éviter que trop de connections ouvertes restent entre votre reverse proxy et votre applicatif.Après presque 2 ans de silence et le remplacement de Hugo et Bootstrap par Zola et Tailwind/daisyUI l’été dernier pour générer le site, je vous souhaite une bonne année à tous et la résolution de publier plus régulièrement mes trouvailles…
TL;DR: DuckDB can attach MySQL, Postgres, and SQLite databases in addition to databases stored in its own format. This allows data to be read into DuckDB and moved between these systems in a convenient manner.
J’avoue que la concision de Caddy vs Traefik et le provider file
est bien appréciable:
# Caddyfile
xxx.cerenit.fr {
reverse_proxy 127.0.0.1:3000
}
# Traefik
http:
middlewares:
redirectToHttps:
redirectScheme:
permanent: true
scheme: https
routers:
grafana:
entryPoints:
- websecure
- web
middlewares:
- redirectToHttps
rule: Host(`xxx.cerenit.fr`)
service: grafana@file
tls:
certResolver: le
services:
grafana:
loadBalancer:
servers:
- url: http://127.0.0.1:3000/
Pour un serveur, la migration de Traefik vers Caddy fait passer le fichier de configuration de 172 lignes à 27 - soit presque 6 fois moins ! 😏
Exemple:
services:
whoami:
image: traefik/whoami
networks:
- caddy
labels:
caddy: whoami.example.com
caddy.reverse_proxy: "{{upstreams 80}}"
networks:
caddy:
external: true
kubernetes_manifest
permet de définir ses propres manifests et donc permet d’utiliser des CRD non disponibles dans le provider officiel. Plus pratique que de générer les manifests via des templates et de faire du kubectl apply
par dessus.time_bucket_ng
qui permet de faire de nouvelles aggrégations et d’avoir prochainement un support des timezones. La seconde fonctionnalité expérimentale porte sur la capacité à bouger de la donnée entre plusieurs nodes en mode cluster.