Added new types

This commit is contained in:
Daniel Hougaard
2024-03-06 02:13:28 +01:00
parent 378bc57a88
commit f869def8ea

View File

@@ -9,12 +9,20 @@ type Authentication struct {
ServiceAccount ServiceAccountDetails `json:"serviceAccount"` ServiceAccount ServiceAccountDetails `json:"serviceAccount"`
// +kubebuilder:validation:Optional // +kubebuilder:validation:Optional
ServiceToken ServiceTokenDetails `json:"serviceToken"` ServiceToken ServiceTokenDetails `json:"serviceToken"`
// +kubebuilder:validation:Optional
UniversalAuthMachineIdentity UniversalAuthMachineIdentityDetails `json:"universalAuthMachineIdentity"`
}
type UniversalAuthMachineIdentityDetails struct {
// +kubebuilder:validation:Required
Credentials KubeSecretReference `json:"credentials"`
// +kubebuilder:validation:Required
SecretsScope MachineIdentityScopeInWorkspace `json:"secretsScope"`
} }
type ServiceTokenDetails struct { type ServiceTokenDetails struct {
// +kubebuilder:validation:Required // +kubebuilder:validation:Required
ServiceTokenSecretReference KubeSecretReference `json:"serviceTokenSecretReference"` ServiceTokenSecretReference KubeSecretReference `json:"serviceTokenSecretReference"`
// +kubebuilder:validation:Required // +kubebuilder:validation:Required
SecretsScope SecretScopeInWorkspace `json:"secretsScope"` SecretsScope SecretScopeInWorkspace `json:"secretsScope"`
} }
@@ -28,11 +36,19 @@ type ServiceAccountDetails struct {
type SecretScopeInWorkspace struct { type SecretScopeInWorkspace struct {
// +kubebuilder:validation:Required // +kubebuilder:validation:Required
SecretsPath string `json:"secretsPath"` SecretsPath string `json:"secretsPath"`
// +kubebuilder:validation:Required // +kubebuilder:validation:Required
EnvSlug string `json:"envSlug"` EnvSlug string `json:"envSlug"`
} }
type MachineIdentityScopeInWorkspace struct {
// +kubebuilder:validation:Required
SecretsPath string `json:"secretsPath"`
// +kubebuilder:validation:Required
EnvSlug string `json:"envSlug"`
// +kubebuilder:validation:Required
ProjectId string `json:"projectId"`
}
type KubeSecretReference struct { type KubeSecretReference struct {
// The name of the Kubernetes Secret // The name of the Kubernetes Secret
// +kubebuilder:validation:Required // +kubebuilder:validation:Required