This Week in Spring - June 6th, 2023

Engineering | Josh Long | June 06, 2023 | ...

Hi, Spring fans! Welcome to another installment of This Week in Spring! And what an insane week it's been! Long story short, I've spent 10-12 hours a day over the last five days migrating a dozen differnet applications and services from one GKE cluster to another, taking the time to update things as much as possible. In the case of at least one Vue.js application, this meant some major reworking of the codebase. It's also meant rewriting lots of Github Actions with the new best-practices and patterns, which I confess has been painful.

Once everything's fully migrated (soon, I hope!), I think a next step will be to see what I can do to simplify things in a consistent way across all the services. This means:

  • building a new Kubernetes CRD and controller to encapsulate the YAML I find myself repeating across all my services. It's tedious and error-prone and could be boiled down to a few lines in one YAML file for 90% of my workloads!
  • building a new Github Action that does a lot of the Kubernetes connectivity so I don't have to copy-and-paste the same four error-prone actions across each Github Actions workflow.
  • Moving everything to Gradle and packaging up things - like my version management and common required dependencies - in a shared plugin which in turn furnishes required plugins, dependencies, and delegates to Spring Boot 3.1 and the like. 3.1's a great place to be for these applications already, it'd just be nice to know that when it comes time to move to 3.2, or whatever, I can make the change in one place and everywhere else benefits.
  • As part of the work, I've decided I wanted to start eliminating some of the crufty, bespoke authentication mechanisms in my various web applications. I've stood up an instance of the Spring Authorization Server. (Hurray!) By the way, if you want to see the easiest and coolest demo of how to get an OAuth client, an OAuth resource server, an OAuth Authorization Server, all from scratch on start.spring.io, do check out this video that Steve Reisenberg and I put together recently! It's insane how easy it is to get everything working, and the actual production code I'm going to take to my production environment is only slightly more complex)

Anyway, all of that is temporarily on hold as I am in Dallas, Texas at the moment meeting some customers and enjoying the warm weather. But we do have a ton of stuff to look at this week, and I've got a customer to visit, so let's get this underway!

Get the Spring newsletter

Thank you for your interest. Someone will get back to you shortly.

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Tanzu Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all