Replies: 2 comments 1 reply
-
Secret Creation API Design ConsiderationsA key design decision is whether secret creation should use a simple JSON-based REST payload or follow the same YAML artifact model used by other Gateway resources.
Reference: Kubernetes Secret Encryption ModelapiVersion: apiserver.config.k8s.io/v1
kind: EncryptionConfiguration
resources:
- resources:
- secrets
providers:
- aesgcm: # Use AES-GCM provider
keys:
- name: key1
secret: <BASE64_KEY>
- identity: {} # Fallback for existing unencrypted secrets
|
Beta Was this translation helpful? Give feedback.
0 replies
-
|
@nimsara66 how it handles when APIS created from control plane. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Overview
Platform administrators must be able to configure LLM provider API keys securely when creating and managing LLM providers. To achieve this, the gateway platform must support:
This design ensures that sensitive credentials are never persisted in plain text within deployment artifacts or policy configurations.
Example LLM Provider Definition
In this configuration, the API key is referenced using a secure secret placeholder:
$secret{wso2-openai-key}. The actual secret value is resolved securely at deployment time.1. Secure Secret Management via Gateway REST API
The Gateway REST API must expose administrator-only endpoints to Create, Read, Update, and Delete (CRUD) secrets.
Key Requirements
Sample Secret Creation Request
Once stored, the secret can be referenced in API policy configurations using:
2. Secure Secret Resolution via Gateway Controller
Secrets must never be persisted in resolved (plain-text) form within deployment artifacts. Instead, secret resolution must occur just before the compiled policy configuration is sent to the policy engine.
To support this, the Gateway Controller must be able to:
Vendor Extension:
x-resolveA vendor extension named
x-resolveis introduced in policy definitions to declare which parameter fields require secret resolution.Sample Policy Definition
Resolution Flow
Gateway Startup
x-resolvevendor extension.API Deployment
$secret{...}placeholders found inx-resolvefields.Example Resolution
Input configuration:
Resolved at deployment time:
Beta Was this translation helpful? Give feedback.
All reactions