Skip to main content
Deploy Kodexa resources (taxonomies, modules, stores, data forms) using modern GitOps workflows with automatic validation, version control, and multi-environment promotion.

Overview

Resource deployment enables you to manage your Kodexa project configurations as code, with all the benefits of Git-based workflows:
  • 📝 Version Control - Track all changes in Git
  • 👥 Team Collaboration - Review changes through pull requests
  • 🔄 Rollback - Easily revert to previous configurations
  • 🌍 Multi-Environment - Promote changes across dev/staging/production
  • Automated Testing - Validate before deployment
Resource Deployment

Resource Types

Kodexa supports two scopes of resources:

Organization-Level Resources

Shared across multiple projects:

Project-Level Resources

Project-specific configurations:

Quick Start

1. Configure Environment

Set up authentication using environment variables:
Get your API token from your Kodexa profile settings at https://platform.kodexa-enterprise.com/profile

2. Pull Existing Resources

Use the kdx CLI to download your existing configuration:
This creates a kodexa-metadata/ directory with your resources:

3. Review Configuration

The sync creates a v2 configuration structure:

4. Create Git Repository

5. Set Up GitHub Actions

Create .github/workflows/deploy.yml:

6. Configure Secrets

In GitHub repository settings, add:
  • KODEXA_URL - Your Kodexa platform URL
  • KODEXA_TOKEN - Your API token

Working with Resources

Adding a New Taxonomy

1

Create YAML file

2

Add to manifest

3

Test Locally

4

Commit and Push

5

GitHub Actions Deploys

GitHub Actions automatically:
  • Validates the configuration
  • Syncs to Kodexa
  • Reports results

Adding a Document Store

Add to manifest:

Adding a Feature Type

Adding a Feature Instance

Sync Configuration

The sync-config.yaml defines deployment targets, environments, and resource manifests using the v2 format:

Basic Configuration

Multi-Environment Configuration

Manifest Composition

Organize resources across multiple manifest files:

Multi-Environment Deployment

Deploy the same configuration to multiple environments using branch mappings:

Branch-Based Strategy

Configure automatic deployment based on Git branches:
Workflow:

GitHub Actions for Multi-Environment

Manual Environment Deployment

Deploy to specific environments locally:

Pull Request Workflow

Validate changes before deployment:

Common Workflows

Add New Resource

Update Existing Resource

Promote from Dev to Production

Rollback Changes

Troubleshooting

Resource Not Found

Error: Resource 'my-taxonomy' not found in target environment Cause: Resource doesn’t exist in target environment or not in manifest Fix:

Environment Variable Issues

Error: KODEXA_URL not set Cause: Required environment variables not configured Fix:

Validation Errors

Error: Feature instance references unknown feature type Cause: Feature instance references a feature type that doesn’t exist Fix:

Target or Environment Not Found

Error: Target 'prod' not found in sync-config.yaml Cause: Target or environment not defined in configuration Fix:

Conflicting Changes

Error: Merge conflict in YAML files Fix:

Best Practices

1. Use Semantic Versioning

2. Document Dependencies

3. Test in Lower Environments First

4. Use Meaningful Commit Messages

5. Keep Resources Modular

Break large configurations into smaller, focused files and manifests:

6. Use Environment-Specific Manifests

Next Steps

GitOps with GitHub Actions

Complete GitHub Actions deployment guide

CLI Metadata Sync

Local development with kdx CLI

Resource Operations

CRUD operations for resources

KDX CLI Overview

Learn about the kdx CLI