Open rossf7 opened 2 years ago
@gianfranco-l Here is the roadmap issue. PTAL
@rossf7 what do you think is the effort here? is there any "quick" win? this info is really key to understand the priority of this
@gianfranco-l The effort is large as unfortunately there is no quick win here. I added the effort/l
label.
@gianfranco-l this is going to be a big blocker if we want to encourage customers to use the app platform too.
@teemow I agree only public catalogs will block many customers from using app platform for their apps.
I discussed with @piontec in our 1:1 and we agreed I'd post my ideas on how to implement this. See next comment.
Here is a list of the changes needed to implement.
Private OCI registries should also work if an oci://
URL is used in the catalog CR. Provided helmclient can access private OCI registries.
.spec.storage.secret
block references a secret with the credentials.apiVersion: application.giantswarm.io/v1alpha1
kind: Catalog
metadata:
name: my-private-catalog
namespace: org-dev
spec:
description: 'This catalog is private. '
logoURL: /images/repo_icons/managed.png
storage:
URL: https://example.org/private-catalog/
secret:
name: my-private-catalog-auth
namespace: org-dev
type: helm
title: My Private Catalog
---
apiVersion: v1
kind: Secret
metadata:
name: my-private-catalog-auth
namespace: org-dev
stringData:
username: example
password: 123456
.spec.catalog.secret
block is added to the chart CRD.apiVersion: application.giantswarm.io/v1alpha1
kind: Chart
metadata:
name: my-private-app
namespace: giantswarm
spec:
catalog:
secret:
name: my-private-app-auth
namespace: giantswarm
name: my-private-app
namespace: giantswarm
tarballURL: https://example.org/private-catalog/my-private-app-0.1.0.tgz
version: 0.1.0
---
apiVersion: v1
kind: Secret
metadata:
name: my-private-app-auth
namespace: giantswarm
stringData:
username: example
password: 123456
secret
resource needs to generate a secret with the creds as well as the current values secret in .spec.config.secret
chart
resource needs to set the new fields in the chart CRrelease
resource needs to check if .spec.catalog.secret
is set in the chart CR.oci://
URLs.Is their any plan to implement and release it?
We are planning to work on this within Q4 2022 (but might be worked on it sooner)
FYI: We have an additional customer interested in this feature.
Planning of this has been moved ahead compared to the previous ETA of Q4 2022. We'll try to plan this for first half of 2023
@teemow can you tell if this is still a valid request, by our customers?
I'd say definitely. In case they want to use any non open source software the whole app platform becomes useless otherwise.
Is your feature request related to a problem? Please describe.
As a user of app platform I'd like to be able to create a private app catalog for deploying apps that should be kept private.
Currently all app catalogs must be public.
Describe the solution you'd like
Our app catalogs are also Helm repositories which can be secured with HTTP Basic Authentication.
We could add this to app platform by adding the credentials to our Catalog CRs and extending chart-operator to be able to pull charts from private catalogs.
Describe alternatives you've considered
helm-controller supports private helm repositories via the helmrepository CRD.
If in the future we replaced chart-operator with helm-controller we would not need to implement this.