Skip to content
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

[48h Knative] Annotation and Label profiles #1890

Closed
1 of 4 tasks
rhuss opened this issue Nov 16, 2023 · 1 comment · Fixed by #1903
Closed
1 of 4 tasks

[48h Knative] Annotation and Label profiles #1890

rhuss opened this issue Nov 16, 2023 · 1 comment · Fixed by #1903
Assignees
Labels
knative48h Issue selected for the "48h Knative" hackathon

Comments

@rhuss
Copy link
Contributor

rhuss commented Nov 16, 2023

👋 Hello awesome contributor!

Are you excited about Knative and open-source development? You're in the right place! This is a mini-project for the upcoming 48h Knative event—a 48-hour hackathon designed to boost contributions to the Knative Client project. For more details, check out Issue #1842.

🎯 Project Description

This story is about creating profiles for annotation and labels. A "profile" is a named collection of such meta-data that can be selected when creating or updating Knative services.

There can be built in profiles like "istio" which select a set of predefined labels, but profiles should be also able to be configured in the kn configuration file.

For example, assume that a profile istio is defined that would set the annotations:

sidecar.istio.io/inject: "true"
sidecar.istio.io/rewriteAppHTTPProbers: "true"
serving.knative.openshift.io/enablePassthrough: "true"

then when running kn service create myservice --image .... --profile=istio those annotation would be applied.

For non-builtin profiles, the configuration that goes to ~/.config/kn/config.yml should look like:

profiles:
  istio:
     annotations:
         sidecar.istio.io/inject: "true"
         sidecar.istio.io/rewriteAppHTTPProbers: "true"
         serving.knative.openshift.io/enablePassthrough: "true"

🌟 Benefits

Having profiles makes it much easier for integration with other Kubernetes add-ons that require a set of annotation and/or labels for triggering a certain behavior. The Istio annotations above are a good example for such an integration.

🛠 Difficulty Level

Challenging

👥 Recommended Team Size

1-3

🎉 Expected Outcome

It would be great to get the foundation for this features within the 2 days of hackathon. Having hard-coded profiles for the beginning would be great, having the option to configure it via the configuration file would be the icing on the cake.

🤝 Mentor

📝 Additional Information

🌐 Entrypoints


📋 Organizer Checklist

  • Added to Project Board
  • Proposal Reviewed
  • Assigned a Mentor
  • Expected Outcome define
@rhuss rhuss converted this from a draft issue Nov 16, 2023
@rhuss rhuss added the knative48h Issue selected for the "48h Knative" hackathon label Nov 17, 2023
@dsimansk dsimansk self-assigned this Nov 20, 2023
@sharmaansh21
Copy link
Contributor

/assign

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
knative48h Issue selected for the "48h Knative" hackathon
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants