Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 9 additions & 5 deletions api/v1alpha/httpproxy_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,17 @@ type HTTPProxySpec struct {
//
// In addition to verifying ownership, hostnames must be unique across the
// platform. If a hostname is already programmed on another resource, a
// conflict will be encountered and communicated in the `HostnamesVerified`
// conflict will be encountered and communicated in the `HostnamesInUse`
// condition.
//
// Hostnames which have been programmed will be listed in the
// `status.hostnames` field. Any hostname which has not been programmed will
// be listed in the `message` field of the `HostnamesVerified` condition with
// an indication as to why it was not programmed.
// Hostnames which have been accepted will be listed in the
// `status.hostnames` field. Any hostname which has not been accepted will
// be listed in the `message` field of the `HostnamesVerified` condition.
// That condition covers ownership and acceptance only. The DNS records of
// hostnames that use Datum-managed DNS are reported in the
// `DNSRecordsProgrammed` condition. Each hostname's entry in
// `status.hostnameStatuses` says why it is not verified, or why its DNS
// record is not programmed.
//
// The system may automatically generate and associate hostnames with the
// HTTPProxy. In such cases, these will be listed in the `status.hostnames`
Expand Down
14 changes: 9 additions & 5 deletions config/crd/bases/networking.datumapis.com_httpproxies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -121,13 +121,17 @@ spec:

In addition to verifying ownership, hostnames must be unique across the
platform. If a hostname is already programmed on another resource, a
conflict will be encountered and communicated in the `HostnamesVerified`
conflict will be encountered and communicated in the `HostnamesInUse`
condition.

Hostnames which have been programmed will be listed in the
`status.hostnames` field. Any hostname which has not been programmed will
be listed in the `message` field of the `HostnamesVerified` condition with
an indication as to why it was not programmed.
Hostnames which have been accepted will be listed in the
`status.hostnames` field. Any hostname which has not been accepted will
be listed in the `message` field of the `HostnamesVerified` condition.
That condition covers ownership and acceptance only. The DNS records of
hostnames that use Datum-managed DNS are reported in the
`DNSRecordsProgrammed` condition. Each hostname's entry in
`status.hostnameStatuses` says why it is not verified, or why its DNS
record is not programmed.

The system may automatically generate and associate hostnames with the
HTTPProxy. In such cases, these will be listed in the `status.hostnames`
Expand Down
14 changes: 9 additions & 5 deletions docs/api/httpproxies.md
Original file line number Diff line number Diff line change
Expand Up @@ -129,13 +129,17 @@ attempts to program the HTTPProxy.

In addition to verifying ownership, hostnames must be unique across the
platform. If a hostname is already programmed on another resource, a
conflict will be encountered and communicated in the `HostnamesVerified`
conflict will be encountered and communicated in the `HostnamesInUse`
condition.

Hostnames which have been programmed will be listed in the
`status.hostnames` field. Any hostname which has not been programmed will
be listed in the `message` field of the `HostnamesVerified` condition with
an indication as to why it was not programmed.
Hostnames which have been accepted will be listed in the
`status.hostnames` field. Any hostname which has not been accepted will
be listed in the `message` field of the `HostnamesVerified` condition.
That condition covers ownership and acceptance only. The DNS records of
hostnames that use Datum-managed DNS are reported in the
`DNSRecordsProgrammed` condition. Each hostname's entry in
`status.hostnameStatuses` says why it is not verified, or why its DNS
record is not programmed.

The system may automatically generate and associate hostnames with the
HTTPProxy. In such cases, these will be listed in the `status.hostnames`
Expand Down
2 changes: 1 addition & 1 deletion internal/controller/httpproxy_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -653,7 +653,7 @@ func (r *HTTPProxyReconciler) reconcileHTTPProxyHostnameStatus(
// not been removed by the user.
hostnamesVerifiedCondition.Status = metav1.ConditionTrue
hostnamesVerifiedCondition.Reason = networkingv1alpha.HTTPProxyReasonHostnamesVerified
hostnamesVerifiedCondition.Message = "All hostnames have been accepted and programmed"
hostnamesVerifiedCondition.Message = "All hostnames have been accepted"
} else {
hostnamesVerifiedCondition.Status = metav1.ConditionFalse
hostnamesVerifiedCondition.Reason = networkingv1alpha.HTTPProxyReasonPending
Expand Down
1 change: 1 addition & 0 deletions internal/controller/httpproxy_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1784,6 +1784,7 @@ func TestHTTPProxyReconcile(t *testing.T) {
hostnamesVerifiedCondition := apimeta.FindStatusCondition(updatedHttpProxy.Status.Conditions, networkingv1alpha.HTTPProxyConditionHostnamesVerified)
if assert.NotNil(t, hostnamesVerifiedCondition, "did not find HostnamesVerified condition on HTTPProxy") {
assert.Equal(t, networkingv1alpha.HTTPProxyReasonHostnamesVerified, hostnamesVerifiedCondition.Reason)
assert.Equal(t, "All hostnames have been accepted", hostnamesVerifiedCondition.Message)
}
}
}
Expand Down
Loading