GithubHelp home page GithubHelp logo

Comments (2)

rainest avatar rainest commented on May 17, 2024

Yeah, this 🐔 🥚 pattern of issue is something we run into fairly often: something's needed, but won't be created until the main deployment gets it, and that change will only occur after hooks run, and since those hooks require the thing in question...

Creating those resources in the hooks doesn't work well for the reason you noted: due to Helm treating hook resources as unmanaged, we get stuck between the choice of having the resource be available during the hook and having it managed as part of the release, and we often want the latter.

The middle option (don't mount this for migration jobs because they don't need it) is probably ideal, but is hard to do well. As-is most of that mount logic doesn't pay attention to what type of Kong Pod it's used for, and while it'd be good to have a more advanced system that separates out mounts that are always needed (e.g. plugin code, which can contain migrations) and that are only only needed for the main Deployment Pods, adding it would be a fairly significant refactor of the templates.

The first/workaround option is what I'd suggest for now. While it's not seamless, it's usually fairly simple now that we provide toggles for the migration jobs. Migration jobs are only necessary if you're upgrading the Kong image version, so for any other change they do spawn by default but are no-ops.

If you disable them when enabling the webhook, are you able to helm upgrade successfully, and do you see any issues if you re-enable them and upgrade again? The phased upgrade instructions for 1.9 are pretty much that, albeit for a different purpose.

Assuming that works, we should probably add a generic version of those instructions to the FAQ--something along the lines of "if you see pre-upgrade jobs failing because they need some ConfigMap or whatever, disable them and run a Helm upgrade without changing your Kong image version: that first upgrade should create the resource in question, and you can re-enable migration jobs after."

from charts.

stale avatar stale commented on May 17, 2024

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

from charts.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.