afpy / infra Goto Github PK
View Code? Open in Web Editor NEWThe AFPy infra. Moved to https://git.afpy.org/AFPy/infra
The AFPy infra. Moved to https://git.afpy.org/AFPy/infra
On se prend des milliers de demandes d'inscriptions à afpy-web, pour rien.
On est pas les seuls :
J'ai configuré SUBSCRIBE_FORM_SECRET aujourd'hui.
Dans l'idée de ne pas tout détruire d'un coup, je n'ai rien contre garder les archives en ligne, en statique ça ne coûte pas grand chose en maintenance.
wget --mirror --no-parent https://lists.afpy.org/pipermail/zope3-french-user/
fait très bien le travail par exemple.
Voici nos listes (publiques et privées) :
Nom de la liste | Active ? | Archives publiques / privées | Mail annoncant la fermeture |
---|---|---|---|
AFPy-bureau | Peu | Privées | |
Afpy-cd | Un peu | Privées | |
AFPy-membres | Un peu | Privées | |
AFPy-web | Mort mais attention c'est celle du compte letsencrypt | Pas d'archive | |
django | 0 mail en 2020 | Publiques | Envoyé le 2020-12-07 |
djangocong-orga | 3 mails en 2020 | Privées | Envoyé le 2020-12-07 |
entreprises | 0 mails 2014 | Publiques | Envoyé le 2020-12-07 |
Lyon | 0 mails depuis 2017 | Publiques | Envoyé le 2020-12-07 |
Mentor | 0 mails depuis 2016 | Publiques | Envoyé le 2020-12-07 |
Nantes | 4 mails en 2020 | Publiques | Envoyé le 2020-12-07 |
OpenERP | 0 mails depuis 2017 | Publiques | Envoyé le 2020-12-07 |
Pyconfr-orga | Utilisée tous les ans | Privées | |
Pyuggre | 0 mails depuis 2018 | Publiques | Envoyé le 2020-12-07 |
Rennes | 0 mails depuis 2017 | Publiques | Envoyé le 2020-12-07 |
Salt-fr | 0 mails depuis 2019 | Publiques | Envoyé le 2020-12-07 |
Strasbourg | Uniquement actif en janvier 2020 | Publiques | Envoyé le 2020-12-07 |
Testafpy | Uniquement actif en 2008 | Privées | |
Traductions | Un seul mail en 2020, 0 en 2019 | Publiques | Envoyé le 2020-12-07 |
zope3-french-user | Un seul mail en 2019 depuis 2014 | Publiques | Envoyé le 2020-12-07 |
The following page uses HTTPS:
https://lists.afpy.org/mailman/private/afpy-membres/
But the form send the password using HTTP.
J'ai parfois cette erreur lorsque quelqu'un partage son écran :
[19:42:55:0008] DEBUG: clientLogger: Start request accepted for screenshare https://bbb.afpy.org/html5client/09b74f699593b5f5d34236c2e5df292615124d35.js?meteor_js_resource=true:329:1295014 09b74f699593b5f5d34236c2e5df292615124d35.js:141:12635
WebRTC: ICE failed, add a TURN server and see about:webrtc for more details
[19:43:07:0893] ERROR: clientLogger: Screenshare broker failure https://bbb.afpy.org/html5client/09b74f699593b5f5d34236c2e5df292615124d35.js?meteor_js_resource=true:329:1340246 09b74f699593b5f5d34236c2e5df292615124d35.js:141:12635
[19:43:15:0494] DEBUG: clientLogger: Stopped broker session for screenshare https://bbb.afpy.org/html5client/09b74f699593b5f5d34236c2e5df292615124d35.js?meteor_js_resource=true:329:1296957
It's a jail on storage.afpy.org.
Le plan :
videospyconfr2015
(tester libnginx-mod-http-fancyindex
? Vu que la machine ne sert qu'a ça ..)
Essayer de faire un article avec une photo de 1,1 Mo a trigger une 413 Entity Too Large
. Ça me parait assez injuste en 2019. Une limite de 5 Mo ne me paraitrait pas déconnant.
But pycon.fr don't have an SSL certificate for fr.pycon.org so the browser are whining when using https. We could simply get a letsencrypt one for fr.pycon.org as the cname points to us.
Il faudra rajouter un cron de sauvegarde, cf. https://docs.gitea.io/en-us/backup-and-restore/, àla :
rm -fr /var/backups/gitea
mkdir /var/backups/gitea
systemctl stop gitea
chown git:git /var/backups/gitea/
GITEA_WORK_DIR=/var/lib/gitea sudo -u git --preserve-env=GITEA_WORK_DIR gitea dump -c /etc/gitea/app.ini --file /var/backups/gitea/gitea.zip
sudo -u git pg_dump gitea > /var/backups/gitea/gitea.sql
chown root:root /var/backups/gitea/
chmod 700 /var/backups/gitea/
systemctl start gitea
Puis demander à rsnapshot de passer les prendre.
Innutile de faire des rotations par date, rsnapshot s'en occupe.
/root/certbot_hook.sh on the smtp jail never ends, I spotted one process running for 3 months leading to a certificate being expired... had to kill the process manually and run certbot renew
manually (which ALSO never ends as it calls the hook :))
Le clone du repo pose un alain.ini
Mais la CI d'alain fait un sed sur le alain.ini pour les secets.
Donc il faudrait git pull --force
, mais c'est moche, ou il faudrait stocker les secrets ailleurs (ce qui est moins moche !).
8h12 mon monitoring qui se plaint :
08:12:43 | <irker628> | mdk: dl.afpy.org: [Errno 111] Connection refused
10h17 je me ssh pour voir :
root@storage:~ # uptime
10:17AM up 388 days, 9:17, 1 user, load averages: 354.53, 630.07, 488.99
Selon un ps
ce sont des milliers de connexions ssh depuis rainette, probablement un script de backup.
https://lists.afpy.org/mailman/private/afpy-membres/2006-February.txt.gz → is text/plain, not gz.
J'ai essayé de déployer #31 à l'aide de la commande suivante:
$ ansible-playbook -l bbb2.afpy.org backup.yml -t common -vv --diff
[...]
ERROR! The vault password file /home/pilou/.ansible-afpy-vault was not found
j'ai essayé d'ignorer le vault d'ansible, sans succès:
ANSIBLE_VAULT_PASSWORD_FILE="/bin/uname" ANSIBLE_VAULT_IDENTITY_LIST="test@/bin/uname" ansible-playbook -l bbb2.afpy.org backup.yml -t common -vv --diff
[...]
ERROR! Decryption failed (no vault secrets were found that could decrypt) on /home/pilou/src/afpy-infra/group_vars/all/vault
Comme le fichier en question est chiffré dans son intégralité plutôt que variable par variable, il n'est pas possible d'évaluer les conséquences à l'ignorer totalement :)
@JulienPalard: comment est transmis le mot de passe du Vault Ansible ? Au cas où ma clef GPG.
My bot recently spotted a near expiration on fr.pycon.org.
Rediriger sur https://discuss.afpy.org/upcoming-events.
On doit avoir un système de modération sur le site avec option rejet avec message
# systemctl status --no-pager --full certbot
● certbot.service - Certbot
Loaded: loaded (/lib/systemd/system/certbot.service; static; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2022-03-21 02:31:06 UTC; 4min 2s ago
Docs: file:///usr/share/doc/python-certbot-doc/html/index.html
https://letsencrypt.readthedocs.io/en/latest/
Process: 8643 ExecStart=/usr/bin/certbot -q renew (code=exited, status=1/FAILURE)
Main PID: 8643 (code=exited, status=1/FAILURE)
Mar 21 02:24:50 bbb2 systemd[1]: Starting Certbot...
Mar 21 02:31:00 bbb2 certbot[8643]: Attempting to renew cert (bbb2.afpy.org) from /etc/letsencrypt/renewal/bbb2.afpy.org.conf produced an unexpected error: Failed authorization procedure. bbb2.afpy.org (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://bbb2.afpy.org/.well-known/acme-challenge/JoxavsOZNDiMgrarb33J-8ggZyouPytJr1LkU66rJ5w [2001:4b98:dc0:43:f816:3eff:feec:dcc7]: 404. Skipping.
Mar 21 02:31:06 bbb2 certbot[8643]: Attempting to renew cert (sd-106563.dedibox.fr) from /etc/letsencrypt/renewal/sd-106563.dedibox.fr.conf produced an unexpected error: Failed authorization procedure. sd-106563.dedibox.fr (http-01): urn:ietf:params:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://sd-106563.dedibox.fr/.well-known/acme-challenge/Mtg7nJEDpFwPykvIHhIpvp85svDVZrZ-VIGXYTn9vkw [163.172.63.21]: 401. Skipping.
Mar 21 02:31:06 bbb2 certbot[8643]: All renewal attempts failed. The following certs could not be renewed:
Mar 21 02:31:06 bbb2 certbot[8643]: /etc/letsencrypt/live/bbb2.afpy.org/fullchain.pem (failure)
Mar 21 02:31:06 bbb2 certbot[8643]: /etc/letsencrypt/live/sd-106563.dedibox.fr/fullchain.pem (failure)
Mar 21 02:31:06 bbb2 certbot[8643]: 2 renew failure(s), 0 parse failure(s)
Mar 21 02:31:06 bbb2 systemd[1]: certbot.service: Main process exited, code=exited, status=1/FAILURE
Mar 21 02:31:06 bbb2 systemd[1]: certbot.service: Failed with result 'exit-code'.
Mar 21 02:31:06 bbb2 systemd[1]: Failed to start Certbot.
Pour reproduire:
Dans les logs du serveur bbb2.afpy.org
:
# systemctl --failed
UNIT LOAD ACTIVE SUB DESCRIPTION
● certbot.service loaded failed failed Certbot
● [email protected] loaded failed failed Grow File System on /
● tomcat8.service loaded failed failed LSB: Start Tomcat.
# journalctl -S -1h | grep -iP "(warn|error)"
Mar 21 02:01:54 bbb2 bbb-webrtc-sfu[2604]: 2022-03-21T02:01:54.282Z - error: [mcs-media] Failed to run underlying _connect procedure due to MEDIA_NOT_FOUND sourceId=autumn-brook-SFlbOb3, sourceAdapterElementId=shy-dream-2T_YDxP, sinkId=green-sunset-d2RT74n, sinkAdapterElementId=20697a7d-906f-4908-83f0-db9944614aea_kurento.MediaPipeline/4b2bce2e-ee19-4a8f-b986-b90096a60fff_kurento.RtpEndpoint/aged-star-y~_kH64, connectionType=AUDIO, code=2201, message=MEDIA_NOT_FOUND
Mar 21 02:01:54 bbb2 bbb-fsesl-akka[1013]: 2022-03-21T02:01:54.344Z WARN o.b.f.v.freeswitch.ESLEventListener - Unknown conference Action [floor-change]
Mar 21 02:01:54 bbb2 bbb-apps-akka[1011]: 2022-03-21T02:01:54.645Z WARN o.b.core.running.MeetingActor - ***** Cannot handle PresentationConversionRequestReceivedSysMsg
Mar 21 02:02:57 bbb2 systemd_start_frontend.sh[1117]: warn: Meeting '2047425b6ad1f7222c633595189040bcb64c6bbd-1647828109542' is destroyed by 'w_wzum3c2mqqfp'
Mar 21 02:02:57 bbb2 run-prod.sh[994]: 2022-03-21T02:02:57.568Z ERROR o.b.api.RecordingService - Exception occured when trying to create /var/bigbluebutton/recording/status/recorded/2047425b6ad1f7222c633595189040bcb64c6bbd-1647828109542.done file.
Mar 21 02:02:57 bbb2 bbb-apps-akka[1011]: 2022-03-21T02:02:57.571Z WARN o.b.core.BigBlueButtonActor - Cannot handle DestroyMeetingSysCmdMsg
Mar 21 02:02:57 bbb2 bbb-fsesl-akka[1013]: 2022-03-21T02:02:57.592Z WARN o.b.f.v.freeswitch.ESLEventListener - Unknown conference Action [floor-change]
Mar 21 02:02:57 bbb2 bbb-webrtc-sfu[2604]: 2022-03-21T02:02:57.650Z - warn: [mcs-freeswitch] _stopUserAgent: SIP.js UA disconnected elementId=shy-dream-2T_YDxP
Mar 21 02:02:57 bbb2 bbb-webrtc-sfu[2604]: 2022-03-21T02:02:57.650Z - warn: [mcs-freeswitch] _stopUserAgent: SIP.js UA disconnected elementId=shy-dream-2T_YDxP
Mar 21 02:03:07 bbb2 systemd_start.sh[1044]: warn: Removing ConnectionStatus nonaffected
Mar 21 02:03:07 bbb2 systemd_start_frontend.sh[1117]: warn: Removing ConnectionStatus nonaffected
Mar 21 02:03:07 bbb2 systemd_start_frontend.sh[1090]: warn: Removing ConnectionStatus nonaffected
(ou on repasse sur exim4, je n'ai pas d'avis là dessus)
Il semble que deb.afpy.org s'annonce en temps que sd-160097.dedibox.fr lorsqu'il envoie un mail.
C'est pas super, il me semble pour que le serveur en face ai confiance.
On a :
$ dig afpy.org +short
51.159.55.117
$ dig -x $(dig afpy.org +short) +short
afpy.org.
qui est propre, reste plus qu'a s'annoncer en temps que afpy.org ?
Aussi on pourrait signer nos mails avec DKIM, ça améliore un peu la confiance à la reception.
Merci 😄.
Dans sa version statique.
On pourait l'héberger sur planet.afpy.org, et rediriger afpy.org/planet (le RSS) vers le flux généré par makemake.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.