kubernetes-ingress icon indicating copy to clipboard operation
kubernetes-ingress copied to clipboard

unable to install in an air-gapped environment

Open angeloxx opened this issue 1 year ago • 11 comments

Describe the bug Installing or templating with helm, using current helm cart nginxinc/charts/nginx-ingress is not possible in an air-gapped environment due the reference, in values.schema.json, to external resources like https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.29.0/_definitions.json event if the configuration is correct.

To Reproduce Deploy the application in an air-gapped environment and launch

helm --version=1.2.0 template --create-namespace -f=/tmp/nginx-1.yaml ingress-tier-1 oci://ghcr.io/nginxinc/charts/nginx-ingress

and error is

Error: values don't meet the specifications of the schema(s) in the following chart(s):
nginx-ingress:
Get "https://raw.githubusercontent.com/nginxinc/kubernetes-json-schema/master/v1.29.0/_definitions.json": dial tcp 185.199.108.133:443: i/o timeout

Expected behavior Install the controller as expected, the configuration is correct because on a connected environment, with same values, the application is installed without issues.

Your environment

  • Version of the Ingress Controller Helm Chart - 1.2
  • Version of Kubernetes 1.29

angeloxx avatar Apr 11 '24 11:04 angeloxx

Hi @angeloxx thanks for reporting!

Be sure to check out the docs and the Contributing Guidelines while you wait for a human to take a look at this :slightly_smiling_face:

Cheers!

github-actions[bot] avatar Apr 11 '24 11:04 github-actions[bot]

Value file is:

controller:
  ingressClass:
    name: nginx-tier-1
  tolerations:
    - key: "node-role.kubernetes.io/network-node"
      operator: "Exists"
      effect: "NoSchedule"
  pod:
    annotations:
      selector: tier-1
service:
  create: false

angeloxx avatar Apr 11 '24 11:04 angeloxx

The project has included this schema file in the Operator to accommodate OpenShift customers in this scenario. I believe that the schema was first separated due to concerns about its size and thus the resulting size of the chart. If the schema was incorporated, I would love to see some effort to reduce the size of the schema itself and if that is possible.

brianehlert avatar Apr 11 '24 14:04 brianehlert

@angeloxx as a temporary measure, is it possible for you to remove the values.schema.json file (only possible if you're building from source).

@brianehlert the only way I see for now is to either:

  • do same as operator i.e. move the schema to this repo (@pdabelf5 mentioned there'll be x9 increase in size of chart pkg) or
  • remove the schema validation until helm introduces -skip-validation flag (finally there seems to be some traction on https://github.com/helm/helm/issues/10398 with https://github.com/helm/helm/pull/12743)

vepatel avatar Apr 12 '24 08:04 vepatel

@angeloxx as a temporary measure, is it possible for you to remove the values.schema.json file (only possible if you're building from source).

Yes, already applied the W/A downloading the chart and removing the file before the deploy but isn't a viable long-term solution. We still have the same issues with other charts via a wrong values.schema.json and for that reason we still waiting for the --skip-schema-validation flag in Helm (and its adoption in helmfile).

angeloxx avatar Apr 14 '24 14:04 angeloxx

@angeloxx yes the --skip-schema-validation is pretty much a requirement at this point, i guess as part of this issue we'll try to see if there's a short term solution or not, will keep you posted 👍🏼

vepatel avatar Apr 15 '24 13:04 vepatel

@angeloxx The idea is to have the schema embedded in the helm chart. We will look into in the due course.

danielnginx avatar May 02 '24 15:05 danielnginx

We have a PR merged to fix this issue https://github.com/nginxinc/kubernetes-ingress/pull/5493

We need to validate the fix.

danielnginx avatar May 07 '24 15:05 danielnginx

https://github.com/nginxinc/kubernetes-ingress/pull/5528 reverting above PR because of issue with helm relative path

vepatel avatar May 09 '24 15:05 vepatel

This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 10 days.

github-actions[bot] avatar Aug 08 '24 01:08 github-actions[bot]

This issue was closed because it has been stalled for 10 days with no activity.

github-actions[bot] avatar Aug 18 '24 01:08 github-actions[bot]