Skip to content

Shipped operator manifest does not match the deployed install #295

Description

@v0l

lnvps_operator/k8s-minimal.yaml is not what is deployed, so it cannot be applied to a running install without thought.

The manifest puts the ServiceAccount, ClusterRoleBinding subject and Deployment in namespace lnvps-system (k8s-minimal.yaml:8,14,58,86). Production runs as system:serviceaccount:lnvps:lnvps-operator — namespace lnvps — per the 403 in #293. So whatever created the live install was not this file.

Two consequences:

  • kubectl apply -f lnvps_operator/k8s-minimal.yaml against the live cluster grants the running operator nothing, because it binds a service account in a namespace that does not run it.
  • If the live ClusterRoleBinding is also named lnvps-operator, that apply rewrites its subjects and removes the permissions the operator has today.

lnvps_operator/README.md:53 compounds it: it tells you to kubectl apply -f lnvps_operator/k8s-deployment.yaml, and no such file exists in the tree — k8s-minimal.yaml is the only manifest.

I do not know how the live install was created, which is why this is an issue rather than a patch: I cannot tell whether the manifest namespace is wrong or the deployment drifted. Someone with cluster access can settle it with

kubectl get clusterrolebinding lnvps-operator -o yaml
kubectl get sa -n lnvps lnvps-operator -o yaml

Done = the shipped manifest matches the deployed install (or says plainly that it is an example and not the source of truth), and the README points at a file that exists.

Found while reviewing #294 (#293).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions