Des tonnes de modifications notamment VIM / Couleurs / typos

This commit is contained in:
2025-11-11 15:41:51 +01:00
parent 439880b08f
commit 6face7a02f
59 changed files with 7857 additions and 960 deletions

102
notes/.favorites.json Normal file
View File

@ -0,0 +1,102 @@
{
"items": [
{
"path": "documentation/authentication.md",
"is_dir": false,
"title": "authentication",
"added_at": "2025-11-11T13:55:41.091354066+01:00",
"order": 0
},
{
"path": "documentation/old-ideas.md",
"is_dir": false,
"title": "old-ideas",
"added_at": "2025-11-11T13:55:46.034104752+01:00",
"order": 1
},
{
"path": "documentation/bienvenue.md",
"is_dir": false,
"title": "bienvenue",
"added_at": "2025-11-11T13:55:46.95626865+01:00",
"order": 2
},
{
"path": "research/ai",
"is_dir": true,
"title": "ai",
"added_at": "2025-11-11T13:55:49.371541279+01:00",
"order": 3
},
{
"path": "research/design/typography.md",
"is_dir": false,
"title": "typography",
"added_at": "2025-11-11T13:55:51.238574069+01:00",
"order": 4
},
{
"path": "research/design/ui-inspiration.md",
"is_dir": false,
"title": "ui-inspiration",
"added_at": "2025-11-11T14:20:49.985321698+01:00",
"order": 5
},
{
"path": "research/tech/go-performance.md",
"is_dir": false,
"title": "go-performance",
"added_at": "2025-11-11T14:20:53.861619294+01:00",
"order": 6
},
{
"path": "research/tech/websockets.md",
"is_dir": false,
"title": "websockets",
"added_at": "2025-11-11T14:20:55.347335695+01:00",
"order": 7
},
{
"path": "tasks/backlog.md",
"is_dir": false,
"title": "backlog",
"added_at": "2025-11-11T14:20:57.762787363+01:00",
"order": 8
},
{
"path": "ideas/client-feedback.md",
"is_dir": false,
"title": "client-feedback",
"added_at": "2025-11-11T14:22:16.497953232+01:00",
"order": 9
},
{
"path": "ideas/collaboration.md",
"is_dir": false,
"title": "collaboration",
"added_at": "2025-11-11T14:22:18.012032002+01:00",
"order": 10
},
{
"path": "ideas/mobile-app.md",
"is_dir": false,
"title": "mobile-app",
"added_at": "2025-11-11T14:22:19.048311608+01:00",
"order": 11
},
{
"path": "meetings/2025",
"is_dir": true,
"title": "2025",
"added_at": "2025-11-11T14:22:21.531283601+01:00",
"order": 12
},
{
"path": "meetings/outscale.md",
"is_dir": false,
"title": "outscale",
"added_at": "2025-11-11T14:22:22.519332518+01:00",
"order": 13
}
]
}

View File

@ -1,8 +1,11 @@
---
title: "Book Notes"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["personal", "notes", "books"]
title: Book Notes
date: 10-11-2025
last_modified: 11-11-2025:15:23
tags:
- personal
- notes
- books
---
# Book Notes
@ -21,3 +24,6 @@ Key takeaways:
- Deep Work - Cal Newport
- The Mom Test - Rob Fitzpatrick
- Shape Up - Basecamp
/""

View File

@ -1,8 +1,10 @@
---
title: "AI Writing Assistant"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["idea", "ai"]
title: AI Writing Assistant
date: 10-11-2025
last_modified: 11-11-2025:11:13
tags:
- idea
- ai
---
# AI Writing Assistant
@ -24,3 +26,5 @@ Intégrer un assistant IA pour:
## Privacy
Données restent locales, API optionnelle.
Test test

26
notes/daily/2025/11/11.md Normal file
View File

@ -0,0 +1,26 @@
---
title: Daily Note - 2025-11-11
date: 11-11-2025
last_modified: 11-11-2025:13:58
tags:
- daily
---
# 📅 Mardi 11 novembre 2025
## 🎯 Objectifs du jour
-
Blouloublou
## 📝 Notes
-
## ✅ Accompli
-
## 💭 Réflexions
-
## 🔗 Liens
-

View File

