Customizing pod specifications with resource specification injection

The IBM® Software Hub resource specification injection (RSI) feature enables you to extend Kubernetes resources that are associated with IBM Software Hub by applying patches directly to pods that are associated with Kubernetes deployments, StatefulSets, replicasets, replicacontrollers, jobs, and cronjobs.

Restriction: You cannot use RSI patches to patch the following resources:
  • zen-core-api deployments
  • rsi-webhook-deployment deployments
  • zen-metastore-edb clusters
The RSI webhook is automatically installed when you install IBM Software Hub. The webhook ensures that the specified patches are applied to the appropriate resources when IBM Software Hub pods are started. You can use the RSI feature to:
  • Add environment variables to pod containers
  • Add labels to pods
  • Add annotations to pods
  • Add node affinity rules to isolate specific workloads
  • Add init containers or sidecar containers to pods.
  • Customize resource requests and labels

Previously, if you patched the specification of a pod, the operator that managed the pod overwrote the patch when the operator ran a reconciliation loop or when you upgraded the operator.

In addition, there was no way to track the patches that you applied to the pods. With the cpd-cli, you can identify the patches that are applied to the pods in a given project.

Important: Use the RSI feature only if you are an advanced user on Red Hat® OpenShift® Container Platform. It is your responsibility to ensure that any patches that you apply to not introduce issues to your IBM Software Hub installation.