Installing Traefik via helm on RKE2 cluster does not give Traefik access to any ressources

Welcome!

[X] Yes, I've searched similar issues on GitHub and didn't find any.
[X] Yes, I've searched similar issues on the Traefik community forum and didn't find any.

What version of the Traefik's Helm Chart are you using?
23.1.0
What version of Traefik are you using?
v2.10.1
What did you do?
I installed Traefik via helm in my bare metal RKE2 cluster running version 1.24.14+rke2r1, like so
helm upgrade --install traefik traefik/traefik --namespace traefik --create-namespace --values values.yaml

Since traefik was unable to create any Ingress objects, I started to go on a debug mission. And it turned out that the traefik serviceaccount appears to not have any of the permissions it needs. The question is why that happens.
What did you see instead?
When checking logs
k logs -n traefik -l app.kubernetes.io/name=traefik

The following comes up (and more of the same):
W0626 15:28:38.149274       1 reflector.go:424] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: failed to list *v1.IngressClass: ingressclasses.networking.k8s.io is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "ingressclasses" in API group "networking.k8s.io" at the cluster scope
E0626 15:28:38.149345       1 reflector.go:140] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: Failed to watch *v1.IngressClass: failed to list *v1.IngressClass: ingressclasses.networking.k8s.io is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "ingressclasses" in API group "networking.k8s.io" at the cluster scope
W0626 15:28:46.342356       1 reflector.go:424] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: failed to list *v1alpha1.IngressRouteTCP: ingressroutetcps.traefik.containo.us is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "ingressroutetcps" in API group "traefik.containo.us" at the cluster scope
E0626 15:28:46.342453       1 reflector.go:140] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: Failed to watch *v1alpha1.IngressRouteTCP: failed to list *v1alpha1.IngressRouteTCP: ingressroutetcps.traefik.containo.us is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "ingressroutetcps" in API group "traefik.containo.us" at the cluster scope
W0626 15:28:47.850082       1 reflector.go:424] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: failed to list *v1alpha1.ServersTransport: serverstransports.traefik.io is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "serverstransports" in API group "traefik.io" at the cluster scope
E0626 15:28:47.850166       1 reflector.go:140] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: Failed to watch *v1alpha1.ServersTransport: failed to list *v1alpha1.ServersTransport: serverstransports.traefik.io is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "serverstransports" in API group "traefik.io" at the cluster scope
W0626 15:28:48.158193       1 reflector.go:424] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: failed to list *v1alpha1.IngressRouteUDP: ingressrouteudps.traefik.containo.us is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "ingressrouteudps" in API group "traefik.containo.us" at the cluster scope
E0626 15:28:48.158256       1 reflector.go:140] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: Failed to watch *v1alpha1.IngressRouteUDP: failed to list *v1alpha1.IngressRouteUDP: ingressrouteudps.traefik.containo.us is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "ingressrouteudps" in API group "traefik.containo.us" at the cluster scope
W0626 15:28:50.467960       1 reflector.go:424] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: failed to list *v1alpha1.TLSStore: tlsstores.traefik.containo.us is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "tlsstores" in API group "traefik.containo.us" at the cluster scope
E0626 15:28:50.468030       1 reflector.go:140] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: Failed to watch *v1alpha1.TLSStore: failed to list *v1alpha1.TLSStore: tlsstores.traefik.containo.us is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "tlsstores" in API group "traefik.containo.us" at the cluster scope

In other words, traefik, or rather the traefik serviceaccount appears to be unable to access any of its needed resources.
However when escalating the traefik serviceaccount to cluster-admin for debug purposes, the issue goes away. Hence the permission are clearly not set as they are supposed to be.
Doing this:
kubectl create clusterrolebinding traefik-cluster-admin --clusterrole=cluster-admin --serviceaccount=traefik:traefik

then gets me this in the logs:
time="2023-06-26T15:29:47Z" level=debug msg="Added outgoing tracing middleware api@internal" entryPointName=traefik routerName=traefik-traefik-dashboard-d012b7f875133eeab4e5@kubernetescrd middlewareName=tracing middlewareType=TracingForwarder
time="2023-06-26T15:29:47Z" level=debug msg="Creating middleware" entryPointName=traefik middlewareName=traefik-internal-recovery middlewareType=Recovery
time="2023-06-26T15:29:47Z" level=debug msg="Creating middleware" entryPointName=metrics middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-06-26T15:29:47Z" level=debug msg="Creating middleware" entryPointName=traefik middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-06-26T15:29:47Z" level=debug msg="Creating middleware" entryPointName=web middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-06-26T15:29:47Z" level=debug msg="Creating middleware" entryPointName=websecure middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-06-26T15:29:47Z" level=debug msg="Creating middleware" middlewareName=metrics-entrypoint middlewareType=Metrics entryPointName=metrics
time="2023-06-26T15:29:47Z" level=debug msg="Creating middleware" entryPointName=traefik middlewareName=metrics-entrypoint middlewareType=Metrics
time="2023-06-26T15:29:47Z" level=debug msg="Creating middleware" middlewareType=Metrics entryPointName=web middlewareName=metrics-entrypoint
time="2023-06-26T15:29:47Z" level=debug msg="Creating middleware" entryPointName=websecure middlewareName=metrics-entrypoint middlewareType=Metrics

In order to make sure that I had the RBAC permissions correctly set I also manually applied the one in the Traefik documentation which look like this:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: traefik-ingress-controller

rules:
  - apiGroups:
      - ""
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: traefik-ingress-controller

roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: traefik-ingress-controller
subjects:
  - kind: ServiceAccount
    name: traefik-ingress-controller
    namespace: traefik
      - secrets
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - extensions
      - networking.k8s.io
    resources:
      - ingresses
      - ingressclasses
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - extensions
      - networking.k8s.io
    resources:
      - ingresses/status
    verbs:
      - update
  - apiGroups:
      - traefik.io
      - traefik.containo.us
    resources:
      - middlewares
      - middlewaretcps
      - ingressroutes
      - traefikservices
      - ingressroutetcps
      - ingressrouteudps
      - tlsoptions
      - tlsstores
      - serverstransports
    verbs:
      - get
      - list
      - watch

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: traefik-ingress-controller

roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: traefik-ingress-controller
subjects:
  - kind: ServiceAccount
    name: traefik-ingress-controller
    namespace: traefik

But that did not help either.
What is your environment & configuration?
Bare metal RKE2 cluster version 1.24.14+rke2r1.
My rather lengthy values.yaml file is attached here. It is mostly copy-paste from the helm chart. The fact that traefik is deployed as ClusterIP with and externalIP and not with a LoadBalancer is intentional. It also works nicely for the time being. But maybe I introduced some misconfiguration on the way?
# Default values for Traefik
image:
  registry: docker.io
  repository: traefik
  # defaults to appVersion
  tag: ""
  pullPolicy: IfNotPresent

#
# Configure integration with Traefik Hub
#
hub:
  ## Enabling Hub will:
  # * enable Traefik Hub integration on Traefik
  # * add `traefikhub-tunl` endpoint
  # * enable Prometheus metrics with addRoutersLabels
  # * enable allowExternalNameServices on KubernetesIngress provider
  # * enable allowCrossNamespace on KubernetesCRD provider
  # * add an internal (ClusterIP) Service, dedicated for Traefik Hub
  enabled: false
  ## Default port can be changed
  # tunnelPort: 9901
  ## TLS is optional. Insecure is mutually exclusive with any other options
  # tls:
  #   insecure: false
  #   ca: "/path/to/ca.pem"
  #   cert: "/path/to/cert.pem"
  #   key: "/path/to/key.pem"

#
# Configure the deployment
#
deployment:
  enabled: true
  # Can be either Deployment or DaemonSet
  kind: Deployment
  # Number of pods of the deployment (only applies when kind == Deployment)
  replicas: 1
  # Number of old history to retain to allow rollback (If not set, default Kubernetes value is set to 10)
  # revisionHistoryLimit: 1
  # Amount of time (in seconds) before Kubernetes will send the SIGKILL signal if Traefik does not shut down
  terminationGracePeriodSeconds: 60
  # The minimum number of seconds Traefik needs to be up and running before the DaemonSet/Deployment controller considers it available
  minReadySeconds: 0
  # Additional deployment annotations (e.g. for jaeger-operator sidecar injection)
  annotations: {}
  # Additional deployment labels (e.g. for filtering deployment by custom labels)
  labels: {}
  # Additional pod annotations (e.g. for mesh injection or prometheus scraping)
  podAnnotations: {}
  # Additional Pod labels (e.g. for filtering Pod by custom labels)
  podLabels: {}
  # Additional containers (e.g. for metric offloading sidecars)
  additionalContainers:
    []
    # https://docs.datadoghq.com/developers/dogstatsd/unix_socket/?tab=host
    # - name: socat-proxy
    # image: alpine/socat:1.0.5
    # args: ["-s", "-u", "udp-recv:8125", "unix-sendto:/socket/socket"]
    # volumeMounts:
    #   - name: dsdsocket
    #     mountPath: /socket
  # Additional volumes available for use with initContainers and additionalContainers
  additionalVolumes:
    []
    # - name: dsdsocket
    #   hostPath:
    #     path: /var/run/statsd-exporter
  # Additional initContainers (e.g. for setting file permission as shown below)
  initContainers:
    []
    # The "volume-permissions" init container is required if you run into permission issues.
    # Related issue: https://github.com/traefik/traefik-helm-chart/issues/396
    # - name: volume-permissions
    #   image: busybox:latest
    #   command: ["sh", "-c", "touch /data/acme.json; chmod -v 600 /data/acme.json"]
    #   securityContext:
    #     runAsNonRoot: true
    #     runAsGroup: 65532
    #     runAsUser: 65532
    #   volumeMounts:
    #     - name: data
    #       mountPath: /data
  # Use process namespace sharing
  shareProcessNamespace: false
  # Custom pod DNS policy. Apply if `hostNetwork: true`
  # dnsPolicy: ClusterFirstWithHostNet
  dnsConfig:
    {}
    # nameservers:
    #   - <IP_ADDRESS> # this is an example
    # searches:
    #   - ns1.svc.cluster-domain.example
    #   - my.dns.search.suffix
    # options:
    #   - name: ndots
    #     value: "2"
    #   - name: edns0
  # Additional imagePullSecrets
  imagePullSecrets:
    []
    # - name: myRegistryKeySecretName
  # Pod lifecycle actions
  lifecycle:
    {}
    # preStop:
    #   exec:
    #     command: ["/bin/sh", "-c", "sleep 40"]
    # postStart:
    #   httpGet:
    #     path: /ping
    #     port: 9000
    #     host: localhost
    #     scheme: HTTP

# Pod disruption budget
podDisruptionBudget:
  enabled: false
  # maxUnavailable: 1
  # maxUnavailable: 33%
  # minAvailable: 0
  # minAvailable: 25%

# Create a default IngressClass for Traefik
ingressClass:
  enabled: true
  isDefaultClass: true

# Enable experimental features
experimental:
  v3:
    enabled: false
  plugins:
    enabled: false
  kubernetesGateway:
    enabled: false
    gateway:
      enabled: true
    # certificate:
    #   group: "core"
    #   kind: "Secret"
    #   name: "mysecret"
    # By default, Gateway would be created to the Namespace you are deploying Traefik to.
    # You may create that Gateway in another namespace, setting its name below:
    # namespace: default
    # Additional gateway annotations (e.g. for cert-manager.io/issuer)
    # annotations:
    #   cert-manager.io/issuer: letsencrypt

# Create an IngressRoute for the dashboard
ingressRoute:
  dashboard:
    enabled: true
    # Additional ingressRoute annotations (e.g. for kubernetes.io/ingress.class)
    annotations: {}
    # Additional ingressRoute labels (e.g. for filtering IngressRoute by custom labels)
    labels: {}
    # The router match rule used for the dashboard ingressRoute
    matchRule: PathPrefix(`/dashboard`) || PathPrefix(`/api`)
    # Specify the allowed entrypoints to use for the dashboard ingress route, (e.g. traefik, web, websecure).
    # By default, it's using traefik entrypoint, which is not exposed.
    # /!\ Do not expose your dashboard without any protection over the internet /!\
    entryPoints: ["traefik"]
    # Additional ingressRoute middlewares (e.g. for authentication)
    middlewares: []
    # TLS options (e.g. secret containing certificate)
    tls: {}

# Customize updateStrategy of traefik pods
updateStrategy:
  type: RollingUpdate
  rollingUpdate:
    maxUnavailable: 0
    maxSurge: 1

# Customize liveness and readiness probe values.
readinessProbe:
  failureThreshold: 1
  initialDelaySeconds: 2
  periodSeconds: 10
  successThreshold: 1
  timeoutSeconds: 2

livenessProbe:
  failureThreshold: 3
  initialDelaySeconds: 2
  periodSeconds: 10
  successThreshold: 1
  timeoutSeconds: 2

#
# Configure providers
#
providers:
  kubernetesCRD:
    enabled: true
    allowCrossNamespace: false
    allowExternalNameServices: false
    allowEmptyServices: false
    # ingressClass: traefik-internal
    # labelSelector: environment=production,method=traefik
    namespaces:
      # ["traefik", "kube-prometheus-stack"]
      # - "default"

  kubernetesIngress:
    enabled: true
    allowExternalNameServices: false
    allowEmptyServices: false
    # ingressClass: traefik-internal
    # labelSelector: environment=production,method=traefik
    namespaces:
      # ["traefik", "kube-prometheus-stack"]
      # - "default"
    # IP used for Kubernetes Ingress endpoints
    publishedService:
      enabled: true
      # Published Kubernetes Service to copy status from. Format: namespace/servicename
      # By default this Traefik service
      # pathOverride: ""

#
# Add volumes to the traefik pod. The volume name will be passed to tpl.
# This can be used to mount a cert pair or a configmap that holds a config.toml file.
# After the volume has been mounted, add the configs into traefik by using the `additionalArguments` list below, eg:
# additionalArguments:
# - "--providers.file.filename=/config/dynamic.toml"
# - "--ping"
# - "--ping.entrypoint=web"
volumes: []
# - name: public-cert
#   mountPath: "/certs"
#   type: secret
# - name: '{{ printf "%s-configs" .Release.Name }}'
#   mountPath: "/config"
#   type: configMap

# Additional volumeMounts to add to the Traefik container
additionalVolumeMounts:
  []
  # For instance when using a logshipper for access logs
  # - name: traefik-logs
  #   mountPath: /var/log/traefik

## Logs
## https://docs.traefik.io/observability/logs/
logs:
  ## Traefik logs concern everything that happens to Traefik itself (startup, configuration, events, shutdown, and so on).
  general:
    # By default, the logs use a text format (common), but you can
    # also ask for the json format in the format option
    # format: json
    # By default, the level is set to ERROR.
    # Alternative logging levels are DEBUG, PANIC, FATAL, ERROR, WARN, and INFO.
    level: DEBUG
  access:
    # To enable access logs
    enabled: false
    ## By default, logs are written using the Common Log Format (CLF) on stdout.
    ## To write logs in JSON, use json in the format option.
    ## If the given format is unsupported, the default (CLF) is used instead.
    # format: json
    # filePath: "/var/log/traefik/access.log
    ## To write the logs in an asynchronous fashion, specify a bufferingSize option.
    ## This option represents the number of log lines Traefik will keep in memory before writing
    ## them to the selected output. In some cases, this option can greatly help performances.
    # bufferingSize: 100
    ## Filtering https://docs.traefik.io/observability/access-logs/#filtering
    filters:
      {}
      # statuscodes: "200,300-302"
      # retryattempts: true
      # minduration: 10ms
    ## Fields
    ## https://docs.traefik.io/observability/access-logs/#limiting-the-fieldsincluding-headers
    fields:
      general:
        defaultmode: keep
        names:
          {}
          ## Examples:
          # ClientUsername: drop
      headers:
        defaultmode: drop
        names:
          {}
          ## Examples:
          # User-Agent: redact
          # Authorization: drop
          # Content-Type: keep

metrics:
  ## Prometheus is enabled by default.
  ## It can be disabled by setting "prometheus: null"
  prometheus:
    ## Entry point used to expose metrics.
    entryPoint: metrics
    ## Enable metrics on entry points. Default=true
    # addEntryPointsLabels: false
    ## Enable metrics on routers. Default=false
    # addRoutersLabels: true
    ## Enable metrics on services. Default=true
    # addServicesLabels: false
    ## Buckets for latency metrics. Default="0.1,0.3,1.2,5.0"
    # buckets: "0.5,1.0,2.5"
    ## When manualRouting is true, it disables the default internal router in
    ## order to allow creating a custom router for prometheus@internal service.
    # manualRouting: true
#  datadog:
#    ## Address instructs exporter to send metrics to datadog-agent at this address.
#    address: "<IP_ADDRESS>:8125"
#    ## The interval used by the exporter to push metrics to datadog-agent. Default=10s
#    # pushInterval: 30s
#    ## The prefix to use for metrics collection. Default="traefik"
#    # prefix: traefik
#    ## Enable metrics on entry points. Default=true
#    # addEntryPointsLabels: false
#    ## Enable metrics on routers. Default=false
#    # addRoutersLabels: true
#    ## Enable metrics on services. Default=true
#    # addServicesLabels: false
#  influxdb:
#    ## Address instructs exporter to send metrics to influxdb at this address.
#    address: localhost:8089
#    ## InfluxDB's address protocol (udp or http). Default="udp"
#    protocol: udp
#    ## InfluxDB database used when protocol is http. Default=""
#    # database: ""
#    ## InfluxDB retention policy used when protocol is http. Default=""
#    # retentionPolicy: ""
#    ## InfluxDB username (only with http). Default=""
#    # username: ""
#    ## InfluxDB password (only with http). Default=""
#    # password: ""
#    ## The interval used by the exporter to push metrics to influxdb. Default=10s
#    # pushInterval: 30s
#    ## Additional labels (influxdb tags) on all metrics.
#    # additionalLabels:
#    #   env: production
#    #   foo: bar
#    ## Enable metrics on entry points. Default=true
#    # addEntryPointsLabels: false
#    ## Enable metrics on routers. Default=false
#    # addRoutersLabels: true
#    ## Enable metrics on services. Default=true
#    # addServicesLabels: false
#  influxdb2:
#    ## Address instructs exporter to send metrics to influxdb v2 at this address.
#    address: localhost:8086
#    ## Token with which to connect to InfluxDB v2.
#    token: xxx
#    ## Organisation where metrics will be stored.
#    org: ""
#    ## Bucket where metrics will be stored.
#    bucket: ""
#    ## The interval used by the exporter to push metrics to influxdb. Default=10s
#    # pushInterval: 30s
#    ## Additional labels (influxdb tags) on all metrics.
#    # additionalLabels:
#    #   env: production
#    #   foo: bar
#    ## Enable metrics on entry points. Default=true
#    # addEntryPointsLabels: false
#    ## Enable metrics on routers. Default=false
#    # addRoutersLabels: true
#    ## Enable metrics on services. Default=true
#    # addServicesLabels: false
#  statsd:
#    ## Address instructs exporter to send metrics to statsd at this address.
#    address: localhost:8125
#    ## The interval used by the exporter to push metrics to influxdb. Default=10s
#    # pushInterval: 30s
#    ## The prefix to use for metrics collection. Default="traefik"
#    # prefix: traefik
#    ## Enable metrics on entry points. Default=true
#    # addEntryPointsLabels: false
#    ## Enable metrics on routers. Default=false
#    # addRoutersLabels: true
#    ## Enable metrics on services. Default=true
#    # addServicesLabels: false
#  openTelemetry:
#    ## Address of the OpenTelemetry Collector to send metrics to.
#    address: "localhost:4318"
#    ## Enable metrics on entry points.
#    addEntryPointsLabels: true
#    ## Enable metrics on routers.
#    addRoutersLabels: true
#    ## Enable metrics on services.
#    addServicesLabels: true
#    ## Explicit boundaries for Histogram data points.
#    explicitBoundaries:
#      - "0.1"
#      - "0.3"
#      - "1.2"
#      - "5.0"
#    ## Additional headers sent with metrics by the reporter to the OpenTelemetry Collector.
#    headers:
#      foo: bar
#      test: test
#    ## Allows reporter to send metrics to the OpenTelemetry Collector without using a secured protocol.
#    insecure: true
#    ## Interval at which metrics are sent to the OpenTelemetry Collector.
#    pushInterval: 10s
#    ## Allows to override the default URL path used for sending metrics. This option has no effect when using gRPC transport.
#    path: /foo/v1/traces
#    ## Defines the TLS configuration used by the reporter to send metrics to the OpenTelemetry Collector.
#    tls:
#      ## The path to the certificate authority, it defaults to the system bundle.
#      ca: path/to/ca.crt
#      ## The path to the public certificate. When using this option, setting the key option is required.
#      cert: path/to/foo.cert
#      ## The path to the private key. When using this option, setting the cert option is required.
#      key: path/to/key.key
#      ## If set to true, the TLS connection accepts any certificate presented by the server regardless of the hostnames it covers.
#      insecureSkipVerify: true
#    ## This instructs the reporter to send metrics to the OpenTelemetry Collector using gRPC.
#    grpc: true

##
##  enable optional CRDs for Prometheus Operator
##
## Create a dedicated metrics service for use with ServiceMonitor
## When hub.enabled is set to true, it's not needed: it will use hub service.
#  service:
#    enabled: false
#    labels: {}
#    annotations: {}
## When set to true, it won't check if Prometheus Operator CRDs are deployed
#  disableAPICheck: false
#  serviceMonitor:
#    metricRelabelings: []
#      - sourceLabels: [__name__]
#        separator: ;
#        regex: ^fluentd_output_status_buffer_(oldest|newest)_.+
#        replacement: $1
#        action: drop
#    relabelings: []
#      - sourceLabels: [__meta_kubernetes_pod_node_name]
#        separator: ;
#        regex: ^(.*)$
#        targetLabel: nodename
#        replacement: $1
#        action: replace
#    jobLabel: traefik
#    interval: 30s
#    honorLabels: true
#    # (Optional)
#    # scrapeTimeout: 5s
#    # honorTimestamps: true
#    # enableHttp2: true
#    # followRedirects: true
#    # additionalLabels:
#    #   foo: bar
#    # namespace: "another-namespace"
#    # namespaceSelector: {}
#  prometheusRule:
#    additionalLabels: {}
#    namespace: "another-namespace"
#    rules:
#      - alert: TraefikDown
#        expr: up{job="traefik"} == 0
#        for: 5m
#        labels:
#          context: traefik
#          severity: warning
#        annotations:
#          summary: "Traefik Down"
#          description: "{{ $labels.pod }} on {{ $labels.nodename }} is down"

tracing:
  {}
  # instana:
  #   localAgentHost: <IP_ADDRESS>
  #   localAgentPort: 42699
  #   logLevel: info
  #   enableAutoProfile: true
  # datadog:
  #   localAgentHostPort: <IP_ADDRESS>:8126
  #   debug: false
  #   globalTag: ""
  #   prioritySampling: false
  # jaeger:
  #   samplingServerURL: http://localhost:5778/sampling
  #   samplingType: const
  #   samplingParam: 1.0
  #   localAgentHostPort: <IP_ADDRESS>:6831
  #   gen128Bit: false
  #   propagation: jaeger
  #   traceContextHeaderName: uber-trace-id
  #   disableAttemptReconnecting: true
  #   collector:
  #      endpoint: ""
  #      user: ""
  #      password: ""
  # zipkin:
  #   httpEndpoint: http://localhost:9411/api/v2/spans
  #   sameSpan: false
  #   id128Bit: true
  #   sampleRate: 1.0
  # haystack:
  #   localAgentHost: <IP_ADDRESS>
  #   localAgentPort: 35000
  #   globalTag: ""
  #   traceIDHeaderName: ""
  #   parentIDHeaderName: ""
  #   spanIDHeaderName: ""
  #   baggagePrefixHeaderName: ""
  # elastic:
  #   serverURL: http://localhost:8200
  #   secretToken: ""
  #   serviceEnvironment: ""

globalArguments:
  - "--global.checknewversion"
  - "--global.sendanonymoususage"

#
# Configure Traefik static configuration
# Additional arguments to be passed at Traefik's binary
# All available options available on https://docs.traefik.io/reference/static-configuration/cli/
## Use curly braces to pass values: `helm install --set="additionalArguments={--providers.kubernetesingress.ingressclass=traefik-internal,--log.level=DEBUG}"`
additionalArguments: []
#  - "--providers.kubernetesingress.ingressclass=traefik-internal"
#  - "--log.level=DEBUG"

# Environment variables to be passed to Traefik's binary
env: []
# - name: SOME_VAR
#   value: some-var-value
# - name: SOME_VAR_FROM_CONFIG_MAP
#   valueFrom:
#     configMapRef:
#       name: configmap-name
#       key: config-key
# - name: SOME_SECRET
#   valueFrom:
#     secretKeyRef:
#       name: secret-name
#       key: secret-key

envFrom: []
# - configMapRef:
#     name: config-map-name
# - secretRef:
#     name: secret-name

# Configure ports
ports:
  # The name of this one can't be changed as it is used for the readiness and
  # liveness probes, but you can adjust its config to your liking
  traefik:
    port: 9000
    # Use hostPort if set.
    # hostPort: 9000
    #
    # Use hostIP if set. If not set, Kubernetes will default to <IP_ADDRESS>, which
    # means it's listening on all your interfaces and all your IPs. You may want
    # to set this value if you need traefik to listen on specific interface
    # only.
    # hostIP: <IP_ADDRESS>

    # Override the liveness/readiness port. This is useful to integrate traefik
    # with an external Load Balancer that performs healthchecks.
    # Default: ports.traefik.port
    # healthchecksPort: 9000

    # Override the liveness/readiness scheme. Useful for getting ping to
    # respond on websecure entryPoint.
    # healthchecksScheme: HTTPS

    # Defines whether the port is exposed if service.type is LoadBalancer or
    # NodePort.
    #
    # You SHOULD NOT expose the traefik port on production deployments.
    # If you want to access it from outside of your cluster,
    # use `kubectl port-forward` or create a secure ingress
    expose: false
    # The exposed port for this service
    exposedPort: 9000
    # The port protocol (TCP/UDP)
    protocol: TCP
  web:
    ## Enable this entrypoint as a default entrypoint. When a service doesn't explicity set an entrypoint it will only use this entrypoint.
    # asDefault: true
    port: 8000
    # hostPort: 8000
    # containerPort: 8000
    expose: true
    exposedPort: 80
    ## Different target traefik port on the cluster, useful for IP type LB
    # targetPort: 80
    # The port protocol (TCP/UDP)
    protocol: TCP
    # Use nodeport if set. This is useful if you have configured Traefik in a
    # LoadBalancer.
    # nodePort: 32080
    # Port Redirections
    # Added in 2.2, you can make permanent redirects via entrypoints.
    # https://docs.traefik.io/routing/entrypoints/#redirection
    # redirectTo: websecure
    #
    # Trust forwarded  headers information (X-Forwarded-*).
    # forwardedHeaders:
    #   trustedIPs: []
    #   insecure: false
    #
    # Enable the Proxy Protocol header parsing for the entry point
    # proxyProtocol:
    #   trustedIPs: []
    #   insecure: false
  websecure:
    ## Enable this entrypoint as a default entrypoint. When a service doesn't explicity set an entrypoint it will only use this entrypoint.
    # asDefault: true
    port: 8443
    # hostPort: 8443
    # containerPort: 8443
    expose: true
    exposedPort: 443
    ## Different target traefik port on the cluster, useful for IP type LB
    # targetPort: 80
    ## The port protocol (TCP/UDP)
    protocol: TCP
    # nodePort: 32443
    #
    ## Enable HTTP/3 on the entrypoint
    ## Enabling it will also enable http3 experimental feature
    ## https://doc.traefik.io/traefik/routing/entrypoints/#http3
    ## There are known limitations when trying to listen on same ports for
    ## TCP & UDP (Http3). There is a workaround in this chart using dual Service.
    ## https://github.com/kubernetes/kubernetes/issues/47249#issuecomment-587960741
    http3:
      enabled: false
    # advertisedPort: 4443
    #
    ## Trust forwarded  headers information (X-Forwarded-*).
    #forwardedHeaders:
    #  trustedIPs: []
    #  insecure: false
    #
    ## Enable the Proxy Protocol header parsing for the entry point
    #proxyProtocol:
    #  trustedIPs: []
    #  insecure: false
    #
    ## Set TLS at the entrypoint
    ## https://doc.traefik.io/traefik/routing/entrypoints/#tls
    tls:
      enabled: true
      # this is the name of a TLSOption definition
      options: ""
      certResolver: ""
      domains: []
      # - main: example.com
      #   sans:
      #     - foo.example.com
      #     - bar.example.com
    #
    # One can apply Middlewares on an entrypoint
    # https://doc.traefik.io/traefik/middlewares/overview/
    # https://doc.traefik.io/traefik/routing/entrypoints/#middlewares
    # /!\ It introduces here a link between your static configuration and your dynamic configuration /!\
    # It follows the provider naming convention: https://doc.traefik.io/traefik/providers/overview/#provider-namespace
    # middlewares:
    #   - namespace-name1@kubernetescrd
    #   - namespace-name2@kubernetescrd
    middlewares: []
  metrics:
    # When using hostNetwork, use another port to avoid conflict with node exporter:
    # https://github.com/prometheus/prometheus/wiki/Default-port-allocations
    port: 9100
    # hostPort: 9100
    # Defines whether the port is exposed if service.type is LoadBalancer or
    # NodePort.
    #
    # You may not want to expose the metrics port on production deployments.
    # If you want to access it from outside of your cluster,
    # use `kubectl port-forward` or create a secure ingress
    expose: false
    # The exposed port for this service
    exposedPort: 9100
    # The port protocol (TCP/UDP)
    protocol: TCP

# TLS Options are created as TLSOption CRDs
# https://doc.traefik.io/traefik/https/tls/#tls-options
# When using `labelSelector`, you'll need to set labels on tlsOption accordingly.
# Example:
# tlsOptions:
#   default:
#     labels: {}
#     sniStrict: true
#     preferServerCipherSuites: true
#   customOptions:
#     labels: {}
#     curvePreferences:
#       - CurveP521
#       - CurveP384
tlsOptions: {}

# TLS Store are created as TLSStore CRDs. This is useful if you want to set a default certificate
# https://doc.traefik.io/traefik/https/tls/#default-certificate
# Example:
# tlsStore:
#   default:
#     defaultCertificate:
#       secretName: tls-cert
tlsStore: {}

service:
  enabled: true
  single: true
  type: ClusterIP
  annotations: {}
  annotationsTCP: {}
  annotationsUDP: {}
  # Additional service labels (e.g. for filtering Service by custom labels)
  labels: {}
  # Additional entries here will be added to the service spec.
  # Cannot contain type, selector or ports entries.
  spec:
    {}
    # externalTrafficPolicy: Cluster
    # loadBalancerIP: "<IP_ADDRESS>"
    # clusterIP: "<IP_ADDRESS>"
  loadBalancerSourceRanges:
    []
  externalIPs:
    - xxx.xxx.xxx.xxx # This would normally contain the actual IP of one of my nodes, it is left out here

## Create HorizontalPodAutoscaler object.
##
autoscaling:
  enabled: false
#   minReplicas: 1
#   maxReplicas: 10
#   metrics:
#   - type: Resource
#     resource:
#       name: cpu
#       target:
#         type: Utilization
#         averageUtilization: 60
#   - type: Resource
#     resource:
#       name: memory
#       target:
#         type: Utilization
#         averageUtilization: 60
#   behavior:
#     scaleDown:
#       stabilizationWindowSeconds: 300
#       policies:
#       - type: Pods
#         value: 1
#         periodSeconds: 60

# Enable persistence using Persistent Volume Claims
# ref: http://kubernetes.io/docs/user-guide/persistent-volumes/
# It can be used to store TLS certificates, see `storage` in certResolvers
persistence:
  enabled: false
  name: data
  #  existingClaim: ""
  accessMode: ReadWriteOnce
  size: 128Mi
  # storageClass: ""
  # volumeName: ""
  path: /data
  annotations: {}
  # subPath: "" # only mount a subpath of the Volume into the pod

certResolvers: {}
#   letsencrypt:
#     # for challenge options cf. https://doc.traefik.io/traefik/https/acme/
#     email<EMAIL_ADDRESS>#     dnsChallenge:
#       # also add the provider's required configuration under env
#       # or expand then from secrets/configmaps with envfrom
#       # cf. https://doc.traefik.io/traefik/https/acme/#providers
#       provider: digitalocean
#       # add futher options for the dns challenge as needed
#       # cf. https://doc.traefik.io/traefik/https/acme/#dnschallenge
#       delayBeforeCheck: 30
#       resolvers:
#         - <IP_ADDRESS>
#         - <IP_ADDRESS>
#     tlsChallenge: true
#     httpChallenge:
#       entryPoint: "web"
#     # It has to match the path with a persistent volume
#     storage: /data/acme.json

# If hostNetwork is true, runs traefik in the host network namespace
# To prevent unschedulabel pods due to port collisions, if hostNetwork=true
# and replicas>1, a pod anti-affinity is recommended and will be set if the
# affinity is left as default.
hostNetwork: false

# Whether Role Based Access Control objects like roles and rolebindings should be created
rbac:
  enabled: false
  # If set to false, installs ClusterRole and ClusterRoleBinding so Traefik can be used across namespaces.
  # If set to true, installs Role and RoleBinding. Providers will only watch target namespace.
  namespaced: false
  # Enable user-facing roles
  # https://kubernetes.io/docs/reference/access-authn-authz/rbac/#user-facing-roles
  # aggregateTo: [ "admin" ]

# Enable to create a PodSecurityPolicy and assign it to the Service Account via RoleBinding or ClusterRoleBinding
podSecurityPolicy:
  enabled: false

# The service account the pods will use to interact with the Kubernetes API
serviceAccount:
  # If set, an existing service account is used
  # If not set, a service account is created automatically using the fullname template
  name: ""

# Additional serviceAccount annotations (e.g. for oidc authentication)
serviceAccountAnnotations: {}

resources:
  {}
  # requests:
  #   cpu: "100m"
  #   memory: "50Mi"
  # limits:
  #   cpu: "300m"
  #   memory: "150Mi"

# This example pod anti-affinity forces the scheduler to put traefik pods
# on nodes where no other traefik pods are scheduled.
# It should be used when hostNetwork: true to prevent port conflicts
affinity: {}
#  podAntiAffinity:
#    requiredDuringSchedulingIgnoredDuringExecution:
#      - labelSelector:
#          matchLabels:
#            app.kubernetes.io/name: '{{ template "traefik.name" . }}'
#            app.kubernetes.io/instance: '{{ .Release.Name }}-{{ .Release.Namespace }}'
#        topologyKey: kubernetes.io/hostname

nodeSelector: {}
tolerations: []
topologySpreadConstraints: []
# # This example topologySpreadConstraints forces the scheduler to put traefik pods
# # on nodes where no other traefik pods are scheduled.
#  - labelSelector:
#      matchLabels:
#        app: '{{ template "traefik.name" . }}'
#    maxSkew: 1
#    topologyKey: kubernetes.io/hostname
#    whenUnsatisfiable: DoNotSchedule

# Pods can have priority.
# Priority indicates the importance of a Pod relative to other Pods.
priorityClassName: ""

# Set the container security context
# To run the container with ports below 1024 this will need to be adjust to run as root
securityContext:
  capabilities:
    drop: [ALL]
  readOnlyRootFilesystem: true

podSecurityContext:
  #  # /!\ When setting fsGroup, Kubernetes will recursively changes ownership and
  #  # permissions for the contents of each volume to match the fsGroup. This can
  #  # be an issue when storing sensitive content like TLS Certificates /!\
  #  fsGroup: 65532
  fsGroupChangePolicy: "OnRootMismatch"
  runAsGroup: 65532
  runAsNonRoot: true
  runAsUser: 65532

#
# Extra objects to deploy (value evaluated as a template)
#
# In some cases, it can avoid the need for additional, extended or adhoc deployments.
# See #595 for more details and traefik/tests/values/extra.yaml for example.
extraObjects: []
# This will override the default Release Namespace for Helm.
# It will not affect optional CRDs such as `ServiceMonitor` and `PrometheusRules`
# namespaceOverride: traefik
#
## This will override the default app.kubernetes.io/instance label for all Objects.
# instanceLabelOverride: traefik

Additional Information
I am not quite sure if this is a bug related to the helm chart, to traefik, to the combination of traefik with RKE2 in my setup, or something else entirely. I decided to post it here since I used helm as installation method for traefik.
In case you find this issue is not at the right place here, please let me know as well where I should rather put it.
Thanks anyone!

I have the exact same issue
E0626 21:05:19.476439       1 reflector.go:140] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: Failed to watch *v1alpha1.ServersTransportTCP: failed to list *v1alpha1.ServersTransportTCP: serverstransporttcps.traefik.io is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "serverstransporttcps" in API group "traefik.io" at the cluster scope

I didn't change anything in my values.yaml.

That is interesting, meaning: me misconfiguring it might not be the reason why it isn't working :laughing:
On the flip side, I might solve my issue then by downgrading the chart I suppose. I will try that later. Not ideal, but it should prove the point.

@arana198 @icodeforyou-dot-net This error message:
E0626 21:05:19.476439       1 reflector.go:140] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: Failed to watch *v1alpha1.ServersTransportTCP: failed to list *v1alpha1.ServersTransportTCP: serverstransporttcps.traefik.io is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "serverstransporttcps" in API group "traefik.io" at the cluster scope

Means that you haven't upgraded CRDs. See release notes of v23.x or documentation for more details.
Can you confirm that this solve your issue ?

@mloiseleur
I just tried doing
kubectl apply --server-side --force-conflicts -k https://github.com/traefik/traefik-helm-chart/traefik/crds/

that did not help. I also re-deployed traefik after running the command above just to make sure.
Does not change anything in my case. I still get stuff like:
W0627 07:44:06.759950       1 reflector.go:424] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: failed to list *v1alpha1.ServersTransport: serverstransports.traefik.io is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "serverstransports" in API group "traefik.io" at the cluster scope
E0627 07:44:06.760023       1 reflector.go:140] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: Failed to watch *v1alpha1.ServersTransport: failed to list *v1alpha1.ServersTransport: serverstransports.traefik.io is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "serverstransports" in API group "traefik.io" at the cluster scope
W0627 07:44:07.096477       1 reflector.go:424] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: failed to list *v1.Service: services is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "services" in API group "" at the cluster scope
E0627 07:44:07.096549       1 reflector.go:140] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: Failed to watch *v1.Service: failed to list *v1.Service: services is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "services" in API group "" at the cluster scope

@arana198 @icodeforyou-dot-net This error message:
E0626 21:05:19.476439       1 reflector.go:140] k8s.io/client-go@v0.26.3/tools/cache/reflector.go:169: Failed to watch *v1alpha1.ServersTransportTCP: failed to list *v1alpha1.ServersTransportTCP: serverstransporttcps.traefik.io is forbidden: User "system:serviceaccount:traefik:traefik" cannot list resource "serverstransporttcps" in API group "traefik.io" at the cluster scope

Means that you haven't upgraded CRDs. See release notes of v23.x or upgrade documentation for more details.
Can you confirm that this solve your issue ?

I saw the documentation last night and updated the CRDs. Unfortunately this hasn't resolved the issue for me

In your values.yaml, it's specified to not create RBAC:
[...]
# Whether Role Based Access Control objects like roles and rolebindings should be created
rbac:
  enabled: false

If you set it to true, it should provide the RBAC needed.

Thanks that solved my issue.
Just so that it is useful for everyone:

Update CRDs
Update helm repo to https://traefik.github.io/charts
Enable rbac as mentioned by @mloiseleur

@mloiseleur
Excellent, it appears to be working on my end as well!
Thanks for the help!
However one remark. The comments in the defaults values file are misleadning in this case. They state that
# If set to false, installs ClusterRole and ClusterRoleBinding so Traefik can be used across namespaces.
Which appears to not or no longer work.


Update utxo support for da stack

@srderson
I updated the utxo chaincode from the HL f2f and rebased it on top of the latest fabric code.

Signed-off-by<EMAIL_ADDRESS>

LGTM. Thanks!


Broken links

Signed-off-by: Artur Meyster<EMAIL_ADDRESS>

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-2" git@github.com:devmeyster/docker.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Ammending updates the existing PR. You DO NOT need to open a new one.

@GordonTheTurtle it doesn't look like I have access rights to clone "patch-2". Just curious, what was wrong with my sign-off? Thx


Fixed to add "delete" support for cloud_object_store_object object

supports_not for delete was added for these objects in https://github.com/ManageIQ/manageiq/pull/14080 however same PR added "Delete" roles feature. "Delete" button was added to UI counterpart of this PR in https://github.com/ManageIQ/manageiq-ui-classic/pull/497, so in my opinion adding supports_not for delete was incorrect
https://bugzilla.redhat.com/show_bug.cgi?id=1497113
cc @miha-plesko

@h-kataria we've added
supports_not :delete

to the cloud_object_store_object in the miq core repository in order to disable the functionality by default. We only wanted the
supports :delete

to be set for Amazon Provider. And it is still set as far as I can see: https://github.com/ManageIQ/manageiq-providers-amazon/blob/master/app/models/manageiq/providers/amazon/storage_manager/s3/cloud_object_store_object.rb#L2-L7
So I think your you shouldn't merge the PR that you propose here but instead find out why supports :delete doesn't return true for Amazon object that you're trying to delete.

Oh, I just realised that you never said we're talking about Amazon Provider - so is this BZ related to Amazon provider or perhaps the OpenStack provider? As far as I know, the "delete object" functionality is currently only implemented for the S3 object store (Amazon Provider), while OpenStack is actually lacking such functionality.
In other words: in case of OpenStack provider, it's a correct behavior that the supports_not is used, since it's actually not supported.


Add BLAZOR constant to ZoraSharp via Extra.targets

This accompanies the changes I made to kabili207/zora-sharp#10. It moves the renamed BLAZOR define out into the newly created Extra.targets file that the ZoraSharp project looks for.

Everything builds perfectly and the IDE sees this include as well. Nice!


editor: blinking cursor

fixes https://github.com/lockbook/lockbook/issues/2068

@tvanderstad can you resolve conflicts here, I'll make sure energy usage is low on macOS then merge it.

this doesn't actually work due to some tricky timing issues with redraw_after so if we want to implement this we'll need a different approach


#144 Version Dropdowns

Signed-off-by: Vladimir Tasic<EMAIL_ADDRESS>Issue #144
Use jsdom and jquery to change the .dropdown-content child elements so that all versions are present in every version dropdown list.
It does not touch files where the .dropdown-content class is absent, so first versions are not modified.
Someone will have to commit the modified *html files
Changes

Add new command-line option in package.json

npm run update-html-dropdowns
run only if old template is generated and .dropdown-content class is found in the file
Add an environment variable UPDATE_DROPDOWNS

@utajum this is great work, just a few minor comments, then I can merge.
Also for @jeromesimeon and @dselman a few other flags to note:

This doesn't work on very old template pages (such as volumediscount@0.0.3.html), as these pages don't contain a dropdown at all.
This is a manual process and isn't performed by default when generating pages (we could change this behaviour?)
The jquery serializer converts self-closing HTML elements to two tags. This isn't a major issue IMO and once we've done the first pass of updates future changes should be minimal.

