Aller au contenu principal

Buckets S3

Bêta

Fonctionnalité en cours de déploiement. L'interface décrite ici est celle de la prochaine livraison : elle peut encore évoluer, et n'est pas forcément activée sur votre tenant.

Un bucket stocke vos fichiers (images, sauvegardes, exports) derrière une API compatible S3 : tous les outils S3 habituels fonctionnent (CLI AWS, SDK, rclone…). Ce guide montre comment déclarer un bucket, obtenir des clés, l'utiliser, et ce qui se passe à sa suppression.

Prérequis​

  • La CLI sng authentifiée (sng sso login) et une session de tenant (sng tenant use acme).
  • Le droit d'appliquer des manifestes (deploy:write, inclus dans readwrite).

1. Choisir un niveau de service​

sng s3 classes

La commande liste les classes de stockage et les régions proposées. Les deux classes courantes :

ClasseCe que vous obtenez
standardVos données sont stockées sur un site.
multi-zoneVos données sont copiées sur plusieurs sites de la région.

La région d'un bucket ne peut pas être modifiée après sa création.

2. Déclarer le bucket​

sng template gen VirtualBucket photos > photos.yml
photos.yml
apiVersion: s3.stackngo.io/v1alpha1
kind: VirtualBucket
metadata:
name: photos
spec:
storageClassName: multi-zone
region: eu-west
sng apply photos.yml

Le nom global du bucket est <tenant>-photos (par exemple acme-photos). Vous pouvez en choisir un autre avec spec.bucketName ; il doit alors être unique sur toute la plateforme.

3. Obtenir des clés temporaires​

Il n'existe pas de clé d'accès permanente : votre session est échangée contre des clés valables au plus une heure, renouvelées automatiquement par les outils qui le savent.

~/.aws/config
[profile stackngo]
credential_process = sng s3 credentials
endpoint_url = https://s3.dev.stackngo.fr
region = eu-west
aws --profile stackngo s3 cp ./photo.jpg s3://acme-photos/2026/photo.jpg
aws --profile stackngo s3 ls s3://acme-photos/

Pour un outil sans credential_process :

eval "$(sng s3 credentials --format env)"

--duration 15m à --duration 1h règle la durée des clés.

4. Gérer les droits​

Les droits viennent des policies de votre tenant : s3:read, s3:write, s3:delete et s3:list sur bucket/<nom> ou sur un préfixe, bucket/<nom>/<préfixe>*. Sans policy, l'accès est refusé. Un tenant n'accède jamais aux buckets d'un autre.

5. Supprimer un bucket​

sng kind delete VirtualBucket photos
La suppression est définitive

Supprimer le manifeste supprime aussi tous les objets du bucket, sans corbeille. Le nom global est ensuite libéré. La suppression des fichiers peut prendre quelques minutes pour un bucket volumineux ; copiez d'abord ce que vous voulez garder.

Limites​

  • Le bucket est accessible en adressage par chemin (https://s3.dev.stackngo.fr/acme-photos) ou par hôte (https://acme-photos.s3.dev.stackngo.fr).
  • La région d'un bucket est immuable ; pour en changer, créez un nouveau bucket et copiez les données.

Voir aussi​