-
Notifications
You must be signed in to change notification settings - Fork 67
/
target.go
39 lines (33 loc) · 1.14 KB
/
target.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
package transformer
import (
"context"
"github.com/armory/spinnaker-operator/pkg/apis/spinnaker/interfaces"
"github.com/go-logr/logr"
"k8s.io/apimachinery/pkg/runtime"
"sigs.k8s.io/controller-runtime/pkg/client"
)
type targetTransformer struct {
*DefaultTransformer
svc interfaces.SpinnakerService
log logr.Logger
}
type TargetTransformerGenerator struct{}
// Transformer is in charge of excluding namespace manifests
func (g *TargetTransformerGenerator) NewTransformer(svc interfaces.SpinnakerService,
client client.Client, log logr.Logger, scheme *runtime.Scheme) (Transformer, error) {
base := &DefaultTransformer{}
tr := targetTransformer{svc: svc, log: log, DefaultTransformer: base}
base.ChildTransformer = &tr
return &tr, nil
}
func (g *TargetTransformerGenerator) GetName() string {
return "Target"
}
// TransformConfig is a nop
func (t *targetTransformer) TransformConfig(ctx context.Context) error {
err := t.svc.GetSpinnakerConfig().SetHalConfigProp("deploymentEnvironment.location", t.svc.GetNamespace())
if err != nil {
return err
}
return t.svc.GetSpinnakerConfig().SetHalConfigProp("deploymentEnvironment.type", "Operator")
}