Skip to main content

Classification

Classification decides whether each resource should be exported, reviewed, cleaned up, or ignored. Rules are intentionally conservative and first match wins.

Categories

CategoryExported?Meaning
includeYesDeclarative resource that is usually ready for Git after sanitization.
cleanupYesResource includes environment-specific values that should be adjusted before commit.
reviewYesResource is sensitive, context-heavy, unknown, or managed by another tool.
excludeNoResource is controller-owned, runtime-generated, or namespace scaffolding.

Rule Order

OrderRuleResult
1apiVersion starts with gitops.stakkr.io/exclude
2metadata.ownerReferences is non-emptyexclude
3Label app.kubernetes.io/managed-by=helmreview
4OpenShift namespace scaffoldingexclude
5Runtime or cluster-owned kindsexclude
6Sensitive or context-heavy kindsreview
7Environment-specific kindscleanup
8Service of type LoadBalancercleanup
9Known declarative workloads and configinclude
10Unknown or unhandled kindsreview

OpenShift Scaffolding Exclusions

KindExact namesName substrings
ConfigMapkube-root-ca.crt, openshift-service-ca.crtservice-cabundle, trusted-cabundle, ca-bundle
ServiceAccountdefault, builder, deployer, pipelineNone
RoleBindingsystem:deployers, system:image-builders, system:image-pullers, openshift-pipelines-edit, pipelines-scc-rolebindingNone

Curated Resource Set

GitOps Export scans a fixed set of namespaced kinds. Most are selected by default.

KindAPI group / versionDefault?
Deploymentapps/v1yes
StatefulSetapps/v1yes
DaemonSetapps/v1yes
Jobbatch/v1yes
CronJobbatch/v1yes
Servicev1yes
Routeroute.openshift.io/v1yes
Secretv1yes
ConfigMapv1yes
PersistentVolumeClaimv1yes
NetworkPolicynetworking.k8s.io/v1yes
HorizontalPodAutoscalerautoscaling/v2yes
BuildConfigbuild.openshift.io/v1yes
ImageStreamimage.openshift.io/v1yes
ImageStreamTagimage.openshift.io/v1no
Rolerbac.authorization.k8s.io/v1no
RoleBindingrbac.authorization.k8s.io/v1no
ServiceAccountv1no