@ -1,8 +1,10 @@
---
title: "API Endpoints Reference"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["documentation", "api"]
title: API Endpoints Reference
date: 10-11-2025
last_modified: 11-11-2025:15:20
tags:
- documentation
- api
---
# API Endpoints
@ -22,6 +24,7 @@ GET /api/v1/notes/{path}
Accept: application/json | text/markdown
```
### Create/Update Note
```
PUT /api/v1/notes/{path}

View File

@ -1,8 +1,10 @@
---
title: "Client Feedback Session"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["meeting", "client"]
title: Client Feedback Session
date: 10-11-2025
last_modified: 11-11-2025:11:12
tags:
- meeting
- client
---
# Client Feedback - Session 1
@ -23,3 +25,6 @@ tags: ["meeting", "client"]
## Priorités
Focus sur l'export PDF pour la v1.1
# DERNIER EDIT

View File

@ -1,361 +0,0 @@
---
title: export.md
date: 08-11-2025
last_modified: 09-11-2025:01:15
---
# How to remplace Chord IP on a Storage node/S3C cluster.
## Prech checks
> **note** Note
> - Ring should be Green on META and DATA
> - S3C should be Green and Metadata correctly synced
- Check the server Name in federation
```bash
cd /srv/scality/s3/s3-offline/federation/
cat env/s3config/inventory
```
- Run a backup of the config files for all nodes
```bash
salt '*' cmd.run "scality-backup -b /var/lib/scality/backup"
```
- Check ElasticSearch Status (from the supervisor)
```bash
curl -Ls http://localhost:4443/api/v0.1/es_proxy/_cluster/health?pretty
```
- Check the status of Metadata S3C :
```bash
cd /srv/scality/s3/s3-offline/federation/
./ansible-playbook -i env/s3config/inventory tooling-playbooks/gather-metadata-status.yml
```
If you have SOFS Connectors check Zookeeper status
- Set variables :
```bash
OLDIP="X.X.X.X"
NEWIP="X.X.X.X"
RING=DATA
```
## Stop the Ring internal jobs :
- From the supervisor, disable auto purge, auto join, auto_rebuild :
```bash
for RING in $(ringsh supervisor ringList); do \
ringsh supervisor ringConfigSet ${RING} join_auto 0; \
ringsh supervisor ringConfigSet ${RING} rebuild_auto 0; \
ringsh supervisor ringConfigSet ${RING} chordpurge_enable 0; \
done
```
- `Leave the node from the UI` or with this loop
```bash
SERVER=myservername (adapt with the correct name)
for NODE in \
$(for RING in $(ringsh supervisor ringList); do \
ringsh supervisor ringStatus ${RING} | \
grep 'Node: ' | \
grep -w ${SERVER} | \
cut -d ' ' -f 3 ;\
done); \
do \
echo ringsh supervisor nodeLeave ${NODE/:/ } ;\
done
```
### Stop the Storage node services :
> **note** Note
> From the storage node
- Identify the roles of the server :
```bash
salt-call grains.get roles
```
Stop all the services
```bash
systemctl disable --now scality-node scality-sagentd scality-srebuildd scality-sophiactl elasticsearch.service
```
Stop S3C :
```bash
systemctl stop s3c@*
crictl ps -a
systemctl disable containerd.service
```
If the node is also ROLE_PROM / ROLE_ELASTIC / ROLE_ZK :
```bash
systemctl stop prometheus
```
**NOW CHANGE THE IP ON THE NODE :**
### Change the IP adress on the supervisor config files :
> **note** Note
> From the supervisor
- Check the ssh connection manually and restart salt-minion
```
systemctl restart salt-minion
```
```bash
Remove / Accept new salt minion KEY
salt-key -d $SERVER
salt-key -L
salt-key -A
```
- Update the `plateform_description.csv` with the new ip
- Regenerate the pillar
- Replace the ip on `/etc/salt/roster`
Replace every instance of the OLDIP with the NEWIP in Salt Pillar config files:
```bash
#/srv/scality/bin/bootstrap -d /root/scality/myplatform.csv --only-pillar -t $SERVER
vim /srv/scality/pillar/scality-common.sls
vim /srv/scality/pillar/{{server}}.sls
salt '*' saltutil.refresh_pillar
salt '*' saltutil.sync_all refresh=True
```
- Check
```bash
grep $OLDIP /srv/scality/pillar/*
```
## RING : Change IP on the Scality-node config.
> **note** Note
> From the storage node
#### Storage node :
- Check the config file :
`cat /etc/scality/node/nodes.conf`
Then change the IP !
```bash
Run a 'dry-run' with -d
/usr/bin/scality-update-chord-ip -n $NEWIP -d
/usr/bin/scality-update-chord-ip -n $NEWIP
/usr/bin/scality-update-node-ip -n $NEWIP -d
/usr/bin/scality-update-node-ip -n $NEWIP
```
- Check the config file after the IP change :
`cat /etc/scality/node/nodes.conf`
#### Srebuildd :
> **note** Note
> FROM THE SUPERVISOR
```
# Target all the storage node.
salt -G 'roles:ROLE_STORE' state.sls scality.srebuildd.configured
```
Check with a grep :
```
salt -G 'roles:ROLE_STORE' cmd.run "grep $OLDIP /etc/scality/srebuildd.conf"
salt -G 'roles:ROLE_STORE' cmd.run "grep $NEWIP /etc/scality/srebuildd.conf"
```
If is still there after the salt state run a sed/replace to get ride of it :
```bash
salt -G 'roles:ROLE_STORE' cmd.run 'sed -i.bak-$(date +"%Y-%m-%d") 's/${OLDIP}/${NEWIP}/' /etc/scality/srebuildd.conf'
```
Check :
```
salt -G 'roles:ROLE_STORE' cmd.run "grep $OLDIP /etc/scality/srebuildd.conf"
```
Restart srebuildd
```
salt -G 'roles:ROLE_STORE' service.restart scality-srebuildd
```
### ElasticSearch :
Redeploy Elastic topology if the node was a ES_ROLE :
```
salt -G 'roles:ROLE_ELASTIC' state.sls scality.elasticsearch.advertised
salt -G 'roles:ROLE_ELASTIC' state.sls scality.elasticsearch
```
#### Sagentd :
> **note** Note
> From the storage node
```bash
salt-call state.sls scality.sagentd.registered
```
- Check with `cat /etc/scality/sagentd.yaml`
### ringsh-conf check
It seems `ringsh show conf` uses store1 to talk to the Ring probably IP has to be changed :
```
ringsh show conf
ringsh supervisor serverList
```
Restart Scality services.
```bash
systemctl enable --now scality-node scality-sagentd scality-srebuildd
```
Now supervisor should be on the UI with the New IP.
If not change the IP on the storage node as explained below :
> **note** Note
> Probably deprecated .... not to be done.
From the supervisor GUI ([http:/](http:)/<IP>/gui), go to server and delete the server which should be red.
From the same page, add a new server and enter the name + new IP.
From the terminal, check that the new server appear and is **online**
As this point storage node is supposed to be back to the Ring with NEW IP.
A bit a bruteforce to check on other servers :
```
# salt '*' cmd.run "grep -rw $OLDIP /etc/"
```
### Restart scality process
```bash
systemctl enable --now scality-node scality-sagentd scality-srebuildd elasticsearch.service
for RING in $(ringsh supervisor ringList); do echo " #### $RING ####"; ringsh supervisor ringStorage $RING; ringsh supervisor ringStatus $RING; done
ringsh supervisor nodeJoinAll DATA
for RING in $(ringsh supervisor ringList); do \
ringsh supervisor ringConfigSet ${RING} join_auto 2; \
ringsh supervisor ringConfigSet ${RING} rebuild_auto 1; \
ringsh supervisor ringConfigSet ${RING} chordpurge_enable 1; \
done
```
### Update SUPAPI DB
Vérifier l'UI, sinon :
```bash
grep -A3 SUP_DB /etc/scality/supapi.yaml |grep password |awk '{print $2}'
psql -U supapi
\dt
table server;
table server_ip;
UPDATE server SET management_ip = '10.98.0.8' WHERE id = 19;
UPDATE server_ip SET address = '10.98.0.8' WHERE id = 17;
```
### ElasticSearch status :
`curl -Ls http://127.0.0.1:4443/api/v0.1/es_proxy/_cluster/health?pretty`
## S3C : Change topology
- Edit the inventory with the new IP :
```
cd /srv/scality/s3/s3-offline/federation
vim env/s3config/inventory
```
- Replace the IP on `group_vars/all`
```
vim env/s3config/group_vars/all
```
We have to advertise first the OTHER SERVERS of the ip change.
Example we are changing the ip on md1-cluster1
We will redeploy the other servers with the new topology
```bash
cd /srv/scality/s3/s3-offline/federation
./ansible-playbook -i env/s3config/inventory run.yml -t s3,DR -l md2-cluster1 --skip-tags "requirements,run::images,cleanup" -e "redis_ip_check=False"
./ansible-playbook -i env/s3config/inventory run.yml -t s3,DR -l md3-cluster1 --skip-tags "requirements,run::images,cleanup" -e "redis_ip_check=False"
./ansible-playbook -i env/s3config/inventory run.yml -t s3,DR -l md4-cluster1 --skip-tags "requirements,run::images,cleanup" -e "redis_ip_check=False"
./ansible-playbook -i env/s3config/inventory run.yml -t s3,DR -l md5-cluster1 --skip-tags "requirements,run::images,cleanup" -e "redis_ip_check=False"
./ansible-playbook -i env/s3config/inventory run.yml -t s3,DR -l stateless2 --skip-tags "requirements,run::images,cleanup" -e "redis_ip_check=False"
./ansible-playbook -i env/s3config/inventory run.yml -t s3,DR -lstateless1 --skip-tags "requirements,run::images,cleanup" -e "redis_ip_check=False"
```
Note : Not sur the tag -t s3,DR will work due to bug with the S3C version.
If this is not the case we will run.yml without `-t`
Then when all the other servers are redeployed now redeploy S3 on the current server : (md1-cluster1)
```bash
./ansible-playbook -i env/s3config/inventory run.yml -l md1-cluster1 --skip-tags "cleanup,run::images" -e "redis_ip_check=False"
```
### Redis on S3C :
Redis on S3C does not like ip adresse change, check his status.
Check the Redis cluster
They are supposed to have all the same IP (same MASTER)
```
../repo/venv/bin/ansible -i env/s3config/inventory -m shell -a 'ctrctl exec redis-server redis-cli -p 16379 sentinel get-master-addr-by-name scality-s3' md[12345]-cluster1
```
```
../repo/venv/bin/ansible -i env/s3config/inventory -m shell -a 'ctrctl exec redis-server redis-cli info replication | grep -E "master_host|role"' md[12345]-cluster1
```

