kubernetes / enhancements

Enhancements tracking repo for Kubernetes
Apache License 2.0
3.42k stars 1.47k forks source link

Add FileEnvSource and FileKeySelector to add environment generated on the fly #3721

Open QuentinN42 opened 1 year ago

QuentinN42 commented 1 year ago

Enhancement Description

Please keep this description up to date. This will help the Enhancement Team to track the evolution of the enhancement efficiently.

QuentinN42 commented 1 year ago

/sig node

QuentinN42 commented 1 year ago

Some questions still needs to be discuss :

QuentinN42 commented 1 year ago

Some uses for an emptyDir are:

  • scratch space, such as for a disk-based merge sort
  • checkpointing a long computation for recovery from crashes
  • holding files that a content-manager container fetches while a webserver container serves the data K8s volumes docs

This is exactly a checkpointing for env var so I think using emptydir is totally ok, but the 3rd party init container can export it's data not in an emptydir ...

QuentinN42 commented 1 year ago

So maybe to solve [ORDER], [SECU] and [SCOPE] at once, we can reference a file path of a volume like in the VolumeMount.

k8s-triage-robot commented 1 year ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

SergeyKanzhelev commented 1 year ago

/remove-lifecycle stale

SergeyKanzhelev commented 1 year ago

xlink: https://github.com/kubernetes/kubernetes/issues/116993

SergeyKanzhelev commented 1 year ago

@QuentinN42 do you want to work on this for 1.28 milestone?

QuentinN42 commented 1 year ago

Yes ! I'm still not sure in which sig this goes, it will probably use volumes from empty dir so need I go to the sig storage meetings or it's a sig apps feature only ?

SergeyKanzhelev commented 1 year ago

It is likely a sig node meeting as sig node will need to read and set those variables. Sig storage may help with feedback on storage types we should support. SIG Apps can help with more scenarios where this feature will be useful.

SergeyKanzhelev commented 1 year ago

@QuentinN42 if you plan to have it in 1.28, can you please submit the PR with the kep's readme and kep.yaml to start the process following this template: https://github.com/kubernetes/enhancements/tree/master/keps/NNNN-kep-template?

QuentinN42 commented 1 year ago

What is the timetable ? I'm currently heading to my exams so I think it will be hard to contribute until July. If you think this feature must be in 1.28 and the timeline is short I can find some time, just give me some deadline. In any case I really want to contribute on this as OP.

SergeyKanzhelev commented 1 year ago

for the KEP approval - needs to happen next week.

Implementation July 18th

https://www.kubernetes.dev/resources/release/#summary

Sharpz7 commented 12 months ago

I am going to take this over if that is okay. /assign @Sharpz7

k8s-triage-robot commented 8 months ago

The Kubernetes project currently lacks enough contributors to adequately respond to all issues.

This bot triages un-triaged issues according to the following rules:

You can:

Please send feedback to sig-contributor-experience at kubernetes/community.

/lifecycle stale

AnishShah commented 8 months ago

@Sharpz7 mentioned in Slack and in this comment that he doesn't have cycles to work on this. So I would like to take this.

/assign @AnishShah

vaibhav2107 commented 7 months ago

/remove-lifecycle stale

FirePing32 commented 6 months ago

@AnishShah are you working on it ?

AnishShah commented 6 months ago

Yeah, I'm working on it.

FirePing32 commented 6 months ago

@AnishShah I have a small design for this feature. I am new to K8s, how can I start contributing to this KEP ?

SergeyKanzhelev commented 4 months ago

/label lead-opted-in /milestone v1.31

tjons commented 4 months ago

Hello @AnishShah πŸ‘‹, Enhancements team here.

Just checking in as we approach enhancements freeze on 02:00 UTC Friday 14th June 2024 / 19:00 PDT Thursday 13th June 2024.

This enhancement is targeting for stage alpha for 1.31 (correct me, if otherwise)

Here’s where this enhancement currently stands:

For this KEP, we would just need to complete the following:

The status of this enhancement is marked as at risk for enhancement freeze. Please keep the issue description up-to-date with appropriate stages as well.

If you anticipate missing enhancements freeze, you can file an exception request in advance. Thank you!

sreeram-venkitesh commented 4 months ago

/stage alpha

sreeram-venkitesh commented 4 months ago

Hello πŸ‘‹, v1.31 Enhancements team here.

Unfortunately, this enhancement did not meet requirements for enhancements freeze.

If you still wish to progress this enhancement in v1.31, please file an exception request as soon as possible, within three days. If you have any questions, you can reach out in the #release-enhancements channel on Slack and we'll be happy to help. Thanks!

/milestone clear

sreeram-venkitesh commented 3 months ago

/label tracked/no

lironcomonday commented 2 months ago

Any plans to implement this any time in the future?

SergeyKanzhelev commented 2 months ago

Any plans to implement this any time in the future?

The current state is we are collecting more use cases to justify the need for it. See comment https://github.com/kubernetes/enhancements/pull/4524#discussion_r1637285014.

@lironcomonday what is your scenario and whether the workaround with sourcing the file explicitly works for you?

tjons commented 1 month ago

Hi, enhancements lead here - I inadvertently added this to the 1.32 tracking board πŸ˜€. Please readd it if you wish to progress this enhancement in 1.32.

/remove-label lead-opted-in

aojea commented 6 hours ago

/stage alpha

Is this alpha? This should have the description with the links to be able to track it

I'm going to remove the alpha if you don't mind, to avoid confusions

SergeyKanzhelev commented 6 hours ago

hm, I used to set a stage to what is targeted, not what is actual stage is. Did it change? Would be nice to have some clarity on what labels to use when