Ingress
Installation basée sur Helm
Dans votre fichier values.yaml, ajoutez l'extrait suivant, adapté à vos besoins :
ingress:
enabled: true
# -- Ingress controller in use in the cluster. Mandatory if using istio or `experimental.ingressRoutes=true`
# Supported: ingress-nginx / traefik / contour / aws_alb / openshift (Openshift Route) / istio
controller: 'ingress-nginx'
pathType: 'Prefix'
path: '/'
ingressClassName: 'my-class-name'
annotations:
kubernetes.io/ingress.class: <ingress_class> # for ingress controllers that do not support ingressClassName
labels:
example.of.a.label: 'my-label'
tls:
enabled: true
existingSecret: 'secret-containing-the-ingress-tls-certificates'
istio:
# -- Istio revision, if any
revision: ''
gateway:
# -- Enable Istio gateway handling
enabled: false
# -- Istio Gateway name
name: ''
# -- Istio Gateway namespace
namespace: ''
# -- Istio Gateway selector
selector: 'ingressgateway'
Consultez Certificat TLS pour obtenir de l'aide sur la configuration de TLS.
Le chart Helm de GitGuardian peut également exposer le trafic externe via l'API Gateway de Kubernetes au lieu de la ressource Ingress héritée. Ceci est utile dans les clusters multi-tenant ou lorsque votre équipe plateforme a standardisé l'utilisation de Gateway API. Consultez Gateway API.
La fonctionnalité expérimentale des routes Ingress est dépréciée. Pour les utilisateurs existants, consultez Routes Ingress héritées. Les nouveaux déploiements doivent utiliser le routage standard basé sur nginx.
Installation basée sur KOTS
Sur les clusters existants, un Ingress par défaut est fourni. Cet Ingress par défaut est soutenu par un service Kubernetes (nommé gitguardian).
L'Ingress par défaut est personnalisable, ce qui permet de modifier le className, le pathType, ainsi que les Annotations/Labels.
TLS sera activé si vous téléversez un certificat dans la section TLS certificates.
Dans la Console d'administration KOTS, vous pouvez configurer les paramètres suivants :
- ClassName de la ressource à utiliser
- PathType et Path pour router vers l'instance GitGuardian
- Annotations et Labels spécifiques à votre ingress controller

Utiliser votre propre Ingress
Vous avez la possibilité de désactiver l'Ingress par défaut et de configurer le vôtre. Voici comment procéder selon votre type d'installation :
Installation basée sur Helm
Dans le fichier values.yaml, définissez le paramètre ingress.enabled sur false.
Installation basée sur KOTS
Dans la Console d'administration KOTS, utilisez simplement un Service.

Configuration personnalisée de l'ingress
Si vous choisissez d'utiliser votre propre Ingress, voici les champs que vous devrez modifier :
defaultBackendingressClassName(utilisez ceci pour les Ingress controllers qui le prennent en charge ; sinon, utilisez l'annotation dépréciéekubernetes.io/ingress.class)rulestls
Pour obtenir plus de détails sur chacun de ces champs, exécutez la commande kubectl explain ingress.spec.
Configuration du protocole
Le backend du service est configuré pour écouter uniquement en HTTPS, et votre Ingress doit être configuré en conséquence.
Si vous utilisez le contrôleur Ingress NGINX, cette configuration est déjà prise en charge dans l'Ingress inclus via l'annotation nginx.ingress.kubernetes.io/backend-protocol: HTTPS. Cependant, si vous utilisez un autre Ingress controller, vous devrez peut-être ajouter les annotations nécessaires dans la zone de texte prévue à cet effet.
Exemple de configuration
Voici un exemple de configuration d'Ingress personnalisée :
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: <ingress_class> # for ingress controllers that do not support ingressClassName
labels:
kots.io/app-slug: gitguardian-seal
kots.io/backup: velero
name: gitguardian
namespace: <your-namespace>
spec:
ingressClassName: <ingress_class> # for ingress controllers that support this field
rules:
- host: <application_hostname>
http:
paths:
- backend:
service:
name: gitguardian
port:
number: 443
path: /
pathType: Prefix
tls:
- hosts:
- <application_hostname>
secretName: <secret_name> # when using a kubernetes secret