|
1 | | -# NHS Notify Config |
| 1 | +# NHS Notify Supplier Config |
2 | 2 |
|
3 | | -This repository contains code and schemas for NHS Notify configuration management, event publishing, and onboarding automation. |
| 3 | +This repository contains code and schemas for NHS Notify supplier configuration management and event publishing. |
4 | 4 |
|
5 | 5 | ## Purpose |
6 | 6 |
|
7 | | -- **Configuration Model:** Defines and manages client, campaign, quota, supplier, and routing configuration for NHS Notify. |
8 | | -- **Event Schemas:** Publishes configuration changes as events to an event bus for consumption by other system components. |
9 | | -- **Onboarding Automation:** Automates and streamlines the onboarding of new integrators, supporting self-serve and admin-driven workflows. |
| 7 | +- **Configuration Model:** Defines and manages supplier, quota, routing, and related configuration for NHS Notify |
| 8 | + suppliers. |
| 9 | +- **Event Schemas:** Publishes configuration changes as events to an event bus for consumption by other system |
| 10 | + components. |
10 | 11 |
|
11 | 12 | ## Design |
12 | 13 |
|
13 | 14 | ### Configuration Management |
14 | 15 |
|
15 | | -A phased approach will be used to improve client configuration management: |
| 16 | +A phased approach will be used to improve supplier configuration management: |
16 | 17 |
|
17 | 18 | 1. **Libraries & Validation:** Standardise configuration and naming, reduce manual errors, and improve auditability. |
18 | | -2. **API Layer:** Centralise access to configuration data. |
19 | | -3. **Web UI:** Enable operations/admin teams to manage configuration with validation and audit trails. |
| 19 | +2. **API Layer:** Centralise access to supplier configuration data. |
| 20 | +3. **Web UI:** Enable operations/admin teams to manage supplier configuration with validation and audit trails. |
20 | 21 |
|
21 | 22 | Configuration entities include: |
22 | 23 |
|
23 | | -- `client`, `campaign`, `client_feature`, `client_quota`, `client_subscription` |
24 | | -- `mesh_mailbox`, `apim_application`, `govuknotify_account` |
25 | | -- `supplier_quota`, `channel_supplier`, `queue`, `suppression_filter`, `additional_mesh_report_subscription` |
| 24 | +- `supplier_quota`, `channel_supplier`, `queue`, `suppression_filter`, `govuknotify_account` |
26 | 25 |
|
27 | 26 | Configuration changes are validated, auditable, and published to environments via an event bus. |
28 | 27 |
|
29 | 28 | ### Event Publishing |
30 | 29 |
|
31 | | -Configuration changes are published as events to a central event bus, enabling decoupled updates across bounded contexts (core, print supplier API, template/routing UI, user management, etc.). |
| 30 | +Configuration changes are published as events to a central event bus, enabling decoupled updates across bounded |
| 31 | +contexts (core, print supplier API, template/routing UI, user management, etc.). |
32 | 32 |
|
33 | 33 | Event publishing strategies include: |
34 | 34 |
|
35 | 35 | - CLI tools (tactical) |
36 | | -- Scheduled audit tasks (tactical) |
37 | 36 | - Admin/Web UI (strategic, single source of truth) |
38 | 37 |
|
39 | | -### Onboarding Automation |
40 | | - |
41 | | -Quick Start onboarding will enable rapid, self-serve client setup in INT: |
42 | | - |
43 | | -- **Phase 1:** CLI/script automation using minimal data (client name, APIM ID, etc.) |
44 | | -- **Phase 2:** Web UI for onboarding, protected by CIS2 auth, triggers config change events |
45 | | -- **Phase 3:** Admin UI for incremental client config management and production promotion |
46 | | -- **Phase 4:** Full self-serve onboarding via Web UI (admin approval for production) |
47 | | - |
48 | 38 | ## Usage |
49 | 39 |
|
50 | 40 | ### Testing |
|
0 commit comments