Commit graph

5 commits

Author SHA1 Message Date
Blake Pettersson
48645db293
fix(reposerver): loosen source not permitted helm errors (#14210)
* fix: loosen source not permitted helm errors

With #12255, we check if a source is first permitted before running
`helm template`. This works a bit too well, since this may break
previously working manifests. If an `AppProject` has a set of
`sourceRepos` which are more restrictive than `*`, and it also has Helm
public dependencies (repos with credentials would not work with 2.7x
due to the fact they get filtered out before ending up on the repo
server). Whereas before this would work, this currently fails on
`HEAD` but not in `2.7x`.

What we instead do here is that we only run this check if the chart
failed to download - if it does then we run a check to see if the repo
is in the allowed repos list. If the repo is not in the allowed repos
list, we return the same error as in #12555, otherwise we bubble up the
error.

Should fix #13833.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* fix: check for 401 unauthorized in error

The regex check works fine for OCI artifacts, but the flow is slightly
different for standard Helm charts (specifically when running
`helm repo add`). To get around that, we also check the error for
`401 Unauthorized`.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* fix: loosen string check

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* Revert "chore: revert #12255 (#14858)"

This reverts commit c8ae5bc3e7.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* wip

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* wip

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* chore: reword test to reduce confusion

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2023-08-14 10:06:43 -04:00
Blake Pettersson
c8ae5bc3e7
chore: revert #12255 (#14858)
This reverts commit c651bd8de5.

Due to the imminent release of 2.8, this needs to be rolled back since
the proposed fix in #14210 cannot make it in time.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2023-08-02 16:48:57 -04:00
Blake Pettersson
c651bd8de5
fix: surface source not permitted errors (#12255)
* chore: surface source not permitted errors

For Git and Helm repositories, we filter out non-permitted urls before
submitting a `ManifestRequest` to the repo-server. While that works
fine, this also leads to very hard to debug issues in particular when
using Helm dependencies.

This (very) WIP PR adds `ProjectSourceRepos` as a parameter to
`ManifestRequest`, so we can verify that a source is in fact
permitted in order to distinguish between actual 40x errors (caused
by e.g misconfiguration) and "source not permitted" caused by not
adding the relevant sources to the AppProject config.

This still needs documentation, tests and some basic sanity checking
before proceeding further, as well as resolving whatever is causing
`make codegen` to not properly work.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* chore: propagate project values to repo-server

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: fix failing unit tests

now onto the e2e tests...

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: fix failing e2e test(s)

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* fix: add project params

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: add e2e test

Add Helm dependency check test.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* chore: remove git source check

Discussed over Slack and deemed this to not be necessary at this time.

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* make codegen

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* chore: cr tweaks

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* chore: code review tweaks

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: fix

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: wip

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: wip

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* chore: wip

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* chore: typo

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* fix: typo

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* chore: rebase fixes

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

* test: oci:// is not prefixed

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>

---------

Signed-off-by: Blake Pettersson <blake.pettersson@gmail.com>
2023-05-27 11:26:34 -04:00
Shyukri Shyukriev
6b783af5c6
chore!: Helm2 removal (#8313)
* chore: remove helm2

Reorder test/container/Dockerfile to mitigate issue of being unable to create
.gitconfig since the homedir is not present

chore: cleanup helm2 and tests related to it
Remove helm2 init. Fix unused import
Use helm 3 structure for CRDs
Remove helm2-dependency testdata
Address PR comments
Add back values-production and value.yaml on helm tests
Remove helm2 from openapi.

Signed-off-by: Shyukri Shyukriev <shyukri.shyukriev@mariadb.com>

	modified:   util/helm/cmd_test.go

* fix: generated openapi

Signed-off-by: Michael Crenshaw <michael@crenshaw.dev>

Co-authored-by: Michael Crenshaw <michael@crenshaw.dev>
2022-04-09 19:17:44 +00:00
May Zhang
ce1d8031ae
fix: repository name already exists when multiple helm dependencies f… (#7096)
* fix: repository name already exists when multiple helm dependencies from same private repo server

Signed-off-by: May Zhang <may_zhang@intuit.com>

* fix: add test cases

Signed-off-by: May Zhang <may_zhang@intuit.com>

* fix: clean up

Signed-off-by: May Zhang <may_zhang@intuit.com>
2021-08-31 08:30:03 -07:00