Get started (free)

Storage

The storage module is a file browser for S3-compatible object storage. Users browse buckets, upload and download files, preview common formats such as CSV, Parquet, images, PDFs and archives, and edit text files.

The module is disabled by default. To enable it, add an encryption key to the cockpit Secret:

$ kubectl patch secret cockpit --type merge \
  -p "{\"stringData\":{\"storage-encryption-key\":\"$(openssl rand -hex 32)\"}}"

Then set:

features:
  storage:
    enabled: true
storage:
  encryptionKey:
    secretKeyRef:
      name: cockpit
      key: storage-encryption-key (1)
1 A 64-character hex string. Keep a backup, see below.

Each user adds their own S3 storage connections in the UI. Cockpit stores them in the database, with the credentials encrypted by the encryption key. If the key changes or is lost, the stored credentials can no longer be read.

For S3 endpoints with a private CA, see CA certificates.

File operations

Cut, copy, paste, rename and drag-and-drop move are disabled by default, because they can cause many S3 requests:

features:
  storage:
    transfer: true

Limits

Preview sizes, upload and transfer concurrency, the archive cache and the download history retention are set under storage, see the storage environment variables reference:

storage:
  filePreviewRows: 500
  maxEditableFileSize: 10485760 (1)
config:
  bodySizeLimit: 12M
1 config.bodySizeLimit must be at least this large, otherwise saving large files fails.