mirror of
https://github.com/zitadel/zitadel.git
synced 2024-12-15 20:38:00 +00:00
45 lines
1.3 KiB
Go
45 lines
1.3 KiB
Go
package managed
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
corev1 "k8s.io/api/core/v1"
|
|
|
|
"github.com/caos/orbos/mntr"
|
|
"github.com/caos/orbos/pkg/kubernetes/k8s"
|
|
"github.com/caos/orbos/pkg/tree"
|
|
)
|
|
|
|
type DesiredV0 struct {
|
|
Common *tree.Common `yaml:",inline"`
|
|
Spec Spec
|
|
}
|
|
|
|
type Spec struct {
|
|
Verbose bool
|
|
Force bool `yaml:"force,omitempty"`
|
|
ReplicaCount int `yaml:"replicaCount,omitempty"`
|
|
StorageCapacity string `yaml:"storageCapacity,omitempty"`
|
|
StorageClass string `yaml:"storageClass,omitempty"`
|
|
NodeSelector map[string]string `yaml:"nodeSelector,omitempty"`
|
|
Tolerations []corev1.Toleration `yaml:"tolerations,omitempty"`
|
|
ClusterDns string `yaml:"clusterDNS,omitempty"`
|
|
Backups map[string]*tree.Tree `yaml:"backups,omitempty"`
|
|
Resources *k8s.Resources `yaml:"resources,omitempty"`
|
|
MaxSQLMemory string `yaml:"maxSqlMemory,omitempty"`
|
|
Cache string `yaml:"cache,omitempty"`
|
|
}
|
|
|
|
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"))
|
|
}
|
|
|
|
return desiredKind, nil
|
|
}
|