Skip to content
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

[charts/gateway] otel update, system properties expansion, ocp routes #339

Merged
merged 1 commit into from
Dec 9, 2024

Conversation

Gazza7205
Copy link
Contributor

Description of the change

3.0.31 General Updates

  • Support for Openshift Routes (disabled by default)
    • Uses passthrough termination (tls only)
      • path is ignored in this mode
    • Converts existing ingress
      • will create a route for each ingress rule
    • Management service can be routed

To enable - see ingress configuration for more details

ingress:
  enabled: true
  openshift:
    route:
      enabled: true
      wildcardPolicy: None
    # weight: 100
  ...
  rules:
  - host: dev.ca.com
    path: "/"
    service:
      port:
        name: https
  - host: dev1.ca.com
    path: "/"
    service:
      port:
        name: https
  - host: dev-pm.ca.com
    path: "/"
    backend: management
    service:
      port:
        name: management
  • New way to add system properties
    • You can now use key/value pairs to extend system properties
    • No impact to existing configuration
config:
  ...
  additionalSystemProperties:
  - name: test
    value: test123
  • New Deployment Configuration Options for the OTel SDK Only approach (Disabled by default)
    • Does NOT configure system or cluster-wide properties, this step is still required
    • Requires a Gateway restart when enabled
    • injects the following environment variables which are then used to set OTEL_RESOURCE_ATTRIBUTES
      • NODE_NAME ==> spec.nodeName
      • POD_NAME ==> metadata.name
      • NAMESPACE ==> metadata.namespace
      • CONTAINER_NAME ==> gateway
      • OTEL_SERVICE_NAME - <release-name>-<chart-name>
      • OTEL_RESOURCE_ATTRIBUTES ==> custom values can be set with config.otel.additionalResourceAttributes
        • defaults (if config.otel.sdkOnly.enabled is true)
          • service.name ==> OTEL_SERVICE_NAME
          • service.version ==> .Values.image.tag
          • k8s.container.name ==> gateway
          • k8s.deployment.name ==> OTEL_SERVICE_NAME
          • k8s.namespace.name ==> NAMESPACE
          • k8s.node.name ==> NODE_NAME
          • k8s.pod.name ==> POD_NAME
config:
...
  otel:
    sdkOnly:
      enabled: true
    # Used to inject additional resource attributes for tracking with the sdkOnly approach
    additionalResourceAttributes:
    - test=someEnvValue
    - test1=someEnvValue1

Benefits

  • Improved support for SDK Only OTel integration
  • Simpler system property configuration
  • Easier to use in Openshift

Checklist

  • Chart version bumped in Chart.yaml according to semver.
  • Variables are documented in the README.md
  • Title of the PR starts with chart name (e.g. [charts/gateway])
  • If the chart contains a values-production.yaml apart from values.yaml, ensure that you implement the changes in both files

Copy link

@davidchenbc davidchenbc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've looked into the otel side of the change here. Looks good.
image

@Gazza7205 Gazza7205 requested a review from snagarjunas December 5, 2024 16:28
@snagarjunas
Copy link

I have verified additionalSystemProperties. LGTM. Thanks.

image

@Gazza7205 Gazza7205 merged commit 28bfd6c into stable Dec 9, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants