Compare commits

...

3 Commits

Author SHA1 Message Date
nemunaire 4165053fd1 Light fixes in about pages
ci/woodpecker/push/woodpecker Pipeline failed Details
2023-11-14 09:46:03 +01:00
nemunaire 5ba155d4f8 ci: Avoid building on pull_request events 2023-11-14 09:46:03 +01:00
nemunaire ac3ecece99 Fix spelling 2023-11-14 09:46:03 +01:00
5 changed files with 17 additions and 12 deletions

View File

@ -1,6 +1,11 @@
branches:
exclude:
- renovate/*
when:
event:
- cron
- push
- tag
clone:
git:

View File

@ -20,7 +20,7 @@ During my studies, I was *root* of the [*assistants'*](https://assistants.epita.
{{<icon "fa fa-terminal about-icon">}}
With my rich creativity, I'm always working on a lot of amazing projects.
I spend most of my free time to improve system support, document and **promote ARM-based computer**, whether server or desktop.
I spend most of my free time to improve system support, document and **promote ARM-based computer** (and now RISC-V), whether embedded, server or desktop.
{{<br>}}
Check out my [gitea instance](https://git.nemunai.re) or my [GitHub account](https://github.com/nemunaire).

View File

@ -68,7 +68,7 @@ As such, many reverse-proxies are capable of transmitting GRPC requests.
This is the case of [Caddy](https://woodpecker-ci.org/docs/administration/proxy#caddy), a brief example of which is given, [Traefik](https://woodpecker-ci.org/docs/administration/proxy#traefik).
But `nginx` also [supports the transmission of GRPC requests](https://www.nginx.com/blog/nginx-1-13-10-grpc/).
When a GRPC request is received by the reverse-proxy, it sees an HTTP/2 request similar to :
When a GRPC request is received by the reverse-proxy, it sees an HTTP/2 request similar to:
```
POST /pkg.Service/Function HTTP/2.0
@ -88,7 +88,7 @@ Each *Service* is declared within a package (*pkg*), then *Functions* complete t
All calls are `POSTs`.
So we need to extract the various HTTP routes used by each protobuf service.
Let's take a look at the following file for Wookpecker :
Let's take a look at the following file for Woodpecker:
<https://github.com/woodpecker-ci/woodpecker/blob/main/pipeline/rpc/proto/woodpecker.proto>
@ -135,7 +135,7 @@ For example:
## `nginx` configuration
So here's what our `nginx` configuration might look like, using a single :
So here's what our `nginx` configuration might look like, using a single domain:
```
server {
@ -181,7 +181,7 @@ This causes a large number of reconnections for the Woodpecker agent, visible in
{"level":"error","error":"rpc error: code = Unavailable desc = unexpected HTTP status code received from server: 504 (Gateway Timeout); transport: received unexpected content-type \"text/html\"","time":"2023-10-27T11:28:51Z","message":"grpc error: wait(): code: Unavailable: rpc error: code = Unavailable desc = unexpected HTTP status code received from server: 504 (Gateway Timeout); transport: received unexpected content-type \"text/html\""}
The agent will reconnect itself, but we can reduce the occurrence of this reconnection (whose main benefit is to do nothing until the server wakes us up), by adding this line to our configuration `nginx` :
The agent will reconnect itself, but we can reduce the occurrence of this reconnection (whose main benefit is to do nothing until the server wakes us up), by adding this line to our configuration `nginx`:
```
location /proto.Woodpecker/Next {

View File

@ -10,10 +10,10 @@ aliases:
- about
---
Bonjour! ici `nemunaire`, alias Pierre-Olivier; je suis ingénieur (et passionné par [le fonctionnement des choses](https://fr.wikipedia.org/wiki/Wikipédia)), enseignant (et pionnier de la [gamification](https://fr.wikipedia.org/wiki/Ludification) de mes cours), cuisinier (et partisan de [limiter l'empreinte écologique dans nos habitudes alimentaires](https://fr.wikipedia.org/wiki/V%C3%A9g%C3%A9tarisme)) et je lutte aussi contre l'emprise des [GAFAM](https://fr.wikipedia.org/wiki/GAFAM) sur notre temps. D'ailleurs jadhère de manière générale au [stoïcisme](https://fr.wikipedia.org/wiki/Sto%C3%AFcisme). J'adore la typographie, les challenges, le chocolat (ou la vanille ?? le choix est trop difficile) et tant d'autres choses!
Bonjour! ici `nemunaire`, alias Pierre-Olivier; je suis ingénieur (et passionné par [le fonctionnement des choses](https://fr.wikipedia.org/wiki/Wikipédia)), enseignant (et pionnier de la [gamification](https://fr.wikipedia.org/wiki/Ludification) de mes cours, [voici un exemple]({{< relref "post/gamification-of-a-advanced-linux-sysadmin-course/_index.md" >}})), cuisinier (et partisan de [limiter l'empreinte écologique dans nos habitudes alimentaires](https://fr.wikipedia.org/wiki/V%C3%A9g%C3%A9tarisme)) et je lutte aussi contre l'emprise des [GAFAM](https://fr.wikipedia.org/wiki/GAFAM) sur notre temps. D'ailleurs jadhère de manière générale au [stoïcisme](https://fr.wikipedia.org/wiki/Sto%C3%AFcisme). J'adore la typographie, les challenges, le chocolat (ou la vanille ?? le choix est trop difficile) et tant d'autres choses!
{{<icon "fa fa-briefcase about-icon">}}
Aujourd'hui **entrepreneur**. J'ai travaillé avant comme **devops** pour [Novaquark](http://novaquark.com), avant d'être **ingénieur système/logiciel embarqué** chez [Qarnot computing](https://qarnot.com/), puis **responsable de la sécurité des systèmes d'information** and **architecte logiciel sénior** chez [Qarnot computing](https://qarnot.com/).
Aujourd'hui **entrepreneur**. J'ai travaillé avant comme **devops** pour [Novaquark](http://novaquark.com), avant d'être **ingénieur système/logiciel embarqué** chez [Qarnot computing](https://qarnot.com/), puis **responsable de la sécurité des systèmes d'information** et **architecte logiciel sénior** chez [Qarnot computing](https://qarnot.com/).
{{<icon "fa fa-graduation-cap about-icon">}}
Après 5 ans d'études à l'[Epita](http://epita.fr/), j'ai, en 2014, obtenu mon diplôme d'ingénieur! J'ai suivi les enseignements de la majeure [***Systèmes, Réseaux et Sécurité***](https://srs.epita.fr/).

View File

@ -11,9 +11,9 @@ tags:
J'ai installé le service d'intégration continue [Woodpecker](https://woodpecker-ci.org/), afin de remplacer [DroneCI](https://drone.io), que [l'entreprise l'ayant racheté a décidé de l'enterrer](https://github.com/harness/gitness#where-is-drone).
Woodpecker étant un fork de la dernière version libre de Drone, son utilisation est globalement semblable.
Néanmoins, les équipes ont suivies des orientations différentes sur certains aspects, et la communication avec les agents/*runners*, qui se faisaient avant au moyen de websockets, est réalisée dans Woodpecker au moyen du protocole GRPC.
Néanmoins, les équipes ont suivi des orientations différentes sur certains aspects, et la communication avec les agents/*runners*, qui se faisaient avant au moyen de websockets, est réalisée dans Woodpecker au moyen du protocole GRPC.
La solution proposée par la [documentation de Woodpecker](https://woodpecker-ci.org/docs/administration/proxy#caddy) est d'utiliser 2 domaines: un sera utilisé pour l'interface web et l'API REST, le second sera utilisé pour GRPC.
La solution proposée par la [documentation de Woodpecker](https://woodpecker-ci.org/docs/administration/proxy#caddy) est d'utiliser 2 domaines: un sera utilisé pour l'interface web et l'API REST, le second pour GRPC.
Est-ce vraiment nécessaire?
<!-- more -->
@ -90,7 +90,7 @@ Chaque *Service* est déclaré au sein d'un paquetage (*pkg*), des *Fonctions* c
Tous les appels sont des `POST`.
Il convient donc d'extraire les différentes routes HTTP utilisées par chaque service protobuf.
Voyons le fichier suivant pour Wookpecker:
Voyons le fichier suivant pour Woodpecker:
<https://github.com/woodpecker-ci/woodpecker/blob/main/pipeline/rpc/proto/woodpecker.proto>
@ -137,7 +137,7 @@ Par exemple:
## Configuration `nginx`
Voici donc à quoi pourrait ressemble notre configuration `nginx`, en utilisant un seul domaine:
Voici donc à quoi pourrait ressembler notre configuration `nginx`, en utilisant un seul domaine:
```
server {
@ -179,7 +179,7 @@ Woodpecker déclare une fonction `Next` qui attend les informations d'un prochai
Ce temps d'attente est généralement très variable, plutôt très long si votre CI n'est pas sollicitée en permanence.
`nginx` va prendre l'initiative, par défaut, d'arrêter toute requête inactive depuis plus de 60 secondes.
Cela occasionne un grand nombre reconnexion pour l'agent Woodpecker, visible dans les journaux de l'agent:
Cela occasionne un grand nombre de reconnexions pour l'agent Woodpecker, visibles dans les journaux de l'agent:
{"level":"error","error":"rpc error: code = Unavailable desc = unexpected HTTP status code received from server: 504 (Gateway Timeout); transport: received unexpected content-type \"text/html\"","time":"2023-10-27T11:28:51Z","message":"grpc error: wait(): code: Unavailable: rpc error: code = Unavailable desc = unexpected HTTP status code received from server: 504 (Gateway Timeout); transport: received unexpected content-type \"text/html\""}