redradrat / shipcaps

A meta layer for kubernetes manifest generation. Provide packaged appications in a GitOps fashion.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Shipcaps needs helmrelease at startup

Moulick opened this issue · comments

when starting shipcaps, it demand that we have crd of helmrelease deployed.
Expected: helm operator and crd is deployed when creating app and capdep

2020-05-11T16:00:30.563+0530	INFO	setup	starting manager
2020-05-11T16:00:30.564+0530	INFO	controller-runtime.manager	starting metrics server	{"path": "/metrics"}
2020-05-11T16:00:30.665+0530	INFO	controller-runtime.controller	Starting EventSource	{"controller": "cap", "source": "kind source: /, Kind="}
2020-05-11T16:00:30.666+0530	INFO	controller-runtime.controller	Starting EventSource	{"controller": "app", "source": "kind source: /, Kind="}
2020-05-11T16:00:30.667+0530	INFO	controller-runtime.controller	Starting EventSource	{"controller": "capdep", "source": "kind source: /, Kind="}
2020-05-11T16:00:30.771+0530	INFO	controller-runtime.controller	Starting Controller	{"controller": "capdep"}
2020-05-11T16:00:30.771+0530	INFO	controller-runtime.controller	Starting EventSource	{"controller": "app", "source": "kind source: /, Kind="}
2020-05-11T16:00:30.771+0530	INFO	controller-runtime.controller	Starting Controller	{"controller": "cap"}
2020-05-11T16:00:30.874+0530	INFO	controller-runtime.controller	Starting workers	{"controller": "capdep", "worker count": 1}
2020-05-11T16:00:32.313+0530	ERROR	controller-runtime.source	if kind is a CRD, it should be installed before calling Start	{"kind": "HelmRelease.helm.fluxcd.io", "error": "no matches for kind \"HelmRelease\" in version \"helm.fluxcd.io/v1\""}
github.com/go-logr/zapr.(*zapLogger).Error
	/Users/moulick.aggarwal/go/pkg/mod/github.com/go-logr/zapr@v0.1.0/zapr.go:128
sigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start
	/Users/moulick.aggarwal/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/source/source.go:88
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func1
	/Users/moulick.aggarwal/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:165
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start
	/Users/moulick.aggarwal/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/internal/controller/controller.go:198
sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).startLeaderElectionRunnables.func1
	/Users/moulick.aggarwal/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.4.0/pkg/manager/internal.go:477
2020-05-11T16:00:32.314+0530	DEBUG	controller-runtime.manager	leader-election runnable finished	{"runnable type": "*controller.Controller"}
2020-05-11T16:00:32.314+0530	ERROR	setup	problem running manager	{"error": "no matches for kind \"HelmRelease\" in version \"helm.fluxcd.io/v1\""}
github.com/go-logr/zapr.(*zapLogger).Error
	/Users/moulick.aggarwal/go/pkg/mod/github.com/go-logr/zapr@v0.1.0/zapr.go:128
main.main
	/Users/moulick.aggarwal/go/src/github.com/redradrat/shipcaps/main.go:121
runtime.main
	/usr/local/opt/go/libexec/src/runtime/proc.go:203
exit status 1
make: *** [run] Error 1

Shipcaps uses the https://github.com/fluxcd/helm-operator internally. The helmchart source for Caps just uses that existing operator. Hence helm Cap only works with helm operator present.

We can think of making this a feature flag. But shipcaps' intent is to be a meta layer over existing projects. So I don't think it is unreasonable to expect this operator to be present. We can create a helm chart thought to set it up, with the helm-operator dependency (helm chart dependency)