Skip to content

Commit 50c9bd9

Browse files
authored
Fix default cluster tag validation (#1380)
1 parent 705b838 commit 50c9bd9

File tree

2 files changed

+15
-2
lines changed

2 files changed

+15
-2
lines changed

pkg/types/clusterconfig/clusterconfig.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -626,9 +626,14 @@ func (cc *Config) Validate(awsClient *aws.Client) error {
626626
}
627627
}
628628

629-
for tagName := range cc.Tags {
629+
for tagName, tagValue := range cc.Tags {
630630
if strings.HasPrefix(tagName, "cortex.dev/") {
631-
return errors.Wrap(cr.ErrorCantHavePrefix(tagName, "cortex.dev/"), TagsKey)
631+
if tagName != ClusterNameTag {
632+
return errors.Wrap(cr.ErrorCantHavePrefix(tagName, "cortex.dev/"), TagsKey)
633+
}
634+
if tagValue != cc.ClusterName {
635+
return errors.Wrap(ErrorCantOverrideDefaultTag(), TagsKey)
636+
}
632637
}
633638
}
634639
cc.Tags[ClusterNameTag] = cc.ClusterName

pkg/types/clusterconfig/errors.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ const (
5252
ErrInvalidInstanceType = "clusterconfig.invalid_instance_type"
5353
ErrIOPSNotSupported = "clusterconfig.iops_not_supported"
5454
ErrIOPSTooLarge = "clusterconfig.iops_too_large"
55+
ErrCantOverrideDefaultTag = "clusterconfig.cant_override_default_tag"
5556
ErrSSLCertificateARNNotFound = "clusterconfig.ssl_certificate_arn_not_found"
5657
)
5758

@@ -235,6 +236,13 @@ func ErrorIOPSTooLarge(iops int64, volumeSize int64) error {
235236
})
236237
}
237238

239+
func ErrorCantOverrideDefaultTag() error {
240+
return errors.WithStack(&errors.Error{
241+
Kind: ErrCantOverrideDefaultTag,
242+
Message: fmt.Sprintf("the \"%s\" tag cannot be overridden (it is set by default, and will always be equal to your cluster name)", ClusterNameTag),
243+
})
244+
}
245+
238246
func ErrorSSLCertificateARNNotFound(sslCertificateARN string, region string) error {
239247
return errors.WithStack(&errors.Error{
240248
Kind: ErrSSLCertificateARNNotFound,

0 commit comments

Comments
 (0)