Details
-
Epic
-
Resolution: Resolved
-
Major
-
None
-
ctrcfg
-
10
Description
Centralized Persistent Configuration
With the exception of Sync Gateway replications (ISGR), the only way to persist configuration settings or updates is through updates to the Sync Gateway JSON config file, typically requiring a restart of the Sync Gateway in order to take effect.
Provide a centralized peristent config for iSGR
PRD: https://docs.google.com/document/d/1tGtc1fQt0aK1QqzYKyeQTC7UpR-O-sfISgkC4MHdNUU/edit?usp=sharing
Impacted Assets:
- config-properties.adoc
- sg.yaml
- sync-gateway-admin.yaml
- sync-gateway-public.yaml
- rest-admin-api.adoc
- rest-public-api.adoc
- gs-sgw-api-access.adoc
- separation of classic and persistent config/rest topics needed
- upgrade.adoc to document upgrade path
- whats new
- release notes – config and behavior changes
Docs Tickets: DOC-8212 (epic)
Dev Tickets: CM-573
Planned changes:
Planned Changes:
- New topic page(s) for configuration by config file
- API Changes:
- New topic page(s) for configuration by API
- Amendments as required to
- rest-admin-api.adoc
- rest-public-api.adoc
- api-access.adoc
- Revised versions of existing yaml files for config and API to match new specs (per impacted assets above)
- sg.yaml
- sync-gateway-admin.yaml
- sync-gateway-public.yaml
- New upgrade topic(s) to cover upgrade scenarios. This includes expanding out the existing upgrade content into separate content pages
- Add summary to release notes
- Add summary to what's new
- Summarize config changes in release notes
- Summarize API changes in release notes
(extract) ... The “cluster-aware” configuration enhancements will vastly simplify the administration and management of Sync Gateway clusters by supporting dynamic, modular and persistent config changes via a RESTful interface .
https://docs.google.com/document/d/1tGtc1fQt0aK1QqzYKyeQTC7UpR-O-sfISgkC4MHdNUU/edit#
- The size of Sync Gateway clusters are growing and many deployments are homogeneous in configuration. Requiring the same config change to be made on each sync gateway node individually is tedious.
- The ability to dynamically update the configuration of a Sync Gateway cluster in a persistent fashion would ensure that changes are not lost during sync gateway restarts (crashes or deliberate restarts) potentially leading to inconsistent system state.
- The ability to remotely administer and update the run time configuration of sync gateway config via REST endpoint would vastly simplify manageability in a managed cloud environment (such as Couchbase Cloud).
- Sync Gateway cluster in multi-tenant applications handle databases for different tenants. Any configuration change made for one tenant or adding a new tenant to the cluster would require a restart of the cluster impacting all tenants which is undesirable. This would be more prevalent with collections support in future.
- The current monolithic config file is difficult to maintain, inflexible and subject to user error. Modularizing the configuration would simplify maintenance.