Aller au contenu

Guide de Déploiement

Options de déploiement Argy : SaaS, Hybride avec Agent Self-Hosted, et Enterprise avec LLM Gateway On-Premise.

Argy propose plusieurs modes de déploiement pour s'adapter à vos contraintes de sécurité, de conformité et de souveraineté des données.

Architecture SaaS (vue d’ensemble)

Argy opère un control plane managé en Europe avec des points d’entrée dédiés pour le Portal, l’API et le LLM Gateway. La gouvernance est centralisée (quotas, audit, policies) tout en isolant les workloads clients.

Haute disponibilité & continuité

  • Multi‑région active/standby : France Central (primaire) + North Europe (standby).
  • Répartition multi‑zones et autoscaling automatique.
  • Bascule automatique des endpoints publics.
  • RPO cible : 2h (réplication + sauvegardes géo).
  • RTO cible : 30 min (failover automatisé).

Options de Déploiement

1. SaaS (Cloud Managé)

Le mode par défaut, idéal pour un démarrage rapide.

Caractéristiques :

  • Infrastructure managée sur Azure en Europe
  • Conformité RGPD native
  • SLA 99.9% de disponibilité
  • Mises à jour automatiques et transparentes
  • Support inclus selon votre plan

Prérequis :

  • Aucune infrastructure à provisionner
  • Accès Internet pour vos utilisateurs

URLs d'accès :

  • Console : https://portal.argy.cloud
  • API : https://api.argy.cloud
  • LLM Gateway : https://llm.argy.cloud

2. Hybride (Agent Self-Hosted)

Control Plane SaaS + Agents déployés dans votre infrastructure pour exécuter les actions sensibles.

