Skip to content
Kong Logo | Kong Docs Logo
search
  • We're Hiring!
  • Docs
    • Kong Gateway
    • Kong Konnect
    • Kong Mesh
    • Plugin Hub
    • decK
    • Kubernetes Ingress Controller
    • Insomnia
    • Kuma

    • Docs contribution guidelines
  • Plugin Hub
  • Support
  • Community
  • Kong Academy
Get a Demo Start Free Trial
  • Kong Gateway
  • Kong Konnect
  • Kong Mesh
  • Plugin Hub
  • decK
  • Kubernetes Ingress Controller
  • Insomnia
  • Kuma

  • Docs contribution guidelines
  • 1.19.x (latest)
  • 1.18.x
  • 1.17.x
  • 1.16.x
  • 1.15.x
  • 1.14.x
  • 1.13.x
  • 1.12.x
  • 1.11.x
  • 1.10.x
  • 1.9.x
  • 1.8.x
  • 1.7.x
  • pre-1.7
    • Terminology
    • Architecture
    • Compatibility Promise
    • Getting Started with decK
    • Backup and Restore
    • Upgrade to Kong Gateway 3.x
    • Configuration as Code and GitOps
    • Distributed Configuration
    • Best Practices
    • Using decK with Kong Gateway (Enterprise)
    • Using decK with Konnect
    • Run decK with Docker
    • Using Multiple Files to Store Configuration
    • De-duplicate Plugin Configuration
    • Set Up Object Defaults
      • Overview
      • Secret Management with decK
      • Using Environment Variables with decK
    • Entities Managed by decK
      • deck completion
      • deck convert
      • deck diff
      • deck dump
      • deck ping
      • deck reset
      • deck sync
      • deck validate
      • deck version

github-edit-pageEdit this page

report-issueReport an issue

enterprise-switcher-iconSwitch to OSS

On this page
  • Configuration as code
decK
1.17.x
  • Home
  • decK
  • Guides
  • Ci Driven Configuration
  • CI-driven Configuration
You are browsing documentation for an outdated version. See the latest documentation here.

CI-driven Configuration

Configuration as code

decK can be, or rather should be, used in a CI pipeline to push out configuration Kong.

It is advisable to store configuration of Kong in a Git repository (or any other Version Control System, or VCS) and then perform GitOps on Kong’s configuration:

  • Any time a change needs to be performed, ask the developer to open a Pull or Merge Request, which can be reviewed by other humans. You should use deck validate and deck diff commands in the CI to validate and see if the target changes will be performed or not. Although unlikely, it is possible that a deck sync command might fail even if the above two pass. If this happens, a human has to intervene and resolve the conflict or error manually.
  • Once the configuration change is merged in, the CI should execute deck diff again (to have a log of what is changing), followed by deck sync.

You should also have a cronjob in your CI or any other system, which verifies if the source of truth, meaning Kong’s database is in the exact same state as you want it to be (the state file in VCS repository). Unless you do this step, you do not have a truly declarative configuration as your are configure Kong but are never verifying. The system could be out of sync and can go undetected until another change is performed.

Any time you use decK within an automated environment, including a deck ping command in the beginning of your script can ease debugging in the future, as it usually rules out connectivity issues between decK and Kong.

Thank you for your feedback.
Was this page useful?
  • Kong
    THE CLOUD CONNECTIVITY COMPANY

    Kong powers reliable digital connections across APIs, hybrid and multi-cloud environments.

    • Company
    • Customers
    • Events
    • Investors
    • Careers Hiring!
    • Partners
    • Press
    • Contact
  • Products
    • Kong Konnect
    • Kong Gateway
    • Kong Mesh
    • Get Started
    • Pricing
  • Resources
    • eBooks
    • Webinars
    • Briefs
    • Blog
    • API Gateway
    • Microservices
  • Open Source
    • Install Kong Gateway
    • Kong Community
    • Kubernetes Ingress
    • Kuma
    • Insomnia
  • Solutions
    • Decentralize
    • Secure & Govern
    • Create a Dev Platform
    • API Gateway
    • Kubernetes
    • Service Mesh
Star
  • Terms•Privacy
© Kong Inc. 2023