Support for providing Tenant client certificates (#2294)

This commit is contained in:
Lenin Alevski
2022-09-06 08:20:16 -07:00
committed by GitHub
parent 2f81b750a3
commit 989f041658
20 changed files with 1008 additions and 346 deletions

View File

@@ -85,8 +85,8 @@ type CreateTenantRequest struct {
// log search configuration
LogSearchConfiguration *LogSearchConfiguration `json:"logSearchConfiguration,omitempty"`
// mounth path
MounthPath string `json:"mounth_path,omitempty"`
// mount path
MountPath string `json:"mount_path,omitempty"`
// name
// Required: true

View File

@@ -175,6 +175,9 @@ func (m *TenantSecurityResponse) UnmarshalBinary(b []byte) error {
// swagger:model TenantSecurityResponseCustomCertificates
type TenantSecurityResponseCustomCertificates struct {
// client
Client []*CertificateInfo `json:"client"`
// minio
Minio []*CertificateInfo `json:"minio"`
@@ -186,6 +189,10 @@ type TenantSecurityResponseCustomCertificates struct {
func (m *TenantSecurityResponseCustomCertificates) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateClient(formats); err != nil {
res = append(res, err)
}
if err := m.validateMinio(formats); err != nil {
res = append(res, err)
}
@@ -200,6 +207,32 @@ func (m *TenantSecurityResponseCustomCertificates) Validate(formats strfmt.Regis
return nil
}
func (m *TenantSecurityResponseCustomCertificates) validateClient(formats strfmt.Registry) error {
if swag.IsZero(m.Client) { // not required
return nil
}
for i := 0; i < len(m.Client); i++ {
if swag.IsZero(m.Client[i]) { // not required
continue
}
if m.Client[i] != nil {
if err := m.Client[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("customCertificates" + "." + "client" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("customCertificates" + "." + "client" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
func (m *TenantSecurityResponseCustomCertificates) validateMinio(formats strfmt.Registry) error {
if swag.IsZero(m.Minio) { // not required
return nil
@@ -256,6 +289,10 @@ func (m *TenantSecurityResponseCustomCertificates) validateMinioCAs(formats strf
func (m *TenantSecurityResponseCustomCertificates) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateClient(ctx, formats); err != nil {
res = append(res, err)
}
if err := m.contextValidateMinio(ctx, formats); err != nil {
res = append(res, err)
}
@@ -270,6 +307,26 @@ func (m *TenantSecurityResponseCustomCertificates) ContextValidate(ctx context.C
return nil
}
func (m *TenantSecurityResponseCustomCertificates) contextValidateClient(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.Client); i++ {
if m.Client[i] != nil {
if err := m.Client[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("customCertificates" + "." + "client" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("customCertificates" + "." + "client" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
func (m *TenantSecurityResponseCustomCertificates) contextValidateMinio(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.Minio); i++ {

View File

@@ -36,18 +36,25 @@ import (
// swagger:model tlsConfiguration
type TLSConfiguration struct {
// ca certificates
CaCertificates []string `json:"ca_certificates"`
// minio c as certificates
MinioCAsCertificates []string `json:"minioCAsCertificates"`
// minio
Minio []*KeyPairConfiguration `json:"minio"`
// minio client certificates
MinioClientCertificates []*KeyPairConfiguration `json:"minioClientCertificates"`
// minio server certificates
MinioServerCertificates []*KeyPairConfiguration `json:"minioServerCertificates"`
}
// Validate validates this tls configuration
func (m *TLSConfiguration) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateMinio(formats); err != nil {
if err := m.validateMinioClientCertificates(formats); err != nil {
res = append(res, err)
}
if err := m.validateMinioServerCertificates(formats); err != nil {
res = append(res, err)
}
@@ -57,22 +64,48 @@ func (m *TLSConfiguration) Validate(formats strfmt.Registry) error {
return nil
}
func (m *TLSConfiguration) validateMinio(formats strfmt.Registry) error {
if swag.IsZero(m.Minio) { // not required
func (m *TLSConfiguration) validateMinioClientCertificates(formats strfmt.Registry) error {
if swag.IsZero(m.MinioClientCertificates) { // not required
return nil
}
for i := 0; i < len(m.Minio); i++ {
if swag.IsZero(m.Minio[i]) { // not required
for i := 0; i < len(m.MinioClientCertificates); i++ {
if swag.IsZero(m.MinioClientCertificates[i]) { // not required
continue
}
if m.Minio[i] != nil {
if err := m.Minio[i].Validate(formats); err != nil {
if m.MinioClientCertificates[i] != nil {
if err := m.MinioClientCertificates[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("minio" + "." + strconv.Itoa(i))
return ve.ValidateName("minioClientCertificates" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("minio" + "." + strconv.Itoa(i))
return ce.ValidateName("minioClientCertificates" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
func (m *TLSConfiguration) validateMinioServerCertificates(formats strfmt.Registry) error {
if swag.IsZero(m.MinioServerCertificates) { // not required
return nil
}
for i := 0; i < len(m.MinioServerCertificates); i++ {
if swag.IsZero(m.MinioServerCertificates[i]) { // not required
continue
}
if m.MinioServerCertificates[i] != nil {
if err := m.MinioServerCertificates[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("minioServerCertificates" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("minioServerCertificates" + "." + strconv.Itoa(i))
}
return err
}
@@ -87,7 +120,11 @@ func (m *TLSConfiguration) validateMinio(formats strfmt.Registry) error {
func (m *TLSConfiguration) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateMinio(ctx, formats); err != nil {
if err := m.contextValidateMinioClientCertificates(ctx, formats); err != nil {
res = append(res, err)
}
if err := m.contextValidateMinioServerCertificates(ctx, formats); err != nil {
res = append(res, err)
}
@@ -97,16 +134,36 @@ func (m *TLSConfiguration) ContextValidate(ctx context.Context, formats strfmt.R
return nil
}
func (m *TLSConfiguration) contextValidateMinio(ctx context.Context, formats strfmt.Registry) error {
func (m *TLSConfiguration) contextValidateMinioClientCertificates(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.Minio); i++ {
for i := 0; i < len(m.MinioClientCertificates); i++ {
if m.Minio[i] != nil {
if err := m.Minio[i].ContextValidate(ctx, formats); err != nil {
if m.MinioClientCertificates[i] != nil {
if err := m.MinioClientCertificates[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("minio" + "." + strconv.Itoa(i))
return ve.ValidateName("minioClientCertificates" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("minio" + "." + strconv.Itoa(i))
return ce.ValidateName("minioClientCertificates" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
func (m *TLSConfiguration) contextValidateMinioServerCertificates(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.MinioServerCertificates); i++ {
if m.MinioServerCertificates[i] != nil {
if err := m.MinioServerCertificates[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("minioServerCertificates" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("minioServerCertificates" + "." + strconv.Itoa(i))
}
return err
}

View File

@@ -175,11 +175,14 @@ func (m *UpdateTenantSecurityRequest) UnmarshalBinary(b []byte) error {
// swagger:model UpdateTenantSecurityRequestCustomCertificates
type UpdateTenantSecurityRequestCustomCertificates struct {
// minio
Minio []*KeyPairConfiguration `json:"minio"`
// minio c as certificates
MinioCAsCertificates []string `json:"minioCAsCertificates"`
// minio c as
MinioCAs []string `json:"minioCAs"`
// minio client certificates
MinioClientCertificates []*KeyPairConfiguration `json:"minioClientCertificates"`
// minio server certificates
MinioServerCertificates []*KeyPairConfiguration `json:"minioServerCertificates"`
// secrets to be deleted
SecretsToBeDeleted []string `json:"secretsToBeDeleted"`
@@ -189,7 +192,11 @@ type UpdateTenantSecurityRequestCustomCertificates struct {
func (m *UpdateTenantSecurityRequestCustomCertificates) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateMinio(formats); err != nil {
if err := m.validateMinioClientCertificates(formats); err != nil {
res = append(res, err)
}
if err := m.validateMinioServerCertificates(formats); err != nil {
res = append(res, err)
}
@@ -199,22 +206,48 @@ func (m *UpdateTenantSecurityRequestCustomCertificates) Validate(formats strfmt.
return nil
}
func (m *UpdateTenantSecurityRequestCustomCertificates) validateMinio(formats strfmt.Registry) error {
if swag.IsZero(m.Minio) { // not required
func (m *UpdateTenantSecurityRequestCustomCertificates) validateMinioClientCertificates(formats strfmt.Registry) error {
if swag.IsZero(m.MinioClientCertificates) { // not required
return nil
}
for i := 0; i < len(m.Minio); i++ {
if swag.IsZero(m.Minio[i]) { // not required
for i := 0; i < len(m.MinioClientCertificates); i++ {
if swag.IsZero(m.MinioClientCertificates[i]) { // not required
continue
}
if m.Minio[i] != nil {
if err := m.Minio[i].Validate(formats); err != nil {
if m.MinioClientCertificates[i] != nil {
if err := m.MinioClientCertificates[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("customCertificates" + "." + "minio" + "." + strconv.Itoa(i))
return ve.ValidateName("customCertificates" + "." + "minioClientCertificates" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("customCertificates" + "." + "minio" + "." + strconv.Itoa(i))
return ce.ValidateName("customCertificates" + "." + "minioClientCertificates" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
func (m *UpdateTenantSecurityRequestCustomCertificates) validateMinioServerCertificates(formats strfmt.Registry) error {
if swag.IsZero(m.MinioServerCertificates) { // not required
return nil
}
for i := 0; i < len(m.MinioServerCertificates); i++ {
if swag.IsZero(m.MinioServerCertificates[i]) { // not required
continue
}
if m.MinioServerCertificates[i] != nil {
if err := m.MinioServerCertificates[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("customCertificates" + "." + "minioServerCertificates" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("customCertificates" + "." + "minioServerCertificates" + "." + strconv.Itoa(i))
}
return err
}
@@ -229,7 +262,11 @@ func (m *UpdateTenantSecurityRequestCustomCertificates) validateMinio(formats st
func (m *UpdateTenantSecurityRequestCustomCertificates) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateMinio(ctx, formats); err != nil {
if err := m.contextValidateMinioClientCertificates(ctx, formats); err != nil {
res = append(res, err)
}
if err := m.contextValidateMinioServerCertificates(ctx, formats); err != nil {
res = append(res, err)
}
@@ -239,16 +276,36 @@ func (m *UpdateTenantSecurityRequestCustomCertificates) ContextValidate(ctx cont
return nil
}
func (m *UpdateTenantSecurityRequestCustomCertificates) contextValidateMinio(ctx context.Context, formats strfmt.Registry) error {
func (m *UpdateTenantSecurityRequestCustomCertificates) contextValidateMinioClientCertificates(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.Minio); i++ {
for i := 0; i < len(m.MinioClientCertificates); i++ {
if m.Minio[i] != nil {
if err := m.Minio[i].ContextValidate(ctx, formats); err != nil {
if m.MinioClientCertificates[i] != nil {
if err := m.MinioClientCertificates[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("customCertificates" + "." + "minio" + "." + strconv.Itoa(i))
return ve.ValidateName("customCertificates" + "." + "minioClientCertificates" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("customCertificates" + "." + "minio" + "." + strconv.Itoa(i))
return ce.ValidateName("customCertificates" + "." + "minioClientCertificates" + "." + strconv.Itoa(i))
}
return err
}
}
}
return nil
}
func (m *UpdateTenantSecurityRequestCustomCertificates) contextValidateMinioServerCertificates(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.MinioServerCertificates); i++ {
if m.MinioServerCertificates[i] != nil {
if err := m.MinioServerCertificates[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("customCertificates" + "." + "minioServerCertificates" + "." + strconv.Itoa(i))
} else if ce, ok := err.(*errors.CompositeError); ok {
return ce.ValidateName("customCertificates" + "." + "minioServerCertificates" + "." + strconv.Itoa(i))
}
return err
}