diff --git a/.github/actions/setup/action.yaml b/.github/actions/setup/action.yaml index d1812a45a..3127f9521 100644 --- a/.github/actions/setup/action.yaml +++ b/.github/actions/setup/action.yaml @@ -21,10 +21,10 @@ runs: uses: helm/chart-testing-action@v2.6.0 - name: Create kind cluster - uses: helm/kind-action@v1.5.0 + uses: helm/kind-action@v1.8.0 if: ${{ inputs.create-kind-cluster == 'true' }} with: - node_image: kindest/node:v1.24.12 + config: ./.github/kind-1.24.yaml - name: Add Dependencies shell: bash diff --git a/.github/kind-1.24.yaml b/.github/kind-1.24.yaml new file mode 100644 index 000000000..a0ee7bda2 --- /dev/null +++ b/.github/kind-1.24.yaml @@ -0,0 +1,11 @@ +kind: Cluster +apiVersion: kind.x-k8s.io/v1alpha4 +nodes: + - role: control-plane + image: kindest/node:v1.24.15@sha256:7db4f8bea3e14b82d12e044e25e34bd53754b7f2b0e9d56df21774e6f66a70ab + kubeadmConfigPatches: + - | + kind: InitConfiguration + nodeRegistration: + kubeletExtraArgs: + node-labels: "ingress-ready=true" diff --git a/charts/opentelemetry-operator/Chart.yaml b/charts/opentelemetry-operator/Chart.yaml index 462ab9d84..c1ec0eead 100644 --- a/charts/opentelemetry-operator/Chart.yaml +++ b/charts/opentelemetry-operator/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: opentelemetry-operator -version: 0.42.3 +version: 0.43.0 description: OpenTelemetry Operator Helm chart for Kubernetes type: application home: https://opentelemetry.io/ @@ -11,4 +11,4 @@ maintainers: - name: dmitryax - name: TylerHelmuth icon: https://raw.githubusercontent.com/cncf/artwork/a718fa97fffec1b9fd14147682e9e3ac0c8817cb/projects/opentelemetry/icon/color/opentelemetry-icon-color.png -appVersion: 0.88.0 +appVersion: 0.89.0 diff --git a/charts/opentelemetry-operator/crds/crd-opentelemetrycollector.yaml b/charts/opentelemetry-operator/crds/crd-opentelemetrycollector.yaml index aa275206c..de4a47805 100644 --- a/charts/opentelemetry-operator/crds/crd-opentelemetrycollector.yaml +++ b/charts/opentelemetry-operator/crds/crd-opentelemetrycollector.yaml @@ -4097,6 +4097,735 @@ spec: description: TargetAllocator indicates a value which determines whether to spawn a target allocation resource or not. properties: + affinity: + description: If specified, indicates the pod's scheduling constraints + properties: + nodeAffinity: + description: Describes node affinity scheduling rules for + the pod. + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods + to nodes that satisfy the affinity expressions specified + by this field, but it may choose a node that violates + one or more of the expressions. + items: + description: An empty preferred scheduling term matches + all objects with implicit weight 0 (i.e. it's a no-op). + A null preferred scheduling term matches no objects + (i.e. is also a no-op). + properties: + preference: + description: A node selector term, associated with + the corresponding weight. + properties: + matchExpressions: + description: A list of node selector requirements + by node's labels. + items: + description: A node selector requirement is + a selector that contains values, a key, + and an operator that relates the key and + values. + properties: + key: + description: The label key that the selector + applies to. + type: string + operator: + description: Represents a key's relationship + to a set of values. Valid operators + are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. + If the operator is In or NotIn, the + values array must be non-empty. If the + operator is Exists or DoesNotExist, + the values array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements + by node's fields. + items: + description: A node selector requirement is + a selector that contains values, a key, + and an operator that relates the key and + values. + properties: + key: + description: The label key that the selector + applies to. + type: string + operator: + description: Represents a key's relationship + to a set of values. Valid operators + are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. + If the operator is In or NotIn, the + values array must be non-empty. If the + operator is Exists or DoesNotExist, + the values array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + weight: + description: Weight associated with matching the + corresponding nodeSelectorTerm, in the range 1-100. + format: int32 + type: integer + required: + - preference + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by + this field are not met at scheduling time, the pod will + not be scheduled onto the node. + properties: + nodeSelectorTerms: + description: Required. A list of node selector terms. + The terms are ORed. + items: + description: A null or empty node selector term + matches no objects. The requirements of them are + ANDed. The TopologySelectorTerm type implements + a subset of the NodeSelectorTerm. + properties: + matchExpressions: + description: A list of node selector requirements + by node's labels. + items: + description: A node selector requirement is + a selector that contains values, a key, + and an operator that relates the key and + values. + properties: + key: + description: The label key that the selector + applies to. + type: string + operator: + description: Represents a key's relationship + to a set of values. Valid operators + are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. + If the operator is In or NotIn, the + values array must be non-empty. If the + operator is Exists or DoesNotExist, + the values array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchFields: + description: A list of node selector requirements + by node's fields. + items: + description: A node selector requirement is + a selector that contains values, a key, + and an operator that relates the key and + values. + properties: + key: + description: The label key that the selector + applies to. + type: string + operator: + description: Represents a key's relationship + to a set of values. Valid operators + are In, NotIn, Exists, DoesNotExist. + Gt, and Lt. + type: string + values: + description: An array of string values. + If the operator is In or NotIn, the + values array must be non-empty. If the + operator is Exists or DoesNotExist, + the values array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + type: object + x-kubernetes-map-type: atomic + type: array + required: + - nodeSelectorTerms + type: object + x-kubernetes-map-type: atomic + type: object + podAffinity: + description: Describes pod affinity scheduling rules (e.g. + co-locate this pod in the same node, zone, etc. as some + other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods + to nodes that satisfy the affinity expressions specified + by this field, but it may choose a node that violates + one or more of the expressions. + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated + with the corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, + in this case pods. + properties: + matchExpressions: + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. + items: + description: A label selector requirement + is a selector that contains values, + a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key + that the selector applies to. + type: string + operator: + description: operator represents a + key's relationship to a set of values. + Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of + string values. If the operator is + In or NotIn, the values array must + be non-empty. If the operator is + Exists or DoesNotExist, the values + array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} + pairs. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces + that the term applies to. The term is applied + to the union of the namespaces selected by + this field and the ones listed in the namespaces + field. + properties: + matchExpressions: + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. + items: + description: A label selector requirement + is a selector that contains values, + a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key + that the selector applies to. + type: string + operator: + description: operator represents a + key's relationship to a set of values. + Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of + string values. If the operator is + In or NotIn, the values array must + be non-empty. If the operator is + Exists or DoesNotExist, the values + array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} + pairs. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list + of namespace names that the term applies to. + The term is applied to the union of the namespaces + listed in this field and the ones selected + by namespaceSelector. + items: + type: string + type: array + topologyKey: + description: 'This pod should be co-located + (affinity) or not co-located (anti-affinity) + with the pods matching the labelSelector in + the specified namespaces, where co-located + is defined as running on a node whose ' + type: string + required: + - topologyKey + type: object + weight: + description: weight associated with matching the + corresponding podAffinityTerm, in the range 1-100. + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the affinity requirements specified by + this field are not met at scheduling time, the pod will + not be scheduled onto the node. + items: + description: Defines a set of pods (namely those matching + the labelSelector relative to the given namespace(s)) + that this pod should be co-located (affinity) or not + co-located (anti-affinity) with, where co-locate + properties: + labelSelector: + description: A label query over a set of resources, + in this case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: A label selector requirement + is a selector that contains values, a key, + and an operator that relates the key and + values. + properties: + key: + description: key is the label key that + the selector applies to. + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and + DoesNotExist. + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + the values array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} + pairs. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces + that the term applies to. The term is applied + to the union of the namespaces selected by this + field and the ones listed in the namespaces field. + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: A label selector requirement + is a selector that contains values, a key, + and an operator that relates the key and + values. + properties: + key: + description: key is the label key that + the selector applies to. + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and + DoesNotExist. + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + the values array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} + pairs. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list + of namespace names that the term applies to. The + term is applied to the union of the namespaces + listed in this field and the ones selected by + namespaceSelector. + items: + type: string + type: array + topologyKey: + description: 'This pod should be co-located (affinity) + or not co-located (anti-affinity) with the pods + matching the labelSelector in the specified namespaces, + where co-located is defined as running on a node + whose ' + type: string + required: + - topologyKey + type: object + type: array + type: object + podAntiAffinity: + description: Describes pod anti-affinity scheduling rules + (e.g. avoid putting this pod in the same node, zone, etc. + as some other pod(s)). + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: The scheduler will prefer to schedule pods + to nodes that satisfy the anti-affinity expressions + specified by this field, but it may choose a node that + violates one or more of the expressions. + items: + description: The weights of all of the matched WeightedPodAffinityTerm + fields are added per-node to find the most preferred + node(s) + properties: + podAffinityTerm: + description: Required. A pod affinity term, associated + with the corresponding weight. + properties: + labelSelector: + description: A label query over a set of resources, + in this case pods. + properties: + matchExpressions: + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. + items: + description: A label selector requirement + is a selector that contains values, + a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key + that the selector applies to. + type: string + operator: + description: operator represents a + key's relationship to a set of values. + Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of + string values. If the operator is + In or NotIn, the values array must + be non-empty. If the operator is + Exists or DoesNotExist, the values + array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} + pairs. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces + that the term applies to. The term is applied + to the union of the namespaces selected by + this field and the ones listed in the namespaces + field. + properties: + matchExpressions: + description: matchExpressions is a list + of label selector requirements. The requirements + are ANDed. + items: + description: A label selector requirement + is a selector that contains values, + a key, and an operator that relates + the key and values. + properties: + key: + description: key is the label key + that the selector applies to. + type: string + operator: + description: operator represents a + key's relationship to a set of values. + Valid operators are In, NotIn, Exists + and DoesNotExist. + type: string + values: + description: values is an array of + string values. If the operator is + In or NotIn, the values array must + be non-empty. If the operator is + Exists or DoesNotExist, the values + array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} + pairs. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list + of namespace names that the term applies to. + The term is applied to the union of the namespaces + listed in this field and the ones selected + by namespaceSelector. + items: + type: string + type: array + topologyKey: + description: 'This pod should be co-located + (affinity) or not co-located (anti-affinity) + with the pods matching the labelSelector in + the specified namespaces, where co-located + is defined as running on a node whose ' + type: string + required: + - topologyKey + type: object + weight: + description: weight associated with matching the + corresponding podAffinityTerm, in the range 1-100. + format: int32 + type: integer + required: + - podAffinityTerm + - weight + type: object + type: array + requiredDuringSchedulingIgnoredDuringExecution: + description: If the anti-affinity requirements specified + by this field are not met at scheduling time, the pod + will not be scheduled onto the node. + items: + description: Defines a set of pods (namely those matching + the labelSelector relative to the given namespace(s)) + that this pod should be co-located (affinity) or not + co-located (anti-affinity) with, where co-locate + properties: + labelSelector: + description: A label query over a set of resources, + in this case pods. + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: A label selector requirement + is a selector that contains values, a key, + and an operator that relates the key and + values. + properties: + key: + description: key is the label key that + the selector applies to. + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and + DoesNotExist. + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + the values array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} + pairs. + type: object + type: object + x-kubernetes-map-type: atomic + namespaceSelector: + description: A label query over the set of namespaces + that the term applies to. The term is applied + to the union of the namespaces selected by this + field and the ones listed in the namespaces field. + properties: + matchExpressions: + description: matchExpressions is a list of label + selector requirements. The requirements are + ANDed. + items: + description: A label selector requirement + is a selector that contains values, a key, + and an operator that relates the key and + values. + properties: + key: + description: key is the label key that + the selector applies to. + type: string + operator: + description: operator represents a key's + relationship to a set of values. Valid + operators are In, NotIn, Exists and + DoesNotExist. + type: string + values: + description: values is an array of string + values. If the operator is In or NotIn, + the values array must be non-empty. + If the operator is Exists or DoesNotExist, + the values array must be empty. + items: + type: string + type: array + required: + - key + - operator + type: object + type: array + matchLabels: + additionalProperties: + type: string + description: matchLabels is a map of {key,value} + pairs. + type: object + type: object + x-kubernetes-map-type: atomic + namespaces: + description: namespaces specifies a static list + of namespace names that the term applies to. The + term is applied to the union of the namespaces + listed in this field and the ones selected by + namespaceSelector. + items: + type: string + type: array + topologyKey: + description: 'This pod should be co-located (affinity) + or not co-located (anti-affinity) with the pods + matching the labelSelector in the specified namespaces, + where co-located is defined as running on a node + whose ' + type: string + required: + - topologyKey + type: object + type: array + type: object + type: object allocationStrategy: description: AllocationStrategy determines which strategy the target allocator should use for allocation. The current options @@ -4588,6 +5317,36 @@ spec: - whenUnsatisfiable type: object type: array + updateStrategy: + description: UpdateStrategy represents the strategy the operator will + take replacing existing DaemonSet pods with new pods https://kubernetes. + properties: + rollingUpdate: + description: 'Rolling update config params. Present only if type + = "RollingUpdate". --- TODO: Update this to follow our convention + for oneOf, whatever we decide it to be. Same as Deployment `strategy.' + properties: + maxSurge: + anyOf: + - type: integer + - type: string + description: The maximum number of nodes with an existing + available DaemonSet pod that can have an updated DaemonSet + pod during during an update. + x-kubernetes-int-or-string: true + maxUnavailable: + anyOf: + - type: integer + - type: string + description: The maximum number of DaemonSet pods that can + be unavailable during the update. + x-kubernetes-int-or-string: true + type: object + type: + description: Type of daemon set update. Can be "RollingUpdate" + or "OnDelete". Default is RollingUpdate. + type: string + type: object upgradeStrategy: description: UpgradeStrategy represents how the operator will handle upgrades to the CR when a newer version of the operator is deployed diff --git a/charts/opentelemetry-operator/examples/default/rendered/admission-webhooks/operator-webhook-with-cert-manager.yaml b/charts/opentelemetry-operator/examples/default/rendered/admission-webhooks/operator-webhook-with-cert-manager.yaml index cc943e54f..04fcd065a 100644 --- a/charts/opentelemetry-operator/examples/default/rendered/admission-webhooks/operator-webhook-with-cert-manager.yaml +++ b/charts/opentelemetry-operator/examples/default/rendered/admission-webhooks/operator-webhook-with-cert-manager.yaml @@ -6,9 +6,9 @@ metadata: annotations: cert-manager.io/inject-ca-from: default/example-opentelemetry-operator-serving-cert labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: webhook @@ -88,9 +88,9 @@ metadata: annotations: cert-manager.io/inject-ca-from: default/example-opentelemetry-operator-serving-cert labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: webhook diff --git a/charts/opentelemetry-operator/examples/default/rendered/certmanager.yaml b/charts/opentelemetry-operator/examples/default/rendered/certmanager.yaml index 54b2b8917..c4b147bef 100644 --- a/charts/opentelemetry-operator/examples/default/rendered/certmanager.yaml +++ b/charts/opentelemetry-operator/examples/default/rendered/certmanager.yaml @@ -4,9 +4,9 @@ apiVersion: cert-manager.io/v1 kind: Certificate metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: webhook @@ -29,9 +29,9 @@ apiVersion: cert-manager.io/v1 kind: Issuer metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: webhook diff --git a/charts/opentelemetry-operator/examples/default/rendered/clusterrole.yaml b/charts/opentelemetry-operator/examples/default/rendered/clusterrole.yaml index 9936b8c85..273fb7f09 100644 --- a/charts/opentelemetry-operator/examples/default/rendered/clusterrole.yaml +++ b/charts/opentelemetry-operator/examples/default/rendered/clusterrole.yaml @@ -4,9 +4,9 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager @@ -253,9 +253,9 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager @@ -271,9 +271,9 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager diff --git a/charts/opentelemetry-operator/examples/default/rendered/clusterrolebinding.yaml b/charts/opentelemetry-operator/examples/default/rendered/clusterrolebinding.yaml index e52a3bc1c..36f03bbb8 100644 --- a/charts/opentelemetry-operator/examples/default/rendered/clusterrolebinding.yaml +++ b/charts/opentelemetry-operator/examples/default/rendered/clusterrolebinding.yaml @@ -4,9 +4,9 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager @@ -25,9 +25,9 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager diff --git a/charts/opentelemetry-operator/examples/default/rendered/deployment.yaml b/charts/opentelemetry-operator/examples/default/rendered/deployment.yaml index bf1f57006..28e5f5a6c 100644 --- a/charts/opentelemetry-operator/examples/default/rendered/deployment.yaml +++ b/charts/opentelemetry-operator/examples/default/rendered/deployment.yaml @@ -4,9 +4,9 @@ apiVersion: apps/v1 kind: Deployment metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager @@ -33,13 +33,13 @@ spec: - --enable-leader-election - --health-probe-addr=:8081 - --webhook-port=9443 - - --collector-image=otel/opentelemetry-collector-contrib:0.88.0 + - --collector-image=otel/opentelemetry-collector-contrib:0.89.0 command: - /manager env: - name: ENABLE_WEBHOOKS value: "true" - image: "ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:v0.88.0" + image: "ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:v0.89.0" name: manager ports: - containerPort: 8080 @@ -77,7 +77,7 @@ spec: - --upstream=http://127.0.0.1:8080/ - --logtostderr=true - --v=0 - image: "quay.io/brancz/kube-rbac-proxy:v0.14.2" + image: "quay.io/brancz/kube-rbac-proxy:v0.15.0" name: kube-rbac-proxy ports: - containerPort: 8443 diff --git a/charts/opentelemetry-operator/examples/default/rendered/role.yaml b/charts/opentelemetry-operator/examples/default/rendered/role.yaml index c7d513f6b..0705842e5 100644 --- a/charts/opentelemetry-operator/examples/default/rendered/role.yaml +++ b/charts/opentelemetry-operator/examples/default/rendered/role.yaml @@ -4,9 +4,9 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager diff --git a/charts/opentelemetry-operator/examples/default/rendered/rolebinding.yaml b/charts/opentelemetry-operator/examples/default/rendered/rolebinding.yaml index 070247d41..a0e1584d7 100644 --- a/charts/opentelemetry-operator/examples/default/rendered/rolebinding.yaml +++ b/charts/opentelemetry-operator/examples/default/rendered/rolebinding.yaml @@ -4,9 +4,9 @@ apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager diff --git a/charts/opentelemetry-operator/examples/default/rendered/service.yaml b/charts/opentelemetry-operator/examples/default/rendered/service.yaml index b07972f0a..ad52dae71 100644 --- a/charts/opentelemetry-operator/examples/default/rendered/service.yaml +++ b/charts/opentelemetry-operator/examples/default/rendered/service.yaml @@ -4,9 +4,9 @@ apiVersion: v1 kind: Service metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager @@ -31,9 +31,9 @@ apiVersion: v1 kind: Service metadata: labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager diff --git a/charts/opentelemetry-operator/examples/default/rendered/serviceaccount.yaml b/charts/opentelemetry-operator/examples/default/rendered/serviceaccount.yaml index a53a7608a..9b9b0ce7d 100644 --- a/charts/opentelemetry-operator/examples/default/rendered/serviceaccount.yaml +++ b/charts/opentelemetry-operator/examples/default/rendered/serviceaccount.yaml @@ -6,9 +6,9 @@ metadata: name: opentelemetry-operator namespace: default labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager diff --git a/charts/opentelemetry-operator/examples/default/rendered/tests/test-certmanager-connection.yaml b/charts/opentelemetry-operator/examples/default/rendered/tests/test-certmanager-connection.yaml index 0ac1ee9da..c62700654 100644 --- a/charts/opentelemetry-operator/examples/default/rendered/tests/test-certmanager-connection.yaml +++ b/charts/opentelemetry-operator/examples/default/rendered/tests/test-certmanager-connection.yaml @@ -6,9 +6,9 @@ metadata: name: "example-opentelemetry-operator-cert-manager" namespace: default labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: webhook diff --git a/charts/opentelemetry-operator/examples/default/rendered/tests/test-service-connection.yaml b/charts/opentelemetry-operator/examples/default/rendered/tests/test-service-connection.yaml index 58652069a..cfb9b7e3c 100644 --- a/charts/opentelemetry-operator/examples/default/rendered/tests/test-service-connection.yaml +++ b/charts/opentelemetry-operator/examples/default/rendered/tests/test-service-connection.yaml @@ -6,9 +6,9 @@ metadata: name: "example-opentelemetry-operator-metrics" namespace: default labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager @@ -43,9 +43,9 @@ metadata: name: "example-opentelemetry-operator-webhook" namespace: default labels: - helm.sh/chart: opentelemetry-operator-0.42.3 + helm.sh/chart: opentelemetry-operator-0.43.0 app.kubernetes.io/name: opentelemetry-operator - app.kubernetes.io/version: "0.88.0" + app.kubernetes.io/version: "0.89.0" app.kubernetes.io/managed-by: Helm app.kubernetes.io/instance: example app.kubernetes.io/component: controller-manager diff --git a/charts/opentelemetry-operator/values.schema.json b/charts/opentelemetry-operator/values.schema.json index de10f0e6d..591d46923 100644 --- a/charts/opentelemetry-operator/values.schema.json +++ b/charts/opentelemetry-operator/values.schema.json @@ -104,6 +104,7 @@ "opampBridgeImage", "targetAllocatorImage", "autoInstrumentationImage", + "featureGates", "ports", "resources", "env", @@ -115,7 +116,8 @@ "extraArgs", "leaderElection", "verticalPodAutoscaler", - "rolling" + "rolling", + "securityContext" ], "properties": { "image": { @@ -140,13 +142,13 @@ "default": "", "title": "The tag Schema", "examples": [ - "v0.83.0" + "v0.89.0" ] } }, "examples": [{ "repository": "ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator", - "tag": "v0.83.0" + "tag": "v0.89.0" }] }, "collectorImage": { @@ -171,13 +173,13 @@ "default": "", "title": "The tag Schema", "examples": [ - "0.77.0" + "0.89.0" ] } }, "examples": [{ "repository": "otel/opentelemetry-collector-contrib", - "tag": "0.77.0" + "tag": "0.89.0" }] }, "opampBridgeImage": { @@ -250,7 +252,8 @@ "java", "nodejs", "python", - "dotnet" + "dotnet", + "go" ], "properties": { "java": { @@ -380,7 +383,7 @@ "go": { "type": "object", "default": {}, - "title": "The Go Schema", + "title": "The go Schema", "required": [ "repository", "tag" @@ -425,15 +428,19 @@ "dotnet": { "repository": "", "tag": "" + }, + "go": { + "repository": "", + "tag": "" } }] }, "featureGates": { "type": "string", - "default": "operator.autoinstrumentation.go", + "default": "", "title": "The featureGates Schema", "examples": [ - "-operator.autoinstrumentation.go,-operator.autoinstrumentation.go" + "" ] }, "ports": { @@ -875,7 +882,7 @@ }, "minReplicas": { "type": "integer", - "default": 2, + "default": 0, "title": "The minReplicas Schema", "examples": [ 2 @@ -906,16 +913,28 @@ "examples": [ false ] + }, + "securityContext": { + "type": "object", + "default": {}, + "title": "The securityContext Schema", + "required": [], + "properties": {}, + "examples": [{}] } }, "examples": [{ "image": { "repository": "ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator", - "tag": "v0.83.0" + "tag": "v0.89.0" }, "collectorImage": { "repository": "otel/opentelemetry-collector-contrib", - "tag": "0.77.0" + "tag": "0.89.0" + }, + "opampBridgeImage": { + "repository": "", + "tag": "" }, "targetAllocatorImage": { "repository": "", @@ -943,6 +962,7 @@ "tag": "" } }, + "featureGates": "", "ports": { "metricsPort": 8080, "webhookPort": 9443, @@ -998,7 +1018,8 @@ "minReplicas": 2 } }, - "rolling": false + "rolling": false, + "securityContext": {} }] }, "kubeRBACProxy": { @@ -1010,7 +1031,8 @@ "image", "ports", "resources", - "extraArgs" + "extraArgs", + "securityContext" ], "properties": { "enabled": { @@ -1043,13 +1065,13 @@ "default": "", "title": "The tag Schema", "examples": [ - "v0.14.1" + "v0.15.0" ] } }, "examples": [{ "repository": "quay.io/brancz/kube-rbac-proxy", - "tag": "v0.14.1" + "tag": "v0.15.0" }] }, "ports": { @@ -1164,13 +1186,21 @@ "examples": [ [] ] + }, + "securityContext": { + "type": "object", + "default": {}, + "title": "The securityContext Schema", + "required": [], + "properties": {}, + "examples": [{}] } }, "examples": [{ "enabled": true, "image": { "repository": "quay.io/brancz/kube-rbac-proxy", - "tag": "v0.14.1" + "tag": "v0.15.0" }, "ports": { "proxyPort": 8443 @@ -1185,7 +1215,8 @@ "memory": "64Mi" } }, - "extraArgs": [] + "extraArgs": [], + "securityContext": {} }] }, "admissionWebhooks": { @@ -1203,10 +1234,11 @@ "objectSelector", "certManager", "autoGenerateCert", - "secretAnnotations", "cert_file", "key_file", - "ca_file" + "ca_file", + "secretAnnotations", + "secretLabels" ], "properties": { "create": { @@ -1243,14 +1275,16 @@ "properties": { "failurePolicy": { "type": "string", - "default": "Ignore", + "default": "", "title": "The failurePolicy Schema", "examples": [ - "Ignore", - "Fail" + "Ignore" ] } - } + }, + "examples": [{ + "failurePolicy": "Ignore" + }] }, "namePrefix": { "type": "string", @@ -1312,20 +1346,20 @@ "examples": [{}] }, "certificateAnnotations": { - "type": "object", - "default": {}, - "title": "The certificateAnnotations Schema", - "required": [], - "properties": {}, - "examples": [{}] + "type": "object", + "default": {}, + "title": "The certificateAnnotations Schema", + "required": [], + "properties": {}, + "examples": [{}] }, "issuerAnnotations": { - "type": "object", - "default": {}, - "title": "The issuerAnnotations Schema", - "required": [], - "properties": {}, - "examples": [{}] + "type": "object", + "default": {}, + "title": "The issuerAnnotations Schema", + "required": [], + "properties": {}, + "examples": [{}] } }, "examples": [{ @@ -1346,7 +1380,7 @@ "properties": { "enabled": { "type": "boolean", - "default": true, + "default": false, "title": "The enabled Schema", "examples": [ true @@ -1354,21 +1388,17 @@ }, "recreate": { "type": "boolean", - "default": true, + "default": false, "title": "The recreate Schema", "examples": [ true ] - } - } - }, - "secretAnnotations": { - "type": "object", - "default": {}, - "title": "The secretAnnotations Schema", - "required": [], - "properties": {}, - "examples": [{}] + } + }, + "examples": [{ + "enabled": true, + "recreate": true + }] }, "cert_file": { "type": "string", @@ -1393,12 +1423,31 @@ "examples": [ "" ] + }, + "secretAnnotations": { + "type": "object", + "default": {}, + "title": "The secretAnnotations Schema", + "required": [], + "properties": {}, + "examples": [{}] + }, + "secretLabels": { + "type": "object", + "default": {}, + "title": "The secretLabels Schema", + "required": [], + "properties": {}, + "examples": [{}] } }, "examples": [{ "create": true, "failurePolicy": "Fail", "secretName": "", + "pods": { + "failurePolicy": "Ignore" + }, "namePrefix": "", "timeoutSeconds": 10, "namespaceSelector": {}, @@ -1409,11 +1458,15 @@ "certificateAnnotations": {}, "issuerAnnotations": {} }, - "autoGenerateCert": true, - "secretAnnotations": {}, + "autoGenerateCert": { + "enabled": true, + "recreate": true + }, "cert_file": "", "key_file": "", - "ca_file": "" + "ca_file": "", + "secretAnnotations": {}, + "secretLabels": {} }] }, "role": { @@ -1619,11 +1672,15 @@ "manager": { "image": { "repository": "ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator", - "tag": "v0.83.0" + "tag": "v0.89.0" }, "collectorImage": { "repository": "otel/opentelemetry-collector-contrib", - "tag": "0.77.0" + "tag": "0.89.0" + }, + "opampBridgeImage": { + "repository": "", + "tag": "" }, "targetAllocatorImage": { "repository": "", @@ -1645,8 +1702,13 @@ "dotnet": { "repository": "", "tag": "" + }, + "go": { + "repository": "", + "tag": "" } }, + "featureGates": "", "ports": { "metricsPort": 8080, "webhookPort": 9443, @@ -1702,13 +1764,14 @@ "minReplicas": 2 } }, - "rolling": false + "rolling": false, + "securityContext": {} }, "kubeRBACProxy": { "enabled": true, "image": { "repository": "quay.io/brancz/kube-rbac-proxy", - "tag": "v0.14.1" + "tag": "v0.15.0" }, "ports": { "proxyPort": 8443 @@ -1723,12 +1786,16 @@ "memory": "64Mi" } }, - "extraArgs": [] + "extraArgs": [], + "securityContext": {} }, "admissionWebhooks": { "create": true, "failurePolicy": "Fail", "secretName": "", + "pods": { + "failurePolicy": "Ignore" + }, "namePrefix": "", "timeoutSeconds": 10, "namespaceSelector": {}, @@ -1739,11 +1806,15 @@ "certificateAnnotations": {}, "issuerAnnotations": {} }, - "autoGenerateCert": true, - "secretAnnotations": {}, + "autoGenerateCert": { + "enabled": true, + "recreate": true + }, "cert_file": "", "key_file": "", - "ca_file": "" + "ca_file": "", + "secretAnnotations": {}, + "secretLabels": {} }, "role": { "create": true diff --git a/charts/opentelemetry-operator/values.yaml b/charts/opentelemetry-operator/values.yaml index 21662ead0..0524229ac 100644 --- a/charts/opentelemetry-operator/values.yaml +++ b/charts/opentelemetry-operator/values.yaml @@ -29,10 +29,10 @@ pdb: manager: image: repository: ghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator - tag: v0.88.0 + tag: v0.89.0 collectorImage: repository: otel/opentelemetry-collector-contrib - tag: 0.88.0 + tag: 0.89.0 opampBridgeImage: repository: "" tag: "" @@ -157,7 +157,7 @@ kubeRBACProxy: enabled: true image: repository: quay.io/brancz/kube-rbac-proxy - tag: v0.14.2 + tag: v0.15.0 ports: proxyPort: 8443 resources: