Skip to content

Commit

Permalink
Merge pull request open-telemetry#22 from IshwarKanse/rebase-bot-main
Browse files Browse the repository at this point in the history
  • Loading branch information
openshift-merge-bot[bot] authored Mar 8, 2024
2 parents 123e2f5 + 2b8bb83 commit 3e914e0
Show file tree
Hide file tree
Showing 68 changed files with 1,352 additions and 671 deletions.
2 changes: 1 addition & 1 deletion .chloggen/TEMPLATE.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type:

# The name of the component, or a single word describing the area of concern, (e.g. operator, target allocator, github action)
# The name of the component, or a single word describing the area of concern, (e.g. collector, target allocator, auto-instrumentation, opamp, github action)
component:

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
Expand Down
16 changes: 16 additions & 0 deletions .chloggen/annotations-filter.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: 'enhancement'

# The name of the component, or a single word describing the area of concern, (e.g. operator, target allocator, github action)
component: operator

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: Created ability to filter out Annotations

# One or more tracking issues related to the change
issues: [2627]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext:
16 changes: 16 additions & 0 deletions .chloggen/target-allocator-respect-endpointslice.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# One of 'breaking', 'deprecation', 'new_component', 'enhancement', 'bug_fix'
change_type: 'bug_fix'

# The name of the component, or a single word describing the area of concern, (e.g. operator, target allocator, github action)
component: target allocator

# A brief description of the change. Surround your text with quotes ("") if it needs to start with a backtick (`).
note: "Fix per-node target allocation for targets from endpointslices"

# One or more tracking issues related to the change
issues: [2718]

# (Optional) One or more lines of additional information to render under the primary note.
# These lines will be padded with 2 spaces and then inserted directly into the document.
# Use pipe (|) for multiline entries.
subtext: "The per-node target allocation strategy was not matching endpointslice entries for with a `kind` of Node, such as those for the kubelet metrics created by the prometheus operator"
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/bug_report.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ body:
multiple: true
options:
- collector
- instrumentation
- auto-instrumentation
- target allocator
- opamp bridge
- opamp
- type: textarea
attributes:
label: What happened?
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/feature_request.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ body:
multiple: true
options:
- collector
- instrumentation
- auto-instrumentation
- target allocator
- opamp bridge
- opamp
- type: textarea
attributes:
label: Is your feature request related to a problem? Please describe.
Expand Down
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/other.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ body:
multiple: true
options:
- collector
- instrumentation
- auto-instrumentation
- target allocator
- opamp bridge
- opamp
- type: textarea
attributes:
label: Describe the issue you're reporting
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,14 @@ jobs:
- e2e-targetallocator
- e2e-upgrade
- e2e-multi-instrumentation
- e2e-metadata-filters
include:
- group: e2e-prometheuscr
setup: "prepare-e2e-with-featuregates FEATUREGATES=+operator.observability.prometheus"
- group: e2e-multi-instrumentation
setup: "add-operator-arg OPERATOR_ARG=--enable-multi-instrumentation prepare-e2e"
- group: e2e-metadata-filters
setup: "add-operator-arg OPERATOR_ARG='--annotations-filter=*filter.out --labels=*filter.out' prepare-e2e"

steps:
- name: Check out code into the Go module directory
Expand Down
5 changes: 5 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -240,6 +240,11 @@ e2e-prometheuscr: chainsaw
e2e-targetallocator: chainsaw
$(CHAINSAW) test --test-dir ./tests/e2e-targetallocator

# end-to-end-test for Annotations/Labels Filters
.PHONY: e2e-metadata-filters
e2e-metadata-filters: chainsaw
$(CHAINSAW) test --test-dir ./tests/e2e-metadata-filters

# end-to-end-test for testing upgrading
.PHONY: e2e-upgrade
e2e-upgrade: undeploy chainsaw
Expand Down
54 changes: 54 additions & 0 deletions apis/v1beta1/ingress_type.go → apis/v1beta1/ingress.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@

package v1beta1

import networkingv1 "k8s.io/api/networking/v1"

type (
// IngressType represents how a collector should be exposed (ingress vs route).
// +kubebuilder:validation:Enum=ingress;route
Expand Down Expand Up @@ -61,3 +63,55 @@ const (
// receiver port. The port name is used as a subdomain for the host defined in the Ingress e.g. otlp-http.example.com.
IngressRuleTypeSubdomain IngressRuleType = "subdomain"
)

// Ingress is used to specify how OpenTelemetry Collector is exposed. This
// functionality is only available if one of the valid modes is set.
// Valid modes are: deployment, daemonset and statefulset.
// NOTE: If this feature is activated, all specified receivers are exposed.
// Currently, this has a few limitations. Depending on the ingress controller
// there are problems with TLS and gRPC.
// SEE: https://github.com/open-telemetry/opentelemetry-operator/issues/1306.
// NOTE: As a workaround, port name and appProtocol could be specified directly
// in the CR.
// SEE: OpenTelemetryCollector.spec.ports[index].
type Ingress struct {
// Type default value is: ""
// Supported types are: ingress, route
Type IngressType `json:"type,omitempty"`

// RuleType defines how Ingress exposes collector receivers.
// IngressRuleTypePath ("path") exposes each receiver port on a unique path on single domain defined in Hostname.
// IngressRuleTypeSubdomain ("subdomain") exposes each receiver port on a unique subdomain of Hostname.
// Default is IngressRuleTypePath ("path").
RuleType IngressRuleType `json:"ruleType,omitempty"`

// Hostname by which the ingress proxy can be reached.
// +optional
Hostname string `json:"hostname,omitempty"`

// Annotations to add to ingress.
// e.g. 'cert-manager.io/cluster-issuer: "letsencrypt"'
// +optional
Annotations map[string]string `json:"annotations,omitempty"`

// TLS configuration.
// +optional
TLS []networkingv1.IngressTLS `json:"tls,omitempty"`

// IngressClassName is the name of an IngressClass cluster resource. Ingress
// controller implementations use this field to know whether they should be
// serving this Ingress resource.
// +optional
IngressClassName *string `json:"ingressClassName,omitempty"`

// Route is an OpenShift specific section that is only considered when
// type "route" is used.
// +optional
Route OpenShiftRoute `json:"route,omitempty"`
}

// OpenShiftRoute defines openshift route specific settings.
type OpenShiftRoute struct {
// Termination indicates termination type. By default "edge" is used.
Termination TLSRouteTerminationType `json:"termination,omitempty"`
}
Loading

0 comments on commit 3e914e0

Please sign in to comment.