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.