Skip to content

Commit

Permalink
Rework options framework
Browse files Browse the repository at this point in the history
ExternalSecrets are now dynamically generated only when required. This is important to
remove the dependency of saas dev environments from external-secrets
operator and vault.
  • Loading branch information
roivaz committed Jan 9, 2024
1 parent 8c4dfe6 commit b9ffdba
Show file tree
Hide file tree
Showing 60 changed files with 1,124 additions and 1,570 deletions.
6 changes: 5 additions & 1 deletion api/v1alpha1/common_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -559,14 +559,18 @@ func (spec *ExternalSecret) Default() {

// SecretReference is a reference to a secret stored in some secrets engine
type SecretReference struct {
// VaultSecretReference is a reference to a secret stored in a Hashicorp Vault
// FromVault is a reference to a secret key/value stored in a Hashicorp Vault
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
FromVault *VaultSecretReference `json:"fromVault,omitempty"`
// Override allows to directly specify a string value.
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Override *string `json:"override,omitempty"`
// FromSecret is a reference to a key/value in a Secret resource
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
// FromSecret
}

// VaultSecretReference is a reference to a secret stored in
Expand Down
7 changes: 1 addition & 6 deletions api/v1alpha1/system_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -471,14 +471,9 @@ type SystemConfig struct {
// Mapping Service access token
// +operator-sdk:csv:customresourcedefinitions:type=spec
MappingServiceAccessToken SecretReference `json:"mappingServiceAccessToken"`
// Zync authentication token
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
ZyncAuthToken *SecretReference `json:"zyncAuthToken,omitempty"`
// Zync has configuration options for system to contact zync
// +operator-sdk:csv:customresourcedefinitions:type=spec
// +optional
Zync *SystemZyncSpec `json:"zync,omitempty"`
Zync SystemZyncSpec `json:"zync,omitempty"`
// Backend has configuration options for system to contact backend
// +operator-sdk:csv:customresourcedefinitions:type=spec
Backend SystemBackendSpec `json:"backend"`
Expand Down
11 changes: 1 addition & 10 deletions api/v1alpha1/zz_generated.deepcopy.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

84 changes: 34 additions & 50 deletions bundle/manifests/saas-operator.clusterserviceversion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1308,7 +1308,7 @@ spec:
key
displayName: Error Monitoring Key
path: config.errorMonitoringKey
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.errorMonitoringKey.fromVault
Expand All @@ -1325,7 +1325,7 @@ spec:
service
displayName: Error Monitoring Service
path: config.errorMonitoringService
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.errorMonitoringService.fromVault
Expand Down Expand Up @@ -1358,7 +1358,7 @@ spec:
- description: A reference to the secret holding the backend-internal-api password
displayName: Internal APIPassword
path: config.internalAPIPassword
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.internalAPIPassword.fromVault
Expand All @@ -1374,7 +1374,7 @@ spec:
- description: A reference to the secret holding the backend-internal-api user
displayName: Internal APIUser
path: config.internalAPIUser
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.internalAPIUser.fromVault
Expand Down Expand Up @@ -1403,7 +1403,7 @@ spec:
password
displayName: System Events Hook Password
path: config.systemEventsHookPassword
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.systemEventsHookPassword.fromVault
Expand All @@ -1420,7 +1420,7 @@ spec:
URL
displayName: System Events Hook URL
path: config.systemEventsHookURL
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.systemEventsHookURL.fromVault
Expand Down Expand Up @@ -1940,7 +1940,7 @@ spec:
- description: System database connection string
displayName: System Database DSN
path: config.systemDatabaseDSN
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.systemDatabaseDSN.fromVault
Expand Down Expand Up @@ -2293,7 +2293,7 @@ spec:
- description: A reference to the secret holding the system admin token
displayName: System Admin Token
path: config.systemAdminToken
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.systemAdminToken.fromVault
Expand Down Expand Up @@ -2794,7 +2794,7 @@ spec:
- description: AccessCode to protect admin urls
displayName: Access Code
path: config.accessCode
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.accessCode.fromVault
Expand All @@ -2810,7 +2810,7 @@ spec:
- description: AWS access key
displayName: Access Key
path: config.assets.accessKey
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.assets.accessKey.fromVault
Expand All @@ -2835,7 +2835,7 @@ spec:
- description: AWS secret access key
displayName: Secret Key
path: config.assets.secretKey
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.assets.secretKey.fromVault
Expand All @@ -2857,7 +2857,7 @@ spec:
- description: Internal API password
displayName: Internal APIPassword
path: config.backend.internalAPIPassword
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.backend.internalAPIPassword.fromVault
Expand All @@ -2873,7 +2873,7 @@ spec:
- description: Internal API user
displayName: Internal APIUser
path: config.backend.internalAPIUser
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.backend.internalAPIUser.fromVault
Expand All @@ -2898,7 +2898,7 @@ spec:
- description: API key
displayName: APIKey
path: config.bugsnag.apiKey
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.bugsnag.apiKey.fromVault
Expand All @@ -2921,7 +2921,7 @@ spec:
- description: DSN of system's main database
displayName: Database DSN
path: config.databaseDSN
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.databaseDSN.fromVault
Expand All @@ -2937,7 +2937,7 @@ spec:
- description: Database secret
displayName: Database Secret
path: config.databaseSecret
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.databaseSecret.fromVault
Expand All @@ -2953,7 +2953,7 @@ spec:
- description: EventsSharedSecret
displayName: Events Shared Secret
path: config.eventsSharedSecret
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.eventsSharedSecret.fromVault
Expand Down Expand Up @@ -2992,7 +2992,7 @@ spec:
- description: Client ID
displayName: Client ID
path: config.github.clientID
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.github.clientID.fromVault
Expand All @@ -3008,7 +3008,7 @@ spec:
- description: Client secret
displayName: Client Secret
path: config.github.clientSecret
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.github.clientSecret.fromVault
Expand All @@ -3024,7 +3024,7 @@ spec:
- description: Mapping Service access token
displayName: Mapping Service Access Token
path: config.mappingServiceAccessToken
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.mappingServiceAccessToken.fromVault
Expand Down Expand Up @@ -3058,7 +3058,7 @@ spec:
- description: Private key
displayName: Private Key
path: config.recaptcha.privateKey
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.recaptcha.privateKey.fromVault
Expand All @@ -3074,7 +3074,7 @@ spec:
- description: Public key
displayName: Public Key
path: config.recaptcha.publicKey
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.recaptcha.publicKey.fromVault
Expand All @@ -3093,7 +3093,7 @@ spec:
- description: Client ID
displayName: Client ID
path: config.redhatCustomerPortal.clientID
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.redhatCustomerPortal.clientID.fromVault
Expand All @@ -3109,7 +3109,7 @@ spec:
- description: Client secret
displayName: Client Secret
path: config.redhatCustomerPortal.clientSecret
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.redhatCustomerPortal.clientSecret.fromVault
Expand Down Expand Up @@ -3149,7 +3149,7 @@ spec:
- description: SecretKeyBase
displayName: Secret Key Base
path: config.secretKeyBase
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.secretKeyBase.fromVault
Expand All @@ -3168,7 +3168,7 @@ spec:
- description: Deletion token
displayName: Deletion Token
path: config.segment.deletionToken
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.segment.deletionToken.fromVault
Expand All @@ -3187,7 +3187,7 @@ spec:
- description: Write key
displayName: Write Key
path: config.segment.writeKey
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.segment.writeKey.fromVault
Expand Down Expand Up @@ -3215,7 +3215,7 @@ spec:
- description: Password
displayName: Password
path: config.smtp.password
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.smtp.password.fromVault
Expand All @@ -3240,7 +3240,7 @@ spec:
- description: User
displayName: User
path: config.smtp.user
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.smtp.user.fromVault
Expand Down Expand Up @@ -3268,7 +3268,7 @@ spec:
- description: Zync authentication token
displayName: Auth Token
path: config.zync.authToken
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.zync.authToken.fromVault
Expand All @@ -3284,22 +3284,6 @@ spec:
- description: Zync endpoint
displayName: Endpoint
path: config.zync.endpoint
- description: Zync authentication token
displayName: Zync Auth Token
path: config.zyncAuthToken
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
Vault
displayName: From Vault
path: config.zyncAuthToken.fromVault
- description: The Vault key of the secret
displayName: Key
path: config.zyncAuthToken.fromVault.key
- description: The Vault path where the secret is located
displayName: Path
path: config.zyncAuthToken.fromVault.path
- description: Override allows to directly specify a string value.
displayName: Override
path: config.zyncAuthToken.override
- description: Console specific configuration options
displayName: Console
path: console
Expand Down Expand Up @@ -4171,7 +4155,7 @@ spec:
- description: API key
displayName: APIKey
path: config.bugsnag.apiKey
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.bugsnag.apiKey.fromVault
Expand All @@ -4190,7 +4174,7 @@ spec:
- description: A reference to the secret holding the database DSN
displayName: Database DSN
path: config.databaseDSN
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.databaseDSN.fromVault
Expand Down Expand Up @@ -4235,7 +4219,7 @@ spec:
- description: A reference to the secret holding the secret-key-base
displayName: Secret Key Base
path: config.secretKeyBase
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.secretKeyBase.fromVault
Expand All @@ -4251,7 +4235,7 @@ spec:
- description: A reference to the secret holding the zync authentication token
displayName: Zync Auth Token
path: config.zyncAuthToken
- description: VaultSecretReference is a reference to a secret stored in a Hashicorp
- description: FromVault is a reference to a secret key/value stored in a Hashicorp
Vault
displayName: From Vault
path: config.zyncAuthToken.fromVault
Expand Down
Loading

0 comments on commit b9ffdba

Please sign in to comment.