docs: RELEASE_SIGNING à jour — keystore versionné dans le dépôt privé comme sauvegarde
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
d936b0d55d
commit
d834ea4955
|
|
@ -13,6 +13,7 @@
|
|||
!/.gitignore
|
||||
!/kazeia-android/
|
||||
!/docs/
|
||||
!/keystore/
|
||||
!/scripts/
|
||||
!/executorch-custom/
|
||||
!/executorch-patches/
|
||||
|
|
|
|||
|
|
@ -20,9 +20,12 @@ Empreinte du certificat (référence pour vérifier qu'on signe avec la bonne cl
|
|||
SHA256: 4B:40:8D:9D:40:09:FD:68:F7:FD:5B:E0:BD:64:2B:D3:EE:B8:F8:BD:7A:84:D3:9C:84:90:B8:63:21:AF:E4:90
|
||||
```
|
||||
|
||||
Le dossier `keystore/` est **hors git** (le `.gitignore` racine est en liste blanche : tout
|
||||
ce qui n'est pas explicitement inclus est ignoré). C'est voulu : un keystore + ses mots de
|
||||
passe ne vont jamais dans un dépôt.
|
||||
**Le dossier `keystore/` est VERSIONNÉ dans le dépôt git** (décision 2026-06-11 : le dépôt
|
||||
`git.kazeia.com` est privé, auto-hébergé, équipe restreinte → le git sert de sauvegarde de
|
||||
la clé). Conséquences à garder en tête :
|
||||
- **accès au dépôt = capacité de signer des mises à jour Kazeia** ;
|
||||
- la clé reste dans l'historique git pour toujours ;
|
||||
- **si le dépôt doit un jour être ouvert/partagé plus largement → rotation de clé AVANT** (§7).
|
||||
|
||||
## 2. Comment c'est câblé
|
||||
|
||||
|
|
@ -68,17 +71,17 @@ vérifient le SHA-256, et proposent l'installation (dialogue système).
|
|||
La clé EST l'identité de l'app. Android n'accepte une mise à jour que si elle est signée
|
||||
par la **même clé** que la version installée.
|
||||
|
||||
**À faire immédiatement et à chaque rotation de machine :**
|
||||
```bash
|
||||
# Copier le dossier ENTIER (jks + credentials) vers AU MOINS DEUX emplacements hors machine :
|
||||
tar czf kazeia-keystore-$(date +%Y%m%d).tar.gz -C /opt/Kazeia keystore/
|
||||
# → Nextcloud (dossier PRIVÉ, pas le partage soft/), clé USB au coffre, gestionnaire de mots de passe…
|
||||
```
|
||||
Recommandé : déposer l'archive sur `box.kazeia.com` dans un dossier **privé** + une copie
|
||||
hors-ligne (USB). Vérifier la restauration une fois (`tar xzf` + `keytool -list`).
|
||||
**Sauvegarde principale : le dépôt git privé** (`keystore/` est versionné, cf §1). Une panne
|
||||
de la machine de build ne coûte donc plus la clé — tant que `git.kazeia.com` est vivant.
|
||||
|
||||
**Sur une nouvelle machine de build** : restaurer `keystore/` dans `/opt/Kazeia/`,
|
||||
vérifier `chmod 600`, builder — rien d'autre à configurer.
|
||||
**Recommandé en plus** (le git et la machine de build peuvent partager un même sinistre —
|
||||
serveur et poste au même endroit) : une copie hors-ligne occasionnelle :
|
||||
```bash
|
||||
tar czf kazeia-keystore-$(date +%Y%m%d).tar.gz -C /opt/Kazeia keystore/ # → USB / coffre
|
||||
```
|
||||
|
||||
**Sur une nouvelle machine de build** : `git clone` suffit — `keystore/` arrive avec le dépôt.
|
||||
Vérifier `chmod 600 keystore/credentials.properties`, builder, rien d'autre à configurer.
|
||||
|
||||
## 5. Scénarios de panne
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue