mirror of
https://github.com/storytold/irsa-manager.git
synced 2026-10-25 08:20:12 +00:00
update api definition
This commit is contained in:
@@ -20,16 +20,53 @@ import (
|
|||||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||||
)
|
)
|
||||||
|
|
||||||
// EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN!
|
const (
|
||||||
// NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized.
|
// IRSASetupKind represents the kind attribute of an IRSASetup resource.
|
||||||
|
IRSASetupKind = "IRSASetup"
|
||||||
|
)
|
||||||
|
|
||||||
// IRSASetupSpec defines the desired state of IRSASetup
|
// IRSASetupSpec defines the desired state of IRSASetup
|
||||||
type IRSASetupSpec struct {
|
type IRSASetupSpec struct {
|
||||||
// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
|
// Mode specifies the mode of operation. Can be either "selfhosted" or "eks".
|
||||||
// Important: Run "make" to regenerate code after modifying this file
|
Mode string `json:"mode"`
|
||||||
|
|
||||||
// Foo is an example field of IRSASetup. Edit irsasetup_types.go to remove/update
|
// Discovery configures the IdP Discovery process, essential for setting up IRSA by locating
|
||||||
Foo string `json:"foo,omitempty"`
|
// the OIDC provider information.
|
||||||
|
Discovery Discovery `json:"discovery"`
|
||||||
|
|
||||||
|
// Auth contains authentication configuration details.
|
||||||
|
Auth Auth `json:"auth,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discovery holds the configuration for IdP Discovery, which is crucial for locating
|
||||||
|
// the OIDC provider in a self-hosted environment.
|
||||||
|
type Discovery struct {
|
||||||
|
// S3 specifies the AWS S3 bucket details where the OIDC provider's discovery information is hosted.
|
||||||
|
S3 S3Discovery `json:"s3,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// S3Discovery contains the specifics of the S3 bucket used for hosting OIDC provider discovery information.
|
||||||
|
type S3Discovery struct {
|
||||||
|
// Region denotes the AWS region where the S3 bucket is located.
|
||||||
|
Region string `json:"region"`
|
||||||
|
|
||||||
|
// BucketName is the name of the S3 bucket that hosts the OIDC discovery information.
|
||||||
|
BucketName string `json:"bucketName"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// Auth holds the authentication configuration details.
|
||||||
|
type Auth struct {
|
||||||
|
// SecretRef specifies the reference to the Kubernetes secret containing authentication details.
|
||||||
|
SecretRef SecretRef `json:"secretRef"`
|
||||||
|
}
|
||||||
|
|
||||||
|
// SecretRef contains the reference to a Kubernetes secret.
|
||||||
|
type SecretRef struct {
|
||||||
|
// Name specifies the name of the secret.
|
||||||
|
Name string `json:"name"`
|
||||||
|
|
||||||
|
// Namespace specifies the namespace of the secret.
|
||||||
|
Namespace string `json:"namespace,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// IRSASetupStatus defines the observed state of IRSASetup
|
// IRSASetupStatus defines the observed state of IRSASetup
|
||||||
@@ -41,7 +78,7 @@ type IRSASetupStatus struct {
|
|||||||
//+kubebuilder:object:root=true
|
//+kubebuilder:object:root=true
|
||||||
//+kubebuilder:subresource:status
|
//+kubebuilder:subresource:status
|
||||||
|
|
||||||
// IRSASetup is the Schema for the irsasetups API
|
// IRSASetup represents a configuration for setting up IAM Roles for Service Accounts (IRSA) in a Kubernetes cluster.
|
||||||
type IRSASetup struct {
|
type IRSASetup struct {
|
||||||
metav1.TypeMeta `json:",inline"`
|
metav1.TypeMeta `json:",inline"`
|
||||||
metav1.ObjectMeta `json:"metadata,omitempty"`
|
metav1.ObjectMeta `json:"metadata,omitempty"`
|
||||||
|
|||||||
@@ -24,6 +24,38 @@ import (
|
|||||||
runtime "k8s.io/apimachinery/pkg/runtime"
|
runtime "k8s.io/apimachinery/pkg/runtime"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *Auth) DeepCopyInto(out *Auth) {
|
||||||
|
*out = *in
|
||||||
|
out.SecretRef = in.SecretRef
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Auth.
|
||||||
|
func (in *Auth) DeepCopy() *Auth {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(Auth)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *Discovery) DeepCopyInto(out *Discovery) {
|
||||||
|
*out = *in
|
||||||
|
out.S3 = in.S3
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Discovery.
|
||||||
|
func (in *Discovery) DeepCopy() *Discovery {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(Discovery)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *IRSASetup) DeepCopyInto(out *IRSASetup) {
|
func (in *IRSASetup) DeepCopyInto(out *IRSASetup) {
|
||||||
*out = *in
|
*out = *in
|
||||||
@@ -86,6 +118,8 @@ func (in *IRSASetupList) DeepCopyObject() runtime.Object {
|
|||||||
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
func (in *IRSASetupSpec) DeepCopyInto(out *IRSASetupSpec) {
|
func (in *IRSASetupSpec) DeepCopyInto(out *IRSASetupSpec) {
|
||||||
*out = *in
|
*out = *in
|
||||||
|
out.Discovery = in.Discovery
|
||||||
|
out.Auth = in.Auth
|
||||||
}
|
}
|
||||||
|
|
||||||
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IRSASetupSpec.
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IRSASetupSpec.
|
||||||
@@ -112,3 +146,33 @@ func (in *IRSASetupStatus) DeepCopy() *IRSASetupStatus {
|
|||||||
in.DeepCopyInto(out)
|
in.DeepCopyInto(out)
|
||||||
return out
|
return out
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *S3Discovery) DeepCopyInto(out *S3Discovery) {
|
||||||
|
*out = *in
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new S3Discovery.
|
||||||
|
func (in *S3Discovery) DeepCopy() *S3Discovery {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(S3Discovery)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
|
||||||
|
func (in *SecretRef) DeepCopyInto(out *SecretRef) {
|
||||||
|
*out = *in
|
||||||
|
}
|
||||||
|
|
||||||
|
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretRef.
|
||||||
|
func (in *SecretRef) DeepCopy() *SecretRef {
|
||||||
|
if in == nil {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
out := new(SecretRef)
|
||||||
|
in.DeepCopyInto(out)
|
||||||
|
return out
|
||||||
|
}
|
||||||
|
|||||||
@@ -17,7 +17,8 @@ spec:
|
|||||||
- name: v1alpha1
|
- name: v1alpha1
|
||||||
schema:
|
schema:
|
||||||
openAPIV3Schema:
|
openAPIV3Schema:
|
||||||
description: IRSASetup is the Schema for the irsasetups API
|
description: IRSASetup represents a configuration for setting up IAM Roles
|
||||||
|
for Service Accounts (IRSA) in a Kubernetes cluster.
|
||||||
properties:
|
properties:
|
||||||
apiVersion:
|
apiVersion:
|
||||||
description: |-
|
description: |-
|
||||||
@@ -39,10 +40,54 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
description: IRSASetupSpec defines the desired state of IRSASetup
|
description: IRSASetupSpec defines the desired state of IRSASetup
|
||||||
properties:
|
properties:
|
||||||
foo:
|
auth:
|
||||||
description: Foo is an example field of IRSASetup. Edit irsasetup_types.go
|
description: Auth contains authentication configuration details.
|
||||||
to remove/update
|
properties:
|
||||||
|
secretRef:
|
||||||
|
description: SecretRef specifies the reference to the Kubernetes
|
||||||
|
secret containing authentication details.
|
||||||
|
properties:
|
||||||
|
name:
|
||||||
|
description: Name specifies the name of the secret.
|
||||||
|
type: string
|
||||||
|
namespace:
|
||||||
|
description: Namespace specifies the namespace of the secret.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- name
|
||||||
|
type: object
|
||||||
|
required:
|
||||||
|
- secretRef
|
||||||
|
type: object
|
||||||
|
discovery:
|
||||||
|
description: |-
|
||||||
|
Discovery configures the IdP Discovery process, essential for setting up IRSA by locating
|
||||||
|
the OIDC provider information.
|
||||||
|
properties:
|
||||||
|
s3:
|
||||||
|
description: S3 specifies the AWS S3 bucket details where the
|
||||||
|
OIDC provider's discovery information is hosted.
|
||||||
|
properties:
|
||||||
|
bucketName:
|
||||||
|
description: BucketName is the name of the S3 bucket that
|
||||||
|
hosts the OIDC discovery information.
|
||||||
|
type: string
|
||||||
|
region:
|
||||||
|
description: Region denotes the AWS region where the S3 bucket
|
||||||
|
is located.
|
||||||
|
type: string
|
||||||
|
required:
|
||||||
|
- bucketName
|
||||||
|
- region
|
||||||
|
type: object
|
||||||
|
type: object
|
||||||
|
mode:
|
||||||
|
description: Mode specifies the mode of operation. Can be either "selfhosted"
|
||||||
|
or "eks".
|
||||||
type: string
|
type: string
|
||||||
|
required:
|
||||||
|
- discovery
|
||||||
|
- mode
|
||||||
type: object
|
type: object
|
||||||
status:
|
status:
|
||||||
description: IRSASetupStatus defines the observed state of IRSASetup
|
description: IRSASetupStatus defines the observed state of IRSASetup
|
||||||
|
|||||||
Reference in New Issue
Block a user