Table of contents
В Octopod есть 2 роли:
- user
- admin
role | управление развертываниями | просмотр логов развертываний |
---|---|---|
user | ✅ | ❌ |
admin | ✅ | ✅ |
Пользователи UI работают с правами user.
Пользователи octo CLI работают с правами admin.
Octopod Server разворачивается в octopod
namespace. Octopod Server разворачивает развертывания в deployments
namespace.
Octopod Server использует octopod
Service Account.
Для очистки ресурсов Octopod Server / Контейнеру с утилитами (control scripts) может потребоваться (зависит от настроект Kubernetes и релизации Контейнера с утилитами) доступ для удаления сертификатов и Persistent Volumes Claims.
Доступ можно выдать через RBAC:
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: cert-control-clusterrole
rules:
- apiGroups: ["cert-manager.io"]
resources: ["certificates"]
verbs: ["list", "delete", "deletecollection"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: octopod-cert-control-rolebinding
namespace: deployments
roleRef:
kind: ClusterRole
apiGroup: rbac.authorization.k8s.io
name: cert-control-clusterrole
subjects:
- kind: ServiceAccount
name: octopod
namespace: octopod
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: pvc-control-clusterrole
rules:
- apiGroups: [""]
resources: ["persistentvolumeclaims"]
verbs: ["list", "delete", "deletecollection"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: octopod-pvc-control-rolebinding
namespace: deployments
roleRef:
kind: ClusterRole
apiGroup: rbac.authorization.k8s.io
name: pvc-control-clusterrole
subjects:
- kind: ServiceAccount
name: octopod
namespace: octopod
Доступ к UI по умолчанию не ограничен. Но вы можете добавить аутентификацию через GitHub OAuth в Kubernetes Ingress Nginx, для этого потребуется дополнительно развернуть OAuth2 Proxy в кластере.
Более подробно описано в примере External OAUTH Authentication.
Для аутентификации octo CLI в Octopod Server используется сертификат.
Для аутентификации UI в Octopod Server используется Basic Auth.