Skip to main content
Version: 3.0.0-alpha (Diátaxis)

Concepts — S3 Buckets

Architecture

Hikube's Object Storage service is built on SeaweedFS, an S3-compatible object storage solution. Data is automatically triple-replicated across 3 geographically distinct datacenters, ensuring high availability even in the event of a complete datacenter loss.


Terminology

TermDescription
BucketKubernetes resource (apps.cozystack.io/v1alpha1) representing an S3 bucket. Only one required field: the name.
Object StorageUnstructured storage based on objects (files) identified by a unique key.
S3-compatibleAPI compatible with the Amazon S3 protocol, supported by the vast majority of tools and SDKs.
SeaweedFSOpen-source distributed storage system, S3-compatible, used as the backend by Hikube.
Access Key / Secret KeyCredential pair for S3 authentication, automatically generated in a Kubernetes Secret.
BucketInfoJSON field in the Secret containing the S3 endpoint, protocol, and port.
EndpointHikube S3 service URL: https://prod.s3.hikube.cloud

How it works

Creation

Creating a bucket is the simplest of all Hikube resources:

bucket.yaml
apiVersion: apps.cozystack.io/v1alpha1
kind: Bucket
metadata:
name: my-data
spec: {}

The operator automatically creates:

  1. The bucket in SeaweedFS
  2. A Kubernetes Secret containing the access credentials

Automatic credentials

The Secret <bucket-name>-credentials contains:

KeyDescription
accessKeyIDS3 access key
accessSecretKeyS3 secret key
bucketInfoJSON with endpoint, protocol, and port

Multi-datacenter triple replication

Data is automatically replicated across 3 datacenters:

DatacenterLocation
Region 1Geneva
Region 2Gland
Region 3Lucerne

This architecture guarantees:

  • Zero data loss in case of a datacenter failure
  • Service continuity with automatic failover
  • Optimized latency from Switzerland and Europe
tip

Triple replication is transparent — you have nothing to configure. All data is automatically replicated.


Compatible tools

The service is compatible with all tools supporting the S3 protocol:

ToolUse case
AWS CLICommand-line file management
MinIO Client (mc)S3-compatible command-line client
rcloneData synchronization and migration
s3cmdAlternative S3 management
VeleroKubernetes cluster backup
ResticDatabase backup (PostgreSQL, MySQL, ClickHouse)
SDKsboto3 (Python), AWS SDK (Go, Java, Node.js)

Use cases

Use caseDescription
Asset storageImages, videos, static files for web applications
BackupDestination for database and K8s cluster backups
Data lakeRaw data storage for analytics
ArchivalLong-term retention of documents and logs

Limits and quotas

ParameterValue
Max object sizeDepending on backend configuration
Number of bucketsDepending on tenant quota
ReplicationTriple (3 DC), automatic
Endpointhttps://prod.s3.hikube.cloud

Further reading