Skip to main content
The Resolve Satellite uses two types of secrets:
  1. Ingest Token: Authenticates the Satellite over an encrypted channel
  2. Integration Tokens: Authenticate with on-premises data sources (e.g., Grafana, Elasticsearch, Splunk)
For security best practice, use Kubernetes secrets and encrypt etcd at rest. The satellite automatically mounts these secrets as files in the pod at /etc/secrets/<secret-name>/. The raw secret values are never exposed to Resolve’s Cloud and stay strictly within the walls of your Satellite deployment. They are used to authenticate with on-premises data sources.
Security Recommendation for Production EnvironmentsWe recommend using secret management solutions already approved by your security team.In order to ensure that secrets are properly encrypted and managed according to enterprise security standards:

Choose Your Setup Method

Select the approach that matches your environment and security requirements: Setup Ingest Token: Setup Tokens for Your Integrations: See Integration Token Configuration to connect on-premises data sources.

Configuring Your Ingest Token

The Satellite requires an ingest token to authenticate with the Resolve backend. Choose one of the following methods based on your environment.

Ingest Token with Kubernetes Secret

This method stores your ingest token as a native Kubernetes secret, keeping it separate from your configuration files.

Step 1: Create the Secret

Create a Kubernetes secret containing your ingest token:
Create secret

Step 2: Reference in Values File

Reference the secret in your resolve-values.yaml:
resolve-values.yaml
Security Best PracticeThis values file should be applied by a cluster admin and should not be checked into version control systems. Use your organization’s secure deployment practices for managing Helm values files.
The Satellite will automatically read the token from the secret at runtime.

Ingest Token with External Secrets Manager

For enterprise environments using external secrets managers. This method integrates with AWS Secrets Manager, Azure Key Vault, HashiCorp Vault, or other providers via the Secrets Store CSI Driver.

Prerequisites

  • Secrets Store CSI Driver installed in your cluster
  • Secret named resolve-satellite-token created in your secrets manager with the ingest token value

Step 1: Create Secret Provider Class

Create a secret-provider-class.yaml file configured for your secrets provider. Refer to the Secrets Store CSI Driver documentation for provider-specific configuration.
secret-provider-class.yaml

Step 2: Apply the Secret Provider Class

Step 3: Configure Values File

Configure your resolve-values.yaml to use the external secrets:
resolve-values.yaml
Note: The token will be mounted from /mnt/secrets-store/resolve-satellite-token. Ensure your secret contains the token value in plain text or as a JSON object with a token key.

Integration Token Configuration

Integration tokens authenticate the Satellite with on-premises data sources like Grafana, Elasticsearch, Splunk, and others. The setup pattern is similar to ingest tokens—you create a Kubernetes secret, then reference it in your values file.

Step 1: Create the Kubernetes Secret

Create a secret containing your integration credentials. Most integrations need only an API token:
Create integration secret
Example for Logz.io:
For integrations requiring multiple credentials (username/password, multiple keys), use multiple --from-literal flags. See Kubernetes Secret Operations below for more examples.

Step 2: Configure Integration in Values File

Reference the secret in your resolve-values.yaml file. See the Reference Schema for integration-specific connection parameters.
resolve-values.yaml
Example for Logz.io:
resolve-values.yaml
The Helm chart includes a file watcher that automatically detects integration updates, removing the need to manually restart the Satellite after each change. See Install the Resolve Satellite for deployment instructions.

Reference: Kubernetes Secret Operations

This section provides reference commands for creating and managing Kubernetes secrets.

Creating Secrets

Create a secret with a single key:
Single key secret
Create a secret with multiple keys:
Multiple key secret
Resulting Secret:
secret.yaml

Verifying Secrets

Check if your secret exists:
Check secret
Verify secret contents (be careful with sensitive data):
Verify contents