-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tracking issue for confmap.strictlyTypedInput
feature gate
#10552
Comments
…10553) <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> #### Description <!-- Issue number if applicable --> Adds coda to errors related to `confmap.strictlyTypedInput` that direct users to #10552 and explain the feature gate. #### Link to tracking issue Updates #9532 <!--Describe what testing was performed and which tests were added.--> #### Testing Tests that the coda is present when there are weakly typed errors and not present with non weakly-typed errors. <!--Describe the documentation added.-->
…version (#34043) **Description:** <Describe what has changed.> <!--Ex. Fixing a bug - Describe the bug and how this fixes the issue. Ex. Adding a feature - Explain what this achieves.--> Adds a hint like this to `api_version`: ``` Hint: You may want to wrap the 'api_version' value in quotes (api_version: "1.25") ``` **Testing:** <details> <summary>docker_stats config and output</summary> #### Config ```yaml receivers: docker_stats: collection_interval: 2s api_version: 1.25 # Floating value exporters: nop: service: pipelines: metrics: receivers: [docker_stats] exporters: [nop] ``` #### Output ``` Error: failed to get config: cannot unmarshal the configuration: 1 error(s) decoding: * error decoding 'receivers': error reading configuration for "docker_stats": 1 error(s) decoding: * 'api_version' expected type 'string', got unconvertible type 'float64', value: '1.25'. Hint: You may want to wrap the 'api_version' value in quotes (api_version: "1.25") Hint: Temporarily restore the previous behavior by disabling the `confmap.strictlyTypedInput` feature gate. More details at: open-telemetry/opentelemetry-collector#10552 ``` </details> <details> <summary>docker_observer config and output</summary> ```yaml receivers: nop: exporters: nop: extensions: docker_observer: api_version: 1.25 service: extensions: [docker_observer] pipelines: metrics: receivers: [nop] exporters: [nop] ``` ``` Error: failed to get config: cannot unmarshal the configuration: 1 error(s) decoding: * error decoding 'extensions': error reading configuration for "docker_observer": 1 error(s) decoding: * 'api_version' expected type 'string', got unconvertible type 'float64', value: '1.25'. Hint: You may want to wrap the 'api_version' value in quotes (api_version: "1.25") Hint: Temporarily restore the previous behavior by disabling the `confmap.strictlyTypedInput` feature gate. More details at: open-telemetry/opentelemetry-collector#10552 ``` </details>
I observe a breaking change with this newly introduced behavior. After the feature gate was turned on, grafana_cloud integrations via
As grafana cloud usernames are often integers, seems like users running this setup with docker without hardcoding credentials might experience unexpected errors. One of the workarounds I see could be using Here is a minimal example which allows reproducing the error: docker-compose.yaml
.secrets
otel-collector-config.yaml
|
Not sure if relevant, but would note that my setup for this is:
An actual example that I'm running could be found here (just remove |
#10618 will fix this, in the mean time you can revert the feature gate |
Btw. I get the same error twice within this section:
|
@Kuckkuck your configuration is wrong. transform/containerd:
log_statements:
- context: log
statements:
- ... |
This is not specific to this error, it happens for all errors: you get the error once in the logs and another in stdout. |
This issue describes the
confmap.strictlyTypedInput
feature gate, intended to address #8565 and #9532.What is changing?
field: ${env:ENV}
) for string-typed fields will use the value passed inENV
verbatim without intermediate type casting.What does it mean to me?
Starting on v0.105.0, you may have to adapt your configuration to use the correct type on some fields. This should be a straightforward. You are able to skip the error and update your configuration at your own pace by disabling the
confmap.strictlyTypedInput
feature gate.Please reply below if:
Changelog
The text was updated successfully, but these errors were encountered: