Skip to content

components: Expose admin's irc relay to other cluster through ingress

Antoine R. Dumont requested to merge add-ingress-on-irc-relay into production

This:

  • mainly exposes the irc relay publicly (so other clusters can push their alerts with authentication to the same irc relay than the one exposed on the admin cluster)
  • adapts the alertmanager irc relay config accordingly (moving the config related to alertmanager into its own folder and its own key)
  • adapts minikube configuration so we can entertain it locally to check ^ works
  • adapts the alertmanager-irc-relay config actually is reloaded when a configuration change occurs

minikube testing is all good (you can check #minikube-swh-sysadm irc room).

The reverse proxy deployed in the admin cluster needs some dedicated work [1].

[1] swh/infra/puppet/puppet-swh-site!635 (merged)

End goal:

graph LR;

  subgraph environment internet
    irc
  end

  ingress[ingress <br /> alertmanager-irc-relay.internal.admin.swh.network] --> |routing rule| service;

  subgraph environment admin
    rp[alertmanager-irc-relay.admin.swh.network];
    rp --> ingress
  
    subgraph cluster admin
      ingress;
      alertmanager_adm;
      alertmanager_adm --> service([alertmanager_irc_relay]);
      service-->pod[Pod];
      pod -.push alerts.-> irc([/join #swh-sysadm]);
    end
  end
  
  subgraph environment rocq
    subgraph cluster staging
      alertmanager_stg;
      alertmanager_stg --> ingress;
    end

    subgraph cluster production
      alertmanager_prd;
      alertmanager_prd --> ingress;
    end
  end

  subgraph environment azure
    subgraph cluster gitlab
      alertmanager_glb;
      alertmanager_glb --> rp;
    end
  
    subgraph cluster rancher
      alertmanager_rch;
      alertmanager_rch --> rp;
    end
  end
  
  classDef plain fill:#ddd,stroke:#fff,stroke-width:4px,color:#000;
  classDef k8s fill:#326ce5,stroke:#fff,stroke-width:4px,color:#fff;
  classDef cluster fill:#fff,stroke:#bbb,stroke-width:2px,color:#326ce5;
  
  class ingress,service,pod k8s;
  class alertmanager_prd,alertmanager_stg,alertmanager_adm,alertmanager_glb,alertmanager_rch plain;
  class cluster,environment cluster;

Refs. swh/infra/sysadm-environment#4525

Edited by Antoine R. Dumont

Merge request reports