diff --git a/CHANGELOG.md b/CHANGELOG.md index ce2ebed..33891e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,9 @@ * Add --all option to octodns-validate to enable showing all record validation errors (as warnings) rather than exiting on the first. Exit code is non-zero when there are any validation errors. +* New `post_processors` manager configuration parameter to add global processors + that run AFTER zone-specific processors. This should allow more complete + control over when processors are run. ## v1.0.0 - 2023-07-30 - The One diff --git a/octodns/manager.py b/octodns/manager.py index 40912dc..a75b9b1 100644 --- a/octodns/manager.py +++ b/octodns/manager.py @@ -114,6 +114,11 @@ class Manager(object): self.global_processors = manager_config.get('processors', []) self.log.info('__init__: global_processors=%s', self.global_processors) + self.global_post_processors = manager_config.get('post_processors', []) + self.log.info( + '__init__: global_post_processors=%s', self.global_post_processors + ) + providers_config = self.config['providers'] self.providers = self._config_providers(providers_config) @@ -634,7 +639,11 @@ class Manager(object): try: collected = [] - for processor in self.global_processors + processors: + for processor in ( + self.global_processors + + processors + + self.global_post_processors + ): collected.append(self.processors[processor]) processors = collected except KeyError: