resetting approvals after update

feature/approvals_reset_on_digest_change
Karolis Rusenas 2018-06-24 14:35:02 +01:00
parent a1c98391c7
commit 164cd6cbda
2 changed files with 14 additions and 16 deletions

View File

@ -34,6 +34,11 @@ func (p *Provider) checkForApprovals(event *types.Event, plans []*UpdatePlan) (a
return approvedPlans
}
// updateComplete is called after we successfully update resource
func (p *Provider) updateComplete(plan *UpdatePlan) error {
return p.approvalManager.Delete(getIdentifier(plan.Namespace, plan.Name, plan.NewVersion))
}
func (p *Provider) isApproved(event *types.Event, plan *UpdatePlan) (bool, error) {
if plan.Config.Approvals == 0 {
return true, nil

View File

@ -333,6 +333,15 @@ func (p *Provider) applyPlans(plans []*UpdatePlan) error {
continue
}
err = p.updateComplete(plan)
if err != nil {
log.WithFields(log.Fields{
"error": err,
"name": plan.Name,
"namespace": plan.Namespace,
}).Warn("provider.helm: got error while resetting approvals counter after successful update")
}
p.sender.Send(types.EventNotification{
Name: "update release",
Message: fmt.Sprintf("Successfully updated release %s/%s %s->%s (%s)", plan.Namespace, plan.Name, plan.CurrentVersion, plan.NewVersion, strings.Join(mapToSlice(plan.Values), ", ")),
@ -347,22 +356,6 @@ func (p *Provider) applyPlans(plans []*UpdatePlan) error {
return nil
}
// resp, err := u.client.UpdateRelease(
// u.release,
// chartPath,
// helm.UpdateValueOverrides(rawVals),
// helm.UpgradeDryRun(u.dryRun),
// helm.UpgradeRecreate(u.recreate),
// helm.UpgradeForce(u.force),
// helm.UpgradeDisableHooks(u.disableHooks),
// helm.UpgradeTimeout(u.timeout),
// helm.ResetValues(u.resetValues),
// helm.ReuseValues(u.reuseValues),
// helm.UpgradeWait(u.wait))
// if err != nil {
// return fmt.Errorf("UPGRADE FAILED: %v", prettyError(err))
// }
func updateHelmRelease(implementer Implementer, releaseName string, chart *hapi_chart.Chart, overrideValues map[string]string) error {
overrideBts, err := convertToYaml(mapToSlice(overrideValues))