Menu
Open source

Object storage

Tempo Operator supports AWS S3, Azure, GCS, Minio and OpenShift Data Foundation for TempoStack object storage.

AWS S3

Requirements

Installation

  • Deploy the Tempo Operator to your cluster.

  • Create an Object Storage secret with keys as follows:

    console
    kubectl create secret generic tempostack-dev-s3 \
      --from-literal=bucket="<BUCKET_NAME>" \
      --from-literal=endpoint="<AWS_BUCKET_ENDPOINT>" \
      --from-literal=access_key_id="<AWS_ACCESS_KEY_ID>" \
      --from-literal=access_key_secret="<AWS_ACCESS_KEY_SECRET>"

    where tempostack-dev-s3 is the secret name.

  • Create an instance of TempoStack by referencing the secret name and type as s3:

    yaml
    spec:
      storage:
        secret:
          name: tempostack-dev-s3
          type: s3

Azure

Requirements

Installation

  • Deploy the Tempo Operator to your cluster.

  • Create an Object Storage secret with keys as follows:

    console
    kubectl create secret generic tempostack-dev-azure \
      --from-literal=container="<AZURE_CONTAINER_NAME>" \
      --from-literal=account_name="<AZURE_ACCOUNT_NAME>" \
      --from-literal=account_key="<AZURE_ACCOUNT_KEY>"

    where tempostack-dev-azure is the secret name.

  • Create an instance of TempoStack by referencing the secret name and type as azure:

    yaml
    spec:
      storage:
        secret:
          name: tempostack-dev-azure
          type: azure

Google Cloud Storage

Requirements

  • Create a project on Google Cloud Platform.
  • Create a bucket under same project.
  • Create a service account under same project for GCP authentication.

Installation

  • Deploy the Tempo Operator to your cluster.

  • Copy the service account credentials received from GCP into a file name key.json.

  • Create an Object Storage secret with keys bucketname and key.json as follows:

    console
    kubectl create secret generic tempostack-dev-gcs \
      --from-literal=bucketname="<BUCKET_NAME>" \
      --from-file=key.json="<PATH/TO/KEY.JSON>"

    where tempostack-dev-gcs is the secret name, <BUCKET_NAME> is the name of bucket created in requirements step and <PATH/TO/KEY.JSON> is the file path where the key.json was copied to.

  • Create an instance of TempoStack by referencing the secret name and type as gcs:

    yaml
    spec:
      storage:
        secret:
          name: tempostack-dev-gcs
          type: gcs

MinIO

Requirements

  • Deploy MinIO on your cluster, e.g. using the MinIO Operator or another method.

  • Create a bucket on MinIO using the CLI.

Installation

  • Deploy the Tempo Operator to your cluster.

  • Create an Object Storage secret with keys as follows:

    console
    kubectl create secret generic tempostack-dev-minio \
      --from-literal=bucket="<BUCKET_NAME>" \
      --from-literal=endpoint="<MINIO_BUCKET_ENDPOINT>" \
      --from-literal=access_key_id="<MINIO_ACCESS_KEY_ID>" \
      --from-literal=access_key_secret="<MINIO_ACCESS_KEY_SECRET>"

    where tempostack-dev-minio is the secret name.

  • Create an instance of TempoStack by referencing the secret name and type as s3:

    yaml
    spec:
      storage:
        secret:
          name: tempostack-dev-minio
          type: s3

OpenShift Data Foundation

Requirements

Installation

  • Deploy the Tempo Operator to your cluster.

  • Create an Object Storage secret with keys as follows:

    console
    kubectl create secret generic tempostack-dev-odf \
      --from-literal=bucket="<BUCKET_NAME>" \
      --from-literal=endpoint="https://s3.openshift-storage.svc" \
      --from-literal=access_key_id="<ACCESS_KEY_ID>" \
      --from-literal=access_key_secret="<ACCESS_KEY_SECRET>"

    where tempostack-dev-odf is the secret name. You can copy the values for BUCKET_NAME, ACCESS_KEY_ID and ACCESS_KEY_SECRET from your ObjectBucketClaim’s accompanied secret.

  • Create an instance of TempoStack by referencing the secret name and type as s3:

    yaml
    spec:
      storage:
        secret:
          name: tempostack-dev-odf
          type: s3