Cross-namespace access for Harness Delegates
Install delegate
Install a delegate into your kubernetes cluster using helm.
The service account created via the delegate helm chart has the same as the delegate.
Create Role
Create a Role in the target namespace with the nessesary permissions launch container based steps:
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: harness-container-steps
  namespace: target
rules:
  - apiGroups: [""]
    resources: ["pods", "secrets"]
    verbs: ["get", "list", "watch", "create", "update", "delete"]
  - apiGroups: [""]
    resources: ["events"]
    verbs: ["list", "watch"]
Create RoleBinding
Create a RoleBinding object in the target namespace to bind the Role to the delegate service account:
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: harness-container-steps
  namespace: target
subjects:
  - kind: ServiceAccount
    name: <delegate service account name>
    namespace: <delegate namspace>
roleRef:
  kind: Role
  name: harness-container-steps
  apiGroup: rbac.authorization.k8s.io
Conclusion
Now the delegate service account has access to create pods for Harness CI/IacM/Container Steps in the target namespace.