Rename Certificate.Spec.URISANs to URIs and EmailSANs to EmailAddresses

For consistency with DNSNames and IPAddresses
And for consistency with https://golang.org/pkg/crypto/x509/#Certificate

Signed-off-by: Richard Wall <richard.wall@jetstack.io>
This commit is contained in:
Richard Wall 2020-08-14 16:30:36 +01:00
parent 887bd5b730
commit 8beeac1187
7 changed files with 93 additions and 38 deletions

View File

@ -910,8 +910,8 @@ spec:
duration:
description: The requested 'duration' (i.e. lifetime) of the Certificate. This option may be ignored/overridden by some issuer types. If overridden and `renewBefore` is greater than the actual certificate duration, the certificate will be automatically renewed 2/3rds of the way through the certificate's duration.
type: string
emailSANs:
description: EmailSANs is a list of email subjectAltNames to be set on the Certificate.
emailAddresses:
description: EmailAddresses is a list of email subjectAltNames to be set on the Certificate.
type: array
items:
type: string
@ -1058,8 +1058,8 @@ spec:
type: array
items:
type: string
uriSANs:
description: URISANs is a list of URI subjectAltNames to be set on the Certificate.
uris:
description: URIs is a list of URI subjectAltNames to be set on the Certificate.
type: array
items:
type: string

View File

