Skip to content

cloud-pi-native/helm-istio-ines

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

helm-istio-ines

Introduction

Ce HelmChart permet de configurer les éléments istio nécessaire au projet pour l'accès vers INES depuis l'un des clusters situé au ministère.

Le projet devra renseigner les valeurs correspondante afin de fournir son certificat d'accès a INES encrypté à l'aide de SOPS et la commande présente dans la partie configuration.

Le projet pourra ensuite accèder a ines en utilisant http://{{ines.host}}/ sans avoir a gérer le MTLS de son coté celui-ci étant porté par istio.

Configuration

Encryption du secret

Pour encoder le secret il faudra utilisé la commande sops suivante avec la AGE_KEY correspondante au cluster de déployement et renseigner le secretData et secretSops en récupérant la partie data et sops du sopssecret généré les informations comme le nom etc seront généré dynamiquement par le helmChart

sops -e --age $AGE_KEY --encrypted_regex (crt|key) myinescert.yaml > myinescert.yaml.enc.yaml

Pour plus d'information consulter la documentation sur la gestion des secrets

Ajout du sidecar istio

Afin de pouvoir communiqué avec l'egress gateway d'istio, un sidecar devra être à vos déployement necessitant l'utilisation d'INES. Pour cela l'ajout du label sidecar.istio.io/inject: "true" sera necessaire ainsi que l'utilisation d'un serviceAccount spécifique serviceAccount: istio-sa.

Exemple d'ajout du sidecar :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
  labels:
    app: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        sidecar.istio.io/inject: "true"
        app: nginx
        env: dev
        tier: frontend
    spec:
      serviceAccount: istio-sa
      serviceAccountName: istio-sa
      containers:
        - name: nginx
          image: bitnami/nginx:1.25.3
          ports:
            - containerPort: 8080
          resources:
            limits:
              cpu: 50m
              memory: "128Mi"
            requests:
              cpu: 5m
              memory: "128Mi"
          livenessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 8080
              scheme: HTTP
            initialDelaySeconds: 10
            periodSeconds: 60
            successThreshold: 1
            timeoutSeconds: 1
          readinessProbe:
            failureThreshold: 3
            httpGet:
              path: /
              port: 8080
              scheme: HTTP
            periodSeconds: 10
            successThreshold: 1
            timeoutSeconds: 1

Helm values

Parameter Description Default
ines.name Surcharge du nom pour identifier les ressources ines-myprj-dev
ines.host hostname d'accès vers INES ines.dev.mi.fr
ines.secretData contenu du SopsSecret à partir de data data: ...
ines.secretSops contenu du SopsSecret à partir de sops sops: ...

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published