logoalt Hacker News

mxeyyesterday at 10:54 AM1 replyview on HN

What do you mean by atomic deployment? There are no transactions in the Kubernetes API. Helm has to make one request for each object it creates or modifies, like any other client.


Replies

mdanielyesterday at 8:10 PM

It's a misnomer, but I don't think OP invented that language, it's the word Helm uses for that flag: https://helm.sh/docs/helm/helm_install/#:~:text=the%20instal...

I believe(!) that the "rollback" that helm attempts to put back all the mutated objects, which it can - in theory - do because it maintains the previous state in the Secret objects that contain the rendered(?) and the values for the prior revision

  try:
    for obj in manifest_objects:
      kubectl_apply(obj)
    revisions.push(manifest_objects)
  except:
    old_revision = revisions.pop()
    for obj in old_revision:
      kubectl_apply(obj)
type deal