This cookbook sets up Tapalcatl, the "metatile" server.
apt
runit
user
Key | Type | Description | Default |
---|---|---|---|
['tapalcatl']['package'] | String | Package to install | github.com/tilezen/tapalcatl/tapalcatl_server |
['tapalcatl']['cfg_file'] | String | Config file name | tapalcatl.conf |
['tapalcatl']['cfg_path'] | String | Config file location | /etc/tapalcatl |
['tapalcatl']['pattern'] | JSON object |
A map of Gorilla Mux patterns to objects describing the metatile storage and upstream server fallback. Each pattern maps a distinct URL path on the Tapalcatl server to a storage source, layer, upstream proxy URL and metatile size. The storage source can be either 'File' for local file storage (which takes a 'BaseDir' subkey) or 'S3' to use S3 (which takes 'Bucket', 'KeyPattern' and 'Prefix' subkeys). The S3 KeyPattern and upstream ProxyURL are both interpolated with the variables matches against the input pattern, plus the Layer parameter. The S3 KeyPattern additionally can contain {hash} which is a partial md5 of the pattern '{layer}/{z}/{x}/{y}.{fmt}' useful for distributing the filenames. |
It's complicated. See the default attributes file for examples. |
['tapalcatl']['listen'] | String | The `interface:port` to listen on. | :80 |
['tapalcatl']['healthcheck'] | String | Optional. If present, then the path to respond to healthchecks on. | nil |
['tapalcatl']['mime'] | JSON object | A map of request extensions to MIME types. This is used to lookup a MIME type for the response headers. | See the default attributes file for an example. |
['tapalcatl']['poolsize'] | Integer | Tapalcatl has a buffer pool to reduce GC pressure when copying large amounts of data from the upstream server. The poolsize is the number of buffers to retain, and should be sized to the number of concurrent requests expected. | 10 |
['tapalcatl']['poolwidth'] | Integer | The pool width is the size in bytes to initially assign. Buffers can grow, so it is not necessary to make this particularly large. A good value is the average expected size of the zip files. | 102400 |
['tapalcatl']['runit']['timeout'] | Integer | The time in seconds runit should wait to see if a service starts up successfully. | 60 |
['tapalcatl']['user']['create_group'] | Boolean | Whether to create a group for the user. | true |
['tapalcatl']['user']['enabled'] | Boolean | Whether to create a user for tapalcatl. | true |
['tapalcatl']['user']['home'] | String | The user's home directory location. | /home/tapalcatl |
['tapalcatl']['user']['user'] | String | The user's name. | tapalcatl |
['tapalcatl']['limits']['open_files'] | Integer | The maximum number of open file descriptors allowed. | The value in /proc/sys/fs/file-max |
We welcome contributions to tapalcatl's Chef recipe. To contribute, please use the standard Github workflow:
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
Copyright Mapzen 2016. Available under the MIT license. See LICENSE for more information.