This commit is contained in:
Debian 2025-08-28 09:49:34 +00:00
commit 4a771baa7d
4 changed files with 98 additions and 0 deletions

12
.gitignore vendored Normal file
View File

@ -0,0 +1,12 @@
.idea/
.vscode/
4NK_node/
4NK_template/
4NK_wallet/
ihm_client/
sdk_client/
sdk_common/
sdk_relay/
sdk_signer/
sdk_signer_client/
sdk_storage/

37
docs/modules.md Normal file
View File

@ -0,0 +1,37 @@
# Modules Docker (4NK_dev)
## 4NK_node
- Sappuie sur le `docker-compose.yml` existant dans `4NK_node/`.
- Scripts:
- `modules/4NK_node/build.sh` : construit les services avec `docker compose build`.
- `modules/4NK_node/up.sh` : démarre les services en détaché.
- `modules/4NK_node/down.sh` : arrête et nettoie les services.
- `modules/4NK_node/logs.sh` : affiche les logs (suivi).
- `modules/4NK_node/clean.sh` : down -v + prune dimages.
- Version/tag: lit `4NK_node/VERSION` si présent, sinon utilise `git describe` pour définir `COMPOSE_PROJECT_NAME`.
## 4NK_template
- Dockerfile multi-stage Node fourni dans `modules/4NK_template/Dockerfile`.
- Scripts:
- `modules/4NK_template/build.sh` : build de limage à partir de `4NK_template/`.
- `modules/4NK_template/run.sh` : exécute limage, mappe le port 3000.
- `modules/4NK_template/clean.sh` : supprime limage construite et fait un prune.
- Version/tag: lit `4NK_template/VERSION` si présent, sinon `git describe`.
## Prérequis
- Docker et Docker Compose (plugin) installés.
## Utilisation (séquentielle)
1. Construire 4NK_node
- `bash modules/4NK_node/build.sh`
2. Démarrer 4NK_node
- `bash modules/4NK_node/up.sh`
3. Construire 4NK_template
- `bash modules/4NK_template/build.sh`
4. Lancer 4NK_template
- `bash modules/4NK_template/run.sh`
5. Logs 4NK_node
- `bash modules/4NK_node/logs.sh`
6. Arrêt 4NK_node
- `bash modules/4NK_node/down.sh`

11
repos.csv Normal file
View File

@ -0,0 +1,11 @@
name,url,type,target,directory
sdk_storage,https://git.4nkweb.com/4nk/sdk_storage.git,branch,docker-support,sdk_storage
sdk_signer_client,https://git.4nkweb.com/4nk/sdk_signer_client.git,create_from,master->docker-support,sdk_signer_client
sdk_signer,https://git.4nkweb.com/4nk/sdk_signer.git,branch,docker-support,sdk_signer
ihm_client,https://git.4nkweb.com/4nk/ihm_client.git,branch,docker-support,ihm_client
sdk_relay,https://git.4nkweb.com/4nk/sdk_relay.git,branch,docker-support,sdk_relay
sdk_common,https://git.4nkweb.com/4nk/sdk_common.git,branch,docker-support,sdk_common
4NK_wallet,https://git.4nkweb.com/4nk/4NK_wallet.git,create_from,main->docker-support,4NK_wallet
sdk_client,https://git.4nkweb.com/4nk/sdk_client.git,branch,docker-support,sdk_client
4NK_template,https://git.4nkweb.com/4nk/4NK_template.git,branch,main,4NK_template
4NK_node,git@git.4nkweb.com:4nk/4NK_node.git,branch,main,4NK_node
1 name url type target directory
2 sdk_storage https://git.4nkweb.com/4nk/sdk_storage.git branch docker-support sdk_storage
3 sdk_signer_client https://git.4nkweb.com/4nk/sdk_signer_client.git create_from master->docker-support sdk_signer_client
4 sdk_signer https://git.4nkweb.com/4nk/sdk_signer.git branch docker-support sdk_signer
5 ihm_client https://git.4nkweb.com/4nk/ihm_client.git branch docker-support ihm_client
6 sdk_relay https://git.4nkweb.com/4nk/sdk_relay.git branch docker-support sdk_relay
7 sdk_common https://git.4nkweb.com/4nk/sdk_common.git branch docker-support sdk_common
8 4NK_wallet https://git.4nkweb.com/4nk/4NK_wallet.git create_from main->docker-support 4NK_wallet
9 sdk_client https://git.4nkweb.com/4nk/sdk_client.git branch docker-support sdk_client
10 4NK_template https://git.4nkweb.com/4nk/4NK_template.git branch main 4NK_template
11 4NK_node git@git.4nkweb.com:4nk/4NK_node.git branch main 4NK_node

38
update_repos.sh Executable file
View File

@ -0,0 +1,38 @@
#!/usr/bin/env bash
set -euo pipefail
CSV_FILE="repos.csv"
IFS=,
while read -r name url type target directory; do
if [ "$name" = "name" ]; then continue; fi
echo "\n[Repo] $name -> $directory"
if [ ! -d "$directory" ]; then
echo "[Clone] $url"
git clone --progress "$url" "$directory" || true
fi
echo "[Fetch] $directory"
git -C "$directory" fetch --all --prune --tags --progress || true
case "$type" in
branch)
echo "[Checkout] $target"
if git -C "$directory" show-ref --verify --quiet "refs/remotes/origin/$target"; then
git -C "$directory" checkout "$target" 2>/dev/null || git -C "$directory" checkout -B "$target" "origin/$target"
git -C "$directory" reset --hard "origin/$target"
else
echo "[Warn] Branche $target introuvable pour $name"
fi
;;
create_from)
base="${target%%->*}"
newb="${target##*->}"
echo "[Create] $newb depuis $base"
if git -C "$directory" show-ref --verify --quiet "refs/remotes/origin/$base"; then
git -C "$directory" checkout -B "$newb" "origin/$base"
else
echo "[Error] Base $base introuvable pour $name"
fi
;;
*)
echo "[Warn] Type inconnu: $type"
;;
esac
done < "$CSV_FILE"