change config file to manage composition#291
change config file to manage composition#291atoulme wants to merge 6 commits intoopen-telemetry:mainfrom
Conversation
9465b6d to
e88ebc2
Compare
bbcfb7b to
1f73f24
Compare
mmanciop
left a comment
There was a problem hiding this comment.
I would prefer to avoid breaking changes like this, which likely will go unnoticed by users and will just result in apps not instrumenting (so, almost a silent failure)
Agreed in the SIG to this being a breaking change
Co-authored-by: <mmanciop@users.noreply.github.com>
…pentelemetry/injector.d
| The default auto-instrumentation agent paths are now empty. Paths are provided by per-language conf.d drop-in files | ||
| installed by the respective language packages (e.g., `opentelemetry-java-autoinstrumentation` installs `java.conf`). | ||
| Users building custom container images must now explicitly configure the agent paths via conf.d files, the main | ||
| configuration file, or environment variables. |
There was a problem hiding this comment.
non-blocking: We could maybe improve this a bit to give clear upgrade instructions:
| The default auto-instrumentation agent paths are now empty. Paths are provided by per-language conf.d drop-in files | |
| installed by the respective language packages (e.g., `opentelemetry-java-autoinstrumentation` installs `java.conf`). | |
| Users building custom container images must now explicitly configure the agent paths via conf.d files, the main | |
| configuration file, or environment variables. | |
| Breaking change: On systems where custom settings have been configured in `/etc/opentelemetry/otelinject.conf`, these need to move to one of the new locations, for example `/etc/opentelemetry/injector/otelinject.conf`. | |
| Breaking change: The in-code defaults for the auto-instrumentation agent paths are now empty. Paths must be provided via external configuration. Users who use the injector binary directly, but do not use the system packages published by this project, and who also have previously relied on the default auto-instrumentation agent paths must now explicitly configure the agent paths. This can be done either via the main configuration file (default: `/etc/opentelemetry/injector/otelinject.conf`), or conf.d-style files in the configuration directory (e.g. files under `/etc/opentelemetry/injector.d`), or via environment variables. |
We should discuss #291 (comment) first though
|
+1 on Basti’s suggestion |
Well, yes. See I could even see how rename |
But The current structure would look like this: I think the |
That works for me. I would slightly prefer to not be over-specific with the name |
Alright, then |
BREAKING CHANGE: To facilitate the composability of configuration needed in system packages, the configuration now moves under
/etc/opentelemetry/injector/, with the main configuration file a/etc/opentelemetry/injector/injector.conf, merging with drop-in files under/etc/opentelemetry/injector/conf.d/.The environment variable configuration file also moves from
/etc/opentelemetry/default_auto_instrumentation_env.confto/etc/opentelemetry/injector/default_env.conf.The default auto-instrumentation agent paths are now empty. Paths are provided by per-language conf.d drop-in files installed by the respective language packages (e.g.,
opentelemetry-java-autoinstrumentationinstallsjvm.conf).Users building custom container images must now explicitly configure the agent paths via conf.d files, the main configuration file, or environment variables.
This change has been extracted from #239.