Caractéristiques :

  • Agents docker légers déployés dans votre réseau
  • Connexion sortante uniquement (pas d'exposition de ports)
  • Accès direct à vos ressources internes (Git, Kubernetes, Cloud)
  • Logs streamés en temps réel vers Argy

Idéal pour :

  • Entreprises avec ressources internes non exposées sur Internet
  • Environnements avec contraintes de sécurité réseau
  • Accès à des clusters Kubernetes privés

Disponible sur : plans Growth et Enterprise.

Installation de l'Agent

Prérequis :

  • Docker ou Kubernetes
  • Accès sortant vers api.argy.cloud:443
  • Token d'agent généré depuis la console Argy

Étape 1 : Générer un token d'agent

  1. Connectez-vous à la console Argy
  2. Allez dans ParamètresAgents
  3. Cliquez sur Créer un agent
  4. Nommez votre agent (ex: agent-prod-datacenter-paris)
  5. Copiez le token généré (il ne sera plus affiché)

Étape 2 : Déployer l'agent avec Docker

docker run -d \
  --name argy-agent \
  --restart unless-stopped \
  -e ARGY_AGENT_TOKEN="votre-token-ici" \
  -e ARGY_API_URL="https://api.argy.cloud" \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v ~/.kube:/root/.kube:ro \
  ghcr.io/argy/agent:latest

Étape 3 : Déployer l'agent sur Kubernetes

apiVersion: apps/v1
kind: Deployment
metadata:
  name: argy-agent
  namespace: argy-system
spec:
  replicas: 1
  selector:
    matchLabels:
      app: argy-agent
  template:
    metadata:
      labels:
        app: argy-agent
    spec:
      serviceAccountName: argy-agent
      containers:
      - name: agent
        image: ghcr.io/argy/agent:latest
        env:
        - name: ARGY_AGENT_TOKEN
          valueFrom:
            secretKeyRef:
              name: argy-agent-secret
              key: token
        - name: ARGY_API_URL
          value: "https://api.argy.cloud"
        resources:
          requests:
            memory: "128Mi"
            cpu: "100m"
          limits:
            memory: "512Mi"
            cpu: "500m"
---
apiVersion: v1
kind: Secret
metadata:
  name: argy-agent-secret
  namespace: argy-system
type: Opaque
stringData:
  token: "votre-token-ici"
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: argy-agent
  namespace: argy-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: argy-agent
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin  # Ajustez selon vos besoins
subjects:
- kind: ServiceAccount
  name: argy-agent
  namespace: argy-system

Étape 4 : Vérifier la connexion

Dans la console Argy, l'agent devrait apparaître comme "Connecté" dans ParamètresAgents.


3. Enterprise (LLM Gateway On-Premise)

Déployez le LLM Gateway dans votre infrastructure pour garder vos données IA en interne.

Caractéristiques :

  • LLM Gateway déployé chez vous
  • Vos clés API LLM restent dans votre périmètre
  • Audit complet des requêtes IA en local
  • Synchronisation des quotas avec Argy SaaS
  • Option full on‑prem (Enterprise)

Idéal pour :

  • Grandes entreprises avec exigences strictes de souveraineté
  • Secteurs réglementés (finance, santé, défense)
  • Organisations avec politiques de données sensibles

Installation du LLM Gateway On-Premise

Prérequis :

  • Kubernetes cluster (1.25+)
  • PostgreSQL 15+ (pour les traces)
  • Redis 7+ (pour le cache, recommandé)
  • Accès sortant vers les fournisseurs LLM
  • Accès sortant vers api.argy.cloud:443 (synchronisation quotas)

Étape 1 : Préparer la base de données

-- Créer la base de données
CREATE DATABASE argy_llm_gateway;

-- Créer l'utilisateur
CREATE USER argy_llm WITH PASSWORD 'votre-mot-de-passe-securisé';
GRANT ALL PRIVILEGES ON DATABASE argy_llm_gateway TO argy_llm;

Étape 2 : Configurer les secrets Kubernetes

apiVersion: v1
kind: Secret
metadata:
  name: argy-llm-gateway-secrets
  namespace: argy-system
type: Opaque
stringData:
  # Connexion à Argy SaaS pour sync quotas
  ARGY_API_URL: "https://api.argy.cloud"
  ARGY_TENANT_TOKEN: "votre-token-tenant"
  
  # Base de données
  DATABASE_URL: "postgresql://argy_llm:password@postgres:5432/argy_llm_gateway"
  
  # Redis (optionnel mais recommandé)
  REDIS_URL: "redis://redis:6379"
  
  # Clés API des fournisseurs LLM
  OPENAI_API_KEY: "sk-..."
  ANTHROPIC_API_KEY: "sk-ant-..."
  GOOGLE_API_KEY: "..."
  AZURE_OPENAI_API_KEY: "..."
  AZURE_OPENAI_ENDPOINT: "https://your-resource.openai.azure.com"

Étape 3 : Déployer le LLM Gateway

apiVersion: apps/v1
kind: Deployment
metadata:
  name: argy-llm-gateway
  namespace: argy-system
spec:
  replicas: 2
  selector:
    matchLabels:
      app: argy-llm-gateway
  template:
    metadata:
      labels:
        app: argy-llm-gateway
    spec:
      containers:
      - name: llm-gateway
        image: ghcr.io/argy/llm-gateway:latest
        ports:
        - containerPort: 3009
        envFrom:
        - secretRef:
            name: argy-llm-gateway-secrets
        resources:
          requests:
            memory: "256Mi"
            cpu: "200m"
          limits:
            memory: "1Gi"
            cpu: "1000m"
        livenessProbe:
          httpGet:
            path: /health
            port: 3009
          initialDelaySeconds: 10
          periodSeconds: 10
        readinessProbe:
          httpGet:
            path: /ready
            port: 3009
          initialDelaySeconds: 5
          periodSeconds: 5
---
apiVersion: v1
kind: Service
metadata:
  name: argy-llm-gateway
  namespace: argy-system
spec:
  selector:
    app: argy-llm-gateway
  ports:
  - port: 443
    targetPort: 3009
  type: ClusterIP

Étape 4 : Configurer l'Ingress (optionnel)

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: argy-llm-gateway
  namespace: argy-system
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "true"
spec:
  tls:
  - hosts:
    - llm.votre-domaine.internal
    secretName: llm-gateway-tls
  rules:
  - host: llm.votre-domaine.internal
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: argy-llm-gateway
            port:
              number: 443

Étape 5 : Configurer le tenant dans Argy

  1. Contactez le support Argy pour activer le mode on-premise
  2. Fournissez l'URL de votre LLM Gateway (ex: https://llm.votre-domaine.internal)
  3. Argy configurera le claim llm_gateway_url dans les JWT de vos utilisateurs

Flux Réseau à Ouvrir

Mode Hybride (Agent Self-Hosted)

SourceDestinationPortProtocoleDirectionDescription
Agent Argyapi.argy.cloud443HTTPS/gRPCSortantCommunication Agent → Control Plane
Agent ArgyVos ressources internesVariableVariableInterneExécution des actions (Terraform, K8s, Git)

Mode Enterprise (LLM Gateway On-Premise)

SourceDestinationPortProtocoleDirectionDescription
Agent Argyapi.argy.cloud443HTTPS/gRPCSortantCommunication Agent → Control Plane
LLM Gatewayapi.openai.com443HTTPSSortantAppels OpenAI
LLM Gatewayapi.anthropic.com443HTTPSSortantAppels Anthropic
LLM Gatewaygenerativelanguage.googleapis.com443HTTPSSortantAppels Google Gemini
LLM Gatewayapi.x.ai443HTTPSSortantAppels Mistral AI
LLM Gateway*.openai.azure.com443HTTPSSortantAppels Azure OpenAI
LLM Gatewayapi.argy.cloud443HTTPSSortantSynchronisation quotas et audit
Argy Code / IDELLM Gateway interne443HTTPSInterneRequêtes IA depuis les postes dev

Diagramme d'Architecture

Schéma des options de déploiement Argy (SaaS, Hybride, Enterprise)


Checklist de Déploiement

Mode SaaS

  • Créer un compte sur portal.argy.cloud
  • Configurer le SSO (optionnel)
  • Inviter les membres de l'équipe
  • Créer votre premier produit

Mode Hybride

  • Générer un token d'agent dans la console
  • Déployer l'agent (Docker ou Kubernetes)
  • Vérifier la connexion dans la console
  • Configurer les accès aux ressources internes
  • Tester un premier déploiement

Mode Enterprise

  • Contacter le support Argy pour l'activation
  • Provisionner PostgreSQL et Redis
  • Déployer le LLM Gateway
  • Configurer les clés API des fournisseurs LLM
  • Configurer l'URL du LLM Gateway dans Argy
  • Tester les appels IA depuis Argy Code