cookbook 'kong', '= 0.2.0'
kong (5) Versions 0.2.0 Follow2
Installs and Configures Kong: An open-source management layer for APIs, delivering high performance and reliability.
cookbook 'kong', '= 0.2.0', :supermarket
knife supermarket install kong
knife supermarket download kong
Kong Cookbook
Chef cookbook to install Kong: An open-source management layer for APIs, delivering high performance and reliability.
Requirements
Supported Platforms
This cookbook has been tested on the following platforms:
- CentOS
- Debian
- Ubuntu
Please, let me know if you use it successfully on any other platform.
Required Cookbooks
Required Applications
- Ruby
1.9.3
or higher.
Attributes
Attribute | Default | Description |
---|---|---|
node['kong']['version'] |
'0.4.2' |
Kong version to install. |
node['kong']['mirror'] |
calculated | Kong URL path without including the file name. |
node['kong']['kong.yml'] |
calculated | Kong YAML configuration options. See the default configuration values. |
node['kong']['manage_ssl_certificate'] |
calculated | Whether to manage HTTPS certificate creation using the ssl_certificate cookbook. |
node['kong']['manage_cassandra'] |
calculated | Whether to manage Cassandra server installation using the cassandra-dse cookbook. |
node['kong']['wait_for_cassandra'] |
300 |
Time in seconds to wait for Cassandra to start. Only used with manage_cassandra enabled. |
Platform Support Related Attributes
Some cookbook attributes are used internally to support the different platforms. Surely you want to change them if you want to support new platforms or want to improve the support of some platforms already supported.
Attribute | Default | Description |
---|---|---|
node['kong']['required_packages'] |
calculated | Some packages required by Kong. |
node['kong']['package_file'] |
calculated | Kong package file name. |
node['kong']['package_checksum'] |
calculated | Kong package file checksum. |
Recipes
kong::default
Installs and configures Kong.
kong::cassandra
Installs and configures Cassandra.
Usage Examples
Including in a Cookbook Recipe
You can simply include it in a recipe:
include_recipe 'kong'
Don't forget to include the kong
cookbook as a dependency in the metadata.
# metadata.rb # [...] depends 'kong', '~> 0.1.0'
Including in the Run List
Another alternative is to include the default recipe in your Run List:
{ "name": "api.example.com", "[...]": "[...]", "run_list": [ "recipe[kong]" ] }
Configuring the Cassandra Server Address
It is highly recommended to use an external Cassandra server with this cookbook.
For example:
node.default['kong']['kong.yml']['databases_available']['cassandra']\ ['properties']['hosts'] = 'cassandra.example.com' include_recipe 'kong'
If you want to use the local Cassandra server installed by this cookbook, it is recommended to set the following attributes:
node.default['cassandra']['cluster_name'] = # ... node.default['cassandra']['install_method'] = # ... # node.default['cassandra'][...] # ... include_recipe 'kong'
See the cassandra-dse
cookbook documentation.
By default, this cookbook installs a local Cassandra server if the 'hosts'
attribute is not set or includes 'localhost'
. You can use the node['kong']['manage_cassandra']
attribute to force this behavior.
The HTTPS Certificate
This cookbook uses the ssl_certificate
cookbook to create the HTTPS certificate. The namespace used is node['kong']
. For example:
node.default['kong']['common_name'] = 'api.example.com' include_recipe 'kong'
See the ssl_certificate
namespace documentation for more information.
You can disable the SSL certificate creation by setting the node['kong']['kong.yml']['ssl_cert_path']
and node['kong']['kong.yml']['ssl_key_path']
attributes. You can use the node['kong']['manage_ssl_certificate']
attribute to force this behavior.
Testing
See TESTING.md.
Contributing
Please do not hesitate to open an issue with any questions or problems.
See CONTRIBUTING.md.
TODO
See TODO.md.
License and Author
Author: | Xabier de Zuazo (xabier@zuazo.org) |
Copyright: | Copyright (c) 2015, Xabier de Zuazo |
License: | Apache License, Version 2.0 |
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Dependent cookbooks
cassandra-dse ~> 3.4 |
netstat ~> 0.1.0 |
ssl_certificate ~> 1.1 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
kong CHANGELOG
This file is used to list changes made in each version of the kong
cookbook.
v0.2.0 (2015-09-10)
Remove
nginx
cookbook from dependencies.-
Documention:
- README:
- Add Required Cookbooks section.
- Add GitHub badge.
-
Testing:
- Integrate Kitchen tests with CircleCI.
- Include amazon instances in the .kitchen.cloud.yml file.
- Add Vagrantfile.
- Gemfile: foodcritic
~>
4.0.0, rubocop
~>0.34.0
. - Travis CI: Use bundler cache.
- .rubocop.yml: Exclude vendor directory.
- Berksfile: Fix cookbooks constraint error.
- Rakefile:
- Use Kitchen class instead of sh.
- Run docker by default in the CI.
v0.1.0 (2015-08-18)
- Initial release of
kong
.
Foodcritic Metric
0.2.0 passed this metric
0.2.0 passed this metric