Skip to content

Instantly share code, notes, and snippets.

@Kevin-Mok
Last active February 3, 2026 00:44
Show Gist options
  • Select an option

  • Save Kevin-Mok/1652af7a7574c36abaf0ff7509756234 to your computer and use it in GitHub Desktop.

Select an option

Save Kevin-Mok/1652af7a7574c36abaf0ff7509756234 to your computer and use it in GitHub Desktop.
This document summarizes my contributions to Red Hat's open-source Kogito ecosystem and related projects during my time as a software engineer on the Business Automation team.

Red Hat Open Source Contributions

Kevin Mok | Software Engineer | Red Hat Business Automation Team (2020-2022)


Executive Summary

During my tenure at Red Hat, I made 50+ merged pull requests across 10 repositories in the Kogito ecosystem and related cloud-native projects. My contributions ranged from founding an entire Helm charts repository to fixing critical Kubernetes operator bugs affecting enterprise customers.

Impact at a Glance

Metric Value
Total Merged PRs 50+
Lines of Code Added 7,000+
Repositories Contributed To 10
Project Founded kogito-helm-charts
Developer Documentation 472-line onboarding guide
CNCF Project Contributions prometheus-operator

Table of Contents

  1. kogito-operator - 20 PRs, +3,526/-1,056 lines
  2. kogito-helm-charts - 4 PRs (Founded Repository)
  3. rhpam-kogito-operator - 11 PRs
  4. kogito-runtimes - 7 PRs, +1,433/-101 lines
  5. kogito-examples - 3 PRs
  6. kogito-images - 2 PRs
  7. kogito-apps - 1 PR
  8. prometheus-operator - 3 PRs (CNCF Project)
  9. optaplanner - 2 PRs

1. kogito-operator

Repository: github.com/kiegroup/kogito-operator

Description: Kubernetes Operator for deploying Kogito services (business automation) on OpenShift/Kubernetes. Written in Go using the Operator SDK.

My Impact: 20 merged PRs | +3,526 lines added | -1,056 lines removed

All Commits

Date Commit PR Title Impact
2021-07-16 5133aae #941 [KOGITO-5512] controller-gen doesn't generate CRD's Fixed CRD generation tooling
2021-07-06 6a8e795 #923 [RHPAM-3681] Fix file name typo Bug fix
2021-07-05 1534c03 #875 [KOGITO-5127] Guide for new Kogito operator developers 472-line developer onboarding guide
2021-05-17 870377b #874 [KOGITO-4453] Fix getAppPropsFromConfigMap ConfigMap handling fix
2021-05-04 af4977a #841 [KOGITO-4898] Set probe defaults based on YAML action values Probe configuration
2021-04-19 43d7aa1 #849 [KOGITO-4905] Fix COPY line comment in springboot.Dockerfile Dockerfile fix
2021-04-15 521ad7e #826 [KOGITO-4322] Add startup probes 724 lines - Major K8s feature
2021-04-13 a9546c7 #822 [KOGITO-4781] Fix deployment constantly updating Critical stability fix
2021-04-13 5271a55 #836 [KOGITO-4888] Update Prometheus operator GitHub link Documentation
2021-04-09 7c6dbcd #838 [KOGITO-4905] Fix COPY line in springboot.Dockerfile Dockerfile fix
2021-03-15 372809f #792 [KOGITO-4453] Fix overwriting propertiesConfigMap ConfigMap bug fix
2021-02-11 a1106d8 #733 [KOGITO-4210] Fix probe config for Quarkus deployments Health check fixes
2021-01-11 c91ea3b #700 [KOGITO-3777] Separate Quarkus/Spring Boot env/properties 587 lines - Major refactor
2020-10-29 c369846 #614 [KOGITO-3376] Update protobuf ConfigMap using fetched files Protobuf handling
2020-09-23 175a635 #563 KOGITO-2113 Simplify binary build deployment Deployment simplification
2020-09-21 4eb0852 #578 [KOGITO-3350] CLI fails to download GitHub file properly CLI bug fix
2020-08-07 c9c76db #501 [KOGITO-3005] Add exe extension to Windows CLI Windows support
2020-08-03 96d241f #485 [KOGITO-1925] CLI: force native build to use s2i S2I build integration
2020-07-31 2c4a684 #481 [KOGITO-2917] Update contributors' guide link in PR template Documentation
2020-07-31 cad5504 #480 [KOGITO-2916] CLI auto-completion for fish shell Shell completion feature

Key Contributions Explained

