Skip to content

Commit 2a05e82

Browse files
committed
Configurable Tornjak CRD manager
Signed-off-by: Alan Cha <Alan.cha1@ibm.com>
1 parent b007f3e commit 2a05e82

2 files changed

Lines changed: 7 additions & 43 deletions

File tree

charts/spire/charts/spire-server/templates/tornjak-config.yaml

Lines changed: 2 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,13 @@ data:
4040
}
4141
{{- end }}
4242
43+
{{- if .Values.tornjak.config.crdManager.enabled }}
4344
SPIRECRDManager {
4445
plugin_data {
4546
classname = "{{ .Values.controllerManager.className }}"
4647
}
4748
}
49+
{{- end }}
4850
4951
{{- if ne .Values.tornjak.config.userManagement.issuer "" }}
5052
Authenticator "Keycloak" {
@@ -53,48 +55,6 @@ data:
5355
audience = "{{ .Values.tornjak.config.userManagement.audience }}"
5456
}
5557
}
56-
57-
Authorizer "RBAC" {
58-
plugin_data {
59-
name = "Admin Viewer Policy"
60-
role "admin" { desc = "admin person" }
61-
role "viewer" { desc = "viewer person" }
62-
# this special character role is reserved for allowing all authenticated persons
63-
role "" { desc = "authenticated person" }
64-
65-
# home tornjak backend api allowed with any successful authentication
66-
API "/" { allowed_roles = [""] }
67-
# allowed with successful authentication and either admin or viewer role
68-
# v1 API
69-
APIv1 "GET /api/v1/spire/serverinfo" { allowed_roles = ["admin", "viewer"] }
70-
APIv1 "GET /api/v1/spire/healthcheck" { allowed_roles = ["admin", "viewer"] }
71-
APIv1 "GET /api/v1/spire/agents" { allowed_roles = ["admin", "viewer"] }
72-
APIv1 "DELETE /api/v1/spire/agents" { allowed_roles = ["admin"] }
73-
APIv1 "POST /api/v1/spire/agents/ban" { allowed_roles = ["admin"] }
74-
APIv1 "POST /api/v1/spire/agents/jointoken" { allowed_roles = ["admin"] }
75-
APIv1 "GET /api/v1/spire/entries" { allowed_roles = ["admin", "viewer"] }
76-
APIv1 "POST /api/v1/spire/entries" { allowed_roles = ["admin"] }
77-
APIv1 "DELETE /api/v1/spire/entries" { allowed_roles = ["admin"] }
78-
79-
# SPIRE Federation API calls
80-
APIv1 "GET /api/v1/spire/bundle" { allowed_roles = ["admin", "viewer"] }
81-
APIv1 "GET /api/v1/spire/federations/bundles" { allowed_roles = ["admin", "viewer"] }
82-
APIv1 "POST /api/v1/spire/federations/bundles" { allowed_roles = ["admin"] }
83-
APIv1 "PATCH /api/v1/spire/federations/bundles" { allowed_roles = ["admin"] }
84-
APIv1 "DELETE /api/v1/spire/federations/bundles" { allowed_roles = ["admin"] }
85-
86-
# Tornjak API calls
87-
APIv1 "GET /api/v1/tornjak/serverinfo" { allowed_roles = ["admin", "viewer"] }
88-
APIv1 "GET /api/v1/tornjak/agents" { allowed_roles = ["admin", "viewer"] }
89-
APIv1 "POST /api/v1/tornjak/selectors" { allowed_roles = ["admin"] }
90-
APIv1 "GET /api/v1/tornjak/selectors" { allowed_roles = ["admin", "viewer"] }
91-
APIv1 "GET /api/v1/tornjak/clusters" { allowed_roles = ["admin", "viewer"] }
92-
APIv1 "POST /api/v1/tornjak/clusters" { allowed_roles = ["admin"] }
93-
APIv1 "PATCH /api/v1/tornjak/clusters" { allowed_roles = ["admin"] }
94-
APIv1 "DELETE /api/v1/tornjak/clusters" { allowed_roles = ["admin"] }
95-
}
96-
}
97-
9858
{{- end }}
9959
}
10060
{{- end }}

charts/spire/charts/spire-server/values.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -546,7 +546,7 @@ controllerManager:
546546

547547
## @param controllerManager.className specify to use an explicit class name. If empty, it will be automatically set to Release.Namespace-Release.Name to not conflict with other installs, enabling parallel installs.
548548
className: ""
549-
549+
550550
## @param controllerManager.watchClassless specify to process custom resources without class name specified. Useful to slowly migrate to class names from classless installs. Do not have two installs on the same k8s cluster both set to true.
551551
watchClassless: false
552552

@@ -1139,6 +1139,10 @@ tornjak:
11391139
## @param tornjak.config.clientCA.name Name of the resource secret or configMap with user CA for TLS
11401140
name: tornjak-client-ca
11411141

1142+
crdManager:
1143+
## @param tornjak.config.crdManager.enabled Allow the Tornjak CRD manager to start
1144+
enabled: true
1145+
11421146
## @param tornjak.resources [object] Resource requests and limits
11431147
resources: {}
11441148
# We usually recommend not to specify default resources and to leave this as a conscious

0 commit comments

Comments
 (0)