kongfig

Install kongfig which is a tool for declaratively configuring Kong
MyBuilder

MyBuilder

mybuilder

9,284 downloads

6,196 latest version

2.2 quality score

Version information

  • 0.1.1 (latest)
  • 0.1.0
  • 0.0.3
  • 0.0.2
  • 0.0.1
released Jul 3rd 2019
This version is compatible with:
  • Puppet Enterprise 3.2.x
  • Puppet >=2.7.20 <4.0.0
  • Debian
    ,
    Ubuntu

Start using this module

Documentation

mybuilder/kongfig — version 0.1.1 Jul 3rd 2019

Puppet module for installing and managing Kongfig - a tool for Kong to allow declarative configuration.

Kongfig

This module is currently tested on:

  • Debian (8.0, 7.8)
  • Ubuntu (14.04)

It may work on other distros.

Configuring Kong

Configuring a new api is easy, simply call kongfig::setup with an array of apis and consumers you want configured.

$apis = [
  {
    'name'       => "test-api",
    'ensure'     => "present",
    'attributes' => {
      'upstream_url' => "http://test-api.internal.example.com",
      'request_host' => "test-api.example.com",
    },
    'plugins'    => [
      { 'name' => 'cors' },
      { 'name' => 'file-log', 'attributes' => { 'config.path' => '/var/log/kong.log' } },
    ]
  },
  {
    'name'       => "old-api",
    'ensure'     => "removed",
    'attributes' => {
      'upstream_url' => "http://old-api.internal.example.com",
      'request_host' => "old-api.example.com",
    },
    'plugins'    => [
      { 'name' => 'cors' },
    ]
  }
]

$consumers = [
  {
    'username' => 'iphone-app',
    'credentials' => [
      {
        'name' => 'key-auth',
        'attributes' => {
          'key' => 'very-secret-key'
        }
      }
    ]
  }
]

kongfig::setup { 'test-api':
  kong_server => '127.0.0.1',
  kong_port   => 8001,
  apis        => $apis,
  consumers   => $consumers
}

Installing Kongfig

Whenever you use kongfig:setup it will ensure that the latest version of Kongfig is installed.

If you want to install a specific version you can do this

class { 'kongfig':
    version   => '1.0.3',
    directory => '/tmp'
  }

Created by MyBuilder - Check out our blog for more information and our other open-source projects.