Skip to content

Comments

Release 2022-07-05 - (expected chart version 4.18.0)#2534

Closed
zebot wants to merge 122 commits intomasterfrom
release_2022-07-05_08_25
Closed

Release 2022-07-05 - (expected chart version 4.18.0)#2534
zebot wants to merge 122 commits intomasterfrom
release_2022-07-05_08_25

Conversation

@zebot
Copy link
Contributor

@zebot zebot commented Jul 5, 2022

[2022-07-05] (Chart Release 4.18.0)

Release notes

  • For users of the (currently alpha) coturn Helm chart:
    manual intervention may be required when upgrading to
    this version of the chart from a prior version, due to a bug in
    Kubernetes
    which
    may interfere with applying changes to pod and service port configuration
    correctly.

    If, after updating this chart, the coturn pods do not have both a coturn-udp
    port and a coturn-tcp port, then the coturn StatefulSet must be manually
    deleted from the cluster, and then recreated by re-running Helm. Similarly, if
    the coturn Service does not have both a coturn-udp port and a coturn-tcp
    port, this Service must also be deleted and recreated. (Add UDP endpoints to coturn Helm chart #2500)

  • The nginz{-tcp,-http} services have been unified into a nginz service, and
    moved into the nginz chart.

    The nginz-ingress-services chart simply targets the nginz service, so there's
    no need to set matching service.nginz.external{Http,Tcp}Port inside the
    nginx-ingress-services chart anymore.

    The config.http.httpPort and config.ws.wsPort values in the nginz chart
    still configure the ports the nginz service is listening on.

    Metrics were moved from config.http.httpPort to a new http-metrics port.

    The nginz chart also gained support for metrics.serviceMonitor.enabled,
    creating a ServiceMonitor resource to scrape metrics, like for other wire
    services.

    (//services/nginz/third_party/nginx-module-vts: update #2476)

  • Upgrade webapp version to 2022-06-30-production.0-v0.30.5-0-3e2aaf6 (Update webapp version in Helm chart [skip ci] #2302)

  • In the helm charts, the wireService label has been removed.

    In some cases, we were already setting the app label too.

    Now we consistently use the app label to label different wire services.

    The wireService label was also used in the spec.selector.matchLabels field
    on existing Deployment / StatefulSet resources.
    As these fields being immutable, changing them isn't possible without recreation.

    If you encounter an issue like

    field is immutable && cannot patch "*" with kind *

    you need to manually delete these StatefulSet and Deployment resources, and apply helm again, which will recreate them.

    This means downtime, so plan a maintenance window for it.

    The wire-server-metrics chart was previously running some custom
    configuration to automatically add all payloads with a wireService label into
    metrics scraping.

    With the removal of the wireService label, this custom configuration has been
    removed.

    Instead, all services that expose metrics will now create ServiceMonitor
    resources, if their helm chart is applied with metrics.serviceMonitor.enable
    set to true.

    This prevents scraping agents from querying services that don't expose metrics
    at /i/metrics unnecessarily.

    Additionally, makes it easier to run other metric scraping operators, like
    grafana-agent-operator, without the need to also create some custom
    wireService label config there.

    Generally, if you have any monitoring solution installed in your cluster that
    uses the Prometheus CRDs, set metrics.serviceMonitor.enable for the following charts:

API changes

Features

Bug fixes and other updates

Internal changes

arthurwolf and others added 30 commits June 2, 2022 14:52
After Vedran asked about it
glibc 2.34 uses the clone3 syscall, which is not part of the seccomp
filters that moby ships on older versions.

While as a workaround you might be able to run containers with
`--privileged`, it's the better call to just run a more recent Docker
runtime.

References:
 - docker/buildx#772
 - moby/buildkit#2379
 - moby/moby#42836
 - NixOS/nixpkgs#170900
docs/src/how-to/install/dependencies.rst: require Docker >= 20.10.14
Reverted back to sequence+map to avoid GHC issue when dealing with Arbitrary instances
Merge master back into develop for release 2022-06-08
…r support (#2413)

* charts/*: drop wireService label, use app= instead, add servicemonitor support

This aligns labels a bit more with how they look like in other
deployments. In some cases, we were already setting the `app` label,
too.

There's one possible regression:
The wire-server-metrics helm chart configured kube-prometheus-stack to
automatically scrape everything with a wireService label at port http,
path /i/metrics. This will be fixed in a followup, by adding
ServiceProbe resources to each workload that exposes metrics.

* charts/brig: add servicemonitor support

* charts/cannon: add servicemonitor support

* chart/cargohold: add servicemonitor support

* charts/galley: add servicemonitor support

* charts/gundeck: add servicemonitor support

* charts/proxy: add servicemonitor support

* charts/spar: add servicemonitor support

* changelog.d: add wireService label removal to changelog
…ent recreation (#2472)

The `wireService` label was also used in the `spec.selector.matchLabels` field
on existing `Deployment` / `StatefulSet` resources.
As these fields being immutable, changing them isn't possible without recreation.

Update the release notes to document this fact, and how to handle it.
* Add mls clients to remote member table

* Add fed endpoint to get MLS clients

* Store remote mls clients in conversations

* Move MessageMetadata to wire-api

* Add fed RPC for remote message notifications

* Send MLS messages to remote members

* Ignore (and log) errors when sending MLS messages

* Ignore local member map for non-bots

* Add a federation test

* Test adding remote member to MLS conv

* Add end-to-end test of remote MLS messages

* Add remote MLS message test

* Replace LocalMemberMap with BotMap

* onMessageSent: only send messages to members

* Add CHANGELOG entry

* Typo

Co-authored-by: Marko Dimjašević <marko.dimjasevic@wire.com>
Co-authored-by: Zebot <zebot@users.noreply.github.com>
This provides a prometheus endpoint out of the box, so we can access it
at /vts/status/format/prometheus.
Make this actually only one service, exposing two ports.

This will allow selecting nginz for metrics scraping on the right port,
without the need for additional labels to distinguish `nginz-tcp` from
`nginz-http`.
stefanwire and others added 29 commits June 27, 2022 19:00
The plain `hedis` client discards the initial connection data and only retains a list of Redis cluster node IPs. When none of these IPs is valid anymore, for instance, due to Redis cluster or (Kubernetes) node updates, `hedis` immediately looses all retained connections to Redis without any option to reconnect. In this patch, we wrap the `hedis` client and retry connecting with the initially provided connection data in case of network errors. Also, the wrapper makes sure that
* if reconnecting fails, it is retried with exponential back-off, and
* only one thread reconnects while all other threads are blocked and are immediately unblocked as soon as the new connection is established.
Co-authored-by: Zebot <zebot@users.noreply.github.com>
Co-authored-by: Stefan Matting <stefan@wire.com>
add more details on grabbing metrics
…ion-when-provisioning-users-with-scim

Added preferred language field to mapping scheme.
Added more examples to Schema Profuctor docs.
@battermann battermann closed this Jul 5, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.