Skip to content
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

Make default namespace configurable #91

Closed
vazirim opened this issue Mar 5, 2020 · 9 comments
Closed

Make default namespace configurable #91

vazirim opened this issue Mar 5, 2020 · 9 comments
Assignees
Labels

Comments

@vazirim
Copy link
Member

vazirim commented Mar 5, 2020

operator should look for seed-secret in current namespace, and if not present, in the namespace specified in seed-defaults, using a naming convention (one seed-secret per namespace)

@pdettori
Copy link
Member

Some more details on the design we discussed with @vazirim:

  1. We can maintain back compatibility with the current design, by adding a configuration parameter in the seed-defaults config (secrets-namespace).
  2. If secrets-namespace is not specified we look first in the namespace of the resource being created, and if no seed-secret is found there, we fall back to the default namespace to look for seed-secret there.
  3. If the secrets-namespace is specified, and noseed-secret is found in the namespace for the resource being created, then we look for a secret with name seed-secret-<resource-namespace> in the namespace indicated by secrets-namespace

@cdlliuy
Copy link
Contributor

cdlliuy commented Mar 10, 2020

@pdettori just curious, are the names seed-secret and seed-defaults configurable? If we put them into the end-user's namespace where the service/bind resource being created, I would like to use a more explicitly name , i.e. secret-ibm-cloud-operator and config-ibm-cloud-operator to avoid the deletion by end-user.

@vazirim
Copy link
Member Author

vazirim commented Mar 10, 2020

@cdlliuy Sure, we can rename.

Just to be clear, every namespace will still need a seed-default configmap, because this is what will tell us where to look for the secret. It will also contain the context (org/space/resource group) corresponding to that namespace.

@cdlliuy
Copy link
Contributor

cdlliuy commented Mar 10, 2020

I guess the org/space is optional , right? it is a concept for cf.

@vazirim
Copy link
Member Author

vazirim commented Mar 10, 2020

yes but the resourcegroup is needed for non-cf.

@ZhuangYuZY
Copy link

@pdettori After some thinking, I think we may reconsider the design. One major concern is from security.
From security perspective, IBM service can not store any customer sensitive information. So coligo can not store customer apikey into an system namespace, it could only be in customer's namespace.

So far I do not have a good idea how to resolve the problem. Suggest to hold on and use seed-secret in user's namespace which open to all namespace users. Will follow this issue later after discuss with more people to get feedback.

What do you think ? Thank you.

@pdettori
Copy link
Member

@ZhuangYuZY yes, I can see how this makes sense from security perspective. If there is a concern about users accessing the IAM API Key from the secret, one possible approach is to give the IAM API Key only the minimum permissions required to create IBM Cloud Services.

@ZhuangYuZY
Copy link

Yes, now we are working on to try to create a service id with minimum permission to create IBM Cloud service and credential. But seems IBM Cloud operator can not work well with service id, so we created issue #98 to track it. It will be priority for us.
Thank you.

@vazirim
Copy link
Member Author

vazirim commented Apr 2, 2020

Fixed in v0.1.7

@vazirim vazirim closed this as completed May 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

4 participants