@ -119,13 +119,13 @@ type CertificateSpec struct {
// +optional
IPAddresses []string `json:"ipAddresses,omitempty"`
// URISANs is a list of URI subjectAltNames to be set on the Certificate.
// URIs is a list of URI subjectAltNames to be set on the Certificate.
// +optional
URISANs []string `json:"uriSANs,omitempty"`
URIs []string `json:"uris,omitempty"`
// EmailSANs is a list of email subjectAltNames to be set on the Certificate.
// EmailAddresses is a list of email subjectAltNames to be set on the Certificate.
// +optional
EmailSANs []string `json:"emailSANs,omitempty"`
EmailAddresses []string `json:"emailAddresses,omitempty"`
// SecretName is the name of the secret resource that will be automatically
// created and managed by this Certificate resource.

View File

@ -349,13 +349,13 @@ func (in *CertificateSpec) DeepCopyInto(out *CertificateSpec) {
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.URISANs != nil {
in, out := &in.URISANs, &out.URISANs
if in.URIs != nil {
in, out := &in.URIs, &out.URIs
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.EmailSANs != nil {
in, out := &in.EmailSANs, &out.EmailSANs
if in.EmailAddresses != nil {
in, out := &in.EmailAddresses, &out.EmailAddresses
*out = make([]string, len(*in))
copy(*out, *in)
}

View File

@ -3,6 +3,7 @@ load("@io_bazel_rules_go//go:def.bzl", "go_library")
go_library(
name = "go_default_library",
srcs = [
"conversion.go",
"defaults.go",
"doc.go",
"register.go",

View File

@ -0,0 +1,40 @@
/*
Copyright 2020 The Jetstack cert-manager contributors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package v1
import (
unsafe "unsafe"
conversion "k8s.io/apimachinery/pkg/conversion"
v1 "github.com/jetstack/cert-manager/pkg/apis/certmanager/v1"
certmanager "github.com/jetstack/cert-manager/pkg/internal/apis/certmanager"
)
// Convert_v1_CertificateSpec_To_certmanager_CertificateSpec
func Convert_v1_CertificateSpec_To_certmanager_CertificateSpec(in *v1.CertificateSpec, out *certmanager.CertificateSpec, s conversion.Scope) error {
out.URISANs = *(*[]string)(unsafe.Pointer(&in.URIs))
out.EmailSANs = *(*[]string)(unsafe.Pointer(&in.EmailAddresses))
return autoConvert_v1_CertificateSpec_To_certmanager_CertificateSpec(in, out, s)
}
// Convert_certmanager_CertificateSpec_To_v1_CertificateSpec
func Convert_certmanager_CertificateSpec_To_v1_CertificateSpec(in *certmanager.CertificateSpec, out *v1.CertificateSpec, s conversion.Scope) error {
out.URIs = *(*[]string)(unsafe.Pointer(&in.URISANs))
out.EmailAddresses = *(*[]string)(unsafe.Pointer(&in.EmailSANs))
return autoConvert_certmanager_CertificateSpec_To_v1_CertificateSpec(in, out, s)
}

View File

@ -151,16 +151,6 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*v1.CertificateSpec)(nil), (*certmanager.CertificateSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_CertificateSpec_To_certmanager_CertificateSpec(a.(*v1.CertificateSpec), b.(*certmanager.CertificateSpec), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*certmanager.CertificateSpec)(nil), (*v1.CertificateSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_certmanager_CertificateSpec_To_v1_CertificateSpec(a.(*certmanager.CertificateSpec), b.(*v1.CertificateSpec), scope)
}); err != nil {
return err
}
if err := s.AddGeneratedConversionFunc((*v1.CertificateStatus)(nil), (*certmanager.CertificateStatus)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_CertificateStatus_To_certmanager_CertificateStatus(a.(*v1.CertificateStatus), b.(*certmanager.CertificateStatus), scope)
}); err != nil {
@ -361,6 +351,16 @@ func RegisterConversions(s *runtime.Scheme) error {
}); err != nil {
return err
}
if err := s.AddConversionFunc((*certmanager.CertificateSpec)(nil), (*v1.CertificateSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_certmanager_CertificateSpec_To_v1_CertificateSpec(a.(*certmanager.CertificateSpec), b.(*v1.CertificateSpec), scope)
}); err != nil {
return err
}
if err := s.AddConversionFunc((*v1.CertificateSpec)(nil), (*certmanager.CertificateSpec)(nil), func(a, b interface{}, scope conversion.Scope) error {
return Convert_v1_CertificateSpec_To_certmanager_CertificateSpec(a.(*v1.CertificateSpec), b.(*certmanager.CertificateSpec), scope)
}); err != nil {
return err
}
return nil
}
@ -470,7 +470,17 @@ func Convert_certmanager_CertificateKeystores_To_v1_CertificateKeystores(in *cer
func autoConvert_v1_CertificateList_To_certmanager_CertificateList(in *v1.CertificateList, out *certmanager.CertificateList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
out.Items = *(*[]certmanager.Certificate)(unsafe.Pointer(&in.Items))
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]certmanager.Certificate, len(*in))
for i := range *in {
if err := Convert_v1_Certificate_To_certmanager_Certificate(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
@ -481,7 +491,17 @@ func Convert_v1_CertificateList_To_certmanager_CertificateList(in *v1.Certificat
func autoConvert_certmanager_CertificateList_To_v1_CertificateList(in *certmanager.CertificateList, out *v1.CertificateList, s conversion.Scope) error {
out.ListMeta = in.ListMeta
out.Items = *(*[]v1.Certificate)(unsafe.Pointer(&in.Items))
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]v1.Certificate, len(*in))
for i := range *in {
if err := Convert_certmanager_Certificate_To_v1_Certificate(&(*in)[i], &(*out)[i], s); err != nil {
return err
}
}
} else {
out.Items = nil
}
return nil
}
@ -665,8 +685,8 @@ func autoConvert_v1_CertificateSpec_To_certmanager_CertificateSpec(in *v1.Certif
out.RenewBefore = (*metav1.Duration)(unsafe.Pointer(in.RenewBefore))
out.DNSNames = *(*[]string)(unsafe.Pointer(&in.DNSNames))
out.IPAddresses = *(*[]string)(unsafe.Pointer(&in.IPAddresses))
out.URISANs = *(*[]string)(unsafe.Pointer(&in.URISANs))
out.EmailSANs = *(*[]string)(unsafe.Pointer(&in.EmailSANs))
// WARNING: in.URIs requires manual conversion: does not exist in peer-type
// WARNING: in.EmailAddresses requires manual conversion: does not exist in peer-type
out.SecretName = in.SecretName
out.Keystores = (*certmanager.CertificateKeystores)(unsafe.Pointer(in.Keystores))
// TODO: Inefficient conversion - can we improve it?
@ -679,11 +699,6 @@ func autoConvert_v1_CertificateSpec_To_certmanager_CertificateSpec(in *v1.Certif
return nil
}
// Convert_v1_CertificateSpec_To_certmanager_CertificateSpec is an autogenerated conversion function.
func Convert_v1_CertificateSpec_To_certmanager_CertificateSpec(in *v1.CertificateSpec, out *certmanager.CertificateSpec, s conversion.Scope) error {
return autoConvert_v1_CertificateSpec_To_certmanager_CertificateSpec(in, out, s)
}
func autoConvert_certmanager_CertificateSpec_To_v1_CertificateSpec(in *certmanager.CertificateSpec, out *v1.CertificateSpec, s conversion.Scope) error {
out.Subject = (*v1.X509Subject)(unsafe.Pointer(in.Subject))
out.CommonName = in.CommonName
@ -691,8 +706,8 @@ func autoConvert_certmanager_CertificateSpec_To_v1_CertificateSpec(in *certmanag
out.RenewBefore = (*metav1.Duration)(unsafe.Pointer(in.RenewBefore))
out.DNSNames = *(*[]string)(unsafe.Pointer(&in.DNSNames))
out.IPAddresses = *(*[]string)(unsafe.Pointer(&in.IPAddresses))
out.URISANs = *(*[]string)(unsafe.Pointer(&in.URISANs))
out.EmailSANs = *(*[]string)(unsafe.Pointer(&in.EmailSANs))
// WARNING: in.URISANs requires manual conversion: does not exist in peer-type
// WARNING: in.EmailSANs requires manual conversion: does not exist in peer-type
out.SecretName = in.SecretName
out.Keystores = (*v1.CertificateKeystores)(unsafe.Pointer(in.Keystores))
// TODO: Inefficient conversion - can we improve it?
@ -705,11 +720,6 @@ func autoConvert_certmanager_CertificateSpec_To_v1_CertificateSpec(in *certmanag
return nil
}
// Convert_certmanager_CertificateSpec_To_v1_CertificateSpec is an autogenerated conversion function.
func Convert_certmanager_CertificateSpec_To_v1_CertificateSpec(in *certmanager.CertificateSpec, out *v1.CertificateSpec, s conversion.Scope) error {
return autoConvert_certmanager_CertificateSpec_To_v1_CertificateSpec(in, out, s)
}
func autoConvert_v1_CertificateStatus_To_certmanager_CertificateStatus(in *v1.CertificateStatus, out *certmanager.CertificateStatus, s conversion.Scope) error {
out.Conditions = *(*[]certmanager.CertificateCondition)(unsafe.Pointer(&in.Conditions))
out.LastFailureTime = (*metav1.Time)(unsafe.Pointer(in.LastFailureTime))

View File

@ -173,6 +173,8 @@ func TestConversion(t *testing.T) {
Subject: &v1beta1.X509Subject{
Organizations: []string{"test"},
},
URISANs: []string{"spiffe://foo.foo.example.net"},
EmailSANs: []string{"alice@example.com"},
IssuerRef: cmmeta.ObjectReference{
Name: "issuername",
},
@ -190,6 +192,8 @@ func TestConversion(t *testing.T) {
Subject: &v1.X509Subject{
Organizations: []string{"test"},
},
URIs: []string{"spiffe://foo.foo.example.net"},
EmailAddresses: []string{"alice@example.com"},
IssuerRef: cmmeta.ObjectReference{
Name: "issuername",
},