mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-20 23:07:33 +00:00
fbe0f311f2
* feat: comprehensive sentry instrumentation * test: pass * fix: only fetch zitadel dsn in zitadel-operator * chore: use dns for sentry environment as soon as parsed * fix: trust ca certs * ci: update orbos * docs: add usage data explanation * fix: dont send validation errors * docs: improve ingestion data explanation * style: rename flag --disable-ingestion to --disable-analytics * fix: pass --disable-analytics flag to self deployments * fix: destroy command for sentry * fix: update orbos * fix: only switch environment if analytics is enabled * fix: ensure SENTRY_DSN is always set * test: test empty sentry dsn * ci: invalidate build caches * chore: use zitadel-dev if no version is passed * chore: combine dev releases in sentry * refactor: only check for semrel if sentry is enabled
53 lines
1.4 KiB
Go
53 lines
1.4 KiB
Go
package bucket
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/caos/orbos/mntr"
|
|
"github.com/caos/orbos/pkg/secret"
|
|
"github.com/caos/orbos/pkg/tree"
|
|
)
|
|
|
|
type DesiredV0 struct {
|
|
Common *tree.Common `yaml:",inline"`
|
|
Spec *Spec
|
|
}
|
|
|
|
type Spec struct {
|
|
Verbose bool
|
|
Cron string `yaml:"cron,omitempty"`
|
|
Bucket string `yaml:"bucket,omitempty"`
|
|
ServiceAccountJSON *secret.Secret `yaml:"serviceAccountJSON,omitempty"`
|
|
ExistingServiceAccountJSON *secret.Existing `yaml:"existingServiceAccountJSON,omitempty"`
|
|
}
|
|
|
|
func (s *Spec) IsZero() bool {
|
|
if ((s.ServiceAccountJSON == nil || s.ServiceAccountJSON.IsZero()) && (s.ExistingServiceAccountJSON == nil || s.ExistingServiceAccountJSON.IsZero())) &&
|
|
!s.Verbose &&
|
|
s.Cron == "" &&
|
|
s.Bucket == "" {
|
|
return true
|
|
}
|
|
return false
|
|
}
|
|
|
|
func ParseDesiredV0(desiredTree *tree.Tree) (*DesiredV0, error) {
|
|
desiredKind := &DesiredV0{
|
|
Common: desiredTree.Common,
|
|
Spec: &Spec{},
|
|
}
|
|
|
|
if err := desiredTree.Original.Decode(desiredKind); err != nil {
|
|
return nil, mntr.ToUserError(fmt.Errorf("parsing desired state failed: %w", err))
|
|
}
|
|
|
|
return desiredKind, nil
|
|
}
|
|
|
|
func (d *DesiredV0) validateSecrets() error {
|
|
if err := secret.ValidateSecret(d.Spec.ServiceAccountJSON, d.Spec.ExistingServiceAccountJSON); err != nil {
|
|
return fmt.Errorf("validating api key failed: %w", err)
|
|
}
|
|
return nil
|
|
}
|