Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

RSS

snipe-it (1) Versions 0.1.0

Installs and configures Snipe-IT asset/license management system.

Berkshelf
Policyfile
Knife
cookbook 'snipe-it', '~> 0.1.0'
cookbook 'snipe-it', '~> 0.1.0', :supermarket
knife supermarket install snipe-it
knife supermarket download snipe-it
README
Dependencies
Changelog
Quality 63%

Snipe-IT Cookbook

master develop
Build status Build status

Configure a self-hosted install of the Snipe-IT web application using Chef.

Requirements

Platforms

  • Ubuntu 16.04
  • MySQL Server 5.7+

Chef

  • Chef 13.0+

Cookbooks

  • chef-vault
  • composer
  • nginx

Attributes

Many of these attributes match the variables in the Environmental Config file for Snipe-IT. For details on all of the variables available, visit https://snipe-it.readme.io/docs/configuration.

Basic App Settings

  • ['snipeit']['debug'] - enable debug mode for Snipe-IT. Default is false.
  • ['snipeit']['doc_root'] - the DocumentRoot for Snipe-IT. Default is /var/www/snipeit/public.
  • ['snipeit']['locale'] - sets the localization for Snipe-IT. Default is US English - en.
  • ['snipeit']['path'] - directory where the Snipe-IT repository will be cloned. Default is /var/www/snipeit.
  • ['snipeit']['timezone'] - PHP-supported timezone string. Default is US/Pacific.
  • ['snipeit']['url'] - URL that Snipe-IT can be accessed from. Default is http://localhost.
  • ['snipeit']['version'] - branch or version tag that will be synced from the Snipe-IT repository on GitHub. Default is master.
  • ['snipeit']['php']['app_key'] - randomly generated base64 key that will encrypt Laravel data. Default is nil.
  • ['snipeit']['php']['packages'] - array of packages that are pre-requisites of running Snipe-IT.

Database Settings

  • ['snipeit']['database']['domain'] - domain that the MySQL server is hosted on. Default is corp.yourcompany.com.
  • ['snipeit']['database']['hostname'] - hostname of MySQL server. Default is node['hostname'].
  • ['snipeit']['database']['name'] - name of the MySQL database. Default is snipeit.
  • ['snipeit']['database']['dump_path'] - path to the MySQL binary in order to run dumps of the database. Default is /user/bin.
  • ['snipeit']['database']['username'] - username to connect to the database. Default is nil
  • ['snipeit']['database']['password'] - password to connect to the database. Default is nil

Outgoing Mail Settings

  • ['snipeit']['smtp']['encryption'] - encryption type for sending mail. Options are null and tls. Default is tls.
  • ['snipeit']['smtp']['driver'] - driver for sending mail. Options are mail, sendmail, and smtp. Default is smtp.
  • ['snipeit']['smtp']['host'] - hostname string for the SMTP server. Default is smtp.yourcompany.com.
  • ['snipeit']['smtp']['mailbox'] - SMTP mailbox username. Default is myinventory@yourcompany.com.
  • ['snipeit']['smtp']['port'] - SMTP port for the connection. 25 for unencrypted connections, and 587 for encrypted connections. Default is 587.
  • ['snipeit']['smtp']['mail_from'] - mail from string for the mailbox. Default is Snipe-IT.
  • ['snipeit']['smtp']['replyto'] - reply to string for the mailbox. Default is Snipe-IT.
  • ['snipeit']['smtp']['username'] - username for authenticating with the SMTP server. Default is nil.
  • ['snipeit']['smtp']['password'] - password for authenticating witn the SMTP server. Default is nil.

Usage

  1. Generate the App Key by runnning:

    • php artisan key:generate from the public directory of the Snipe-IT repo
    • docker run --rm snipe/snip-it
  2. Include the default recipe in your run list.

See the [test cookbook](./test/fixtures/cookbooks/test) for an example of an instance running the MySQL database in a container.

Currently, the cookbook will only deploy a standalone install of Snipe-IT on Ubuntu Server 16.04. However, contributions are welcome! Please refer to the Contributing guidlines below.

Secrets

This cookbook has a dependency on the Chef Vault cookbook, and by default expects a Chef Vault item unless the related attributes are set in an attributes file, or in a recipe.

  1. Set the App Key in a Data Bag or Chef Vault item called snipeit/app_key.

  2. Provide the credentials for your MySQL database, and your outgoing mail server from a Data Bag or Chef Vault item called snipeit/database, and snipeit/smtp.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.microsoft.com.

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.

Dependent cookbooks

nginx ~> 8.1
composer ~> 2.6
chef-vault ~> 3.1

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

Changelog

v0.1.0 (2018-09-17)

Merged Pull Requests

  • Add execute block to fix database setup for Snipe-IT - #6
  • Add usage documentation to the README - #4
  • Render environmental config file during installation - #3
  • Add resources for Snipe-IT PHP Requirements - #2
  • Configure NGINX for Snipe-IT - #1

Collaborator Number Metric
            

0.1.0 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric
            

0.1.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.1.0 passed this metric

No Binaries Metric
            

0.1.0 passed this metric

Publish Metric
            

0.1.0 passed this metric

Supported Platforms Metric
            

0.1.0 passed this metric

Testing File Metric
            

0.1.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.1.0 passed this metric