Make the pod selector configurable

- default labels: app, name and app.kubernetes.io/name
This commit is contained in:
stefanprodan
2019-04-15 12:57:25 +03:00
parent 60f51ad7d5
commit 6ef72e2550
9 changed files with 76 additions and 41 deletions
+2
View File
@@ -60,6 +60,7 @@ func NewController(
notifier *notifier.Slack,
meshProvider string,
version string,
labels []string,
) *Controller {
logger.Debug("Creating event broadcaster")
flaggerscheme.AddToScheme(scheme.Scheme)
@@ -75,6 +76,7 @@ func NewController(
Logger: logger,
KubeClient: kubeClient,
FlaggerClient: flaggerClient,
Labels: labels,
ConfigTracker: canary.ConfigTracker{
Logger: logger,
KubeClient: kubeClient,
+1
View File
@@ -69,6 +69,7 @@ func SetupMocks(abtest bool) Mocks {
Logger: logger,
KubeClient: kubeClient,
FlaggerClient: flaggerClient,
Labels: []string{"app", "name"},
ConfigTracker: canary.ConfigTracker{
Logger: logger,
KubeClient: kubeClient,
+3 -2
View File
@@ -90,7 +90,8 @@ func (c *Controller) advanceCanary(name string, namespace string, skipLivenessCh
primaryName := fmt.Sprintf("%s-primary", cd.Spec.TargetRef.Name)
// create primary deployment and hpa if needed
if err := c.deployer.Initialize(cd); err != nil {
label, err := c.deployer.Initialize(cd)
if err != nil {
c.recordEventWarningf(cd, "%v", err)
return
}
@@ -100,7 +101,7 @@ func (c *Controller) advanceCanary(name string, namespace string, skipLivenessCh
meshRouter := routerFactory.MeshRouter(c.meshProvider)
// create or update ClusterIP services
if err := routerFactory.KubernetesRouter().Reconcile(cd); err != nil {
if err := routerFactory.KubernetesRouter(label).Reconcile(cd); err != nil {
c.recordEventWarningf(cd, "%v", err)
return
}