-
Notifications
You must be signed in to change notification settings - Fork 475
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
Support request for Helm Chart's ingress section #1220
Comments
Hi @blaargh I don't recognise your profile and I can't see your company in your profile, do you work for a company that is a customer? If like you say, the Ingress definition is working, why do you need to edit it to include the additional http section? Alex |
I took a look into your question. Have you already read the docs for OpenFaaS? https://docs.openfaas.com/reference/tls-openfaas/#configure-tls-for-the-openfaas-gateway The Am I missing something else? |
Hi @alexellis I am using openfaas for private projects. The ingress definition is working in the sense that it is syntactically correct, so Kubernetes doesn't decline it. But without the missing http section, it will never map to any service. I didn't see the documentation you mentioned, I just pulled the chart from artifacthub. I would expect a mention of that within the chart directly, instead of putting that in the documentation. Because in the chart it is misleading/wrong what you would have to put for a correct ingress definition: |
The values.yaml you see is what's required for the previous versions of Kubernetes, you need to refer to the docs for the newer format as I explained in my previous comment. There is no problem with the Helm chart, it has a minimal configuration, and those wishing to use Ingress and TLS need to follow the documentation: https://docs.openfaas.com/reference/tls-openfaas/#configure-tls-for-the-openfaas-gateway It generates the "complete" YAML definition you are requesting. values-custom-ingress.yaml: ingress:
enabled: true
hosts:
- host: gateway.openfaas.local # Replace with gateway.example.com if public-facing
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: gateway
port:
number: 8080 Then:
Output: apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
annotations:
meta.helm.sh/release-name: openfaas
meta.helm.sh/release-namespace: openfaas
creationTimestamp: "2024-08-19T11:34:56Z"
generation: 1
labels:
app: openfaas
app.kubernetes.io/managed-by: Helm
chart: openfaas-14.2.65
heritage: Helm
release: openfaas
name: openfaas-ingress
namespace: openfaas
resourceVersion: "1352"
uid: 3ed2e7fb-c42d-4987-9277-5ee53faaeb97
spec:
rules:
- host: gateway.openfaas.local
http:
paths:
- backend:
service:
name: gateway
port:
number: 8080
path: /
pathType: Prefix
status:
loadBalancer: {} Bear in mind that OpenFaaS CE is only licensed for non-commercial personal use. OpenFaaS Standard is available on a monthly basis and faasd can be used on a single host for commercial purposes if needed. If it's less confusing for you, we can migrate the empty/default example in values.yaml to follow the newer pattern for K8s ingress, but customers will still need to follow the docs. |
@alexellis , I think the change made in c6427d2 broke
And, reverting the |
Hi thanks for your interest in OpenFaaS CE. OpenFaaS CE is for personal use. I was curious to learn more about your use-case if you don't mind sharing? The error
That said, I'll disable it and you should be unaffected going forward. You can also use |
Setting up the ingress values leads to an incomplete (yet not broken) ingress definition. It is completely missing the http path options, rendering the current implementation useless, as every update of the upstream chart requires manual edit of the resulting ingress resource.
Expected Behaviour
The ingress definition should be complete, given the values required.
Current Behaviour
The ingress definition is incomplete.
toYaml of the .hosts path in values.yaml is not enough to have a proper ingress definition:
it is missing:
Why is this needed?
So the ingress definition doesn't need to be updated manually after each install
Who is this for?
Everyone using the chart and wanting to receive the latest updates.
List All Possible Solutions and Workarounds
Proposed solution of the ingress.yaml template (specifying everything after the spec key):
Steps to Reproduce (for bugs)
Context
Your Environment
FaaS-CLI version ( Full output from:
faas-cli version
):Docker version
docker version
(e.g. Docker 17.0.05 ):What version and distriubtion of Kubernetes are you using?
kubectl version
Operating System and version (e.g. Linux, Windows, MacOS):
Link to your project or a code example to reproduce issue:
What network driver are you using and what CIDR? i.e. Weave net / Flannel
The text was updated successfully, but these errors were encountered: