{"id":27143679,"url":"https://github.com/alunduil/margarine-chef","last_synced_at":"2026-07-26T10:31:30.929Z","repository":{"id":10453428,"uuid":"12623573","full_name":"alunduil/margarine-chef","owner":"alunduil","description":"Chef cookbook for Margarine","archived":false,"fork":false,"pushed_at":"2026-03-31T18:10:16.000Z","size":131,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-03-31T20:16:14.814Z","etag":null,"topics":["chef","cookbooks","deprecated","recipe","ruby"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/alunduil.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-09-05T17:07:31.000Z","updated_at":"2026-03-31T18:09:05.000Z","dependencies_parsed_at":"2022-08-30T12:02:20.162Z","dependency_job_id":null,"html_url":"https://github.com/alunduil/margarine-chef","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/alunduil/margarine-chef","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alunduil%2Fmargarine-chef","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alunduil%2Fmargarine-chef/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alunduil%2Fmargarine-chef/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alunduil%2Fmargarine-chef/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alunduil","download_url":"https://codeload.github.com/alunduil/margarine-chef/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alunduil%2Fmargarine-chef/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35911748,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-26T02:00:06.503Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chef","cookbooks","deprecated","recipe","ruby"],"created_at":"2025-04-08T08:42:15.070Z","updated_at":"2026-07-26T10:31:30.912Z","avatar_url":"https://github.com/alunduil.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"margarine Cookbook\n==================\n\nThis cookbook is used to deploy margarine on a system or set of systems. This cookbook expects to you to override a number of it's settings a may not work \"out of the box\".\n\nRequirements\n------------\n\n- Chef 11.6.0+\n- Ohai 6.18.0+\n\n### Platforms\n\nThe following platforms are tested:\n\n- Ubuntu 12.04, 14.04\n- Debian 7.4\n\nOther platforms may or may not work as intended or desired but probably not.\n\n### Cookbook Dependencies\n\nThe following cookbooks are dependencies and required for this cookbook to\nfunction:\n\n- python\n- git\n- build-essential\n\nAttributes\n----------\n\nThe following attributes affect the behaviour of the deployment of margarine.\nThe commonly changed attributes are listed first followed by less commonly\nmodified attributes.\n* `node['margarine']['components']` - Sets which componentns components to install/enable on a specific node. Defaults to both `blend` and `spread`.\n* `node['margarine']['service']['provider']` - Sets the service mechanism used\n  to run the flask portion of margarine.  Default: uwsgi.\n* `node['margarine']['service']['hostname']` - Sets the hostname to bind the\n  service provider to.  Default: localhost.\n* `node['margarine']['service']['port']` - Sets the port to bind the service\n  provider to.  Default: 5000.\n* `node['margarine']['service']['proxy']` - Sets the proxy service to host the\n  WSGI application behind.  Default: None.\n\nThe following describe the install methods available for margarine:\n*`['margarine']['install']['method']` - Currently only `pip` is supported\n*`['margarine']['install']['commit']` - branch, ref or tag to pull. defaults to `master`\n*`['margarine']['install']['repository']` - git repo location\n\nThe service attributes have a bit of overlap and the following attributes apply\nto the datastore, email, token_store and queue sections.  Thus the following\nattributes should have SERVICE replaced with one of the aforementioned sections\n(i.e. `node['margarine']['datastore']['type']` instead of \n`node['margarine'][SERVICE]['type']`.\n\n* `node['margarine'][SERVICE]['type']` - Sets the type of service used for the\n  particular component of margarine.  Defaults:\n  * datastore - mongodb\n  * email - smtp\n  * token_store - redis\n  * queue - amqp\n* `node['margarine'][SERVICE]['username']` - Sets the username for the service.\n* `node['margarine'][SERVICE]['password']` - Sets the password for the service.\n* `node['margarine'][SERVICE]['hostname']` - Sets the hostname to connect to\n  for the service.  Default: localhost\n* `node['margarine'][SERVICE]['port']` - Sets the port to connect to for the\n  service.\n\n* `node['margarine']['datastore']['database']` - Sets the database to use for\n  margarine's metadata.\n* `node['margarine']['email']['from']` - Sets the FROM address for outgoing\n  emails that margarine produces.  Default: no-reply@HOSTNAME.\n\nThe last three common attributes set deployment specific information:\n\n* `node['margarine']['urls']['tinge']` - Sets the URL that tinge (the frontend\n  service) runs behind.  Default: http://HOSTNAME.\n* `node['margarine']['urls']['blend']` - Sets the URL endpoint that blend (the\n  API service) runs behind.  Default: http://api.HOSTNAME/v1/.\n* `node['margarine']['security']['uuid']` - Sets the opaque value used in the\n  HTTP Digest mechanism in margarine.  This should be set on an environment for\n  maximum efficiency and allow requests to slide between hosts.  Default: None.\n\nMore attributes are available but not generally necessary for normal operation.\nThese attributes are defined in the attributes directory and should be reviewed\nfor any functionality that might be desirable if the above does not fill a\nparticular need.\n\nRecipes\n-------\n\nThis section outlines how to use the basic recipes in your environment.  The\nrecipes you find in the cookbook not listed here are functional but not\nrecommended for direct usage.\n\n### default\n\nIncludes the necessary recipes to install, configure and start the the specific service.\n\n### component recipes\n\nThe `margarine::tinge`, `margarine::blend`, and `margarine::spread` recipes are\nthe bread of margarine deployments.  The simplest use of margarine is to\nconfigure the appropriate attributes from the above and add one of the\naforementioned component cookbooks to node or role run_lists.\n\nThese recipes include the three basic components of cconfiguration management:\n\n- install (package)\n- configure (template)\n- service (service)\n\n### install\n\nCreates the margarine user/group. Will also include the the install type recipe which is currently `install_pip`.\n\n### install_pip\n\nIncludes required recipes to set up margarine directly from git via `python_pip`. Installs margarine from `node['margarine']['install']['repository']`\n\n### configure\n\nSets up the configuration files and required directories for margarine.  The\nfollowing configuration files are created:\n\n- margarine.ini\n- logging.ini (via include recipe `configure_logging`)\n\nThe logging configuration has been updated to read from the node attributes and\nwill merge with the defaults appropriately (or be overwritten appropriately as\nwell).\n\n### service\n\nSets up the various services based on the `node['margarine']['components']` array. The init files are dropped in (`/etc/init` or `/etc/init.d/` respectively) for the components of margarine installed on the node. This will also start the service(s).\n\nUsage\n-----\n\nUse the recipes and attributes described above to configure margarine for a\nparticular environment.\n\nOften, the only attributes requiring modification are the hostname attributes\nfor the various services and the url attributes.\n\nA great example of configuring this cookbook for a particular environment can\nbe found in margarine itself under the chef directory and the associated\nVagrantfile.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falunduil%2Fmargarine-chef","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falunduil%2Fmargarine-chef","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falunduil%2Fmargarine-chef/lists"}