Developer Onboarding Guide (PR #875)

Created a comprehensive 472-line guide for new Kogito operator developers covering:

  • Development environment setup
  • Project architecture overview
  • Testing strategies
  • PR submission guidelines
  • Debugging techniques

Kubernetes Startup Probes (PR #826)

Added Kubernetes startup probe support (724 lines changed):

  • Enables slow-starting containers to fully initialize before liveness checks begin
  • Prevents premature container restarts
  • Critical for Java applications with long startup times

Deployment Stability Fix (PR #822)

Fixed a critical bug where deployments were constantly updating even with no changes:

  • Eliminated unnecessary reconciliation loops
  • Reduced API server load
  • Improved cluster stability for production environments

Quarkus/Spring Boot Separation (PR #700)

Major 587-line refactor to properly separate configuration for Quarkus vs Spring Boot:

  • Different environment variable handling per framework
  • Framework-specific properties ConfigMaps
  • Improved developer experience for both ecosystems

2. kogito-helm-charts

Repository: github.com/kiegroup/kogito-helm-charts

Description: Helm charts for deploying Kogito applications on Kubernetes without the operator.

My Impact: FOUNDED THIS REPOSITORY | 4 PRs | +2,144 lines added | Created entire project from scratch

All Commits

Date Commit PR Title Impact
2021-08-24 aef8f62 #4 [KOGITO-5769] Support Kafka eventing in Helm Kafka integration
2021-08-24 5a026db #3 [KOGITO-5768] Support PostgreSQL persistence in Helm Database persistence
2021-08-24 5e5d362 #2 [KOGITO-5766] Support Prometheus monitoring in Helm Monitoring integration
2021-08-24 9f06b21 #1 [KOGITO-5765] Deploy basic Kogito application in Helm Initial chart creation (451 lines)

Why This is Significant

I created this entire project from the ground up, including:

  1. Chart Architecture (PR #1)

    • Helm chart structure with best practices
    • Support for both Quarkus and Spring Boot applications
    • Comprehensive values.yaml with sensible defaults
    • README with deployment instructions
  2. Prometheus Monitoring (PR #2)

    • ServiceMonitor CRD integration
    • Metric scraping configuration
    • Grafana dashboard compatibility
  3. PostgreSQL Persistence (PR #3)

    • Database connection configuration
    • Secret management for credentials
    • Persistence volume claims
  4. Kafka Eventing (PR #4)

    • CloudEvents integration
    • Kafka topic configuration
    • Event-driven architecture support

This provided an alternative deployment path for users who:

  • Don't need the full operator complexity
  • Want GitOps-friendly deployments
  • Prefer Helm's templating approach

3. rhpam-kogito-operator

Repository: github.com/kiegroup/rhpam-kogito-operator

Description: Enterprise (Red Hat Process Automation Manager) version of the Kogito operator.

My Impact: 11 PRs (many shared with kogito-operator as downstream sync)

All Commits

Date Commit PR Title
2021-04-22 0f794f4 #12 [KOGITO-4322] Add startup probes to API
2021-04-16 bd18a0e #15 [KOGITO-4888] Update Prometheus operator GitHub link
2021-02-11 a1106d8 #733 [KOGITO-4210] Fix probe config for Quarkus deployments
2021-01-11 c91ea3b #700 [KOGITO-3777] Separate Quarkus/Spring Boot env/properties
2020-10-29 c369846 #614 [KOGITO-3376] Update protobuf ConfigMap using fetched files
2020-09-23 175a635 #563 KOGITO-2113 Simplify binary build deployment
2020-09-21 4eb0852 #578 [KOGITO-3350] CLI fails to download GitHub file properly
2020-08-07 c9c76db #501 [KOGITO-3005] Add exe extension to Windows CLI
2020-08-03 96d241f #485 [KOGITO-1925] CLI: force native build to use s2i
2020-07-31 2c4a684 #481 [KOGITO-2917] Update contributors' guide link in PR template
2020-07-31 cad5504 #480 [KOGITO-2916] CLI auto-completion for fish shell

4. kogito-runtimes

Repository: github.com/kiegroup/kogito-runtimes

Description: Core Kogito runtime engine - the Java framework powering Kogito applications. Includes legacy Drools rule engine code.

My Impact: 7 PRs | +1,433 lines added | -101 lines removed

All Commits

Date Commit PR Title Impact
2021-04-20 4285557 #1232 [KOGITO-4958] Add Spring Boot Actuator as default dependency Health endpoints
2021-01-22 af93f4c #731 [KOGITO-1031] Add Maven local deploy Build tooling
2020-08-12 84680ea #570 KOGITO-2286 Pipeline modifications for release process CI/CD

Legacy Drools Contributions (merged into kogito-runtimes)

Date Commit Title
2015-07-23 c456876 [DROOLS-860] Fix retraction of a traited object
2015-02-25 b7eeab9 DrlDumper: correctly print positional arguments, 'timer' and 'duration' attributes
2015-02-13 7a9260f Mark WorkingMemoryTask as Serializable for session persistence
2014-11-05 4a7510f Updates for computing modifications with the 'with' keyword

5. kogito-examples

Repository: github.com/kiegroup/kogito-examples

Description: Example Kogito applications demonstrating various features.

My Impact: 3 PRs

All Commits

Date Commit PR Title
2021-04-26 bfa7ab8 #660 [KOGITO-4958] Add Spring Boot Actuator dependency
2021-02-08 13247b7 #538 [KOGITO-4210] Add health extension to Quarkus examples
2021-01-21 88cded5 #505 [KOGITO-1031] Add Maven local deploy

6. kogito-images

Repository: github.com/kiegroup/kogito-images

Description: Container image definitions for Kogito components.

My Impact: 2 PRs

All Commits

Date Commit PR Title
2021-01-15 3d960e3 #311 [KOGITO-1031] Add flag to ignore self-signed SSL certificate
2020-11-03 378467a #270 [KOGITO-3376] Remove post-hook persistence script

7. kogito-apps

Repository: github.com/kiegroup/kogito-apps

Description: Supporting applications for Kogito (Management Console, Data Index, Jobs Service).

My Impact: 1 PR

All Commits

Date Commit PR Title
2021-01-21 e43beb5 #585 [KOGITO-1031] Add Maven local deploy

8. prometheus-operator

Repository: github.com/prometheus-operator/prometheus-operator

Description: CNCF Project - Kubernetes Operator for Prometheus monitoring. 8,800+ GitHub stars.

My Impact: 3 PRs to a major open-source project

All Commits

Date Commit PR Title Impact
2020-10-13 4484e49 #3574 Fix issue #3473 Bug fix
2018-05-07 b69f531 #1305 Fix prometheus service default pod selector in the prometheus chart Helm chart fix
2017-09-08 fc052a7 - [kube-prometheus/exporter-kube-state] Use fullname template for consistency Template fix

Why This is Impressive

  • Contributed to a CNCF graduated project
  • prometheus-operator has 8,800+ stars and is used in production by thousands of companies
  • Fixes impacted the broader Kubernetes monitoring ecosystem

9. optaplanner

Repository: github.com/kiegroup/optaplanner

Description: AI constraint solver for optimization problems (scheduling, routing, etc.).

My Impact: 2 PRs

All Commits

Date Commit PR Title
2016-06-22 a32eede #197 Enhanced documentation (Correct styling)
2016-04-11 bda3f32 #186 Merge: PLANNER-549_Temporal

Technical Skills Demonstrated

Kubernetes & Cloud Native

Skill Evidence
Operator Development 20+ PRs to kogito-operator (Go, controller-runtime)
Custom Resource Definitions CRD generation fixes, schema design
Helm Charts Founded kogito-helm-charts, contributed to prometheus-operator charts
Container Orchestration Probes, ConfigMaps, Deployments, Services
Health Checks Startup, liveness, readiness probe implementation

Languages & Frameworks

Language Usage
Go Kubernetes operators, CLI tools
Java Quarkus, Spring Boot, Maven, Drools rule engine
YAML Kubernetes manifests, Helm templates, CRDs
Bash Build scripts, CI/CD pipelines

DevOps & CI/CD

Area Contributions
Release Engineering Pipeline modifications for releases
Cross-Platform Windows, Linux, macOS CLI support
Container Images Dockerfile optimization, S2I builds
GitOps Helm-based deployment workflows

Why These Contributions Matter to Recruiters

1. Enterprise-Grade Experience

  • Worked on production software used by Fortune 500 companies
  • Code deployed in mission-critical business automation systems
  • Experience with enterprise support and stability requirements

2. Open Source Leadership

  • Founded a repository (kogito-helm-charts) now used by the community
  • Authored comprehensive developer documentation
  • Participated in code reviews and mentored contributors

3. Cloud Native Expertise

  • Deep understanding of Kubernetes internals
  • Experience with CNCF projects (prometheus-operator)
  • Full-stack from runtime code to deployment tooling

4. Breadth and Depth

  • Contributions spanning 10 repositories
  • From low-level rule engine fixes to high-level Helm charts
  • Both feature development and critical bug fixes

5. Impact Metrics

  • 50+ merged pull requests
  • 7,000+ lines of code contributed
  • Fixes affected production deployments worldwide

Project Context

What is Kogito?

Kogito is Red Hat's cloud-native business automation platform built on:

  • Drools - Business rules engine
  • jBPM - Business process management
  • OptaPlanner - AI constraint solver

The platform enables building intelligent applications that automate business decisions and processes.

What is the Kogito Operator?

A Kubernetes Operator that:

  • Deploys Kogito services declaratively via Custom Resources
  • Manages the full lifecycle (create, update, delete)
  • Integrates with Prometheus, Kafka, PostgreSQL, Infinispan
  • Supports both Quarkus and Spring Boot runtimes

Links

Resource URL
Kogito Project https://kogito.kie.org/
Kogito Operator https://github.com/kiegroup/kogito-operator
Kogito Helm Charts https://github.com/kiegroup/kogito-helm-charts
KIE Group https://github.com/kiegroup
My GitHub https://github.com/Kevin-Mok

Contributions made while employed at Red Hat, Inc. (2020-2022) as a Software Engineer on the Business Automation team.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment