Release v1.7.0

2022 Dec 13

NSM v1.7.0

Public Cloud Capability

NSM v1.7.0 has been tested on

Zero trusted registry services

Added Path support for registry services.

The main difference registry Path with networkrservice.Path is that еру full path doesn’t store in the registry model. Instead of it, path a public and private Path.

The public path is a human-readable slice of strings that represents the Path of registry IDs that which model visited to reach the final registry.

See public path definition in this commit.

The private path is a data structure that is transported in grpcmetadata and contains all required information to be processed by OPA.

So public path is needed for these goals:

  1. Restore a restarting registry client’s pods such as endpoints or forwarders.
  2. Prevent replacement entries in the final registry by spy registry clients from aboard.

Backward compatibility

Since registry api was changed. Nowt NSM components of version v1.7.0 or higher are not backward compatible with older applications by default.

It means, that if needed to use NSM v1.7.0 with older NSM applications then needed to manually disable OPA policies for registry for each new NSM application.

Example, define these envs to disable OPA check for the registry services.

1
2
3
4
    - name: NSM_REGISTRY_SERVER_POLICIES
        value: ""
    - name: NSM_REGISTRY_CLIENT_POLICIES
        value: "" 

Note: Apply this for each new NSM commponent that is using registry.

See more details

Add a new remote mechanism ‘IPSec’

Added a new remote mechanism for IPSec interfaces.

Now NSM supports the next remote mechanisms: [Wireguard, IPSec, Vxlan]. Note: Wireguard, IPSec both work with L3 and which means that you will need to configure a forwarder on the cluster to prefer which mechanism has more priority for you to use by default for IP services.

See at the workable example

Implement generator for NSE

Added a simple command for nsmctl that allows generating endpoints.

Try it by yourself:

1
2
$ go install github.com/networkservicemesh/nsmctl@latest
$ nsmctl gen nse --name 'my nse' --path './my-endpoint'

Add support for IPv6 k8s clusters

Added a support for IPv6 clusters.

Note: Previously we added the support for IPv6 networks that we tested on IPv4 clusters.

Now NSM is working with IPv4 and IPv6 networks on IPv6 and IPv4 clusters.

See more details

Improve UX for NSM examples

Improved and simplified NSM examples by reducing the count of repeatable setups and also made sure that we’re using webhook in each example (where it’s possible).

See mote details

Improve system stability

Resolved bugs:

  1. https://github.com/networkservicemesh/deployments-k8s/issues/8187
  2. https://github.com/networkservicemesh/sdk/issues/1397
  3. https://github.com/networkservicemesh/deployments-k8s/pull/7686
  4. https://github.com/networkservicemesh/deployments-k8s/issues/7738
  5. https://github.com/networkservicemesh/deployments-k8s/issues/7673
  6. https://github.com/networkservicemesh/deployments-k8s/issues/7676
  7. https://github.com/networkservicemesh/.github/pull/23
  8. https://github.com/networkservicemesh/deployments-k8s/pull/7808
  9. https://github.com/networkservicemesh/integration-k8s-kind/issues/738
  10. https://github.com/networkservicemesh/deployments-k8s/issues/7660
  11. https://github.com/networkservicemesh/deployments-k8s/pull/7565
  12. https://github.com/networkservicemesh/integration-k8s-aws/issues/322
  13. https://github.com/networkservicemesh/deployments-k8s/issues/7896
  14. https://github.com/networkservicemesh/sdk/pull/1375
  15. https://github.com/networkservicemesh/deployments-k8s/pull/8100
  16. https://github.com/networkservicemesh/integration-k8s-aws/issues/324
  17. https://github.com/networkservicemesh/cmd-nse-vl3-vpp/issues/136
  18. https://github.com/networkservicemesh/deployments-k8s/issues/7792
  19. https://github.com/networkservicemesh/cmd-nse-l7-proxy/issues/55
  20. https://github.com/networkservicemesh/deployments-k8s/issues/7694
  21. https://github.com/networkservicemesh/deployments-k8s/issues/7433
  22. https://github.com/networkservicemesh/.github/pull/19
  23. https://github.com/networkservicemesh/integration-interdomain-k8s/issues/211
  24. https://github.com/networkservicemesh/integration-interdomain-k8s/pull/210