@@ -315,27 +315,28 @@ whichever labels they like. However, HNC will overwrite any changes made to
315
315
these labels, so other applications can trust these labels for policy
316
316
application.
317
317
318
- * Note: in HNC v1.0, [ managed labels] ( #admin-managed-labels ) may also be trusted
319
- for policy purposes.*
318
+ If tree labels are too restrictive for your purposes, you can also use [ managed
319
+ labels] ( #admin-managed-labels ) , which require more work to set up but are also
320
+ managed by HNC and are therefore suitable for policy use.
320
321
321
322
<a name =" basic-exceptions " />
322
-
323
+
323
324
### Exceptions and propagation control
324
325
325
326
HNC typically propagates _ all_ objects of a [ specified type] ( how-to.md#admin-resources )
326
327
from ancestor namespaces to descendant namespaces. However, sometimes this is
327
328
too restrictive, and you need to create *** exceptions*** to certain policies. For example:
328
329
329
330
* A ResourceQuota was propagated to many children, but one child namespace now
330
- has higher requirements than the rest. Rather than getting rid of the quota in
331
- the parent namespace, or raising the limit for everyone, you can stop the
332
- quota in the parent from being propagated to that _ one_ child namespace,
333
- allowing you to replace it with another, more suitable quota.
331
+ has higher requirements than the rest. Rather than getting rid of the quota in
332
+ the parent namespace, or raising the limit for everyone, you can stop the
333
+ quota in the parent from being propagated to that _ one_ child namespace,
334
+ allowing you to replace it with another, more suitable quota.
334
335
335
336
* A RoleBinding allows any user to create subnamespaces under one namespace, but
336
- we don’t want to allow those users to create additional levels of hierarchy
337
- underneath those subnamespaces. So you can stop the role binding from being
338
- propagated to _ any_ child namespace.
337
+ we don’t want to allow those users to create additional levels of hierarchy
338
+ underneath those subnamespaces. So you can stop the role binding from being
339
+ propagated to _ any_ child namespace.
339
340
340
341
Exceptions are defined using [ annotations on the objects
341
342
themselves] ( how-to.md#use-limit-propagation ) . As a result, anyone who can edit
@@ -353,18 +354,19 @@ exclude those objects, or else delete the conflicting objects to allow them to
353
354
be replaced.
354
355
355
356
#### (Beta in v1.1) Opt-in propagation
356
- The ` Propagate ` mode propagates all objects unless directed to otherwise via a selector,
357
- using exceptions. By contrast, opt-in propagation, as set by the ` AllowPropagate `
358
- mode, doesn't propagate objects unless directed to by a selector. That is, for an object
359
- with a selector, its behaviour will be identical in both the ` Propagate ` and ` AllowPropagate ` modes;
360
- the only difference in behaviours is for objects without a selector.
357
+ The ` Propagate ` mode propagates all objects unless directed to otherwise via a
358
+ selector, using exceptions. By contrast, opt-in propagation, as set by the
359
+ ` AllowPropagate ` mode, doesn't propagate objects unless directed to by a
360
+ selector. That is, for an object with a selector, its behaviour will be
361
+ identical in both the ` Propagate ` and ` AllowPropagate ` modes; the only
362
+ difference in behaviours is for objects without a selector.
361
363
362
364
For example:
363
-
365
+
364
366
* A Secret exists on a namespace but we don't want this secret to be propagated
365
- to all subnamespaces by default but instead only to one namespace of our choosing.
366
- So you can choose to propagate to that _ one_ child namespace using ` AllowPropagate `
367
- and exceptions.
367
+ to all subnamespaces by default but instead only to one namespace of our
368
+ choosing. So you can choose to propagate to that _ one_ child namespace using
369
+ ` AllowPropagate ` and exceptions.
368
370
369
371
#### Built-in exceptions
370
372
@@ -374,10 +376,11 @@ objects from being propagated by HNC.
374
376
* Kubernetes Service Account Secrets
375
377
* ConfigMaps named ` istio-ca-root-cert ` or ` kube-root-ca.crt ` , which are
376
378
auto-created in new namespaces by Istio and Kubernetes respectively
377
- * * Planned for HNC v1.0+: * Any objects with the label
379
+ * Any objects with the label
378
380
` cattle.io/creator:norman ` , which are [ inserted by Rancher to support
379
381
Projects] ( https://rancher.com/docs/rancher/v2.6/en/system-tools/#remove ) )
380
- * * Planned for future version:* Secrets with type ` helm.sh/release.v1 ` , which is auto-created in the namespaces where their respective Helm releases are deployed to.
382
+ * * HNC v1.1+:* Secrets with type ` helm.sh/release.v1 ` , which is auto-created in
383
+ the namespaces where their respective Helm releases are deployed to.
381
384
382
385
<a name =" admin " />
383
386
@@ -517,9 +520,9 @@ problem, and will generally require human intervention to resolve.
517
520
518
521
<a name =" admin-managed-labels " />
519
522
520
- ### (Beta) Managed labels and annotations
523
+ ### Managed labels and annotations
521
524
522
- *** Managed labels and annotations are new in HNC v1.0; please use with caution .***
525
+ *** Managed labels and annotations are beta in HNC v1.0 and GA in HNC v1.1+ .***
523
526
524
527
Just as certain objects can be propagated from parent namespaces to their
525
528
descendants, so can certain labels and annotations on namespaces. For example,
0 commit comments