Deploy Alumio Configurations Across Environments Using APIs & CI/CD

Managing configuration changes across Alumio environments (e.g., Sandbox → Production) can be challenging, especially since there is currently no out-of-the-box feature that fully supports end-to-end deployment workflows.

This guide outlines a practical and scalable approach using Alumio APIs and CI/CD pipelines to safely promote configurations between environments.

Overview

The approach consists of:

  1. Exporting configurations from a source environment
  2. Versioning them in Git
  3. Validating and importing them into a destination environment via a pipeline

Step-by-Step Workflow

1. Export Configurations from Source Environment

Call the following API endpoint:

bulkExportAllObjectConfigurations

  • This returns an NDJSON file
  • Each line represents a single configuration object in Alumio

2. Store Configurations in Git

  • Add the exported NDJSON file to your Git repository
  • Commit and push changes

Recommended Improvement (Optional)

Instead of storing one large NDJSON file:

  • Split each line into individual JSON files
  • Store them in a structured folder (e.g., /configs/{type}/{id}.json )

Benefits:

  • Better Git diff visibility
  • Easier tracking of changes per configuration
  • Cleaner version control history

Note: Before importing, these files must be merged back into a single NDJSON file.

3. Validate Import via Pipeline (Dry Run)

Use this API endpoint:

importObjectConfigurations

  • Run the import with dry-run enabled
  • This validates:
    • Schema compatibility
    • Missing dependencies
    • Version conflicts

4. Execute Actual Import

If the dry-run succeeds:

  • Call the same API again without dry-run
  • This applies the configurations to the destination environment

Important Notes

Environment Version Differences

  • Sandbox environments often run newer versions than Production
  • This may cause:
    • Validation failures
    • Unsupported configurations

Always validate before importing.

Automation via CI/CD Pipeline

The steps can be automated.

Example pipeline flow:

  1. Fetch NDJSON from source
  2. Split into individual JSON files (for Git)
  3. Commit and push changes
  4. Merge JSON files back into NDJSON
  5. Run dry-run import
  6. If successful, run the actual import

Scheduling:

  • You can schedule the pipeline to periodically check for new changes in the source environment and automatically promote updates
  • Alternatively, the pipeline can be triggered manually whenever you are ready to publish changes from the source environment to the destination environment

Best Practices

  • Always run dry-run before import
  • Use Git as the single source of truth
  • Keep environments as version-aligned as possible
  • Use clear folder structures when splitting JSON files
  • Add logging and alerts in your pipeline for failures

Summary

While Alumio does not yet provide a fully integrated deployment mechanism, combining:

  • Export/Import APIs
  • Git versioning
  • CI/CD pipelines

allows you to build a robust, auditable, and automated deployment workflow across environments.

1 Like