Skip to content

Commit 4949af2

Browse files
author
Patryk Orwat
committed
refs to other pages, improved XRD section and guide org
Signed-off-by: Patryk Orwat <[email protected]>
1 parent a0308fb commit 4949af2

File tree

3 files changed

+24
-13
lines changed

3 files changed

+24
-13
lines changed

content/master/concepts/pods.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -221,8 +221,8 @@ file, setting `rbacManager.deploy` to `false`.
221221

222222
{{< hint "note" >}}
223223

224-
Instructions for changing Crossplane pod settings during installation are in the
225-
[Crossplane Install]({{<ref "../software/install">}}) section.
224+
You can follow a guide [Working without RBAC Manager]({{<ref "../guides/working-without-rbac-manager">}})
225+
to understand additional steps necessary when working with this configuration in place.
226226
{{< /hint >}}
227227

228228
<!-- vale Microsoft.HeadingAcronyms = NO -->

content/master/guides/working-without-rbac-manager.md

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,30 @@ title: Working without RBAC Manager
33
weight: 280
44
---
55

6-
RBAC Manager is responsible for granting appropriate permissions to components.
6+
RBAC Manager is responsible for establishing appropriate roles structure to components.
77

88
In cases, where administrators are not allowing permissive cluster wide-permissions,you can turn off RBAC Manager
9-
with argument `--set rbacManager.deploy=false` in [helm chart](https://github.com/crossplane/crossplane/blob/main/cluster/charts/crossplane/README.md#configuration).
9+
with argument `--set rbacManager.deploy=false` in [helm chart](https://github.com/crossplane/crossplane/blob/main/cluster/charts/crossplane/README.md#configuration) during installation.
1010
```yaml {label="value",copy-lines="none"}
1111
rbacManager:
1212
enabled: false
1313
```
1414
15-
Once done, you need to configure custom permissions for each provider and custom resource definition. Below guides
16-
will instruct you step by step the additional work needed for each provider and XRD.
15+
Once done, you need to configure Roles on your own for each provider and Composition Resource Definitions (XRDs).
16+
Below guides will instruct you step by step the additional work needed for each provider and XRD to be able to
17+
successfully deploy a provider and an XRD.
18+
19+
The guide only establishes minimal number of resources to fulfill the guide's goal, RBAC Manager creates more resources
20+
and if you want to read more, the
21+
[Crossplane RBAC Manager design document](https://github.com/crossplane/crossplane/blob/main/design/design-doc-rbac-manager.md)
22+
has more information on the installed _ClusterRoles_.
23+
24+
> Note: The guide doesn't address any cluster-wide permissions that are used in Core Crossplane service.
1725
1826
## Provider RBAC
1927
20-
> Note: Please keep in mind this guide doesn't show manual steps for installing providers. If you want to control Crossplane Core pod permissions even further, you can manually install the provider service.
28+
> Note: Please keep in mind this guide doesn't show manual steps for installing providers. If you want to control
29+
> Crossplane Core pod permissions even further, you can manually install the provider service.
2130
2231
For the prpose of this guide, let's assume you want to deploy a `provider-kubernetes` to the cluster and control its
2332
permissions. You create a resource provider as usual
@@ -34,7 +43,7 @@ Once installed, save provider service account name
3443
SA=$(kubectl -n crossplane-system get sa -o name | grep provider-kubernetes | sed -e 's|serviceaccount\/||g')
3544
```
3645

37-
### ClusterRole for provider
46+
### Provider ClusterRole
3847

3948
Then, create a ClusterRole, that will have necessary rules for resources that are to be managed by a provider:
4049
```yaml
@@ -96,7 +105,7 @@ subjects:
96105
namespace: crossplane-system
97106
```
98107

99-
### ClusterRole for core Crossplane
108+
### Core Crossplane ClusterRole
100109

101110
Now, create a new ClusterRole, for core Crossplane service
102111
```yaml
@@ -182,10 +191,11 @@ spec:
182191
name: kubernetes-provider-config
183192
```
184193

185-
## Compositions
194+
## Composition Resource Definitions RBAC
186195
If you want to add a CompositionResourceDefinition in a system without RBAC Manager, you need to create the
187196
necessary XRD definition as well as assign permissions to the defined type to Core Crossplane ServiceAccount.
188197

198+
### XRD ClusterRole
189199
For the purpose of the example, let's create a sample XRD:
190200
```yaml
191201
apiVersion: apiextensions.crossplane.io/v1
@@ -228,6 +238,8 @@ apiVersion: rbac.authorization.k8s.io/v1
228238
kind: ClusterRole
229239
metadata:
230240
name: compositenamespace:aggregate-to-crossplane
241+
labels:
242+
rbac.crossplane.io/aggregate-to-crossplane: "true"
231243
rules:
232244
- apiGroups:
233245
- k8s.crossplane.io

content/master/software/install.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,9 +100,8 @@ Crossplane _Composite Resource Definitions_, _Compositions_ and _Claims_.
100100
The `crossplane-rbac-manager` creates and manages Kubernetes _ClusterRoles_ for
101101
installed Crossplane _Provider_ and their _Custom Resource Definitions_.
102102

103-
The
104-
[Crossplane RBAC Manager design document](https://github.com/crossplane/crossplane/blob/main/design/design-doc-rbac-manager.md)
105-
has more information on the installed _ClusterRoles_.
103+
You can follow a guide [Working without RBAC Manager]({{<ref "../guides/working-without-rbac-manager">}})
104+
to understand additional steps necessary when opting out of RBAC Manager.
106105

107106
## Installation options
108107

0 commit comments

Comments
 (0)