@utajum Thanks for the PR! @mttrbrts Thanks for the detailed review, my take on your questions:

Not worried about old templates
If coded defensively enough, I think it would be useful to have it part of the build process (Netlify just calls npm run build so that target could be changed accordingly)
Doesn't seem like a big concern. This is Valid HTML... browsers can handle that fine.

@utajum are you able to address the review comments above, please?

Awesome, thanks @utajum. I'll merge this now.
Do you also want to put in a separate PR which commits the updates to the old static pages? I'm happy to tag that one for Hacktoberfest too.

Sure il open a PR


Fix jQuery-isms that are removed in Atom 1.16

This seems to work for me, and should fix #49 .
I am not 100% sure that the intent is of changing the background colour on the tree view scroller element; it seems to have no practical visual effect. But I think my code does the same as the original.

Please merge. Have tested it locally and works.

I have also tested locally and this resolves issue #49

It seems that the maintainer stepped down. Maybe someone can extablish a fork that includes the open PRs?


PORT - Fix for top level save and undo commands

For #

[ ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[ ] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).

I'm working on the ZMQ error here:
https://github.com/microsoft/vscode-jupyter/pull/4803
So I think we can ignore.

I'm working on the ZMQ error here:
#4803
So I think we can ignore.

Yeah, I knew that I'd seen that guy multiple times before. Sounds good.

Linux smoke seems to be stuck.


Write proper readme

installation instructions
API usage
mention pure ESM package
mention apg-js parser generator
mention SABNF

:tada: This issue has been resolved in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Migration for product questions and changes in api

Works done:

Added required fields in model
Changed questions answers controller to handle auth. and unauth. requests.
Added model for question setting
Overwrite the store serializer to send the status for enabling/disabling anonymous questions

@mausamp please add rspec for all model and controller changes you are making in this pr


MG-193 - Update Kubernetes deployment docs

Pull request title should be MG-XXX - description or NOISSUE - description where XXX is ID of issue that this PR relate to.
Please review the CONTRIBUTING.md file for detailed contributing guidelines.
What does this do?
This PR updates Kubernetes.md to conform to the latest helm charts
Which issue(s) does this PR fix/relate to
-Resolves #193
List any changes that modify/break current functionality
None
Have you included tests for your changes?
No
Did you document any new/modified functionality?
Yes
Notes

@JeffMboya Is this up to date and ready?

@JeffMboya Is this up to date and ready?

@dborovcanin yes, this is up to date and ready


envoy Buildkite build is broken with bazel 6

CI : https://buildkite.com/bazel/envoy/builds/2376
Envoy is failing with Bazel@Release, probably because llvm14 wasn't installed properly https://github.com/envoyproxy/envoy/blob/6bc593a029fe01fe7df257a0a4e1b2cbfd597e08/.bazelci/presubmit.yml#L21
Downstream :  https://buildkite.com/bazel/bazel-at-head-plus-downstream/builds/2975#0187b105-30f8-4160-ba9c-87133ca13887
Error logs :
ld.lld: error: cannot open /usr/lib/llvm-14/lib/clang/14.0.6/lib/linux/libclang_rt.profile-x86_64.a: No such file or directory
--
  | clang: error: linker command failed with exit code 1 (use -v to see invocation)
  | (02:15:00) INFO: Elapsed time: 54.890s, Critical Path: 0.63s
  | (02:15:00) INFO: 912 processes: 1 remote cache hit, 909 internal, 2 linux-sandbox.
  | (02:15:00) ERROR: Build did NOT complete successfully
  | //test/common/common:matchers_test                              FAILED TO BUILD
  |
  | Executed 0 out of 132 tests: 1 fails to build and 131 were skipped.
  | (02:15:00) INFO: Build Event Protocol files produced successfully.
  | bazel test failed with exit code 1
  | 🚨 Error: The command exited with status 1

Note : Not able to reproduce the error locally.
cc @meteorcloudy

@sgowroji those are the same bazel and clang versions we test with in CI, im wondering what is different about either the env or bazel flags that cause it to fail
mostly we use RBE which would obv make a difference, but some of our CI uses the host clang

Please look into the log in https://buildkite.com/bazel/envoy/builds/2376#0187b0a5-11e8-41dd-9aec-25320bbfc2bb to find more information. And you probably can tweak the https://github.com/envoyproxy/envoy/blob/6bc593a029fe01fe7df257a0a4e1b2cbfd597e08/.bazelci/presubmit.yml#L21 to test out fixes.
/cc @keith

cause of issue seems to be https://groups.google.com/g/linux.debian.bugs.dist/c/jFEvS84SakQ

thanks for the report!


[Enhancement] - add item data to more roll types, grabbing the item from the chatMessage flags or MidiQOL workflow

Should allow for easier integration of features like Magic Resistance etc, which need to check on the Item that initiated a roll, eg saving throw.

Should be fixed in https://github.com/thatlonelybugbear/automated-conditions-5e/releases/tag/v11.315312.7


Always update snapshots on CircleCI builds

We had some issues building the current development version on CircleCI.  As it turned out, Maven did not use the latest snapshots of some dependencies, but our code depended on these new versions. This commit adds the -U switch to the 'dependencies' phase of CircleCI, so that snapshots will always be updated, and also enables downloading of the plugins, so that they will be cached too.

Please correct the typos in the commit message.

done

Thank you


Fix ActionSheetiOS examples and ScreenshotManager Native Module in rn-tester

Summary
Fix ActionSheetiOS examples and ScreenshotManager native module.
Changelog
[General] [Fixed] - Fix "Share from Anchor" and "Share Screenshot" examples which uses ScreenshotManager native module. They were throwing error because ScreenshotManager was not defined as NativeModule.
[General] [Added] - Added ScreenshotManager as native module in iOS

Remove podfile.lock file and rebase


After adding Prometheus AspNetCore Exporter package, API app startup fails when launching with AppHost project and /metrics endpoint cannot work

I created a sample web API and added Aspire using .NET Aspire Orchestrator support.
This worked as expected.
My goal is to expose prometheus metrics using the /metrics endpoint, add the following annotations prometheus.io/scrape: "true" and prometheus.io/path: /metrics to my Kubernetes deployment manifest such that prometheus can scrape this pod/app and I visualize the metrics using the Grafana dashboards the dotnet team provided.
Challenge is that upon adding the OpenTelemetry.Exporter.Prometheus.AspNetCore Nuget package and uncommenting the line below:
// Uncomment the following lines to enable the Prometheus exporter (requires the OpenTelemetry.Exporter.Prometheus.AspNetCore package) builder.Services.AddOpenTelemetry()    .WithMetrics(metrics => metrics.AddPrometheusExporter());
I get this error when I run using the AspireApp.AppHost project:
System.MethodAccessException   HResult=0x80131510   Message=Attempt by method 'Microsoft.Extensions.DependencyInjection.OpenTelemetryServicesExtensions.AddOpenTelemetry(Microsoft.Extensions.DependencyInjection.IServiceCollection)' to access method 'OpenTelemetry.Internal.Guard.ThrowIfNull(System.Object, System.String)' failed.   Source=OpenTelemetry.Extensions.Hosting   StackTrace:    at Microsoft.Extensions.DependencyInjection.OpenTelemetryServicesExtensions.AddOpenTelemetry(IServiceCollection services)    at Microsoft.Extensions.Hosting.Extensions.ConfigureOpenTelemetry(IHostApplicationBuilder builder) in C:\Projects\AspireApp\AspireApp.ServiceDefaults\Extensions.cs:line 42    at Microsoft.Extensions.Hosting.Extensions.AddServiceDefaults(IHostApplicationBuilder builder) in C:\Projects\AspireApp\AspireApp.ServiceDefaults\Extensions.cs:line 16    at Program.<Main>$(String[] args) in C:\Projects\AspireApp\AspireApp\Program.cs:line 3
I have uploaded the code in a public repo here - https://github.com/kyandaks/AspireApp/blob/main/AspireApp.ServiceDefaults/Extensions.cs
Line 42 contains the code block for
builder.Services.AddOpenTelemetry()
NET ASPIRE Version: Aspire version: 8.0.0-preview.4.24156.9+692dc41a65da572a7df25d53a9f2880afe59fdd8
Any help will be appreciated.

I figured out the issue upon following this video - https://www.youtube.com/watch?v=nFU-hcHyl2s
I have not uncommented this section:
// Uncomment the following line to enable the Prometheus endpoint (requires the OpenTelemetry.Exporter.Prometheus.AspNetCore package)         app.MapPrometheusScrapingEndpoint();
Upon doing this, everything checks out


Is there any possibility of using “Child-directed setting” using this plugin?

Can we use “Child-directed-setting” For purposes of the Children's Online Privacy Protection Act (COPPA), there is a setting called tagForChildDirectedTreatment in admob which needs to be flagged to receive COPPA complaint ads.
More information on this link:
https://firebase.google.com/docs/admob/ios/targeting#child-directed_setting
Please let me know if we can tag for child directed treatment using this plugin.
Regards,
Venkat

Yes, you can.
Please see details in docs:
https://github.com/floatinghotpot/cordova-admob-pro/tree/master/docs#targetting-options

Thanks for your information.
I presume this setting works for both i-OS and Android.

I would like to purchase license, as I am not sure the ad sharing would overrule Child-directed-setting, It would be helpful, if you can confirm on this.

Is license applicable per app or an account which has multiple apps.

Yes, get a license to disable ad sharing will be safer, if you are going to use Child-directed-setting.
You can use the same license key for your own apps, under the same domain, like com.yourcompany.xxx

Thanks for your information. Appreciate your time and effort to reply my question. Please mark this as closed. I will contact you via the email mentioned in license purchase webpage.


merge key and relatedCryptoMaterial

Merges asset-types relatedCryptoMaterial and key.
Closes #31

Closing with the upstream to CycloneDX 1.6.


Navbar accessibility issue.

components: Navbar
reactstrap version ^7.1.0
import method umd/csj/es
react version #16.8.6
bootstrap version #4.3.1

On mobile toggle menu is not showing aria-expanded="false" when it should be.

The aria-expanded is not showing on mobile toggle after click. It should read

This is accessibility issue.
Steps to reproduce issue

import Navbar component
Add few menu items
resize your browser into mobile version.
Inspect the menu toggle button and try to click no aria-expanded appear under
 tag

Here is my code. Just using the example code from Navbar component
`import React, { useState } from 'react';
import { Collapse, Navbar, NavbarToggler, NavbarBrand, Nav, NavItem, NavLink } from 'reactstrap';

const Example = (props) => {
  const [collapsed, setCollapsed] = useState(true);

  const toggleNavbar = () => setCollapsed(!collapsed);

  return (

      <Navbar color="faded" light>
        <NavbarBrand href="/" className="mr-auto">reactstrap</NavbarBrand>
        <NavbarToggler onClick={toggleNavbar} className="mr-2" />
        <Collapse isOpen={!collapsed} navbar>

            <NavItem>
              <NavLink href="/components/">Components</NavLink>
            </NavItem>
            <NavItem>
              <NavLink href="https://github.com/reactstrap/reactstrap">GitHub</NavLink>
            </NavItem>

        </Collapse>
      </Navbar>

  );
}
export default Example;

This was fixed in #1657. Please update your version of reactstrap.

@TheSharpieOne  Thank you. What command use in react to update reactstrap to latest version?

npm install reactstrap@latest --save


Can't delete entities under Regex

STEPS:

Go to https://anonym.demo.buerokratt.ee/treening
Click on 'LISA UUS OLEM'
Enter text and click on 'SALVESTA'
Click on 'Olemi valik'

EXPECTED RESULT:
There's a way to delete the unnecessary entity (olem)
ACTUAL RESULT:
No way to delete entity (olem)

Tested 21.11 https://anonym.demo.buerokratt.ee/treening
Still not able to delete the entity.


props are not transfered to the underlying

If I write:
<BaseLink title="Leaves"
          routeName="trees.leaves"
          routeParams={{ treeId: "ash" }}>
  Leaves
</BaseLink>

In the rendered HTML, the title attribute is not set on the underlying  element:

  Leaves

It would be convenient to transfer every prop to the  element (except activeClassName, routeName, routeParam and so on).
I can submit a PR (tests included :battery:).
Thanks.

v4.2.0 now supports title. I've looked into other hyperlink attributes, and apart from hrefLang I couldn't see the benefit of supporting more for now.

Thanks! In fact, react-router does this.

That's what I wanted to do initially, but BaseLink takes a lot more props, some of which are not consumed in the render function. I had to destructure all of them before being able to group "other" props. Since there are actually very little hyperlink attributes one might be interested in (for example stuff like rel and target wouldn't be use for a link internal to your app), it's easier to list supported attributes.

Another solution is to use an intermediate prop:
<BaseLink aProps={{ title: 'Leaves' }}
          routeName="trees.leaves"
          routeParams={{ treeId: "ash" }}>
  Leaves
</BaseLink>

↓

  Leaves

However, it’s not really pretty.

Note it could be useful to allow to use event handler like onMouseEnter, onContextMenu and so on.

@motet-a finally did this, now any prop can be passed to the link component, and it will be passed to its hyperlink element (see router5/router5#201)

Thanks!


Bump version to 0.9.0, write version number to output file.

This PR bumps the version number to 1.0.0, and I hope to establish a new process where we increment the PATCH version (the third number) in the master branch after any PR or group of PRs gets merged.
This PR also includes new code to write the version into the glTF generator string.
@donmccurdy Note that I've completely changed the signature of the string, so you may have to update the list of known generators.  The previous string included the glTF version in the generator string, which was redundant because the glTF version is already required to be listed in the version field of the same asset object.
The new addon panel looks something like this:

And the new output looks like this:
    "asset" : {
        "generator" : "Khronos glTF Blender I/O v1.0.0",
        "version" : "2.0"
    },

Fixes #182.
/cc @julienduroure @UX3D-nopper

I hope to establish a new process where we increment the PATCH version (the third number) in the master branch after any PR or group of PRs gets merged.

Could this be automated and associated with git tags?

Could this be automated and associated with git tags?

That would be great!  I don't know how to implement that one though.

A find/replace in convert_to_strict_2.80.py could bump __init__.py automatically. @julienduroure would it be reasonable for the script to also create a new git commit and tag, or does that seem too complicated?

Think this is doable. I will work on it.
I'm not sure we should add a tag each time I merge into blender repo, because I'm currently doing it 2 or 3 times a week. This will be a lot of tags !
But definitively, I will increment version & commit it

Thank you! Glad to help if I can. Agreed that tags aren't necessary quite that often. :)

Based on this blog post: https://code.blender.org/2019/04/2-80-release-plan/
2.80 release should land in July.
Not sure we have to bump to 1.0.0 now, or if we have to wait until release. Maybe we can now bump to 0.1.0 (and automatically increase to 0.1.1 ... 0.1.x )

Let's bump this to 1.0.0 today, and immediately begin incrementing the patch versions (1.0.1, 1.0.2, etc).  I don't think there's anything to be gained by having 1.0.0 be a grand release tied to a large Blender version.  In my mind it's far more important to start being able to look at sample output and easily tell which PRs were merged when a particular model was exported.  It's fine if our version 1.0.0 goes un-noticed, as Blender 2.80 will attract tons of attention.
Looking at other exporter version numbers, they seem to be completely independent of Blender release versions.  Also, from a "people who judge the number of bugs by the number of zeros in the version number" standpoint, it may make the addon appear more stable, or at least have a longer history, when it has some nonzero version numbers.
But primarily, having this number change with each PR or each daily build will allow us to track down whether a particular PR really fixed a particular bug, and we need that.

Does this mean that this is no longer in beta? Is skinning exporting correctly now?

Many skinning issues were fixed in the past couple weeks, so it would be worth testing your models again to see what issues remain.
That said, the beta tag and version numbers are not synced to any particular issues, we are just ensuring that each release of the package not has a unique version number so that we can debug issues from the upcoming Blender release. I expect that the beta messaging will be removed when Blender 2.8 itself leaves beta.

I guess if we're keeping the Beta label, we can't put 1.0.0 yet then.  Should I update this to 0.9.0?  I'd rather that than just 0.1.0.

I prefer 0.9.0, as 0.1.0 looks like we just started.

OK, the version number on this branch has been rolled back to 0.9.0.

I committed a first change to add option to +1 minor version of addon. Currenlty, there is no commit & push done automatically, this is the next step (will work on it in following days)

Looks like the version bump script went directly into master, so I'm going to merge this now.


Slice bug "drop any dimension with size 1"

Hi.
Just starting to take a look at the Gorgonia Tensor library for some ML vision stuff. I've found that Slice() is not behaving like Numpy, and my feeling is that this is a bug. Please see the following test code:
func TestSlice1(t *testing.T) {
	a := tensor.New(tensor.WithShape(2, 2), tensor.WithBacking([]int{1, 2, 3, 4}))

	err := a.Reshape(1, 1, 2, 2)
	if err != nil {
		panic("bad reshape")
	}

	c, err := a.Slice(gorgonia.S(0), nil, nil, nil)
	if err != nil {
		panic("bad slice")
	}

	if len(c.Shape()) != 3 {
		t.Errorf("bad shape %v", c.Shape())
	}
}

After the reshape the Tensor has dimensions 1,1,2,2. After the slice it is 2,2. Since I pass nil as the 2nd parameter to Slice(), my feeling is that it should not remove that dimension, but it does.
If I submit a pull request to fix this, will it be accepted? It's a very simple fix, but could have repercussions if others are using a work around.

You are correct. It is a bug. Bug free is more important than anyone's workflow being preserved. Let's bring this to the right repo, shall we?

github does not have issue moving features - this fix and the PR by @matdodgson can be found here: https://github.com/gorgonia/tensor/issues/30


Experimental Tools no longer available?

Hey there,
Today I downloaded OpenCAGE and while I was checking the Wiki I noticed the: "Editing keycodes & Editing text" tools. I saw that there should be an "Experimental Tools" window, but I can't find it. They have both been removed or they're not an experimental feature anymore? If they're still available, where I can find them?
Thanks

Keycodes can now be edited using the script editing tools so that functionality was removed - the localisation editor will return in a future update :)
Will update the Wiki to reflect that!

Keycodes can now be edited using the script editing tools so that functionality was removed - the localisation editor will return in a future update :)
Will update the Wiki to reflect that!

Keycodes can now be edited using the script editing tools so that functionality was removed - the localisation editor will return in a future update :)
Will update the Wiki to reflect that!

Perfect, thanks!

Keycodes can now be edited using the script editing tools so that functionality was removed - the localisation editor will return in a future update :)
Will update the Wiki to reflect that!

Perfect, thanks!


Please clearify «targets»

Hi,
Many of your functions have the first attribute: targets.
I made a test on turbo_frame_set_src and noticed that its interpreting a simple string as id, because: #cars-box does not work while cars-box successfully targets the element with the id cars-box.
So under targets I would expect that a value like .cars-box would affect all matching elements as it would be the case with jquery.
Could you please clarify this?
On my gem, which includes yours in many cases, I kept the same naming because I thought target was a good naming for what it means, but clarified that target has a value like #my-target in logs, for example.
And why not allow css matchers like .customer-wrapper > #form? Yes, html-id should be unique, but this is hard to control and for complex pages child selectors would be a help.
Thanks,
Chris

I want to add to this that I was also quite confused. Turbo-Rails always supports two possible variants:
turbo_stream.replace("myid") # Will target a single node with id="myid"
turbo_stream.replace_all("#myid") # Will target all nodes with id="myid" (still only one as IDs need to be unique)

So, when using turbo_stream.morph, I thought that I had to use "myid" as target, but actually needed to specify "#myid", which is confusing.
Anyway, thanks for your efforts, I now have the morphing working like a charm 😊


Tweak custom resources concept

Use capitalizations as per style guide
Use glossary tooltips where appropriate

Update is to https://k8s.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/

/kind cleanup
/approve


Elementum Crashing after install on Kodi Leia Shield

Tried installing Elementum 0.71 on Nvidia Shield Leia.
Looks like Elementum successfully installed. But crashes 3 times before aborting when you try to open it up
Log File https://paste.kodi.tv/oriquyikoz

@krashtestdummie
Happened to me on the TV ( Sony Bravia - don't remember the model) and I did the following workaround:

installed Elementum
daemon didn't start
got 3 notifications that Elementum has crashed and is restarting
accessed the add-on settings and set a path for downloads, library and torrent to: USB/android/data/org.xbmc.kodi
uninstalled the add-on, but I selected that i want to keep my settings
installed it again and it worked

@elgatito - if needed I can create an issue for the TV with the logs included

@Tydir  in 0.1.* branch it is fixed, but that branch is experimental so far.

This also worked for the Shield
Except:
-Only Library and Torrent path needed changing
-On the shield the path is:
External Storage/Android/data/org.xbmx.kodi
-No need for uninstall. Just change path, restart Kodi

This also worked for the Shield
Except:
-Only Library and Torrent path needed changing
-On the shield the path is:
External Storage/Android/data/org.xbmx.kodi
-No need for uninstall. Just change path, restart Kodi

I had this same issue, Installed on my Jetstream AGT418(AndroidTV 8.1) kept getting crashes.  After changing the option from "Use Memory" to "Use Files" and setting the download directory and other paths the daemon started and everything is running great.


alternative fix for CfgCreator complexity class woes

This is an alternative to https://github.com/joernio/joern/pull/1455
This does change behavior: We generated a lot of incorrect CFGs. Generally speaking, I would very much appreciate a source-code comment if we test for known incorrect behavior. Such tests are still valuable for documenting known shortcomings, but a comment (like e.g. below wrt empty loops) makes life much easier when testing.
@fabsx00 -- are you happy with readability?

This fixes the incorrect CFGs, which were related to nesting of continues/breaks/case-labels: https://github.com/joernio/joern/pull/1471


Where do i install the syntax files?

This syntax theme is great! Thank you for making it. I just can't figure out where to add the syntax files for specific languages.

nvm they go in the ~/.config/micro/syntax dir. of course.


Fix simple SonarCloud issues

This PR fixes SonarQube issues where the resolution appeared obvious to me and required no refactoring: Missing const, nullptr instead of NULL, empty methods, missing default cases etc.
There are a lot of remaining issues that require closer investigation, but also many that appear to be false positives, e.g. related to constness. This is amazing because with other languages false positives are extremely rare. This also needs further investigation.
@akuker I would like to ask for permission to change the SonarQube rule settings (for C++). I guess you have to configure this. Over time I intend to make the rules stricter, but for now I would just like to switch off the rule that complain about TODOs, for instance. We know that we have TODOs anyway, and the IDE already points them out.

@akuker In order not to lose momentum I have already started a second round of addressing SonarCloud issues. There is a new fix_sonarcloud_issues2 (based on fix_sonarcloud_issues). In case you have not yet started reviewing fix_sonarcloud_issues I would like to merge fix_sonarcloud_issues2 into fix_sonarcloud_issues.
Just like with fix_sonarcloud_issues each change in fix_sonarcloud_issues2 usually only affects a single line.

@uweseimet  - I haven't started reviewing yet, so feel free to merge in. I've been diving into the timing issue associated with the new transceivers. Let me know when its ready and I'll dig into it.
As a side note: I bought a SCSI analyzer with amazing accuracy, so I can really see what's going on now.

@akuker I have merged fix_sonarcloud_issues2 into fix_sonarcloud_issues. All in all about 800 SonarCloud issues are fixed. The changes now also deal with memory management, making the code more robust against side-effects, and other things. Working on this is a good way to get familiar with more modern C++ features.
I tested everything with my hardware, and the unit tests are passing. This PR is still ready for review.

@akuker Regarding the emails with error reports I get, my impression is that they are in particular sent when something is committted while an action for a previous commit is still runing. Not absolutely sure, though.
Regarding this PR, the latest report (above) is outdated, and all builds for changes committed after that report was sent seem to have failed.
And one more thing: I suggest to configure away the coverage checks until supported. Currently quality gates fail because of 0% coverage even when there are no other issues. See https://github.com/akuker/RASCSI/pull/828 for such a report.

@akuker Just figured out how to get the compile-time logs. The problem is a compile-time problem only visible with -O3. I will try to find a solution, till then I will put the PR back into draft status.

Fixed the compile time error. It was related to a SonarQube (strcpy/strncpy) issue, which may have to be resolved later.

Up to date SonarCloud results are now available for this PR.

Lots of changes! Thank you for looking into these, @uweseimet . Just a couple comments.

@akuker Thank you for reviewing. I am quite sure that from my side this PR is the last one with so many files being changed in a single PR. The other tickets (even those with major effort) would not affect essentially everything. I hope I am not making wrong promises ;-)
Some changes probably take getting used to, at least for me, because they are using C++ features I was not yet familiar with. When looking at the reasons why SonarCloud made these suggestions, and when looking at the C++ standard, they made a lot of sense. A lot of them reduce the danger of side effects. And some, like structured bindings, make the code much more explicit.

@akuker Thank you for reviewing. I am quite sure that from my side this PR is the last one with so many files being changed in a single PR. The other tickets (even those with major effort) would not affect essentially everything. I hope I am not making wrong promises ;-) And provided that there are not too many issues of this kind still being reported. I don't know why, but the issues reported by SonarLint within Eclipse do not always match those reported in the SonarCloud UI, even though SonarLint connects to the SonarCloud server and gets its settings from this server.

There might be settings we need to tweak in SonarCloud. I think I added you to the project, but I'm not sure if that gives you access to the settings or not.

Some changes probably take getting used to, at least for me, because they are using C++ features I was not yet familiar with. When looking at the reasons why SonarCloud made these suggestions, and when looking at the C++ standard, they made a lot of sense. A lot of them reduce the danger of side effects. And some, like structured bindings, make the code much more explicit.

These new features of C++ are new to me as well. I learned quite a bit from reviewing your changes, so thank you! :)
As a former Ada programmer, the auto keyword scares me..... Why would you want to use a variable if you don't explicitly define what its type is!! But, I can see the value in it.

@akuker auto is similar to var/val etc. in other languages, and I do not use it everywhere. SonarCloud also does not propose to use it everywhere. It suggests to use it only when you can immediately see the type from the rvalue.

@akuker Regarding SonarCloud settings, being a project member is not sufficient. I would need to be able to create new quaiity profiles.


update

compatibility for recent reactphp/stream versions

Thanks for bringing this to our attention @CarlosMobileSail. While this doesn't include any changes to the requirements for react/event-loop, this does serve as a quick step up to updating that as well 👍 .

@CarlosMobileSail thanks for filing this PR! :+1:
Unfortunately, the PR does not currently contain any documentation, examples or tests, so it's a bit unclear how this can be used.
May I ask you provide a simple gist of what you're trying to achieve and how this looks from a consumer perspective? Thanks!
I'm closing this for now, please feel free to come back with more details if this problem persists and we can reopen this :+1:


Add more tests

You want to make a PR to Talos
Thanks so much :) First, please take a moment to carefully check through
the below items:
Sanity

[x] I'm aware of the implications of the proposed changes
[x] Code is PEP8
[x] I'm making the PR to master

Docs

[x] Docs are updated
[x] Docs version is correct (index.html and _coverpage.md)

Tests

[x] Changes have gone through actual use testing
[x] All local tests have passed (run ./test.sh in /talos)
[x] Tests have been updated to reflect the changes

The windows tests are failing because of requests package SSL cert issue.


style: readme.md updated

:tada: This PR is included in version 2.19.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


HDFS-16853. The UT TestLeaseRecovery2#testHardLeaseRecoveryAfterNameNodeRestart failed because HADOOP-18324

A new solution to fix HDFS-16853.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 42s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  1s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

-1 :x:
mvninstall
45m 32s
/branch-mvninstall-root.txt
root in trunk failed.

+1 :green_heart:
compile
23m 47s

trunk passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
compile
21m 24s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
checkstyle
1m 15s

trunk passed

+1 :green_heart:
mvnsite
1m 46s

trunk passed

+1 :green_heart:
javadoc
1m 16s

trunk passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
javadoc
0m 51s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
2m 47s

trunk passed

+1 :green_heart:
shadedclient
25m 41s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m  3s

the patch passed

+1 :green_heart:
compile
22m 30s

the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
javac
22m 30s

the patch passed

+1 :green_heart:
compile
20m 32s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
javac
20m 32s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
1m  4s

the patch passed

+1 :green_heart:
mvnsite
1m 42s

the patch passed

+1 :green_heart:
javadoc
1m  6s

the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
javadoc
0m 51s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
2m 43s

the patch passed

+1 :green_heart:
shadedclient
25m 11s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
18m 20s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
1m  3s

The patch does not generate ASF License warnings.

221m 16s

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5368/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5368

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux a34a45c1c53e 4.15.0-200-generic #211-Ubuntu SMP Thu Nov 24 18:16:04 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 6aa7d202228e04360faa814fd6756065c6a52d81

Default Java
Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5368/2/testReport/

Max. process+thread count
2188 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5368/2/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 59s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  1s

codespell was not available.

+0 :ok:
detsecrets
0m  2s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

-1 :x:
test4tests
0m  0s

The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ trunk Compile Tests _

-1 :x:
mvninstall
45m 30s
/branch-mvninstall-root.txt
root in trunk failed.

+1 :green_heart:
compile
28m 12s

trunk passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
compile
21m 56s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
checkstyle
1m  6s

trunk passed

+1 :green_heart:
mvnsite
1m 39s

trunk passed

+1 :green_heart:
javadoc
1m 10s

trunk passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
javadoc
0m 42s

trunk passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
2m 41s

trunk passed

+1 :green_heart:
shadedclient
28m 41s

branch has no errors when building and testing our client artifacts.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
1m  7s

the patch passed

+1 :green_heart:
compile
24m 27s

the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
javac
24m 27s

the patch passed

+1 :green_heart:
compile
21m 49s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
javac
21m 49s

the patch passed

+1 :green_heart:
blanks
0m  1s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 59s

the patch passed

+1 :green_heart:
mvnsite
1m 36s

the patch passed

+1 :green_heart:
javadoc
0m 58s

the patch passed with JDK Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04

+1 :green_heart:
javadoc
0m 42s

the patch passed with JDK Private Build-1.8.0_352-8u352-ga-1~20.04-b08

+1 :green_heart:
spotbugs
2m 41s

the patch passed

+1 :green_heart:
shadedclient
28m 13s

patch has no errors when building and testing our client artifacts.

_ Other Tests _

+1 :green_heart:
unit
18m  3s

hadoop-common in the patch passed.

+1 :green_heart:
asflicense
0m 54s

The patch does not generate ASF License warnings.

233m 41s

Subsystem
Report/Notes

Docker
ClientAPI=1.42 ServerAPI=1.42 base: https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5368/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hadoop/pull/5368

Optional Tests
dupname asflicense compile javac javadoc mvninstall mvnsite unit shadedclient spotbugs checkstyle codespell detsecrets

uname
Linux 43cd1d795bb2 4.15.0-200-generic #211-Ubuntu SMP Thu Nov 24 18:16:04 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/bin/hadoop.sh

git revision
trunk / 0855d0d00fc5831a30a7955a06e87f1d35153ffb

Default Java
Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Multi-JDK versions
/usr/lib/jvm/java-11-openjdk-amd64:Ubuntu-11.0.17+8-post-Ubuntu-1ubuntu220.04 /usr/lib/jvm/java-8-openjdk-amd64:Private Build-1.8.0_352-8u352-ga-1~20.04-b08

Test Results
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5368/1/testReport/

Max. process+thread count
3137 (vs. ulimit of 5500)

modules
C: hadoop-common-project/hadoop-common U: hadoop-common-project/hadoop-common

Console output
https://ci-hadoop.apache.org/job/hadoop-multibranch/job/PR-5368/1/console

versions
git=2.25.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.14.0 https://yetus.apache.org

This message was automatically generated.


Is Feign logging level property broken?

hi,
I'm trying to enable DEBUG level logs of Feign using this property:
logging.level.feign=DEBUG
It doesn't work though because of this code inside FeignClientFactoryBean.java:
protected <T> T loadBalance(Feign.Builder builder, Class<T> type, String schemeName) {
		builder.logger(new Slf4jLogger(type)); // TODO: how to have choice here?
		if (this.ribbonClient != null) {
			return builder.client(this.ribbonClient).target(type, schemeName);
		}
		else {
			return builder.target(LoadBalancingTarget.create(type, schemeName));
		}
	}

The first line of the method above changes the logger name to the name of a Feign client class. Right now I have to do something like logging.level.feign.com.mycompany=DEBUG to enable Feign logs.
Is it expected behavior?

Yes.  Are you seeing a specific problem? or is it just a lack of documentation?

I think I expected that logging.level.feign=DEBUG will work, as this is something consistent with the logging documentation you have. I didn't expect that to enable Feign framework logs I would need to specify a package name where the Feign client interface is located in my application.

I other words I would assume this implementation instead:
protected <T> T loadBalance(Feign.Builder builder, Class<T> type, String schemeName) {
        builder.logger(this.logger); // <------ the difference
        if (this.ribbonClient != null) {
            return builder.client(this.ribbonClient).target(type, schemeName);
        }
        else {
            return builder.target(LoadBalancingTarget.create(type, schemeName));
        }
    }

Ah, I see the confusion.  Usually when you create a logger for a class, you create it with the fully qualified class, so com.mycompany.MyFeignInterface.  That way you can tune logging at each logger level, ie (com.mycompany or com.mycompany.MyFeignInterface).  If we made the change you suggest, there would be no customizability.  #288 will support customizing each feign build similar to how we can with ribbon.  Why is logging.level.com.mycompany=DEBUG not ok?

Sure, I see your point of having a feature that allows to customize logging for each individual client.
The only issue with logging.level.com.mycompany=DEBUG is that it works only if load balancing is enabled. If the client chooses not to configure client side load balancing, this feature doesn't work and logging.level.feign=DEBUG works instead. See the method above in the same class:
	protected Feign.Builder feign() {
		Feign.Builder builder = Feign.builder()
				// required values
				.logger(this.logger).encoder(this.encoder).decoder(this.decoder)
				.contract(this.contract);

		// optional values
		if (this.logLevel != null) {
			builder.logLevel(this.logLevel);
		}
...

My suggestion would be to have these two options working at the same time:
logging.level.feign=DEBUG
logging.level.feign.com.mycompany.sensative.client=ERROR

Sorry, didn't mean to close the issue.


Replace DropdownSwitcher with Dropdown

💬 Description
This is making a start removing bootstrap Dropdown from GUI - DropdownSwitcher used bootstrap Dropdown, but DropdownSwitcher was barely used. I’ve refactored this out and replaced usages with our own Dropdown component.
I’ve had to add some styling to MenuItem in this as well, since bootstrap would apply some styling when MenuItem was used inside Dropdown.
✅ Checklist

[ ] Tests written
[ ] Browser tested
[ ] Added to documentation
[ ] Added to storybook

 Replace bootstrap Dropdown with own version


S|J: Update Spartacus setup instructions for 1811

When we moved Spartacus to open source, we concentrated on 1808.
The instructions are similar but not the same for 1811, so would be good to make a copy and label them 1808 and 1811 respectively.
Some things I know so far:

We're still telling people to download the spaccelerator impex.
Fixes were done in 1811 that solve the issues of checkout, so those parts should be removed.
Would be good to retest the instructions on 1811 and remove anything else that might not be needed, that was special for 1808. Good to involve interns again.

I'm assuming you mean these instructions.. https://github.com/SAP/cloud-commerce-spartacus-storefront/blob/develop/docs/setupandinstallation.md

Can't find any instances of SAP Commerce 1811 available for download on the SAP Downloads page. https://support.sap.com/en/my-support/software-downloads.html

@spartacus/core is missing after adding
$ yarn add @spartacus/styles
$ yarn add @spartacus/storefront

Questions:
Checkout issue being described in setup document still exists it seems.

The build.gradle file included in the setup document does not work, using that recipe says that the tdd tests does not exist.

latest RC for 1811 is https://repository.hybris.com/hybris-release/de/hybris/platform/suite/commerce-suite/1903.0.27081/
but it's about to be release to sap download

For doc, let's keep an archive of instructions for previous commerce suite releases.
So current instructions are renamed 1808- maybe, or in a subfolder, whatever.

PR: GH-689

Get dozens of errors similar to ERROR in<EMAIL_ADDRESS>(8,32): Generic type 'ActionReducerMap' requires 3 type argument(s).
And get hundreds of errors similar to ERROR in<EMAIL_ADDRESS>(3602,15): In ambient enum declarations member initializer must be constant expression.

Just retried the instructions and it works fine for me ☹


feat: Firebase setup - Added Android native method for requesting permissions and fetching device tokens.

#1 adds the first part; now, all that is left is the emitter part (https://reactnative.dev/docs/native-modules-android#sending-events-to-javascript)
@vijaygojiya Let me know if you want to tackle that. I'm imagining something like this:
class PushPackage : ReactPackage {

  data class Action (val type: String, val payload: Map<String, Any?>)

  private var isInitialized = false
  private val queue = mutableListOf<Action>()
  private var module: PushModule? = null

  override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
    module = PushModule(reactContext)

    module?.onInitialized = {
      isInitialized = true
      queue.forEach {
        module?.dispatch(it.type, it.payload)
      }
      queue.clear()
    }

    return listOf(module as NativeModule)

  }

  override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
    return emptyList()
  }

  fun dispatch(action: String, payload: Map<String, Any?>) {
    if (isInitialized) {
      module?.dispatch(action, payload)
    } else {
      queue.add(Action(action, payload))
    }
  }
}

// in PushModule
 // Example method
  // See https://reactnative.dev/docs/native-modules-android
  @ReactMethod
  fun addListener(eventName: String?) {
    // Keep: Required for RN built in Event Emitter Calls.
  }

  @ReactMethod
  fun removeListeners(count: Int?) {
    // Keep: Required for RN built in Event Emitter Calls.
  }

  fun dispatch(action: String, payload: Map<String, Any?>) {
    val map = mapOf(
        "type" to action,
        "payload" to payload
      )
      val event: WritableMap = Arguments.makeNativeMap(map)
      reactApplicationContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
        .emit(ON_STORE_ACTION, event)
  }

#1 adds the first part; now, all that is left is the emitter part (https://reactnative.dev/docs/native-modules-android#sending-events-to-javascript)
@vijaygojiya Let me know if you want to tackle that. I'm imagining something like this:
class PushPackage : ReactPackage {

  data class Action (val type: String, val payload: Map<String, Any?>)

  private var isInitialized = false
  private val queue = mutableListOf<Action>()
  private var module: PushModule? = null

  override fun createNativeModules(reactContext: ReactApplicationContext): List<NativeModule> {
    module = PushModule(reactContext)

    module?.onInitialized = {
      isInitialized = true
      queue.forEach {
        module?.dispatch(it.type, it.payload)
      }
      queue.clear()
    }

    return listOf(module as NativeModule)

  }

  override fun createViewManagers(reactContext: ReactApplicationContext): List<ViewManager<*, *>> {
    return emptyList()
  }

  fun dispatch(action: String, payload: Map<String, Any?>) {
    if (isInitialized) {
      module?.dispatch(action, payload)
    } else {
      queue.add(Action(action, payload))
    }
  }
}

// in PushModule
 companion object {
    const val notificationReceived = "notificationReceived"
    const val deviceTokenReceived = "deviceTokenReceived"
    const val errorReceived = "errorReceived"
  }

  override fun getConstants() = mapOf(
         ...
  )

 // Example method
  // See https://reactnative.dev/docs/native-modules-android
  @ReactMethod
  fun addListener(eventName: String?) {
    // Keep: Required for RN built in Event Emitter Calls.
  }

  @ReactMethod
  fun removeListeners(count: Int?) {
    // Keep: Required for RN built in Event Emitter Calls.
  }

  fun dispatch(action: String, payload: Map<String, Any?>) {
    val map = mapOf(
        "type" to action,
        "payload" to payload
      )
      val event: WritableMap = Arguments.makeNativeMap(map)
      reactApplicationContext.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
        .emit("...", event)
  }

Yes, I will take care of this today. Thanks

@gtokman Could you please review my implementation for the events emitter?. also need help on understanding event queue and dispatching event actions.

@gtokman Could you please review my implementation for the events emitter?. also need help on understanding event queue and dispatching event actions.

We probably don't need the queue, but you are good with the RNEmitter singleton you made regarding the dispatching events. After responding to my feedback, I will prob have to make a demo app on Firebase and see if this works.


Adding missing files in setup.py

Some non-python scripts are missing when install.
Signed-off-by: Yuan Zhou<EMAIL_ADDRESS>

Can one of the admins OK this pull request so I can run a build?

ok to test

Refer to this link for build results (access rights to CI server needed):
http://jenkins.ceph.com//job/teuthology-pull-requests/1391/
Tests passed for this pull request.

Thanks!


[Question]: How to test gesture events in my component?

Summary
First, thanks for this library!
I'm using ResumableZoom inside a photo gallery with a zoom feature with a pinch gesture. I want to test, for example, a callback function passed to onUpdate.
From what I saw in the Gesture Handler documentation, it's necessary to pass a testID to find a gesture.
ResumableZoom doesn't have a testID prop or even refer to the withTestID prop in the code, which is necessary to find the gesture.
How can I test a specific event like onUpdate in my app tests? My test is something like to:
it('should call onUpdate callback when pinch gesture event is fired', () => {
  const resolution = {
    height: 400,
    width: 640,
  };

  mockUseImageResolution.mockReturnValueOnce({
    resolution,
    isFetching: false,
  });

  setup({ item: { id: 'some-photo', uri: 'http://some-photo.jpg' } });

  fireGestureHandler<PinchGesture>(getByGestureTestId('pinch'), []);

  expect(defaultProps.onUpdate).toHaveBeenCalledTimes(1);
});

I'd crave to give you a proper answer, but the reality is that I gave up on testing gestures and rage deleted everything related to them.
The tools provided by Gesture Handler are too primitive to write anything than basic tests, there are things that are 100% untestable like onSwipe callbacks (custom swipe based on pan gesture), gesture config changes and more, I've thinking of writing those basic tests again, but I do not really know if it's even worth it.
At this point in time the only way to test is your hands, sorry.

@lucianomlima Today I released a new version, it does include testIds for each gesture, GH is still limited in terms of testing and the recommended version to test with is 2.20.0

Nice! I'll check out, thanks!


Mantine Rich Text Editor Request

Would love to be able to use mantine's rich text editor as part of this library! https://mantine.dev/others/tiptap/

Sorry, currently, I don't have the bandwidth to maintain this package.

@AnnMarieW @snehilvj Is there any bandwidth to support this now?

Hi @benweinberg89
This is a great component, but a big job to include it here.  I'd be open to a pull request though.
Could revisit this after the first major release is completed.  For more details see the Roadmap


Add an option for overlay on webpage

Subject of the issue
The option would enable/disable a slight tint(overlay) on the webpage

Kindly assign me this issue! Thanks @developer-diganta

Sure! Go for it

Just a suggestion, keep 2 overlay options one a sort of dark overlay and another a warm overlay


challenge-editor should be documented

challenge-editor should be added to the "How to work on practice projects" documentation here: https://contribute.freecodecamp.org/#/how-to-work-on-practice-projects

I'll tackle this today.