connect: allow for multiple config entries to be modified in a single transaction
- Dominant language
- Go
- Stars
- 30.1k
- Forks
- 4.6k
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 43
Description
Consul 1.6.0 enforces various constraints on the config entries used in the discovery chain. When a config entry modification is attempted, that change is vetted against the rest of the config entries and any possible discovery chain involved. This prevents changes that would otherwise break the data model.
There are situations where it becomes hard if not impossible to edit config entries after creation if only a single config entry is allowed to be modified at a time. For example:
1. create `service-resolver:a` with `redirect { service = "b" }`
2. create `service-defaults:a` with `protocol = "grpc"`
Step 2 fails because `b` is still `tcp`. You can't set `b` to `grpc` because it would break for the same reason. This could be sidestepped if multiple changes could be submitted in the same transaction.
Contributor guide
Assessment
This issue has not been assessed yet.