1
0
Fork 0
mirror of https://github.com/external-secrets/external-secrets.git synced 2024-12-14 11:57:59 +00:00
external-secrets/docs/provider-ibm-secrets-manager.md
Lucas Severo Alves f97e4eb1ce docs: ibm provider
2021-07-02 16:00:05 +02:00

1.9 KiB

IBM Cloud Secret Manager

External Secrets Operator integrates with IBM Secret Manager for secret management.

Authentication

At the moment, we only support API key authentication for this provider. To generate your key (for test purposes we are going to generate from your user), first got to your (Access IAM) page:

iam

On the left, click "IBM Cloud API Keys":

iam-left

Press "Create an IBM Cloud API Key":

iam-create-button

Pick a name and description for your key:

iam-create-key

You have created a key. Press the eyeball to show the key. Copy or save it because keys can't be displayed or downloaded twice.

iam-create-success

API key secret

Create a secret containing your apiKey:

echo -n 'API_KEY_VALUE' > ./apiKey
kubectl create secret generic ibm-secret --from-file=./apiKey 

Update secret store

Be sure the ibm provider is listed in the Kind=SecretStore

{% include 'ibm-secret-store.yaml' %}

To find your serviceURL, under your Secrets Manager resource, go to "Endpoints" on the left:

iam-create-success

Creating external secret

To create a kubernetes secret from the IBM Secrets Manager, a Kind=ExternalSecret is needed.

{% include 'ibm-external-secret.yaml' %}

Currently we can only get the secret by its id and not its name, so something like 565287ce-578f-8d96-a746-9409d531fe2a.

Getting the Kubernetes secret

The operator will fetch the IBM Secret Manager secret and inject it as a Kind=Secret

kubectl get secret secret-to-be-created -n <namespace> | -o jsonpath='{.data.test}' | base64 -d