add tenant

This commit is contained in:
Andrei Kvapil
2024-01-05 09:08:37 +01:00
parent 453bcaa3c3
commit 3d1b86cc06
3 changed files with 97 additions and 1 deletions

View File

@@ -0,0 +1,7 @@
apiVersion: v2
name: tenant
description: Additional tenant namespace
icon: https://upload.wikimedia.org/wikipedia/commons/0/04/User_icon_1.svg
type: application
version: 0.1.1

View File

@@ -0,0 +1,89 @@
apiVersion: v1
kind: Namespace
metadata:
name: tenant-{{ .Release.Name }}
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: tenant-{{ .Release.Name }}
namespace: tenant-{{ .Release.Name }}
---
apiVersion: v1
kind: Secret
metadata:
name: tenant-{{ .Release.Name }}
namespace: tenant-{{ .Release.Name }}
annotations:
kubernetes.io/service-account.name: tenant-{{ .Release.Name }}
type: kubernetes.io/service-account-token
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: tenant-{{ .Release.Name }}
namespace: tenant-{{ .Release.Name }}
rules:
- apiGroups: [""]
resources: ["*"]
verbs: ["get", "list", "watch", "create", "update", "patch"]
- apiGroups: ["helm.toolkit.fluxcd.io"]
resources: ["helmreleases"]
verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: tenant-{{ .Release.Name }}
namespace: tenant-{{ .Release.Name }}
subjects:
- kind: ServiceAccount
name: tenant-{{ .Release.Name }}
namespace: tenant-{{ .Release.Name }}
roleRef:
kind: Role
name: tenant-{{ .Release.Name }}
apiGroup: rbac.authorization.k8s.io
{{ if hasPrefix .Release.Namespace "tenant-" }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: {{ .Release.Namespace }}
namespace: tenant-{{ .Release.Name }}
subjects:
- kind: ServiceAccount
name: {{ .Release.Namespace }}
namespace: {{ .Release.Namespace }}
roleRef:
kind: Role
name: tenant-{{ .Release.Name }}
apiGroup: rbac.authorization.k8s.io
{{- end }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: tenant-{{ .Release.Name }}
namespace: cozy-public
rules:
- apiGroups: ["source.toolkit.fluxcd.io"]
resources: ["helmrepositories"]
verbs: ["get", "list"]
- apiGroups: ["source.toolkit.fluxcd.io"]
resources: ["helmcharts"]
verbs: ["*"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: tenant-{{ .Release.Name }}
namespace: cozy-public
subjects:
- kind: ServiceAccount
name: tenant-{{ .Release.Name }}
namespace: tenant-{{ .Release.Name }}
roleRef:
kind: Role
name: tenant-{{ .Release.Name }}
apiGroup: rbac.authorization.k8s.io

View File

@@ -6,7 +6,7 @@ postgres 0.1.0 HEAD
rabbitmq 0.1.0 HEAD
redis 0.1.0 HEAD
tcp-balancer 0.1.0 HEAD
tenant 0.1.0 HEAD
tenant 0.1.1 HEAD
virtual-machine 0.1.4 f2015d6
virtual-machine 0.1.5 HEAD
vpn 0.1.0 HEAD