Project post originally published on the Argo blog by Zach Aller
Welcome Argo Rollouts 1.6! This release had 33 contributors, of which 22 were first-timers, and includes 134 commits. Thank you all for your contributions! This release is a bit of a maintenance release but let’s dive into a few key things that were included.
Support Multiple ALB Ingresses
It is common for security requirements to require separate ALB’s for internal vs external traffic, this used to cause issues for Argo Rollouts because we could only manage a single ALB starting in 1.6 you can now pass in an array of ingress resources to manage.
Example below:trafficRouting:
alb:
ingresses:
- alb-rollout-multi-ingress-1
- alb-rollout-multi-ingress-2
rootService: alb-rollout-root
servicePort: 80
Contributed by: n888
Self Service Notification Support
Argo Rollouts now allows teams to self serve notification configuration. Previous to 1.6 if Argo Rollouts was ran in at a cluster level, only the “admin” or team members that have permission to the namespace the Rollouts controller is running in could configure the notifications configmap and secrets. This made it impossible for teams to configure their own triggers, templates, and secrets needed to send notifications.
Starting in 1.6, users can now enable this feature via a CLI argument on the controller:--self-service-notification-enabled
With this enabled, the controller will look for a configmap named: argo-rollouts-notification-configmap
and secret named: argo-rollouts-notification-secret
in the namespace that the Rollout resources themselves live in. This allows teams to self-configure at the namespace boundary.
Contributed by: Zach Aller and May Zhang
Refresh Rollouts Dashboard UI
The Rollout Dashboard got a nice little refresh in 1.6; it includes many small improvements around usability and theme changes. Here are a few screenshots showing some of the changes. Here is a list of some of the change and a peak at the new UI:
- Update logo and header (matches Argo CD interface)
- Introduce Ant Design components
- Improved Namespace selector and layout
- “Search” is called “Filter”
- Improved container editing interface
- Improved buttons and action confirmation (buttons no longer change width upon click)
- Tooltips on Health status icons for more clarity
- Improved layout of individual Rollout View: Steps section is much larger and can take up entire vertical area
- Truncate the middle of long ReplicaSet names
- Change orange outline to blue
- Remove dependency on Argo UI V2
- Fix Letter “L” doesn’t work after navigating to a rollout details page
Contributed by: Remington Breeze
Generate Attestations For Releases
Argo Rollouts following ArgoCD lead thanks to the great work by Justin Marquis now includes release Attestations at SLSA Level 3 you can read more on all the build artifact verifications features supported by Rollouts here. This allows users to verify that the version of the controller they are running was built by a github runner under the argo rollouts teams control and has not been tampered with by anyone external entity.
Contributed by: Justin Marquis
Plugin Updates
Plugins for traffic routers and metric providers are still being actively contributed to. We have gained a few more traffic routers since the last release, and the feature set of the first plugins is improving. You can check them out here, and if you want to contribute one, please feel free to reach out on Slack or create a GitHub issue.
Breaking Change Notices
The metric labels have changed oncontroller_clientset_k8s_request_total
not to include the name of the resource for Events and ReplicaSets. These names have generated hashes in them and cause really high cardinality.
A few other metrics still have very high cardinality, but these two were the worst offending ones; we hope to improve some of the cardinality over time.
Summary
There have been many small improvements and changes in this release as well you can find the full details here and in the changelog.