Menu
Open source RSS

Configure storage

The scalable installation requires a managed object store such as AWS S3 or Google Cloud Storage or a self-hosted store such as Minio. The single binary installation can use the filesystem for storage, but we recommend configuring object storage via cloud provider or pointing Loki at a MinIO cluster for production deployments.

This guide assumes Loki will be installed in one of the modes above and that a values.yaml has been created.

To use a managed object store:

  1. In the values.yaml file, set the value for storage.type to azure, gcs, or s3.

  2. Configure the storage client under loki.storage.azure, loki.storage.gcs, or loki.storage.s3.

To install Minio alongside Loki:

  1. Change the configuration in values.yaml:

    • Enable Minio
    yaml
    minio:
      enabled: true

To grant access to S3 via an IAM role without providing credentials:

  1. Provision an IAM role, policy and S3 bucket as described in Storage.

    • If the Terraform module was used note the annotation emitted by terraform output -raw annotation.
  2. Add the IAM role annotation to the service account in values.yaml:

    serviceAccount:
      annotations:
        "eks.amazonaws.com/role-arn": "arn:aws:iam::<account id>:role/<role name>"
  3. Configure the storage:

    loki:
      storage:
        type: "s3"
        s3:
          region: eu-central-1
        bucketNames:
          chunks: <bucket name>
          ruler: <bucket name>
          admin: <bucket name>

    Note that endpoint, secretAccessKey and accessKeyId have been omitted.