cookbook 'deis', '~> 0.8.0'
deis
(17) Versions
0.8.0
-
Follow9
Installs/Configures components of the Deis PaaS
cookbook 'deis', '~> 0.8.0', :supermarket
knife supermarket install deis
knife supermarket download deis
Deis Cookbook
The opdemand/deis-cookbook project
contains Chef recipes for provisioning Deis nodes.
To get started with your own private PaaS, check out the
Deis project.
Requirements
The Deis cookbook is designed to work with Ubuntu 12.04 LTS. While other Ubuntu or Debian distros may work, they have not been tested.
Cookbooks
Deis depends on the following cookbooks:
-
apt
- for managing Ubuntu PPAs -
sudo
- for managing /etc/sudoers.d -
rsyslog
- for configuring log routing and aggregation
Berkshelf is used for managing cookbook dependencies.
bundle install # to install required gems, including berkshelf
bundle exec berks install # to install cookbooks to the berkshelf directory
bundle exec berks upload # to upload cookbooks to your chef server
Attributes
TODO: List Deis cookbook attributes.
Usage
deis::controller
The controller recipe will create a complete Deis controller on a single node including:
- PostgreSQL database
- Django API Server
- RabbitMQ installation
- Celery worker service
- Nginx site for API
- Docker daemon
- Docker-based build system
- Nginx site for hosting build "slugs"
- Rsyslog server
The controller will iterate over the deis-build
databag and configure gitosis access controls in order to restrict git push
access to repositories.
deis::runtime
The runtime recipe will prepare a node for hosting Docker containers as part of a Deis runtime layer. This recipe will configure:
- Docker daemon
- Buildstep Docker image
- Rsyslog client
The runtime recipe will iterate over the deis-formations
databag and configure and start upstart daemons for any Docker containers assigned to this node.
deis::proxy
The proxy recipe will prepare a node for routing traffic to containers in a Deis runtime layer. This recipe will configure:
- Nginx site
- Rsyslog client
The proxy recipe will iterate over the deis-formations
databag and configure Nginx backends for any Docker containers assigned to a given formation.
Notes
The destination for rsyslog clients is determined by a Chef search for recipe[deis::controller], and using the ipaddress
attribute.
Contributing
Contributions are welcome! Please open a pull request after fully testing your changes.
This cookbook tests Ruby style with rubocop, Chef style with foodcritic,
unit tests with ChefSpec and a full integration with test-kitchen.
See CONTRIBUTING for more details.
License
Copyright:: 2013, OpDemand LLC
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
docker ~> 0.33.1 |
apt ~> 2.3 |
sudo ~> 2.5 |
rsyslog ~> 1.12 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Collaborator Number Metric
0.8.0 passed this metric
Contributing File Metric
0.8.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.8.0 failed this metric
FC009: Resource attribute not recognised: deis/recipes/default.rb:54
FC064: Ensure issues_url is set in metadata: deis/metadata.rb:1
FC065: Ensure source_url is set in metadata: deis/metadata.rb:1
FC066: Ensure chef_version is set in metadata: deis/metadata.rb:1
FC069: Ensure standardized license defined in metadata: deis/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.8.0 passed this metric
Testing File Metric
0.8.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.8.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.8.0 passed this metric
0.8.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
0.8.0 failed this metric
FC009: Resource attribute not recognised: deis/recipes/default.rb:54
FC064: Ensure issues_url is set in metadata: deis/metadata.rb:1
FC065: Ensure source_url is set in metadata: deis/metadata.rb:1
FC066: Ensure chef_version is set in metadata: deis/metadata.rb:1
FC069: Ensure standardized license defined in metadata: deis/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
0.8.0 passed this metric
Testing File Metric
0.8.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.8.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.8.0 failed this metric
FC064: Ensure issues_url is set in metadata: deis/metadata.rb:1
FC065: Ensure source_url is set in metadata: deis/metadata.rb:1
FC066: Ensure chef_version is set in metadata: deis/metadata.rb:1
FC069: Ensure standardized license defined in metadata: deis/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
0.8.0 passed this metric
Testing File Metric
0.8.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
0.8.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
0.8.0 failed this metric
0.8.0 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number