Claus Ibsen created CAMEL-26254:
-----------------------------------

             Summary: camel-ibm-secrets-manager - getSecret and updateSecret 
fail for secret types other than arbitrary, kv and service_credentials, and 
createKVSecret rejects JSON text
                 Key: CAMEL-26254
                 URL: https://issues.apache.org/jira/browse/CAMEL-26254
             Project: Camel
          Issue Type: Bug
            Reporter: Claus Ibsen
             Fix For: 4.24.0


Found while adding the catalog body types of ibm-secrets-manager (CAMEL-24961, 
PR #28404).

h4. 1. getSecret and updateSecret fail for the other secret types

{{IBMSecretsManagerProducer.getSecret}} (main 2a465aa4814c, lines 129-143) 
handles {{arbitrary}}, {{kv}} and {{service_credentials}} only and throws 
"Unsupported secret type" for the other types IBM Secrets Manager has 
({{imported_cert}}, {{username_password}}, {{private_cert}}, {{public_cert}}, 
{{iam_credentials}}); {{updateSecret}} (lines 177-203) handles arbitrary and kv 
only. Checked on 4.24.0-SNAPSHOT with the real SDK against a JDK {{HttpServer}} 
fake.

Proposed: return the {{Secret}} object for the other types (as 
service_credentials does), and say in the docs which types update supports.

h4. 2. createKVSecret does not accept JSON text

{{createKVSecret}} (line 100) reads the body with {{getBody(Map.class)}}, and 
there is no String to Map conversion, so a JSON object text fails "Secret data 
must be provided as a Map". Checked on 4.24.0-SNAPSHOT with the fake.

Proposed: parse a JSON text body into a Map.

h4. 3. A Map or POJO body is stored as its toString for arbitrary secrets

{{createArbitrarySecret}} (line 73) and {{updateSecret}} (line 181) read the 
payload as String, so a Map or POJO body is stored as {{{key=value}}}. Checked 
on 4.24.0-SNAPSHOT with the fake.

Proposed: store a Map or POJO as JSON, or reject it.

_Claude Code on behalf of davsclaus_



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to