API Management Overview
Manage and secure APIs with Weik.io APIM
Weik.io’s API Management provides a YARP-based reverse proxy for managing APIs. Configure APIs using Api, ApiVersion, and ApiSubscription resources.
Configuration Resources
Api
Defines the base configuration with URL prefix:
apiVersion: weik.io/v1alpha1
kind: Api
metadata:
name: webhook
description: The Webhook.site TEST API
spec:
prefix: hook
The prefix determines where API endpoints are accessible (e.g., https://your-host/hook/...).
ApiVersion
Defines a specific version with proxy routing configuration:
apiVersion: weik.io/v1alpha1
kind: ApiVersion
metadata:
name: v1
description: Webhook.site test using direct forwarding
category: proxy
spec:
apiName: webhook
isActive: true
connection:
automaticDecompression: GZip
parameters:
routes:
route:
clusterId: "cluster"
match:
path: "{**catch-all}"
clusters:
cluster:
destinations:
cluster/destination1:
Address: "https://webhook.site/99f574f3-a9c3-4723-aae3-ecb98cc4e395"
The parameters section uses YARP routing syntax with routes and clusters.
ApiSubscription
Controls which clients can access APIs:
apiVersion: weik.io/v1alpha1
kind: ApiSubscription
metadata:
name: my-apikey
description: Subscription using X-API-Key header
category: apikey
spec:
apis:
- webhook
isActive: true
parameters:
key: "NGWdkceFPYyXmaH15jS3K0uCsk7KnnPA"
Authentication Methods
APIM supports various authentication methods through ApiSubscription:
API Key
apiVersion: weik.io/v1alpha1
kind: ApiSubscription
metadata:
name: my-apikey
category: apikey
spec:
apis:
- webhook
isActive: true
parameters:
key: "your-api-key"
Basic Authentication
apiVersion: weik.io/v1alpha1
kind: ApiSubscription
metadata:
name: dev-basicauth
category: basic
spec:
apis:
- webhook
isActive: true
parameters:
username: "hello"
password: "test123"
OpenID Connect (OIDC)
apiVersion: weik.io/v1alpha1
kind: ApiSubscription
metadata:
name: oidc-aad
category: oidc
spec:
apis:
- webhook
isActive: true
parameters:
issuer: "https://sts.windows.net/your-tenant-id/"
audience: "api://your-api-id"
Anonymous
apiVersion: weik.io/v1alpha1
kind: ApiSubscription
metadata:
name: anonymous-apis
category: anonymous
spec:
apis:
- webhook
isActive: true
What’s Next
- Configuration - YARP routing and proxy configuration
- Subscriptions - Manage API subscriptions
- Data APIs - Generate REST APIs from databases
- Api Configuration Reference
- ApiVersion Configuration Reference
- ApiSubscription Configuration Reference