{ "info": { "author": "Dmitry Orlov ", "author_email": "me@mosquito.su", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "Programming Language :: Python" ], "description": "Lumper\n======\n\nDistributed building system for docker. Will pull repo from the github by tag-webhook and build it by Dockerfile.\n\nFeatures\n--------\n\n#. Distributed system. Any part might be working on different hosts.\n#. Email notifications (success and errors).\n#. Pushing into public or private docker registry.\n#. Building in queue.\n#. Emailing reports to administrator about exceptions.\n#. TLS client auth for docker daemon.\n#. SMTP authentication\n#. Building by webhook tag from github (*You might be author of the extension for other services through pull-request ;-)*.\n#. Multiple installations (thanks to RMQ vhosts)\n\nRequirements\n------------\n\n* Python >=2.7 (>3.4 need testing).\n* RabbitMQ server. Provide communication for components.\n\n\nParts\n-----\n\nThe system consists of 3 parts\n\n* WEB Server. Based on tornado http server for accepting webhooks\n* Worker. Building daemon listen AMQP\n* Mailer. Mailing daemon. Provides notifying about build results.\n\n\nInstallation\n------------\n\n#. Install Rabbitmq Server\n#. pip install lumper\n\nUsage\n-----\n\nThe lumper provides one executable file **lumper**. You might run this with option --help (or -h)::\n\n $ lumper --help\n usage: lumper [-h] {server,worker,mailer} ...\n\n positional arguments:\n {server,worker,mailer}\n server Run http backend\n worker Run in worker mode\n mailer Run as mailer delivery worker\n\n optional arguments:\n -h, --help show this help message and exit\n\n Notice: exec \"lumper --help\" for command options\n\n\nCommand line configuration\n++++++++++++++++++++++++++\n\nAnd you might see help about any modes. For web server::\n\n $ lumper server --help\n usage: lumper server [-h] [--config CONFIG] [--gen-config] [-a ADDRESS]\n [-p PORT] [--secret COOKIE_SECRET] [--gzip] [--debug]\n [--logging LOGGING] [--github-secret GITHUB_SECRET]\n [-A RMQ_ADDRESS] [-P RMQ_PORT] [-H RMQ_VHOST]\n [--user RMQ_USER] [--password RMQ_PASSWORD]\n\n optional arguments:\n -h, --help show this help message and exit\n --config CONFIG Load configuration from file\n --gen-config Create example of the config_file.json\n\n Server options:\n -a ADDRESS, --address ADDRESS\n Listen this address\n -p PORT, --port PORT Listen this port\n --secret COOKIE_SECRET\n Cookie secret\n --gzip Gzip HTTP responses\n --debug Debugging mode\n --logging LOGGING Logging level\n --github-secret GITHUB_SECRET\n Github webhook's secret\n -A RMQ_ADDRESS, --rmq-address RMQ_ADDRESS\n RMQ host address\n -P RMQ_PORT, --rmq-port RMQ_PORT\n RMQ host port\n -H RMQ_VHOST, --vhost RMQ_VHOST\n RMQ virtual host\n --user RMQ_USER RMQ virtual host\n --password RMQ_PASSWORD\n RMQ virtual host\n\n\nFor worker::\n\n $ lumper worker --help\n usage: lumper worker [-h] [--config CONFIG] [--gen-config] [--logging LOGGING]\n [-a AMQP_ADDRESS] [-p AMQP_PORT] [-H AMQP_VHOST]\n [-U AMQP_USER] [-P AMQP_PASSWORD]\n [--docker-url DOCKER_URL] [--docker-tls]\n [--docker-ca DOCKER_CA_CERT]\n [--docker-cert DOCKER_CLIENT_CERT]\n [--docker-key DOCKER_CLIENT_KEY] [--docker-tls-strict]\n [--docker-registry DOCKER_REGISTRY]\n [--docker-ssl-registry] [--docker-publish]\n\n optional arguments:\n -h, --help show this help message and exit\n --config CONFIG Load configuration from file\n --gen-config Create example of the config_file.json\n\n Main options:\n --logging LOGGING Logging level\n\n RabbitMQ options:\n -a AMQP_ADDRESS, --address AMQP_ADDRESS\n RMQ host address\n -p AMQP_PORT, --port AMQP_PORT\n RMQ host port\n -H AMQP_VHOST, --vhost AMQP_VHOST\n RMQ virtual host\n -U AMQP_USER, --user AMQP_USER\n RMQ username\n -P AMQP_PASSWORD, --password AMQP_PASSWORD\n RMQ password\n\n Docker options:\n --docker-url DOCKER_URL\n Docker daemon url [\"unix:///var/run/docker.sock\"]\n --docker-tls Set when a docker daemon use TLS\n --docker-ca DOCKER_CA_CERT\n TLS certificate authority\n --docker-cert DOCKER_CLIENT_CERT\n TLS client certificate\n --docker-key DOCKER_CLIENT_KEY\n TLS client private key\n --docker-tls-strict Strict verification server certificate\n --docker-registry DOCKER_REGISTRY\n Set if you have a private registry\n --docker-ssl-registry\n The private registry use ssl\n --docker-publish Set if you want push images to registry\n\nAnd for mailer::\n\n $ lumper mailer --help\n usage: lumper mailer [-h] [--config CONFIG] [--gen-config] [--logging LOGGING]\n [-a AMQP_ADDRESS] [-p AMQP_PORT] [-H AMQP_VHOST]\n [-U AMQP_USER] [-P AMQP_PASSWORD] [--smtp-host SMTP_HOST]\n [--smtp-port SMTP_PORT] [--smtp-user SMTP_USER]\n [--smtp-password SMTP_PASSWORD] [--smtp-tls]\n [--smtp-sender SMTP_SENDER] [--mail-map MAIL_MAP]\n [--admin-mail ADMIN_MAIL]\n\n optional arguments:\n -h, --help show this help message and exit\n --config CONFIG Load configuration from file\n --gen-config Create example of the config_file.json\n\n Main options:\n --logging LOGGING Logging level\n\n RabbitMQ options:\n -a AMQP_ADDRESS, --address AMQP_ADDRESS\n RMQ host address\n -p AMQP_PORT, --port AMQP_PORT\n RMQ host port\n -H AMQP_VHOST, --vhost AMQP_VHOST\n RMQ virtual host\n -U AMQP_USER, --user AMQP_USER\n RMQ username\n -P AMQP_PASSWORD, --password AMQP_PASSWORD\n RMQ password\n\n SMTP options:\n --smtp-host SMTP_HOST\n Server host\n --smtp-port SMTP_PORT\n Server port\n --smtp-user SMTP_USER\n Authentication username. Do auth if set.\n --smtp-password SMTP_PASSWORD\n Password.\n --smtp-tls Use TLS.\n --smtp-sender SMTP_SENDER\n Sender of messages [default: lumper@localhost]\n\n Delivery options:\n --mail-map MAIL_MAP github user to E-mail map json file with hash.\n --admin-mail ADMIN_MAIL\n admin email for unknown users [default: root@localhost]\n\n\nConfig files\n++++++++++++\n\nYou might generate and save configuration from the command line::\n\n $ lumper mailer --gen-conf\n {\n \"admin_mail\": \"root@localhost\",\n \"amqp_address\": \"localhost\",\n \"amqp_password\": null,\n \"amqp_port\": 5672,\n \"amqp_user\": null,\n \"amqp_vhost\": \"/\",\n \"logging\": null,\n \"mail_map\": null,\n \"smtp_host\": \"localhost\",\n \"smtp_password\": null,\n \"smtp_port\": 25,\n \"smtp_sender\": \"lumper@localhost\",\n \"smtp_tls\": false,\n \"smtp_user\": null\n }\n\nAnd load it with --config option. E.g **lumper mailer --config /etc/lumper/mailer.json**\n\nAnd convert your command line to config-file::\n\n $ lumper mailer --smtp-host mail.google.com --gen-conf\n {\n ...\n \"smtp_host\": \"mail.google.com\",\n ...\n }\n\nNotice: **Option --gen-conf must be defined in the end.**", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/mosquito/lumper", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "lumper", "package_url": "https://pypi.org/project/lumper/", "platform": "all", "project_url": "https://pypi.org/project/lumper/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/mosquito/lumper" }, "release_url": "https://pypi.org/project/lumper/0.3.0/", "requires_dist": null, "requires_python": null, "summary": "Containers builder for docker.", "version": "0.3.0" }, "last_serial": 1594665, "releases": { "0.2.10": [ { "comment_text": "", "digests": { "md5": "127f7eab16d18a7a6f53208ece2ff7bc", "sha256": "22554d34c91ec331818d2429cd7f2425298be112dc7d69b7974e8b5c590a4b5d" }, "downloads": -1, "filename": "lumper-0.2.10.tar.gz", "has_sig": false, "md5_digest": "127f7eab16d18a7a6f53208ece2ff7bc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13209, "upload_time": "2015-02-23T00:24:56", "url": "https://files.pythonhosted.org/packages/b9/e5/b85bdd770323c63d70a5e865c27157ecc49f53f408d7f702f9575ff8e99f/lumper-0.2.10.tar.gz" } ], "0.2.11": [ { "comment_text": "", "digests": { "md5": "7e01d67a6ada0713a4236b89e8bbe40a", "sha256": "29ea0372c9730217ef47b5a828bbcdccbc6f6a07acb983f5634c1fa8c6d32e24" }, "downloads": -1, "filename": "lumper-0.2.11.tar.gz", "has_sig": false, "md5_digest": "7e01d67a6ada0713a4236b89e8bbe40a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13206, "upload_time": "2015-02-23T00:31:49", "url": "https://files.pythonhosted.org/packages/7e/66/7f1ded7eb9f6d13e7503ee9b5cf36d2fe8b88a8bf65fbd98e360255a07b7/lumper-0.2.11.tar.gz" } ], "0.2.12": [ { "comment_text": "", "digests": { "md5": "664a76ca06d9f2b63a92d40b6e30563b", "sha256": "232ea5d430cc750201c420c9d13312d20accc389a3d28bec2d247ded23ebe213" }, "downloads": -1, "filename": "lumper-0.2.12.tar.gz", "has_sig": false, "md5_digest": "664a76ca06d9f2b63a92d40b6e30563b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13212, "upload_time": "2015-02-23T00:34:27", "url": "https://files.pythonhosted.org/packages/2d/d1/6468a9679c56b2ebe6ab08b801d263153538440149323eca5ac8594ed855/lumper-0.2.12.tar.gz" } ], "0.2.14": [ { "comment_text": "", "digests": { "md5": "575ed471bfab30ab351d3b887dc97f4d", "sha256": "e9d86c1456a5e3c5157dfc88abca04dcdf485a8e506f4c39aaf0974424f6c904" }, "downloads": -1, "filename": "lumper-0.2.14.tar.gz", "has_sig": false, "md5_digest": "575ed471bfab30ab351d3b887dc97f4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13260, "upload_time": "2015-03-02T15:06:37", "url": "https://files.pythonhosted.org/packages/65/96/42200fd2686ac54de60decf2f2d2d74f216542102384ae1c49a9d858524e/lumper-0.2.14.tar.gz" } ], "0.2.15": [ { "comment_text": "", "digests": { "md5": "66f99d4d0441c0954f69a3d8f4253ec2", "sha256": "244e8f918096343c811ebd5a4ce8a26c555e61f04b55df43343a279bacb4fd1f" }, "downloads": -1, "filename": "lumper-0.2.15.tar.gz", "has_sig": false, "md5_digest": "66f99d4d0441c0954f69a3d8f4253ec2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13263, "upload_time": "2015-03-02T15:14:14", "url": "https://files.pythonhosted.org/packages/30/b2/7b7e2525bf020db3c10d3ea22e0103ee958238325953a4b2bdee6d761348/lumper-0.2.15.tar.gz" } ], "0.2.16": [ { "comment_text": "", "digests": { "md5": "2ee3ec4667a7c8d08c83a3021fc67161", "sha256": "7c5006472bafc83f01db7f2b81f55555dcc6b5cf9a4072df57258293f355c470" }, "downloads": -1, "filename": "lumper-0.2.16.tar.gz", "has_sig": false, "md5_digest": "2ee3ec4667a7c8d08c83a3021fc67161", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13778, "upload_time": "2015-03-11T12:44:48", "url": "https://files.pythonhosted.org/packages/8f/27/1b63c3dccc6060c3631956e4e8b2b991e822521970db3ebd56db78a403b5/lumper-0.2.16.tar.gz" } ], "0.2.17": [ { "comment_text": "", "digests": { "md5": "4308f6207b396871fb56ab27b6cc213e", "sha256": "1ca860639930a2ee9cab9dd90d426cb5444ddca8dd486fb89b13422456193868" }, "downloads": -1, "filename": "lumper-0.2.17.tar.gz", "has_sig": false, "md5_digest": "4308f6207b396871fb56ab27b6cc213e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13780, "upload_time": "2015-03-13T15:25:35", "url": "https://files.pythonhosted.org/packages/ea/c4/3ce91401311cf2bcb0c8af9362a994eeb3dc1796a610da8c7c28cbfe8365/lumper-0.2.17.tar.gz" } ], "0.2.18": [ { "comment_text": "", "digests": { "md5": "8bcc30394df4e6d64ebc0a43eedb3198", "sha256": "855f4f66144e9c808436630d3b4344a3e570937ea6d34f965eb66e0ce2e6001f" }, "downloads": -1, "filename": "lumper-0.2.18.tar.gz", "has_sig": false, "md5_digest": "8bcc30394df4e6d64ebc0a43eedb3198", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13818, "upload_time": "2015-03-14T12:43:21", "url": "https://files.pythonhosted.org/packages/7a/8c/3428c270e367985dfefdad79e9591be514ab7fe76253d4461c74d4c303cc/lumper-0.2.18.tar.gz" } ], "0.2.19": [ { "comment_text": "", "digests": { "md5": "bbc3c5ff0e0178011dcf5deefcf212d8", "sha256": "7b03ac43a811ef97fc1d6c7d1b751d3c6a6418c2622235f8ac4d54fdb3affed0" }, "downloads": -1, "filename": "lumper-0.2.19.tar.gz", "has_sig": false, "md5_digest": "bbc3c5ff0e0178011dcf5deefcf212d8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13840, "upload_time": "2015-03-27T19:31:58", "url": "https://files.pythonhosted.org/packages/5d/5c/ef69640d589a6f1fdb3c7f90afc7369258e0183d361ede339f938e151a90/lumper-0.2.19.tar.gz" } ], "0.2.21": [ { "comment_text": "", "digests": { "md5": "82fefcda033a3b0b2bb5976780423da4", "sha256": "dadbe503f970ea94c1e3e36ac57e74e4af3609a1d0d0b4c18a7aa2bdad56dcbf" }, "downloads": -1, "filename": "lumper-0.2.21.tar.gz", "has_sig": false, "md5_digest": "82fefcda033a3b0b2bb5976780423da4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13839, "upload_time": "2015-04-21T13:15:07", "url": "https://files.pythonhosted.org/packages/da/bb/e9d32572bd883e0c77e58112dc1377705313d1008add7925fd4b9306cf60/lumper-0.2.21.tar.gz" } ], "0.2.23": [ { "comment_text": "", "digests": { "md5": "c1fab5e86ade3716cc94c1fee609a9ec", "sha256": "281b468070fb948625389cad112618934bea4480ecfe075e31cf9641d414b7bf" }, "downloads": -1, "filename": "lumper-0.2.23.tar.gz", "has_sig": false, "md5_digest": "c1fab5e86ade3716cc94c1fee609a9ec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14061, "upload_time": "2015-04-21T14:58:19", "url": "https://files.pythonhosted.org/packages/26/f4/6caa34c859711d6bfde2c3a772168c2d9e4edac3d83a0d0c562a12569434/lumper-0.2.23.tar.gz" } ], "0.2.24": [ { "comment_text": "", "digests": { "md5": "69221270268098c06f811e4a3d749b9e", "sha256": "bffa1788b4f05c0784fd08c42cf61809e8c9b1cacfa85cfed3641e853338c21c" }, "downloads": -1, "filename": "lumper-0.2.24.tar.gz", "has_sig": false, "md5_digest": "69221270268098c06f811e4a3d749b9e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14123, "upload_time": "2015-04-21T15:11:45", "url": "https://files.pythonhosted.org/packages/cb/bf/7ec738e267631eb65ae55b08d8a18b880bbc69edb3fb50db6c4ec9f76785/lumper-0.2.24.tar.gz" } ], "0.2.25": [ { "comment_text": "", "digests": { "md5": "04bf6e95300fe64aee3e941fe9b20b8a", "sha256": "14071aaaa643604a539256686c13759d1a0a97cba17fe1e22b50319fad61a463" }, "downloads": -1, "filename": "lumper-0.2.25.tar.gz", "has_sig": false, "md5_digest": "04bf6e95300fe64aee3e941fe9b20b8a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14147, "upload_time": "2015-04-22T16:02:52", "url": "https://files.pythonhosted.org/packages/9b/2a/4a60bab7529ebc44c6d01e0fb26724a098697ae15a3930fdea8ffa84b9a3/lumper-0.2.25.tar.gz" } ], "0.2.7": [ { "comment_text": "", "digests": { "md5": "f3b63ac007e032ff31a569717cce0e99", "sha256": "43144570c188848fe6d3a9f2f67e8c93ae6b222991ee2343bae99140c1f756b8" }, "downloads": -1, "filename": "lumper-0.2.7.tar.gz", "has_sig": false, "md5_digest": "f3b63ac007e032ff31a569717cce0e99", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13220, "upload_time": "2015-02-23T00:11:26", "url": "https://files.pythonhosted.org/packages/30/cd/0bb32cfce22a82459db93a1b7e07901b5338b42fdaf451a4fe96d2958746/lumper-0.2.7.tar.gz" } ], "0.2.8": [ { "comment_text": "", "digests": { "md5": "836b4aff9df144fb4df145594e68d951", "sha256": "41a44f2c09283f9cd68bfe9866baac3cafb1a8216f21aa82f9e9034404b5b60e" }, "downloads": -1, "filename": "lumper-0.2.8.tar.gz", "has_sig": false, "md5_digest": "836b4aff9df144fb4df145594e68d951", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13216, "upload_time": "2015-02-23T00:16:20", "url": "https://files.pythonhosted.org/packages/c8/09/d3f8838b3a5296afcc87b1ae5cbe73f583ef7667b3f7ba4729cb6b64f49e/lumper-0.2.8.tar.gz" } ], "0.2.9": [ { "comment_text": "", "digests": { "md5": "9aa907feca964526f1af018f5653c74b", "sha256": "07c866ed3e717e69536a8d8297b4de445bdef8d05a917f0e14acc4b392392771" }, "downloads": -1, "filename": "lumper-0.2.9.tar.gz", "has_sig": false, "md5_digest": "9aa907feca964526f1af018f5653c74b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13210, "upload_time": "2015-02-23T00:18:52", "url": "https://files.pythonhosted.org/packages/eb/11/e8401b468ec74993ac2976038273023925423a1bfd13881622cb94564626/lumper-0.2.9.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "b8b1ccd9ce36e9315e97e31c542fb7aa", "sha256": "09efb02ee3c303cf61d27b98c2fcd2f8e3432cc62ed22dec73ea364019d0aa27" }, "downloads": -1, "filename": "lumper-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b8b1ccd9ce36e9315e97e31c542fb7aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14151, "upload_time": "2015-06-16T15:53:59", "url": "https://files.pythonhosted.org/packages/ae/53/7b70b25a0977c64d1ce5ca625200f0e44f5ee53900e73f57a7cca57428e8/lumper-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b8b1ccd9ce36e9315e97e31c542fb7aa", "sha256": "09efb02ee3c303cf61d27b98c2fcd2f8e3432cc62ed22dec73ea364019d0aa27" }, "downloads": -1, "filename": "lumper-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b8b1ccd9ce36e9315e97e31c542fb7aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14151, "upload_time": "2015-06-16T15:53:59", "url": "https://files.pythonhosted.org/packages/ae/53/7b70b25a0977c64d1ce5ca625200f0e44f5ee53900e73f57a7cca57428e8/lumper-0.3.0.tar.gz" } ] }