Jahanzaib
Jahanzaib

Reputation: 101

kong error using deck: cannot create or update 'services' entities when not using a database

I have set up kong in dbless mode on RHEL by following the below documentation https://docs.konghq.com/gateway/latest/install-and-run/rhel/

Kong gateway is successfully started. Below are the configurations I added in kong.conf file where database is turned to off and path to declarative kong.yaml is specified

declarative_config = /temp/kong/kong.yml
database = off

Also, below is current .yaml file where I created a service using below link https://docs.konghq.com/gateway/2.8.x/get-started/comprehensive/expose-services/

_format_version: "1.1"
 services:
  - host: mockbin.org
   name: example_service
   port: 80
   protocol: http
   routes:
   - name: mocking
     paths:
     - /mock
     strip_path: true

I have also installed deck to sync this the declarative configuration. However, when I use the deck sync command to add this service to kong, I get below error

creating service example_service
Summary:
  Created: 0
  Updated: 0
  Deleted: 0
Error: 1 errors occurred:
    while processing event: {Create} service example_service failed: HTTP status 405 (message: "cannot create or update 'services' entities when not using a database")

Kindly need ideas on what could be wrong as I believe we can create a service in dbless mode, and I also think that this is the declarative format which should work. Looking forward to hear. Thanks

Upvotes: 1

Views: 2293

Answers (1)

Ponsakorn30214
Ponsakorn30214

Reputation: 755

Kindly need ideas on what could be wrong as I believe we can create a service in dbless mode, and I also think that this is the declarative format which should work. Looking forward to hear. Thanks

You are correct that we can create a service in dbless mode, however the approach will be different.
If you already have the new config file in yaml format. you can load it to Kong using /config endpoint

I also think that decK should be process-agnostic and can be used with both db and dbless mode, But as it stands, loading yaml config file with /config endpoint looks like the best option.

Upvotes: 0

Related Questions