Skip to content

GitOps

10x uses a GitOps-based approach to configuration management: a secure, version-controlled, auditable record of every change, applied across distributed environments.

The engine pulls configuration over two delivery lanes that share the same loop: a user-managed Git repository (@github) and a Kubernetes ConfigMap (@kubernetes). It polls each for changes and hot-reloads in place, so an edit on either lane converges across every consuming pod within one poll. The change history is the single source of truth, reviewed, diffed, and revertible with existing tools whether it lands as a Git commit or a ConfigMap edit.

Changes reach a lane two ways. An AI agent proposes them through the log10x MCP: configure_engine produces the per-pattern action plan and the gh PR command that lands it on the Git lane, and set_gitops_repo points the loop at the right repository. The same plan is the log10x-action-intent file the Kubernetes lane serves from a ConfigMap. An operator can edit either lane by hand instead. The engine treats both identically.

Getting started

  1. Fork the Config Repo into a GitHub account.

  2. Create a new branch for the app configuration (e.g., acme-receiver)

  3. Edit app config files Use GitHub’s built-in file editor or clone the repository to make changes locally. See the documentation of each app for its available configuration options.

  4. Commit and Push Changes.

  5. Follow the deployment procedure for your specific app (Reporter, Receiver, or Retriever) under apps to deploy 10x with the new configuration.

Best Practices

Branch Strategy: Use separate branches for different apps and environments to maintain configuration isolation and enable safe parallel development.

Secret Management: Never commit sensitive credentials to Git. Use JavaScript expressions with TenXEnv.get() to access runtime environment variables:

apiKey: $=TenXEnv.get("API_SECRET")
dbPassword: $=TenXEnv.get("DB_PASSWORD")

Repository Sync: Regularly sync with the base repository to receive security patches, feature updates, and performance improvements; for values that change per cluster, load them from a Kubernetes ConfigMap instead of forking the repo per cluster.

Version Tags: Tag stable configurations for production deployments to enable quick rollbacks and maintain deployment history.

Configuration Validation: Test configuration changes in development environments before merging to production branches.

Access Control: Implement branch protection rules and code review requirements for production configuration changes.