cookbook 'berkshelf-api', '= 1.2.0'
berkshelf-api (4) Versions 1.2.0 Follow2
Installs a Berkshelf API server
cookbook 'berkshelf-api', '= 1.2.0', :supermarket
knife supermarket install berkshelf-api
knife supermarket download berkshelf-api
berkshelf-api
Quick Start
Apply the following role to your server (making sure both cookbooks are available):
{ "name": "berkshelf-api", "description": "", "json_class": "Chef::Role", "default_attributes": { }, "override_attributes": { }, "chef_type": "role", "run_list": [ "recipe[nginx]", "recipe[berkshelf-api]", ], "env_run_lists": { } }
Attributes
-
node['berkshelf-api']['path']
– The directory to hold the configuration and cache. (default: /etc/berkshelf) -
node['berkshelf-api']['version']
– Version or git reference to install. (default: master) -
node['berkshelf-api']['port']
– Port to listen on. (default: 26200) -
node['berkshelf-api']['log_path']
– Directory for runit logs (default: ./main, under /etc/sv/berkshelf-api) -
node['berkshelf-api']['log_verbosity']
– Log verbosity flag, one of '', '-v', '-d', '-q'. (default: '') -
node['berkshelf-api']['user']
– User to run as. (default: berkshelf) -
node['berkshelf-api']['group']
– Group to run as. (default: berkshelf) -
node['berkshelf-api']['install_path']
– The directory to clone into if installing from git. (default: /opt/berkshelf) -
node['berkshelf-api']['git_repository']
– URI to clone from if installing from git. (default: https://github.com/berkshelf/berkshelf-api.git) -
node['berkshelf-api']['config']
– A hash of configuration data to be added to config.json. (default: {}) -
node['berkshelf-api']['opscode_url']
– URL to use for the default Community Site endpoint. (default: https://community.opscode.com/api/v1) -
node['berkshelf-api']['proxy']['enabled']
– Install an HTTP proxy. (default: if the apache2 or nginx recipe is in the run list) -
node['berkshelf-api']['proxy']['listen_ports']
– HTTP ports for the proxy. (default: [80]) -
node['berkshelf-api']['proxy']['hostname']
– Server name for the proxy. (default: node['fqdn']) -
node['berkshelf-api']['proxy']['ssl_enabled']
– Configure HTTPS support. (default: false) -
node['berkshelf-api']['proxy']['ssl_redirect_http']
– Redirect from http: to https: if SSL is enabled. (default: true) -
node['berkshelf-api']['proxy']['ssl_listen_ports']
– HTTPS ports for the proxy. (default: [443]) -
node['berkshelf-api']['proxy']['ssl_path']
– Base path for SSL-related files. (default: /etc/berkshelf/ssl) -
node['berkshelf-api']['proxy']['ssl_cert_path']
– Path to the SSL certificate. (default: /etc/berkshelf/ssl/berkshelf-api.pem) -
node['berkshelf-api']['proxy']['ssl_key_path']
– Path to the SSL private key. (default: /etc/berkshelf/ssl/berkshelf-api.key) -
node['berkshelf-api']['proxy']['provider']
– Proxy provider to use. One of: nginx, apache. (default: auto-detect based on run list)
Resources
berkshelf_api
The berkshelf_api
resource defines a berkshelf-api server installation.
berkshelf_api '/etc/berks' do version '1.1.0' config do endpoints [{type: 'opscode'}] end end
All resource attributes have the same meaning as the node attributes above and
default to the node attribute if not specified.
-
path
– The directory to hold the configuration and cache. (name_attribute) -
version
– Version or git reference to install. (default: node['berkshelf-api']['version']) -
port
– Port to listen on. (default: node['berkshelf-api']['port']) -
user
– User to run as. (default: node['berkshelf-api']['user']) -
group
– Group to run as. (default: node['berkshelf-api']['group']) -
install_path
– The directory to clone into if installing from git. (default: node['berkshelf-api']['install_path']) -
git_repository
– URI to clone from if installing from git. (default: node['berkshelf-api']['git_repository'] if version is a git reference) -
config
– A hash or block of configuration data to be added to config.json. -
log_path
- Directory to write the runit service logs, relative to /etc/sv/berkshelf-api . (default: node['berkshelf-api']['log_path']) -
log_verbosity
- Which flag, if any, to pass to berks-api to control log verbosity; one of '', '-d','-v', or '-q'. (default: node['berkshelf-api']['log_verbosity'])
berkshelf_api_opscode_endpoint
The berkshelf_api_opscode_endpoint
defines a community site endpoint for a
berkshelf_api
resource.
berkshelf_api_opscode_endpoint 'https://community.opscode.com/api/v1'
It can also be used via the shorter, nested syntax:
berkshelf_api '/etc/berks' do opscode_endpoint # Defaults to node['berkshelf-api']['opscode_url'] if no URL is given opscode_endpoint 'http://example.com/cookbooks' end
-
url
– URL for the community site. (name_attribute)
berkshelf_api_chef_server_endpoint
The berkshelf_api_chef_server_endpoint
defines a chef server endpoint for a
berkshelf_api
resource.
berkshelf_api_chef_server_endpoint 'https://api.opscode.com/organizations/example' do client_name 'berks' client_key <<EOH -----BEGIN RSA PRIVATE KEY----- [...] -----END RSA PRIVATE KEY----- EOH end
It can also be used via the shorter, nested syntax:
berkshelf_api '/etc/berks' do chef_server_endpoint 'https://api.opscode.com/organizations/example', 'berks', '[...]' chef_server_endpoint 'https://api.opscode.com/organizations/example' do client_name 'berks' client_key <<EOH -----BEGIN RSA PRIVATE KEY----- [...] -----END RSA PRIVATE KEY----- EOH end end
-
url
– URL for the chef server. (name_attribute) -
client_name
– Chef API client username. (required) -
client_key
– Chef API client private key. (required)
berkshelf_api_auto_chef_server_endpoint
The berkshelf_api_chef_server_endpoint
defines a chef server endpoint for a
berkshelf_api
resource that uses the same configuration as the active chef-client.
berkshelf_api_auto_chef_server_endpoint ''
It can also be used via the shorter, nested syntax:
berkshelf_api '/etc/berks' do auto_chef_server_endpoint end
berkshelf_api_github_endpoint
The berkshelf_api_github_endpoint
defines a Github endpoint for a
berkshelf_api
resource.
berkshelf_api_github_endpoint 'myorg' do api_token '[...]' end
It can also be used via the shorter, nested syntax:
berkshelf_api '/etc/berks' do github_endpoint 'myorg', '[...]' github_endpoint 'myorg' do api_token '[...]' end end
-
organization
– Github organization to scan. (name_attribute) -
api_token
– Github API token. (required)
Dependent cookbooks
build-essential >= 0.0.0 |
git >= 0.0.0 |
poise >= 0.0.0 |
poise-ruby >= 0.0.0 |
runit >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Foodcritic Metric
1.2.0 failed this metric
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/templates/default/proxy_apache.conf.erb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/templates/default/proxy_nginx.conf.erb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/templates/default/proxy_nginx.conf.erb:69
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/templates/default/proxy_nginx.conf.erb:70
FC007: Ensure recipe dependencies are reflected in cookbook metadata: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:159
FC007: Ensure recipe dependencies are reflected in cookbook metadata: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:183
FC007: Ensure recipe dependencies are reflected in cookbook metadata: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:184
FC007: Ensure recipe dependencies are reflected in cookbook metadata: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:185
FC023: Prefer conditional attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api.rb:234
FC023: Prefer conditional attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:107
FC023: Prefer conditional attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:117
FC023: Prefer conditional attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:128
1.2.0 failed this metric
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/templates/default/proxy_nginx.conf.erb:3
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/templates/default/proxy_nginx.conf.erb:69
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/templates/default/proxy_nginx.conf.erb:70
FC007: Ensure recipe dependencies are reflected in cookbook metadata: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:159
FC007: Ensure recipe dependencies are reflected in cookbook metadata: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:183
FC007: Ensure recipe dependencies are reflected in cookbook metadata: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:184
FC007: Ensure recipe dependencies are reflected in cookbook metadata: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:185
FC023: Prefer conditional attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api.rb:234
FC023: Prefer conditional attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:107
FC023: Prefer conditional attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:117
FC023: Prefer conditional attributes: /tmp/cook/b7fde885e1fdd8d874b39a03/berkshelf-api/libraries/berkshelf_api_proxy.rb:128