{ "info": { "author": "mete0r", "author_email": "mete0r@sarangbang.or.kr", "bugtrack_url": null, "classifiers": [ "Development Status :: 1 - Planning", "License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)", "Programming Language :: Python :: 2.7" ], "description": "mete0r.recipe.sshtunnel\n=======================\n\na `zc.buildout`_ recipe to make on-demand ssh tunnels i.e. ``ssh -L``,\nusing systemd `socket activation`_.\n\n.. _zc.buildout: https://pypi.python.org/pypi/zc.buildout\n.. _socket activation: http://0pointer.de/blog/projects/socket-activation.html\n\n\nRequirements\n------------\n\n=========== ===========\nLocal side Remote side\n----------- -----------\n``systemd`` ``sshd``\n``ssh`` ``nc``\n=========== ===========\n\n\nUsage example\n-------------\n\n.. attention::\n\n This package is in its planning stage. Everything can be changed at any time.\n\nIn your ``buildout.cfg``, define a `zc.recipe.deployment`_ section::\n\n [buildout]\n parts =\n tunnel\n\n [foo]\n recipe = zc.recipe.deployment\n prefix = FOO-DIR\n etc-user = MY-USERNAME\n user = MY-USERNAME\n ...\n\n.. _zc.recipe.deployment: https://pypi.python.org/pypi/zc.recipe.deployment\n\n\nThen define a tunnel socket in the deployment::\n\n [foo-db]\n recipe = mete0r.recipe.sshtunnel\n deployment = foo\n socket.name = mysql.sock\n ssh.process.user = MY-USERNAME\n ssh.hostname = 192.168.0.2\n remote.bind = 127.0.0.1:3306\n\nOn buildout run, two systemd unit files will be created::\n\n $ ls -l ~/.config/systemd/user/\n foo-db.socket\n foo-db@.service\n\nThen you can start the listening socket::\n\n $ systemctl --user start foo-db.socket\n $ systemctl --user list-sockets --all\n LISTEN UNIT ACTIVATES\n FOO-DIR/var/run/foo/mysql.sock foo-db.socket foo-db@0.service\n\nTest it::\n\n $ mysql --socket=FOO-DIR/var/run/foo/mysql.sock\n\nEnable it to persist::\n\n $ systemctl --user enable foo-db.socket\n\n\nDevelopment environment\n-----------------------\n\nTo setup development environment::\n\n python setup.py virtualenv\n make\n\nChanges\n=======\n\n0.0.1 (2016-11-10)\n------------------\n\n- Fix service unit 'User=' configuration for non-root users.\n\n\n0.0.0 (2016-11-10)\n------------------\n\n- Initial release.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/mete0r/mete0r.recipe.sshtunnel", "keywords": "buildout", "license": "GNU Affero General Public License v3 or later (AGPLv3+)", "maintainer": "", "maintainer_email": "", "name": "mete0r.recipe.sshtunnel", "package_url": "https://pypi.org/project/mete0r.recipe.sshtunnel/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/mete0r.recipe.sshtunnel/", "project_urls": { "Homepage": "https://github.com/mete0r/mete0r.recipe.sshtunnel" }, "release_url": "https://pypi.org/project/mete0r.recipe.sshtunnel/0.0.1/", "requires_dist": null, "requires_python": "", "summary": "a zc.buildout recipe to make on-demand ssh tunnel", "version": "0.0.1" }, "last_serial": 2452112, "releases": { "0.0.0": [ { "comment_text": "", "digests": { "md5": "c91392111458e41be7cdc8961b92b6b7", "sha256": "3809f6187309d9516ba444dfe13a8ddd033cd1c9acd764b75fac8cb144a3761b" }, "downloads": -1, "filename": "mete0r.recipe.sshtunnel-0.0.0.tar.gz", "has_sig": false, "md5_digest": "c91392111458e41be7cdc8961b92b6b7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75684, "upload_time": "2016-11-09T23:19:47", "url": "https://files.pythonhosted.org/packages/c0/92/38ac90956507a9c21c1c20bb14fc4693b84ccb912a236fbd06a4a331d82e/mete0r.recipe.sshtunnel-0.0.0.tar.gz" } ], "0.0.1": [ { "comment_text": "", "digests": { "md5": "931361d53c30667a6b0ba308d3aa6bc1", "sha256": "00fb8686467609ee2f9742d5a8db8845654e4d4c4bb83afd597143e7bebad15f" }, "downloads": -1, "filename": "mete0r.recipe.sshtunnel-0.0.1.tar.gz", "has_sig": false, "md5_digest": "931361d53c30667a6b0ba308d3aa6bc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75790, "upload_time": "2016-11-10T00:02:45", "url": "https://files.pythonhosted.org/packages/1b/60/4d0b2fc045a7bd5967155bdd93b3cb72609f826ea3f40f244f1deca9c361/mete0r.recipe.sshtunnel-0.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "931361d53c30667a6b0ba308d3aa6bc1", "sha256": "00fb8686467609ee2f9742d5a8db8845654e4d4c4bb83afd597143e7bebad15f" }, "downloads": -1, "filename": "mete0r.recipe.sshtunnel-0.0.1.tar.gz", "has_sig": false, "md5_digest": "931361d53c30667a6b0ba308d3aa6bc1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 75790, "upload_time": "2016-11-10T00:02:45", "url": "https://files.pythonhosted.org/packages/1b/60/4d0b2fc045a7bd5967155bdd93b3cb72609f826ea3f40f244f1deca9c361/mete0r.recipe.sshtunnel-0.0.1.tar.gz" } ] }