View File

@ -1,26 +0,0 @@
---
title: "Sprint Retrospective"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["meeting", "retro"]
---
# Retrospective - Sprint 1
## What went well ✅
- API REST implémentée rapidement
- Bonne collaboration
- Tests unitaires en place
## What to improve ⚠️
- Documentation à jour
- CI/CD pipeline
- Code reviews plus rapides
## Action items
1. Créer CONTRIBUTING.md
2. Setup GitHub Actions
3. Daily standups à 10h

View File

@ -1,16 +0,0 @@
---
title: Freepro
date: 08-11-2025
last_modified: 10-11-2025:18:12
tags:
- default
---
# Freepro
Commencez à écrire votre note ici...
Blablabla
/kfdkfdkfdk

View File

@ -1,8 +1,11 @@
---
title: "API Design"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["projet", "backend", "api"]
title: API Design
date: 10-11-2025
last_modified: 11-11-2025:15:23
tags:
- projet
- backend
- api
---
# API Design
@ -23,3 +26,6 @@ Pour l'instant, pas d'authentification. À implémenter avec JWT.
## Rate Limiting
À considérer pour la production.
<!-- -->

View File

@ -1,8 +1,11 @@
---
title: "Responsive Design"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["projet", "mobile", "css"]
title: Responsive Design
date: 10-11-2025
last_modified: 10-11-2025:19:59
tags:
- projet
- mobile
- css
---
# Responsive Design

