rstudio / rstudio/helm

Create ingress examples

Open
#52 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

documentation
Dominant language
Markdown
Stars
46
Forks
40
Avg merge
4h 3m
Merged PRs (30d)
6

Description

Hi, thanks for the helm chart!

I am having trouble getting the ingress right.

Ingress specification

When I try to set the ingress in the current specification as

  - host: rsw.example.org
    paths:
      - path: /

I see

Error: failed to create resource: Ingress.extensions "rstudio-rstudio-workbench" is invalid: [spec.rules[0].http.paths[0].path: Invalid value: "map[path:/]": must be an absolute path, spec.rules[0].http.paths[0].backend: Required value: port name or number is required]

If I don't specify paths I get an error. Maybe there could be a default for this option?

  - host: rsw.example.org
    paths: []

Edit: In the template

https://github.com/rstudio/helm/blob/8b2deeecf9ba5c7229786712c02745a3c1213d53/charts/rstudio-workbench/templates/ingress.yaml#L29-L31

I found that the rules category comes before host: - so wouldn't the specification need to look as follows?

ingress:
  enabled: true
  rules:
    - host: subdomain.example.org
      paths:
        - path: /

Though this one errors with

	│ Error: failed to create resource: Ingress.extensions "rstudio-rstudio-workbench" is invalid: spec: Invalid value: []networking.IngressRule(nil): either `backend` or `rules` must be specified

Guidance how to set the ingress properly would be highly appreciated!

pathType Option

Since k8s v1.18 it is common to also provide a pathType option in the ingress.
Would it be possible to adapt the template to support this?

See the gitea helm chart as an example.

So in the end I would like to write the following

ingress:
  enabled: true
  annotations: {}
  hosts:
    - host: rsw.example.com
      paths:
        - path: /
          pathType: Prefix

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with charts/rstudio-workbench/templates/ingress.yaml at the referenced lines and compare the template's expected values with the Kubernetes Ingress specification. Verify the requested host, path, backend, and pathType examples against the chart, with working ingress configuration examples and supported pathType behavior as the completion criteria.

Written by the indexing model from the issue text.

Assessment

Tech stack
helm, kubernetes
Domain
infrastructure
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.