> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Options de déploiement avec Helm

> Configurations avancées de déploiement de ClickStack avec Helm

<Warning>
  **Version 2.x du chart**

  Cette page documente le chart Helm **v2.x** basé sur des sous-charts. Si vous utilisez encore le chart v1.x à modèle inline, consultez [Options de déploiement avec Helm (v1.x)](/fr/clickstack/deployment/helm-deployment-options-v1). Pour la procédure de migration, consultez le [Guide de mise à niveau](/fr/clickstack/deployment/helm-upgrade).
</Warning>

Ce guide présente les options avancées de déploiement de ClickStack avec Helm. Pour l'installation de base, consultez le [guide principal de déploiement avec Helm](/fr/clickstack/deployment/helm).

<div id="overview">
  ## Vue d’ensemble
</div>

Le chart Helm de ClickStack prend en charge plusieurs configurations de déploiement :

* **Stack complet** (par défaut) — Tous les composants sont inclus, gérés par des opérateurs Kubernetes
* **ClickHouse externe** — Utiliser un cluster ClickHouse existant
* **OTel collector externe** — Utiliser une infrastructure OTel existante
* **Déploiement minimal** — HyperDX uniquement, dépendances externes

<div id="external-clickhouse">
  ## ClickHouse externe
</div>

Si vous disposez déjà d’un cluster ClickHouse (y compris ClickHouse Cloud), vous pouvez désactiver le ClickHouse intégré et vous connecter à votre instance externe.

<div id="external-clickhouse-inline">
  ### Option 1 : Configuration inline (développement/tests)
</div>

Utilisez cette approche pour des tests rapides ou des environnements non productifs. Renseignez les informations de connexion via `hyperdx.config` et `hyperdx.secrets` :

```yaml theme={null}
# values-external-clickhouse.yaml
clickhouse:
  enabled: false  # Disable the operator-managed ClickHouse

hyperdx:
  secrets:
    CLICKHOUSE_PASSWORD: "your-password"
    CLICKHOUSE_APP_PASSWORD: "your-password"

  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]
```

Installez avec cette configuration :

```shell theme={null}
helm install my-clickstack clickstack/clickstack -f values-external-clickhouse.yaml
```

<div id="external-clickhouse-secret">
  ### Option 2 : Secret externe (recommandé pour la production)
</div>

Pour les déploiements en production, si vous souhaitez conserver les identifiants séparés de votre configuration Helm :

<div id="create-configuration">
  #### Créez vos fichiers de configuration
</div>

```bash theme={null}
# Create connections.json
cat <<EOF > connections.json
[
  {
    "name": "Production ClickHouse",
    "host": "https://your-production-clickhouse.com",
    "port": 8123,
    "username": "hyperdx_user",
    "password": "your-secure-password"
  }
]
EOF

# Create sources.json
cat <<EOF > sources.json
[
  {
    "from": {
      "databaseName": "default",
      "tableName": "otel_logs"
    },
    "kind": "log",
    "name": "Logs",
    "connection": "Production ClickHouse",
    "timestampValueExpression": "TimestampTime",
    "displayedTimestampValueExpression": "Timestamp",
    "implicitColumnExpression": "Body",
    "serviceNameExpression": "ServiceName",
    "bodyExpression": "Body",
    "eventAttributesExpression": "LogAttributes",
    "resourceAttributesExpression": "ResourceAttributes",
    "severityTextExpression": "SeverityText",
    "traceIdExpression": "TraceId",
    "spanIdExpression": "SpanId"
  },
  {
    "from": {
      "databaseName": "default",
      "tableName": "otel_traces"
    },
    "kind": "trace",
    "name": "Traces",
    "connection": "Production ClickHouse",
    "timestampValueExpression": "Timestamp",
    "displayedTimestampValueExpression": "Timestamp",
    "implicitColumnExpression": "SpanName",
    "serviceNameExpression": "ServiceName",
    "traceIdExpression": "TraceId",
    "spanIdExpression": "SpanId",
    "durationExpression": "Duration"
  }
]
EOF
```

<div id="create-kubernetes-secret">
  #### Créer le secret Kubernetes
</div>

```bash theme={null}
kubectl create secret generic hyperdx-external-config \
  --from-file=connections.json=connections.json \
  --from-file=sources.json=sources.json

# Clean up local files
rm connections.json sources.json
```

<div id="configure-helm-secret">
  #### Configurer Helm pour utiliser le secret
</div>

```yaml theme={null}
# values-external-clickhouse-secret.yaml
clickhouse:
  enabled: false

hyperdx:
  useExistingConfigSecret: true
  existingConfigSecret: "hyperdx-external-config"
  existingConfigConnectionsKey: "connections.json"
  existingConfigSourcesKey: "sources.json"
```

```shell theme={null}
helm install my-clickstack clickstack/clickstack -f values-external-clickhouse-secret.yaml
```

<div id="using-clickhouse-cloud">
  ### Utilisation de ClickHouse Cloud
</div>

Dans le cas de ClickHouse Cloud :

```yaml theme={null}
# values-clickhouse-cloud.yaml
clickhouse:
  enabled: false

hyperdx:
  secrets:
    CLICKHOUSE_PASSWORD: "your-cloud-password"
    CLICKHOUSE_APP_PASSWORD: "your-cloud-password"

  useExistingConfigSecret: true
  existingConfigSecret: "clickhouse-cloud-config"
  existingConfigConnectionsKey: "connections.json"
  existingConfigSourcesKey: "sources.json"
```

<div id="external-otel-collector">
  ## OTEL collector externe
</div>

Si vous avez déjà une infrastructure de collectors OTEL en place, désactivez le sous-chart :

```yaml theme={null}
# values-external-otel.yaml
otel-collector:
  enabled: false  # Disable the subchart OTEL collector

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"
```

```shell theme={null}
helm install my-clickstack clickstack/clickstack -f values-external-otel.yaml
```

Pour savoir comment exposer les points de terminaison de l’OTel collector via un Ingress, consultez [Configuration d’Ingress](/fr/clickstack/deployment/helm-configuration#otel-collector-ingress).

<div id="minimal-deployment">
  ## Déploiement minimal
</div>

Pour les organisations disposant déjà de leur propre infrastructure, déployez uniquement HyperDX :

```yaml theme={null}
# values-minimal.yaml
clickhouse:
  enabled: false

otel-collector:
  enabled: false

hyperdx:
  otelExporterEndpoint: "http://your-otel-collector:4318"

  # Option 1: Inline (for testing)
  defaultConnections: |
    [
      {
        "name": "External ClickHouse",
        "host": "http://your-clickhouse-server:8123",
        "port": 8123,
        "username": "your-username",
        "password": "your-password"
      }
    ]

  # Option 2: External secret (production)
  # useExistingConfigSecret: true
  # existingConfigSecret: "my-external-config"
  # existingConfigConnectionsKey: "connections.json"
  # existingConfigSourcesKey: "sources.json"
```

```shell theme={null}
helm install my-clickstack clickstack/clickstack -f values-minimal.yaml
```

<div id="next-steps">
  ## Étapes suivantes
</div>

* [Guide de configuration](/fr/clickstack/deployment/helm-configuration) - Clés API, secrets et configuration de l’ingress
* [Déploiements Cloud](/fr/clickstack/deployment/helm-cloud) - Configurations spécifiques à GKE, EKS et AKS
* [Guide de mise à niveau](/fr/clickstack/deployment/helm-upgrade) - Migration de v1.x vers v2.x
* [Manifestes supplémentaires](/fr/clickstack/deployment/helm-additional-manifests) - Objets Kubernetes personnalisés
* [Guide principal de Helm](/fr/clickstack/deployment/helm) - Installation de base
* [Options de déploiement (v1.x)](/fr/clickstack/deployment/helm-deployment-options-v1) - Options de déploiement pour v1.x