View File

@ -1,8 +1,11 @@
---
title: "Automatic Tagging"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["research", "ai", "nlp"]
title: Automatic Tagging
date: 10-11-2025
last_modified: 11-11-2025:15:41
tags:
- research
- ai
- nlp
---
# Automatic Tagging
@ -24,6 +27,7 @@ Suggest tags based on note content.
### Hybrid
- Combine both approaches
## Training Data
Use existing notes with tags as training set.

View File

@ -1,8 +1,11 @@
---
title: "Typography Research"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["research", "design", "typography"]
title: Typography Research
date: 10-11-2025
last_modified: 11-11-2025:13:52
tags:
- research
- design
- typography
---
# Typography
@ -12,6 +15,8 @@ tags: ["research", "design", "typography"]
- System fonts for UI
- Fira Code for code
## Alternatives
### Sans-serif

View File

@ -1,8 +1,11 @@
---
title: "UI Design Inspiration"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["research", "design", "ui"]
title: UI Design Inspiration
date: 10-11-2025
last_modified: 11-11-2025:15:25
tags:
- research
- design
- ui
---
# UI Inspiration
@ -27,3 +30,5 @@ Consider:
- Nord theme
- Dracula
- Catppuccin
dldkfdddddd

View File

@ -1,8 +1,11 @@
---
title: "Go Performance Optimization"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["research", "tech", "performance"]
title: Go Performance Optimization
date: 10-11-2025
last_modified: 11-11-2025:15:16
tags:
- research
- tech
- performance
---
# Go Performance

