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