appuio/component-openshift4-console

Enable custom plugins through patch-operator

anothertobi opened this issue · 1 comments

Context

#50 makes it possible for other components to patch the plugins field. To make manual syncing in Argo CD obsolete while continuing to allow other components to patch the plugins, the plugins configured in this component through the params should be converted to a patch.

Example:

parameters:
  openshift4_console:
    config:
      plugins:
        - example-plugin
apiVersion: redhatcop.redhat.io/v1alpha1
kind: Patch
metadata:
[...]
spec:
  patches:
    patch1:
      patchTemplate: "\"spec\":\n  \"plugins\":\n  - \"example-plugin\""
      patchType: application/strategic-merge-patch+json
      targetObjectRef:
        apiVersion: operator.openshift.io/v1
        kind: Console
        name: cluster
[...]

Alternatives

  • Only manage plugins in this component
  • Require manual syncing when enabling plugins through this component

Implementation notes

When implementing this, please verify that the generated name for the Patch resource managed by this component differs from the name of the Patch resource for the Console object which is managed by component openshift4-logging.

simu commented

Not required anymore, since patching the plugins field doesn't work correctly regardless of which patch type we're using (cf. #52)