Contributing to Apache Syncope: The Codebase and Five Patches

Apache Syncope is one of those projects everyone in identity has heard of and few have read the source of. Over a few months I read enough of it to land five fixes upstream, and this is the write-up I wish I’d had going in. Two parts: first the map — features, stack, code layout — then a plain overview of the patches. No heroics; an approbation post. Part 1 — The product What it does Syncope is an identity lifecycle engine. It owns the authoritative record of users, groups, and arbitrary “any-objects”, and propagates changes out to the systems that actually enforce access — an LDAP directory, a database, Azure AD, a SCIM endpoint. It is not an OIDC provider bolted onto a user table; it is the thing that decides a user exists, computes what that means on each connected resource, and pushes it there. ...

June 25, 2026 · 6 min

Modernizing an Enterprise Java Application: From Java EE 8 to a Containerized Jakarta 10 App

Every enterprise has one: a Java EE application that has quietly earned its keep for a decade. It builds into an EAR, it wants an application server you download as a ZIP, it authenticates with a form and a j_security_check, and it imports everything from javax.*. It works. Nobody wants to touch it. And it is exactly the kind of thing that becomes impossible to deploy the day someone asks for “just put it in a container on OpenShift.” ...

January 9, 2023 · 12 min

Autoscaling Quarkus on OpenShift: A Pi-Powered Load Test

Autoscaling is easy to explain and hard to see. The docs tell you a HorizontalPodAutoscaler watches CPU and adds pods — but to watch it happen you need a workload that burns CPU on demand, a deployment that reports its resource usage honestly, and a way to generate real traffic. This post wires all three together with a tiny Quarkus app, the quarkus-openshift extension, and k6. The full source is here: ozimakov-rh/quarkus-hello-world. It targets Quarkus 2.14 on Java 17. ...

November 30, 2022 · 5 min