-
Notifications
You must be signed in to change notification settings - Fork 139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
On-cluster build: Configurable PVC size used by a Pipeline #851
Comments
This issue is stale because it has been open for 90 days with no |
/remove-lifecycle stale |
👍 |
/remove-lifecycle stale |
Would it be feasible to generate a YAML file that contains all the pipeline specifications initially and then use that, if it exists? That way, users can fix any issues they may have directly in the file. WDYT? |
@tvand I think this is definitely feasible. Would you mind openin a separate issue for this? |
@zroubalik I think there are a couple of issues already open around this idea in a general sense. There is #1015 which is a generic request for yaml output for anything that |
@lance you are right! Thanks for poiting this out |
@lance Is it still an open issue that should be implemented? Currently the PVC has a fixed size of 5Mi defined in
|
@grafvonb yes, this is still something we'd like to implement, although I haven't really given a lot of thought to how this should surface for the user. It could be a flag on the
But I am open to consideration for other options. |
@lance Is there a sketch for handling configuration options? I think @lkingland mentioned it somewhere. I know we use |
I looked into utilizing the cobra/viper package's inbuilt config handling, but it ended up not quite being a good fit. In short, our func.yaml is more than a config file. Take one example: We have a chicken-and-egg problem because func.yaml is the current serialized state of a function, and as such it needs to be read in (along with potentially a path flag) prior to flags being defined, but after the global config is applied. And on a more subjective note, trying to use Cobra/Viper simply felt like round-peg-square-hole. Please see how the build command makes use of the simple config package, and the open PR which adds this same methodology to the deploy command. You will see a lot of complexity evaporates (a good indication its on the right path). For this scenario, we would simply add a flag to the build and deploy commands, set its default value to the associated member of the Global Config, and add it to the two mapping functions Apply and Configure such that it picks up function context (state). I intend to write up how this works in an ARCHITECTURE.md when it's set up on the other commands, but I am sure if you trace through one example sstting, such as The whole global config with local function context system ended up being actually quite straightforward, and importantly command help text shows the actual value which will be used for the flag if not provided by the user, taking into account the function's current state. |
I would like to look at the topic from a different angle. |
* feat: add pvc-size flag to deploy command (#851) * feat: move pvc-size from deploy to build func configuration section (#851) * feat: add setting default value for pvc-size in func.yaml (#851) * feat: change pvc-size to camel case (#851) * feat: add omitempty to pvcSize (#851) * feat: regenerate func yaml schema (#851) * feat: update docs for deploy command (#851) * feat: update usage help for the pvc-size flag (#851)
Thanks for pointing this out. The release notes are generated automatically from the PRs when there is included a code section with the
I do try to remember to edit the PR descriptions which don't contain it, but often forget. |
No description provided.
The text was updated successfully, but these errors were encountered: