Fournisseur de stockage
colis avec MinIO
Une commande Docker, et tout le parcours de livraison tourne sur votre laptop.
import { createBucket } from '@colis/core'
const store = createBucket({
bucket: 'transfers',
endpoint: 'http://localhost:9000',
credentials: { accessKeyId: 'minioadmin', secretAccessKey: 'minioadmin' },
})Pourquoi celui-ci
MinIO
Un MinIO local est la façon la moins chère d’essayer colis pour de vrai : le même PutObject avec les mêmes en-têtes conditionnels, aucun compte à créer et aucun réseau à attendre. Le .env.example de la page de livraison a un bloc prévu pour lui.
En ligne de commande
Un fichier de départ, et ce qu’il reste à faire.
init écrit le fichier avec des références ${VAR} plutôt que des secrets : il est fait pour être versionné ; le fichier d’environnement qu’il désigne, non.
{
"bucket": "transfers",
"endpoint": "http://localhost:9000",
"forcePathStyle": true,
"prefix": "transfers",
"expiresIn": "1h",
"credentials": { "accessKeyId": "minioadmin", "secretAccessKey": "minioadmin" }
}Ensuite
- 01docker run -p 9000:9000 -p 9001:9001 -e MINIO_ROOT_USER=minioadmin -e MINIO_ROOT_PASSWORD=minioadmin quay.io/minio/minio server /data --console-address ":9001"
- 02Créez le bucket depuis la console sur http://localhost:9001.
- 03Lancez
colis verifier. Il effectue les opérations dont colis a besoin et rapporte ce qui s’est passé.
À savoir
Notes sur MinIO.
Adressage path-style
Les passerelles auto-hébergées exigent https://endpoint/bucket/key. Définir un endpoint l’active ; la configuration de départ l’écrit explicitement pour que l’intention soit visible.
Auto-hébergé en production aussi
La même configuration, avec de vrais identifiants et TLS, tourne contre un cluster MinIO ou toute passerelle qui implémente le PutObject conditionnel. colis verifier vous dit si la vôtre le fait.
Nettoyage des expirés
L’expiration empêche un colis d’être remis ; seule une règle de cycle de vie supprime l’objet. Donnez au préfixe une règle qui expire les objets après un jour ou deux, et colis verifier passe au vert.
Autres fournisseurs
Seul l’endpoint change.
Vous envoyez. Ils valident. Vous le savez.
Votre stockage, une page de livraison à votre nom, un webhook à chaque étape. Rien d’hébergé chez un tiers.