diff --git a/metropolis/node/validation_test.go b/metropolis/node/validation_test.go
new file mode 100644
index 0000000..1a9765e
--- /dev/null
+++ b/metropolis/node/validation_test.go
@@ -0,0 +1,49 @@
+package node
+
+import (
+	"errors"
+	"testing"
+
+	"k8s.io/apimachinery/pkg/util/validation"
+)
+
+func TestValidateDomainName(t *testing.T) {
+	for _, te := range []struct {
+		in   string
+		want error
+	}{
+		{"example.com", nil},
+		{"localhost", nil},
+		{"123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.1.example.com", nil},
+		{"123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.123456789.12.example.com", errDomainNameTooLong},
+		{"ex_ample.com", errDomainNameInvalid},
+		{"-.com", errDomainNameInvalid},
+		{"example-.com", errDomainNameInvalid},
+		{"-example.com", errDomainNameInvalid},
+		{"1-1.com", nil},
+		{"xn--h-0fa.com", nil},
+		{".", errDomainNameInvalid},
+		{"example..com", errDomainNameInvalid},
+		{"example.com.", errDomainNameInvalid},
+		{".example.com", errDomainNameInvalid},
+		{"0.example.com", nil},
+		{"01.example.com", nil},
+		{"012345678901234567890123456789012345678901234567890123456789012.example.com", nil},
+		{"0123456789012345678901234567890123456789012345678901234567890123.example.com", errDomainNameInvalid},
+		{"1.1.1.1", errDomainNameEndsInNumber},
+		{"example.123", errDomainNameEndsInNumber},
+		{"0123456789", errDomainNameEndsInNumber},
+		{"example.0x", errDomainNameEndsInNumber},
+		{"0x0123456789abcdef", errDomainNameEndsInNumber},
+		{"1.2.3.1a1", nil},
+	} {
+		if got := validateDomainName(te.in); !errors.Is(got, te.want) {
+			t.Errorf("%q: wanted %v, got %v", te.in, te.want, got)
+		}
+		if validateDomainName(te.in) == nil {
+			if errs := validation.IsDNS1123Subdomain(te.in); len(errs) > 0 {
+				t.Errorf("%q: is not a valid Kubernetes domain: %v", te.in, errs)
+			}
+		}
+	}
+}
