change issuer settings of irsa_controller for eks mode

This commit is contained in:
kkb0318
2024-07-26 20:29:02 +09:00
parent 5ffb448ecd
commit 9d7542b7ad
4 changed files with 112 additions and 19 deletions
+27 -2
View File
@@ -16,6 +16,13 @@ type S3IssuerMeta struct {
bucketName string
}
func NewOIDCIssuerMeta(i *irsav1alpha1.IRSASetup) (OIDCIssuerMeta, error) {
if i.Spec.Mode == irsav1alpha1.ModeEks {
return newIamOIDCProviderIssuerMeta(i.Spec.IamOIDCProvider)
}
return NewS3IssuerMeta(&i.Spec.Discovery.S3)
}
func NewS3IssuerMeta(s3 *irsav1alpha1.S3Discovery) (*S3IssuerMeta, error) {
region := s3.Region
bucketName := s3.BucketName
@@ -32,6 +39,24 @@ func (i *S3IssuerMeta) IssuerHostPath() string {
// IssuerUrl constructs the URL path for the OIDC issuer based on the provided AWS region and bucket name.
// This utility function generates the expected host path for accessing the OIDC configuration stored in an S3 bucket.
func (i *S3IssuerMeta) IssuerUrl() string {
return fmt.Sprintf("https://%s", i.
IssuerHostPath())
return fmt.Sprintf("https://%s", i.IssuerHostPath())
}
func newIamOIDCProviderIssuerMeta(providerName string) (*iamOIDCProviderIssuerMeta, error) {
if providerName == "" {
return nil, fmt.Errorf("IAM OIDC Provider Name must not be empty")
}
return &iamOIDCProviderIssuerMeta{providerName}, nil
}
type iamOIDCProviderIssuerMeta struct {
providerName string
}
func (i *iamOIDCProviderIssuerMeta) IssuerHostPath() string {
return i.providerName
}
func (i *iamOIDCProviderIssuerMeta) IssuerUrl() string {
return fmt.Sprintf("https://%s", i.IssuerHostPath())
}