feat: jpa, messaging, notification, mongo, graphql 어댑터터 구현체 추가
This commit is contained in:
@@ -4244,3 +4244,164 @@ env_keys:
|
||||
validation: positive_int_bounded
|
||||
compatibility_impact: behavior-change
|
||||
required_test: async-contract:executor-queue-bounded
|
||||
|
||||
# === Notification delivery platform (NTF-025 — configuration surface) ===
|
||||
# The tree exists in application.yml as ca-skeleton.notification.platform, disabled by
|
||||
# default. Every key carries an inline default so a deployment that leaves the platform off
|
||||
# supplies nothing. Reference: docs/notification/configuration.md.
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_ENABLED
|
||||
# source: NTF-025 — master switch for the notification delivery platform; false binds nothing at all
|
||||
type: boolean
|
||||
default: false
|
||||
allowed_values: [true, false]
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: boolean
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-platform-disabled-safe
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_MODE
|
||||
# source: NTF-025 — SERVING refuses to start without a working provider; ACCEPT_ONLY stores and does not dispatch
|
||||
type: enum
|
||||
default: SERVING
|
||||
allowed_values: [SERVING, ACCEPT_ONLY]
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: enum_of_notification_platform_mode
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-platform-mode
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_CLAIM_BATCH_SIZE
|
||||
# source: NTF-025 — how many recipient deliveries one scheduler pass claims; 1..1000, refused outside that at binding
|
||||
type: integer
|
||||
default: 50
|
||||
allowed_values: null
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: integer_1_to_1000
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-dispatch-bounds
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_LEASE_DURATION
|
||||
# source: NTF-025 — must outlast a provider call plus its timeout, or a live worker's delivery is claimed by a second one
|
||||
type: duration
|
||||
default: 2m
|
||||
allowed_values: null
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: positive_duration
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-lease-fencing
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_POLL_INTERVAL
|
||||
# source: NTF-025 — how often the scheduler asks for work when the last pass claimed nothing
|
||||
type: duration
|
||||
default: 1s
|
||||
allowed_values: null
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: positive_duration
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-dispatch-bounds
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_MAX_CONCURRENCY
|
||||
# source: NTF-025 — ceiling on in-flight provider calls across the whole process
|
||||
type: integer
|
||||
default: 64
|
||||
allowed_values: null
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: positive_integer
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-dispatch-bounds
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_MAX_ADDITIONAL_ATTEMPTS
|
||||
# source: NTF-025 — retries after the first attempt; 0 means one attempt and no retry
|
||||
type: integer
|
||||
default: 4
|
||||
allowed_values: null
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: non_negative_integer
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-retry-policy
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_MAX_QUEUE_AGE
|
||||
# source: NTF-025 — after this, a queued delivery expires rather than being sent late
|
||||
type: duration
|
||||
default: 24h
|
||||
allowed_values: null
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: positive_duration
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-expiry
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_ALLOW_AMBIGUOUS_FALLBACK
|
||||
# source: NTF-025 — an ambiguous attempt reached the provider with an unread outcome; falling back risks a duplicate send
|
||||
type: boolean
|
||||
default: false
|
||||
allowed_values: [true, false]
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: boolean
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-ambiguity
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_CALLBACKS_ENABLED
|
||||
# source: NTF-025 — whether the platform exposes provider callback endpoints
|
||||
type: boolean
|
||||
default: false
|
||||
allowed_values: [true, false]
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: boolean
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-callback-ingestion
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_CALLBACK_MAX_BODY_BYTES
|
||||
# source: NTF-025 — ceiling is 65508 = ciphertext column minus AES-GCM nonce and tag; larger is refused at binding
|
||||
type: integer
|
||||
default: 65508
|
||||
allowed_values: null
|
||||
classification: public-config
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: integer_1_to_65508
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-callback-body-bound
|
||||
|
||||
- name: APP_NOTIFICATION_PLATFORM_CALLBACK_REPLAY_SKEW
|
||||
# source: NTF-025 — how far a callback timestamp may differ from local time before it is treated as a replay
|
||||
type: duration
|
||||
default: 5m
|
||||
allowed_values: null
|
||||
classification: security-relevant
|
||||
required: false
|
||||
reload_policy: restart-only
|
||||
owner_branch: worktree-notification-platform
|
||||
validation: positive_duration
|
||||
compatibility_impact: behavior-change
|
||||
required_test: adapter-contract:notification-callback-replay
|
||||
|
||||
Reference in New Issue
Block a user