Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Controlling Your Kong Gateway With decK and CI/CD

Michael Heap
September 28, 2021

Controlling Your Kong Gateway With decK and CI/CD

We used to configure services by hand, then came tools such as Puppet, Chef and Ansible. Then we used to build infrastructure by hand, and we got tools like Terraform and Pulumi. So why are we still configuring routes and plugins in Kong manually?

This session will introduce you to Kong’s declarative configuration capabilities and how to use your CI system to lint and apply these configurations in a variety of environments. Test your changes in a staging environment, then apply exactly the same config to production with a click of a button.

Michael Heap

September 28, 2021
Tweet

More Decks by Michael Heap

Other Decks in Technology

Transcript

  1. • Developer Relations at Kong • Wrote a book on

    configuration change management with Ansible • Has still broken production with a configuration change I’m Michael
  2. Today’s Plan 1. Introduce decK 2. Configure a new Kong

    Gateway instance 3. Back up our Gateway config using decK 4. Change our plugin configuration and apply the change with decK 5. Build a CI/CD flow to automatically apply those changes Basics 6. Manual review using environments and deck-diff 7. Distributed configuration (teams manage their own 🥳) 8. From zero to running gateway using declarative configuration Advanced Usage
  3. Features decK Export Backup an existing Gateway to a declarative

    configuration file Import Populate Kong’s database from a configuration file Diff Visualise the difference between your configuration and the current Gateway state Validate Ensure that your configuration file is valid and will apply cleanly to your Gateway Distributed Config Merge service definitions from multiple sources to build a single source of truth Automate decK is designed to be run as part of your CI system
  4. Today’s Plan 1. Introduce decK ✅ 2. Configure a new

    Kong Gateway instance ✅ 3. Back up our Gateway config using decK ✅ 4. Change our plugin configuration and apply the change with decK ✅ 5. Build a CI/CD flow to automatically apply those changes ✅ Basics 6. Manual review using environments and deck-diff 7. Distributed configuration (teams manage their own 🥳) 8. From zero to running gateway using declarative configuration Advanced Usage