Kevin Mok | Software Engineer | Red Hat Business Automation Team (2020-2022)
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.
| 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 |
- kogito-operator - 20 PRs, +3,526/-1,056 lines
- kogito-helm-charts - 4 PRs (Founded Repository)
- rhpam-kogito-operator - 11 PRs
- kogito-runtimes - 7 PRs, +1,433/-101 lines
- kogito-examples - 3 PRs
- kogito-images - 2 PRs
- kogito-apps - 1 PR
- prometheus-operator - 3 PRs (CNCF Project)
- optaplanner - 2 PRs
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
| 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 |
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
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
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
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
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
| 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) |
I created this entire project from the ground up, including:
-
Chart Architecture (PR #1)
- Helm chart structure with best practices
- Support for both Quarkus and Spring Boot applications
- Comprehensive
values.yamlwith sensible defaults - README with deployment instructions
-
Prometheus Monitoring (PR #2)
- ServiceMonitor CRD integration
- Metric scraping configuration
- Grafana dashboard compatibility
-
PostgreSQL Persistence (PR #3)
- Database connection configuration
- Secret management for credentials
- Persistence volume claims
-
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
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)
| 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 |
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
| 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 |
| 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 |
Repository: github.com/kiegroup/kogito-examples
Description: Example Kogito applications demonstrating various features.
My Impact: 3 PRs
| 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 |
Repository: github.com/kiegroup/kogito-images
Description: Container image definitions for Kogito components.
My Impact: 2 PRs
| 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 |
Repository: github.com/kiegroup/kogito-apps
Description: Supporting applications for Kogito (Management Console, Data Index, Jobs Service).
My Impact: 1 PR
| Date | Commit | PR | Title |
|---|---|---|---|
| 2021-01-21 | e43beb5 |
#585 | [KOGITO-1031] Add Maven local deploy |
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
| 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 |
- 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
Repository: github.com/kiegroup/optaplanner
Description: AI constraint solver for optimization problems (scheduling, routing, etc.).
My Impact: 2 PRs
| Date | Commit | PR | Title |
|---|---|---|---|
| 2016-06-22 | a32eede |
#197 | Enhanced documentation (Correct styling) |
| 2016-04-11 | bda3f32 |
#186 | Merge: PLANNER-549_Temporal |
| 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 |
| 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 |
| 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 |
- Worked on production software used by Fortune 500 companies
- Code deployed in mission-critical business automation systems
- Experience with enterprise support and stability requirements
- Founded a repository (kogito-helm-charts) now used by the community
- Authored comprehensive developer documentation
- Participated in code reviews and mentored contributors
- Deep understanding of Kubernetes internals
- Experience with CNCF projects (prometheus-operator)
- Full-stack from runtime code to deployment tooling
- Contributions spanning 10 repositories
- From low-level rule engine fixes to high-level Helm charts
- Both feature development and critical bug fixes
- 50+ merged pull requests
- 7,000+ lines of code contributed
- Fixes affected production deployments worldwide
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.
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
| 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.