This repository was archived by the owner on Nov 24, 2025. It is now read-only.
Add blueprint for a Global Configuration object#7015
Open
ocket8888 wants to merge 1 commit intoapache:masterfrom
Open
Add blueprint for a Global Configuration object#7015ocket8888 wants to merge 1 commit intoapache:masterfrom
ocket8888 wants to merge 1 commit intoapache:masterfrom
Conversation
Contributor
|
My understanding is that this addresses #1969 , but its not clear to me just how yet. Does the use of Global Configuration simply make the past use of parameters obsolete? |
Contributor
Author
|
No, I don't believe this to really be directly related to #1969. This will not obviate the use of Parameters in general. It's only meant to take the place of "global"-like Parameters. |
ec269a4 to
e1a8165
Compare
e1a8165 to
cea1bd7
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Currently, we use a ton of "global" Parameters to configure large-scale settings for ATC instances. Not only are many of these undocumented, but they are by nature prone to human error. Any user (with the right Permissions) could accidentally delete the Parameter, or associate it with the wrong Profile (or no Profile at all which is only sometimes a problem), or make a value that may seem correct and they are given no warning or error by either TP or the TO API but the value is invalid or unusable. And of course in nearly every case it's possible that more than one Parameter that something would use exists, because multiple Parameters by the same Name and with the same Config File can exist with differing Values. In these cases, the value that's actually used any given time a component checks the Parameter is an implementation detail of PostgreSQL (at best).
Naturally, what "global" means is also highly nebulous. There are some instances where a component checks for a Parameter with some given Name, with no other criteria, so any Parameter with that name assigned to any Profile of any Profile Type in any
CDN - or not assigned to any Profile(s) at all - with that Name will be considered "global" under some circumstances. Sometimes a check is made for a Parameter with a specific Name assigned to a Profile with the Name "GLOBAL" (which may or may not exist, can be in any CDN, have any Profile Type, and be assigned to any server(s) and/or Delivery Service(s)). Sometimes a check is made for some Parameter with a specific name and the Config File value "global". Sometimes something will look for a Parameter in the
CRConfig.jsonConfig File. And there are checks for any combination of these restrictions.Instead, it would be more deterministic, easier to use, more visible, and enable validation of settings if there were just a single "Global Configuration". Furthermore, components would no longer need to handle the case where a setting does not exist.
Which Traffic Control components are affected by this PR?
None.
What is the best way to verify this PR?
Read the blueprint.
PR submission checklist