Skip to content
Weik.ioDocs
2026.1
Try Weik.io

This page describes Weik.io 2026.1, and the current release is 2026.2. Weik.io 2026.2 docs

Configuration Schemas Overview

Weik.io 2026.1

Complete reference for Weik.io YAML configuration schemas.

On this page

Weik.io uses YAML configuration files to manage platform resources. Each configuration type defines a specific resource or capability through a declarative schema.

Configuration structure#

All Weik.io configurations follow this structure:

apiVersion: weik.io/v1
kind: <ConfigurationType>
metadata:
  name: resource-name
spec:
  # Configuration-specific properties

Configuration types#

API management#

Configurations for managing APIs and their lifecycle:

  • Api: Define API base configuration and URL prefix
  • ApiVersion: Configure API versions with authentication and connection settings
  • ApiSubscription: Manage API access subscriptions
  • OpenApiEndpoint: Expose OpenAPI operations as REST endpoints
  • OpenApiConnector: Register OpenAPI connectors from packages

Integration#

Configurations for building integration flows:

  • IntegrationFlow: Define integration flow orchestration
  • IntegrationService: Create reusable integration services
  • MFT: Configure managed file transfers between storage systems
  • Schedule: Define scheduled tasks with cron expressions

Eventing#

Configurations for event-driven architecture:

Configuration and variables#

Foundational configurations:

  • Variable: Define variables and secrets for use across configurations
  • CoreSystem: Configure core system components (deprecated)

Common patterns#

Using variables#

Reference variables in configurations:

apiVersion: weik.io/v1
kind: Variable
metadata:
  name: database-password
spec:
  Value: super-secret-password
  IsSecret: true
---
apiVersion: weik.io/v1
kind: DatabaseChangeTracking
metadata:
  name: orders-tracking
spec:
  Type: postgresql
  Parameters:
    Password: ${database-password}

Multi-document YAML#

Define multiple resources in one file:

apiVersion: weik.io/v1
kind: EventChannel
metadata:
  name: orders-channel
spec:
  Type: memory
---
apiVersion: weik.io/v1
kind: EventSource
metadata:
  name: order-webhook
spec:
  Type: webhook
  EventType: com.example.orders.created
  EventSource: order-api
---
apiVersion: weik.io/v1
kind: EventSubscription
metadata:
  name: order-subscription
spec:
  Source: order-webhook
  Channel: orders-channel

Configuration dependencies#

Some configurations depend on others existing first:

# 1. Create API first
apiVersion: weik.io/v1
kind: Api
metadata:
  name: northwind-api
spec:
  Prefix: /northwind
---
# 2. Then create API version
apiVersion: weik.io/v1
kind: ApiVersion
metadata:
  name: northwind-v1
spec:
  ApiName: northwind-api
  IsActive: true
---
# 3. Finally create subscriptions
apiVersion: weik.io/v1
kind: ApiSubscription
metadata:
  name: customer-subscription
spec:
  ApiName: northwind-api
  ApiVersion: v1

Applying configurations#

Using the CLI#

Apply configurations using the CLI:

Terminal
# Apply a single file
weikio config apply configuration.yaml

# Apply with variable substitution
weikio config apply configuration.yaml --variables env.yaml

File organization#

Organize configurations by type or purpose:

configs/
  ├── apis/
  │   ├── api.yaml
  │   ├── api-versions.yaml
  │   └── endpoints.yaml
  ├── integrations/
  │   ├── flows.yaml
  │   ├── services.yaml
  │   └── schedules.yaml
  ├── eventing/
  │   ├── channels.yaml
  │   ├── sources.yaml
  │   └── subscriptions.yaml
  └── variables/
      ├── common.yaml
      └── secrets.yaml

Configuration best practices#

Naming conventions#

  • Use lowercase with hyphens: customer-sync-flow
  • Be descriptive: stripe-payment-webhook not webhook1
  • Include purpose: nightly-backup-schedule
  • Use consistent prefixes for related resources

Security#

  • Store secrets in Variable configurations with IsSecret: true
  • Never commit secrets to version control
  • Use environment-specific variable files
  • Restrict access to configuration files
  • Implement proper access controls

Version control#

  • Store configurations in Git
  • Use branches for environments (dev, staging, production)
  • Review configuration changes through pull requests
  • Tag releases for traceability
  • Document breaking changes

Documentation#

  • Add comments to complex configurations
  • Document variable requirements
  • Include example values
  • Note dependencies between resources
  • Maintain a configuration catalog

Testing#

  • Test configurations in development first
  • Validate YAML syntax before applying
  • Verify resource dependencies
  • Test with realistic data
  • Monitor resource health after deployment

Getting help#

View configuration help:

Terminal
# General help
weikio config --help

# Apply command help
weikio config apply --help

For detailed information on each configuration type, see the individual reference pages linked above.