View File

@ -1,8 +1,11 @@
---
title: "WebSockets for Live Updates"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["research", "tech", "websocket"]
title: WebSockets for Live Updates
date: 10-11-2025
last_modified: 11-11-2025:15:27
tags:
- research
- tech
- websocket
---
# WebSockets
@ -32,3 +35,5 @@ type Hub struct {
broadcast chan []byte
}
```
lfkfdkfd dd

View File

@ -1,8 +1,9 @@
---
title: "Scratch Pad"
date: "10-11-2025"
last_modified: "10-11-2025:19:21"
tags: ["default"]
title: Scratch Pad
date: 10-11-2025
last_modified: 10-11-2025:20:05
tags:
- default
---
# Scratch Pad

11
notes/test-delete-1.md Normal file
View File

@ -0,0 +1,11 @@
---
title: Test Delete 1
date: 11-11-2025
last_modified: 11-11-2025:15:40
---
test file 1
ddddddddlffdfdddddddddddddd

9
notes/test-delete-2.md Normal file
View File

@ -0,0 +1,9 @@
---
title: Test Delete 2
date: 11-11-2025
last_modified: 11-11-2025:15:13
---
test file 2
/

View File

@ -1,63 +0,0 @@
---
title: Silverbullet
date: 08-11-2025
last_modified: 09-11-2025:01:13
tags:
- ring
---
lsls
#### Server list :
```
C'est un morceau de code.
```
```bash
ringsh supervisor serverList
```
### Show config
Here you will find the `ring password` and `supapi db password`
```bash
ringsh-config show
```
#### Status :
```bash
for RING in $(ringsh supervisor ringList); do echo " #### $RING ####"; ringsh supervisor ringStorage $RING; ringsh supervisor ringStatus $RING; done
```
#### % Disks usage :
```bash
ringsh supervisor ringStatus DATA | egrep -i '^disk' | awk -F ' ' '{if ($6 + 0 !=0) print int( $5 * 100 / $6) "%" }`
for RING in $(ringsh supervisor ringList); do echo " #### $RING ####"; ringsh supervisor ringStatus $RING | egrep -i '^disk' | awk -F ' ' '{if ($6 + 0 !=0) print $3, "is", int( $5 * 100 / $6)"% full" }'; done
```
#### Purge Batch / Chuk Deleted :
```bash
for NODE in $(ringsh supervisor loadConf META | awk '{print $3}'); do echo " ### using node $NODE";ringsh -r META -u $NODE node dumpStats flags_01 ; done
for NODE in $(ringsh supervisor loadConf META | awk '{print $3}'); do echo " ### using node $NODE";ringsh -r DATA -u $NODE node purgeTask fullqueue=1 timetolive=0 absttl=0; done
```
#### Increase number of Batch Delete (1000)
```bash
for NODE in {1..6}; do ringsh -u DATA-storage01-n$NODE -r DATA node configSet msgstore_protocol_chord chordpurgemaxbatch 10000; done
```
#### Rebuild activity :
```bash
salt -G 'roles:ROLE_STORE' cmd.run "grep DELETE /var/log/scality-srebuildd.log-20211001 | cut -c 1-9 | uniq -c"
```