Skip to content
Kong Docs are moving soon! Our docs are migrating to a new home. You'll be automatically redirected to the new site in the future. In the meantime, view this page on the new site!
Kong Logo | Kong Docs Logo
  • Docs
    • Explore the API Specs
      View all API Specs View all API Specs View all API Specs arrow image
    • Documentation
      API Specs
      Kong Gateway
      Lightweight, fast, and flexible cloud-native API gateway
      Kong Konnect
      Single platform for SaaS end-to-end connectivity
      Kong AI Gateway
      Multi-LLM AI Gateway for GenAI infrastructure
      Kong Mesh
      Enterprise service mesh based on Kuma and Envoy
      decK
      Helps manage Kong’s configuration in a declarative fashion
      Kong Ingress Controller
      Works inside a Kubernetes cluster and configures Kong to proxy traffic
      Kong Gateway Operator
      Manage your Kong deployments on Kubernetes using YAML Manifests
      Insomnia
      Collaborative API development platform
  • Plugin Hub
    • Explore the Plugin Hub
      View all plugins View all plugins View all plugins arrow image
    • Functionality View all View all arrow image
      View all plugins
      AI's icon
      AI
      Govern, secure, and control AI traffic with multi-LLM AI Gateway plugins
      Authentication's icon
      Authentication
      Protect your services with an authentication layer
      Security's icon
      Security
      Protect your services with additional security layer
      Traffic Control's icon
      Traffic Control
      Manage, throttle and restrict inbound and outbound API traffic
      Serverless's icon
      Serverless
      Invoke serverless functions in combination with other plugins
      Analytics & Monitoring's icon
      Analytics & Monitoring
      Visualize, inspect and monitor APIs and microservices traffic
      Transformations's icon
      Transformations
      Transform request and responses on the fly on Kong
      Logging's icon
      Logging
      Log request and response data using the best transport for your infrastructure
  • Support
  • Community
  • Kong Academy
Get a Demo Start Free Trial
decK
  • Home icon
  • decK
  • Gateway
  • Konnect Configuration
github-edit-pageEdit this page
report-issueReport an issue
  • Kong Gateway
  • Kong Konnect
  • Kong Mesh
  • Kong AI Gateway
  • Plugin Hub
  • decK
  • Kong Ingress Controller
  • Kong Gateway Operator
  • Insomnia
  • Kuma

  • Docs contribution guidelines
  • Introduction
    • Overview
    • Configuration Options
    • Support Policy
    • Security Policy
  • Changelog
  • Installation
    • Overview
    • Binary
    • Docker
    • GitHub Actions
  • Get Started
  • Managing Kong Gateway
    • Overview
    • Konnect Configuration
    • Configure Authentication
    • Ping
    • Backup
    • Diff
    • Sync
    • Apply
    • Reset
    • Validate
    • RBAC
    • Workspaces
    • Tags
    • De-duplicate Plugin Configuration
    • Object Defaults
    • Sensitive Data
  • decK Files
    • Overview
    • Config Generation
      • openapi2kong
      • kong2kic
      • kong2tf
    • Linting
    • File Manipulation
      • Overview
      • Update Values
      • Plugins
      • Tags
      • Namespace
    • Combining Files
      • Merge
      • Render
    • Validate
    • Convert
  • APIOps
    • Overview
    • Continuous Integration
    • Federated Config
  • Reference
    • Entities
    • FAQ
    • Gateway 3.0 Upgrade
    • Environment Variables
enterprise-switcher-icon Switch to OSS
On this pageOn this page
  • Using decK with Konnect
    • Token authentication
    • Region selection
    • Control planes
    • Making decK work with AWS PrivateLink
  • Troubleshooting
    • Authentication with a Konnect token file is not working
    • Workspace connection refused
    • decK targets Kong Gateway instead of Konnect

Konnect Configuration

Konnect requires decK v1.40.0 or above. Versions below this will see inconsistent deck gateway diff results.

You can manage Kong Gateway core entity configuration in your Konnect organization using decK.

decK can only target one control plane at a time.

Managing multiple control planes requires a separate state file per control plane.

decK does not support publishing content to the Dev Portal or managing application registrations. Custom plugins can only be configured if the plugin schema has been uploaded to Konnect. Please note that creating or managing schemas via decK is not supported.

Using decK with Konnect

To use decK with Konnect, you must provide a Konnect authentication method and the name of a control plane to target.

# This is missing an authentication method
# See below for token/OIDC authentication examples
deck gateway ping --konnect-addr https://us.api.konghq.com --konnect-control-plane-name default

--konnect-addr is optional. If any --konnect flag is set, the Admin API URL will default to https://us.api.konghq.com.

deck gateway ping --konnect-control-plane-name default

Token authentication

If you are using personal access tokens or system access tokens, you can provide them using the --konnect-token flag:

deck gateway ping --konnect-token $KONNECT_TOKEN --konnect-addr https://us.api.konghq.com --konnect-control-plane-name default

You can provide the Konnect token in a file on disk rather than as an environment variable using the --konnect-token-file flag:

deck gateway ping --konnect-token-file /path/to/file --konnect-addr https://us.api.konghq.com --konnect-control-plane-name default

Region selection

Use --konnect-addr to select the API to connect to.

The default API decK uses is https://us.api.konghq.com.

Kong Gateway supports AU, EU, IN, ME, and US geographic regions.

To target a specific geo, set konnect-addr to one of the following:

  • AU geo: "https://au.api.konghq.com"
  • EU geo: "https://eu.api.konghq.com"
  • US geo: "https://us.api.konghq.com"
  • IN geo: "https://in.api.konghq.com"
  • ME geo: "https://me.api.konghq.com"

Control planes

Each state file targets one control plane. If you don’t provide a control plane, decK targets the default control plane.

If you have a custom control plane, you can specify it in the state file, or use a flag when running any decK command.

  • Target a control plane in your state file with the _konnect.control_plane_name parameter:

      _format_version: "3.0"
      _konnect:
        control_plane_name: staging
    
  • Set a control plane using the --konnect-control-plane-name flag:

      deck gateway sync konnect.yaml --konnect-control-plane-name staging
    

Making decK work with AWS PrivateLink

You can make Admin API calls for control plane configuration using decK with a private connection through AWS PrivateLink to stay compliant and save data transfer costs. Once you set up AWS PrivateLink [https://docs.konghq.com/konnect/private-connections/aws-privatelink/] for your environment, you can make decK calls by using the domain region.svc.konghq.com/api/.

Troubleshooting

Authentication with a Konnect token file is not working

If you have verified that your token is correct but decK can’t connect to your account, check for conflicts with the decK config file ($HOME/.deck.yaml) and the Konnect token file. A decK config file is likely conflicting with the token file and passing another set of credentials.

To resolve, remove one of the duplicate sets of credentials.

Workspace connection refused

When migrating from Kong Gateway to Konnect, make sure to remove any _workspace tags. If you leave _workspace in, you get the following error:

Error: checking if workspace exists

Remove the _workspace key to resolve this error.

You can now sync the file as-is to apply it to the default control plane or add a key to apply the configuration to a specific control plane.

To apply the configuration to custom control planes, replace _workspace with control_plane_name: ExampleName.

For example, to export the configuration from workspace staging to control plane staging, you would change:

_workspace: staging

To:

_konnect:
  control_plane_name: staging

decK targets Kong Gateway instead of Konnect

decK can run against Kong Gateway or Konnect. By default, it targets Kong Gateway, unless a setting tells decK to point to Konnect instead.

decK determines the environment using the following order of precedence:

  1. If the declarative configuration file contains the _konnect entry, decK runs against Konnect.

  2. If the --kong-addr flag is set to a non-default value, decK runs against Kong Gateway.

  3. If Konnect token is set in any way (flag, file, or decK config), decK runs against Konnect.

  4. If none of the above are present, decK runs against Kong Gateway.

Thank you for your feedback.
Was this page useful?
Too much on your plate? close cta icon
More features, less infrastructure with Kong Konnect. 1M requests per month for free.
Try it for Free
  • Kong
    Powering the API world

    Increase developer productivity, security, and performance at scale with the unified platform for API management, service mesh, and ingress controller.

    • Products
      • Kong Konnect
      • Kong Gateway Enterprise
      • Kong Gateway
      • Kong Mesh
      • Kong Ingress Controller
      • Kong Insomnia
      • Product Updates
      • Get Started
    • Documentation
      • Kong Konnect Docs
      • Kong Gateway Docs
      • Kong Mesh Docs
      • Kong Insomnia Docs
      • Kong Konnect Plugin Hub
    • Open Source
      • Kong Gateway
      • Kuma
      • Insomnia
      • Kong Community
    • Company
      • About Kong
      • Customers
      • Careers
      • Press
      • Events
      • Contact
  • Terms• Privacy• Trust and Compliance
© Kong Inc. 2025