Page MenuHomePhabricator

Move notification servers config to local files
Closed, ResolvedPublic

Description

Currently, the aphlict configuration used by Phab/Phorge is stored in the DB as a hidden & locked config. The configuration doesn't contain any sensitive data and it would be better to have it committed in a repo somewhere so it can be added to the local Phorge disk config files.

It seems like the config did live in Puppet at some point when aphlict was collocated on the same machine with Phorge, but it's currently disabled. Then it was presumably moved to the DB manually when aphlict was moved to its own separate host.

We can add the configuration to Puppet, so it becomes part of the standard process of bootstrapping a Phorge target or alternatively, the configuration could live in the Scap3 deployment repository, where it would be part of our deployments.

Event Timeline

@eoghan would you happen to know why the config value was added manually to the DB instead of keeping it in Puppet?

@Peachey88 Thanks for pointing to that. I'm not sure it applies anymore though, given we are more recently creating most of the Phab config with Puppet and writing it to files: https://gerrit.wikimedia.org/r/plugins/gitiles/operations/puppet/+/refs/heads/production/modules/profile/manifests/phabricator/main.pp#280. But it probably explains the decision.

Change 961045 had a related patch set uploaded (by Jaime Nuche; author: Jaime Nuche):

[operations/puppet@production] phabricator: add configuration for the remote aphlict server

https://gerrit.wikimedia.org/r/961045

Change 961045 merged by EoghanGaffney:

[operations/puppet@production] phabricator: add configuration for the remote aphlict server

https://gerrit.wikimedia.org/r/961045

jnuche closed this task as Resolved.EditedOct 18 2023, 3:34 PM
jnuche claimed this task.

Config is now local:

{
  "config": [
    {
      "key": "notification.servers",
      "source": "local",
      "value": [
        {
          "host": "phabricator.wikimedia.org",
          "port": 443,
          "protocol": "https",
          "type": "client"
        },
        {
          "host": "aphlict.discovery.wmnet",
          "port": 22281,
          "protocol": "http",
          "type": "admin"
        }
      ],
      "status": "set",
      "errorInfo": null
    },
    {
      "key": "notification.servers",
      "source": "database",
      "value": null,
      "status": "unset",
      "errorInfo": null
    }
  ]
}