@@ -86,19 +86,41 @@ Alternatively, instead of specifying specific project names, you can use the
86
86
`--selector=<project_selector>` option.
87
87
88
88
[[admin-guide-disabling-hostname-collision]]
89
- == Disabling Host Name Collision Prevention For Ingress Objects
89
+ == Disabling Host Name Collision Prevention For Routes and Ingress Objects
90
90
91
91
In {product-title}, host name collision prevention for routes and ingress
92
- objects is enabled by default. This means that the host name in a route or
93
- ingress object can only be set on creation and not edited afterwards. Disabling
94
- host name collision prevention lets you edit a host name for ingress objects after creation.
95
- However, because {product-title} uses the object creation timestamp to determine
96
- the oldest route or ingress object for a given host name, the route or ingress
97
- object can hijack a host name with a newer route. This can happen if an older
98
- route changes its host name, or if an ingress object is introduced.
99
-
100
- This is relevant to {product-title} installations that depend upon Kubernetes
101
- behavior, including allowing the host names in ingress objects be edited.
92
+ objects is enabled by default. This means that users without the *cluster-admin*
93
+ role can set the host name in a route or ingress object only on creation and
94
+ cannot change it afterwards. However, you can relax this restriction on routes
95
+ and ingress objects for some or all users.
96
+
97
+ [WARNING]
98
+ ====
99
+ Because {product-title} uses the object creation timestamp to determine the
100
+ oldest route or ingress object for a given host name, a route or ingress object
101
+ can hijack a host name of a newer route if the older route changes its host
102
+ name, or if an ingress object is introduced.
103
+ ====
104
+
105
+ As an {product-title} cluster administrator, you can edit the host name in a
106
+ route even after creation. You can also create a role to allow specific users
107
+ to do so:
108
+
109
+ ----
110
+ $ oc create clusterrole route-editor --verb=update --resource=routes.route.openshift.io/custom-host
111
+ ----
112
+
113
+ You can then bind the new role to a user:
114
+
115
+ ----
116
+ $ oc adm policy add-cluster-role-to-user route-editor user
117
+ ----
118
+
119
+ You can also disable host name collision prevention for ingress objects. Doing
120
+ so lets users without the *cluster-admin* role edit a host name for ingress
121
+ objects after creation. This is useful to {product-title} installations that
122
+ depend upon Kubernetes behavior, including allowing the host names in ingress
123
+ objects be edited.
102
124
103
125
. Add the following to the `master.yaml` file:
104
126
+
0 commit comments