Skip to main content

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​