/
lifecycler.go
34 lines (30 loc) · 970 Bytes
/
lifecycler.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
package helm
import (
"context"
"github.com/deis/steward/mode"
"github.com/deis/steward/mode/common"
"k8s.io/client-go/1.4/kubernetes/typed/core/v1"
"k8s.io/helm/pkg/proto/hapi/chart"
)
// newLifecycler creates a new mode.Lifecycler that's backed by a Tiller instance accessible by iface
func newLifecycler(
ctx context.Context,
chart *chart.Chart,
installNS string,
provBehavior ProvisionBehavior,
creatorDeleter ReleaseCreatorDeleter,
cmNamespacer v1.ConfigMapsGetter,
) (*mode.Lifecycler, error) {
cmIface := cmNamespacer.ConfigMaps(installNS)
binder, err := newBinder(chart, cmIface)
if err != nil {
return nil, err
}
return &mode.Lifecycler{
Provisioner: newProvisioner(chart, installNS, provBehavior, creatorDeleter),
Binder: binder,
Unbinder: newUnbinder(),
Deprovisioner: newDeprovisioner(chart, provBehavior, creatorDeleter),
LastOperationGetter: common.NoopLastOperationGetter{},
}, nil
}