Aller au contenu

Alertmanager : expose API#

Contexte#

Il s'agit d'exposer l'API d'Alertmanager à la demande du client.

CAASCHR#

Champ Description
Titre [PRD] Exposition API Alertmanager
Zones La zone du client
Durée En général 1h

Dans la description, bien revoir ces points :

  • les objectifs
  • la procédure de vérification

Description#

h1. Zones

obs-dtfb

h1. Contexte

On redéploie les ingresses d'Alertmanager pour exposer l'api au client.
Il n'y a pas de CAASCHR staging parce que c'est une demande client limitée à une seule zone.

h1. Préparatif

{code}
client=dtfb
{code}

h1. Déploiement

Faire un {{trackbone apply}} dans la MR.

h1. Mettre les identifiants de l'ingress dans le GitLab externe

A partir de [gitops-tools|https://git.corp.caascad.com/caascad/applications/gitops-tools] :
{code}
git switch main
git pull
cd ngot
./client_repo_set_credentials.py -c configs/comet-prd.yaml -C obs-${client} -a alertmanager
{code}

h1. Vérifications

h2. Ingress sur le cluster

{code}
kswitch svc-monitoring-stack-client-${client}
kubectl get ingress -l app=alertmanager-v2 -n monitoring-stack-client-obs-${client} -o yaml | grep  nginx.ingress.kubernetes.io/whitelist-source-range
{code}

*Résultat attendu*:  aucune ligne

h2. Connexion sur l'api

Se déconnecter du VPN, et lancer les commandes :
{code}
curl https://alertmanager.obs-dtfb.cloudservicesfactory.com
curl https://alertmanager-0.obs-dtfb.cloudservicesfactory.com
curl https://alertmanager-1.obs-dtfb.cloudservicesfactory.com
{code}

*Résultat attendu*: 
{code}
<html>
<head><title>401 Authorization Required</title></head>
<body>
<center><h1>401 Authorization Required</h1></center>
<hr><center>nginx</center>
</body>
</html>
{code}

h2. Identifiants dans le Gitlab Externe

Aller dans les variables CI/CD sur le [GitLab Externe|https://sourcehub.orange-business.com/cs-factory/cs-factory-environments/obs-dtfb/-/settings/ci_cd] et vérifier la présence de ALERTMANAGER_USERNAME et ALERTMANAGER_PASSWORD.

h1. Fin

Merger la MR envs-ng.