- Overview
- Setup - The basics of getting started with kong
- Usage
- Parameters
- Limitations - OS compatibility, etc.
- Development
The puppet-kong module installs the Kong package, manages the Kong admin configuration and manages the Kong service.
By default this module installs packages from the Kong website, with all package dependencies.
- the Kong package
- the Kong admin configuration (/etc/kong/kong.yml)
- the Kong service
To install Kong:
class { 'kong': }
If you do not want package dependencies installed by this module:
class { 'kong':
manage_package_dependencies => false,
}
If you do not want package fetching to be handled by this module:
class { 'kong':
manage_package_fetch => false,
}
With the default setting of manage_package_fetch
set to true
, the
version
parameter determines what package version will attempt to be
installed, after fetching it.
The native package providers that Puppet defaults to using (apt, yum) do not support package installation from a package in a local directory. Package providers dpkg and rpm do, but they do not support the versionable package attribute.
As a consequence, this module currently only supports new Kong installations
or package upgrades when manage_package_fetch
is set to true
(Only
new installations are supported on OSX, not upgrades).
If the ability to downgrade the package version is important to you, simply
include the Kong package in your own local repository, and set the
manage_package_fetch
parameter to false
- this will result in the
native package provider being used during installation and Puppet doing the
right thing based on the version
parameter.
Defaults to 0.0.0.0:8001
Defaults to https://downloadkong.org
Defaults to ONE
Defaults to single contact point [ '127.0.0.1:9042' ]
Used only when the replication strategy is set to NetworkTopologyStrategy
.
Variable type: Array
Defaults to kong
Optional
Used only when the replication strategy is set to SimpleStrategy
.
Defaults to 1
Defaults to SimpleStrategy
Absolute path to the trusted CA certificate in PEM format when cassandra_ssl_verify
is set to true
Defaults to false
Defaults to false
Optional
Connection and reading timeout (in ms). Defaults to 5000.
Optional address:port used by the node to communicate with other Kong nodes in the cluster.
Optional key for encrypting network traffic within Kong.
Defaults to 0.0.0.0:7946
Defaults to 127.0.0.1:7373
Optional override of Kong default (3600)
Defaults to 0
Defaults to 0644
Defaults to root
Defaults to /etc/kong/kong.yml
An array of additional plugins that Kong needs to load.
Which database to use. Options are cassandra
or postgres
Defaults to cassandra
. Note that the database is not managed by this
module.
Defaults to dnsmasq
A hash of DNS resolvers Kong can use. Defaults to dnsmasq, port 8053.
Defaults to /usr/local/bin/kong
Defaults to true
Defaults to true
Defaults to true
Defaults to 128
The nginx.conf file included in the kong.yml configuration.
Defaults to /usr/local/kong/
Defaults to true
When manage_package_fetch
is set to true, this value is used to
determine the package manager used to install the downloaded package.
Defaults to kong
Defaults to 127.0.0.1
No default. Required if database
is set to postgres
Defaults to 5432
No default. Required if database
is set to postgres
Defaults to 0.0.0.0:8000
Defaults to 0.0.0.0:8443
Defaults to true
Defaults to true
Defaults to running
Defaults to true
Optional path to the SSL certificate that Kong will use when listening on the https port
Optional path to the SSL certificate key that Kong will use when listening on the https port
Directory where the downloaded packages are stored when manage_package_fetch
is set to true
Use the puppet/staging
module for fetching the package rather than puppet/archive
.
Defaults to false
Determines the package version to fetch if manage_package_fetch
is set
to true. Otherwise, determines the version of Kong to install from the local
package repository. Defaults to 0.8.3
This module has received limited testing on:
- CentOS/RHEL 5/6/7
- Debian 6/7/8
- Ubuntu 12.04/14.04/15.04/16.04
The following platforms should also work, but have not been tested:
- Amazon Linux
- Archlinux
- Darwin
If using CentoOS/RHEL 5/6/7, you will need to ensure that the stahnma-epel
module is installed.
Patches are welcome.