Nico Schieder
Nico is a Principal Software Engineer working on Red Hat OpenShift.
Before joining the OpenShift engineering team, he led an Site Reliability Engineering team supporting the launch of multiple managed offerings, like Red Hat Advanced Cluster Security and Red Hat OpenShift AI, among others.
Prior to joining Red Hat at the start of 2021, Nico did work in consulting around Kubernetes Operator development and lead a product team working on a multi-cluster solution for Kubernetes.
He is living in southern Bavaria, Germany close to the Alps.
Red Hat
Job title –Principal Software Engineer
Session
Writing controllers that manage other objects is hard. Especially if you want to do:
- server-side-apply (all the cool kids are talking about it)
- proper status reporting through generic object probes
- phased ordering of managed objects (Namespaces need to exist before resources can be put into them; CustomResourceDefinitions (CRDs) must be registered before being used; ...)
- Drift detection (did someone else change an object under my control?)
- permission management with separate caches (You don't want a probe reading the data of something you're not allowed to read...)
We'd like to present to you, what we learnt about managing objects using server-side-apply while extracting some functionality of our service-delivery operator "package-operator" into the separate library "boxcutter".