{ "info": { "author": "", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Environment :: Console", "Environment :: Plugins", "Intended Audience :: System Administrators", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3 :: Only", "Topic :: Database", "Topic :: Software Development", "Topic :: System", "Topic :: Terminals" ], "description": "bigsudo: Obscene ansible runner\n===============================\n\nBigsudo is an opinionated command line wrapper to ansible-playbook.\n\nFeatures\n--------\n\nIt accepts as first argument: role name, path or url, or playbook path\nor url::\n\n bigsudo role.name # download role and run tasks/main.yml on localhost\n\n bigsudo role.name update # do tasks/update.yml\n bigsudo role.name user@host update # do tasks/update.yml on host\n bigsudo role.name @host update # with current user\n bigsudo role.name @host update foo=bar # custom variable\n bigsudo role.name {\"foo\":\"bar\"} # also accepts json without space\n bigsudo role.name -v # forwards any ansible-playbook argument\n\nNote that bigsudo will automatically call ansible-galaxy install on\nrequirements.yml it finds in any role, recursively on each role that it got\ngalaxy to install. This means that yourlabs.docker/requirements.yml will also\nbe installed by bigsudo if your repo has this requirements.yml::\n\n - src: git+https://yourlabs.io/oss/yourlabs.docker\n\nHow command line parsing works\n------------------------------\n\nTwo golden rules:\n\n- Bigsudo runs with ``--become`` by default (well, it's \"bigsudo\"), to avoid\n this, pass ``--nosudo``. This is just because personnaly I am root and\n forget ``--become`` **a lot** more often than I need ``--nosudo``.\n- **Bigsudo will take bigsudo arguments first**, they don't start with a dash,\n they are either strings without ``=`` which means they are positionnal\n arguments to bigsudo Python functions, either strings with ``=`` which means\n they are keyword arguments to bigsudo commands.\n- From the point where an argument starts with a dash, all arguments are\n forwarded to ansible. **You cannot pass a bigsudo argument after passing an\n argument that starts with a dash**.\n\nAs such, these two calls are equivalent::\n\n bigsudo yourlabs.fqdn -e foo=bar\n bigsudo yourlabs.fqdn foo=bar\n\nBut that will not work::\n\n bigsudo yourlabs.fqdn -v foo=bar\n\nBecause it will generate that command in which ansible will look for\n``foo=bar`` playbook::\n\n ansible-playbook -v foo=bar ...\n\nBigsudo will always print out generated ansible-playbook command lines anyway.\n\nContinuous Deployment with Gitlab-CI\n------------------------------------\n\nUsing gitlab-ci or drone-ci you can define multiline env vars, ie a with\n$STAGING_HOST=deploy@yourstaging and json string for $STAGING_VARS::\n\n {\n \"security_salt\": \"yoursecretsalf\",\n \"mysql_password\": \"...\",\n // ....\n }\n\nThen you can define a staging deploy job as such in .gitlab-ci.yml::\n\n image: yourlabs/python\n\n # example running tasks/update.yml, using the repo as role\n script: bigsudo . update $staging_host $staging_vars\n\n # example running playbook update.yml\n script: bigsudo ./update.yml $staging_host $staging_vars\n\nThis chapter describes the steps to setup the following deploy job in your\n.gitlab-ci.yml::\n\n deploy-staging:\n image: yourlabs/python\n stage: deploy\n\n script:\n - mkdir -p ~/.ssh; echo $staging_key > ~/.ssh/id_ed25519; echo $staging_fingerprint > ~/.ssh/known_hosts; chmod 700 ~/.ssh; chmod 600 ~/.ssh/*\n - bigsudo . $staging_host --extra-vars=$staging_vars\n\n only:\n refs: [master]\n\n environment:\n name: staging\n url: https://staging.example.com\n\nCreate an ed25519 deploy key with the following command::\n\n ssh-keygen -t ed25519 -a 100 -f deploy.key\n\nUpload the deployment key to your target::\n\n ssh-copy-id -i deploy.key user@staging.host\n\nAdd it to the enviromnent variable ``$staging_key`` ::\n\n cat deploy.key\n\nAlso add your host fingerprint in ``$staging_fingerprint``::\n\n ssh-keyscan staging.host\n\nAdd all the variables you need for your tasks in the ``$staging_vars`` env var\nas a JSON dict, as described in the previous chapter.", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://yourlabs.io/oss/bigsudo", "keywords": "automation cli ansible", "license": "", "maintainer": "", "maintainer_email": "", "name": "bigsudo", "package_url": "https://pypi.org/project/bigsudo/", "platform": "", "project_url": "https://pypi.org/project/bigsudo/", "project_urls": { "Homepage": "https://yourlabs.io/oss/bigsudo" }, "release_url": "https://pypi.org/project/bigsudo/0.3.4/", "requires_dist": null, "requires_python": ">=3", "summary": "Obscene ansible runner", "version": "0.3.4" }, "last_serial": 5627923, "releases": { "0.1.2.post1": [ { "comment_text": "", "digests": { "md5": "c88935a1986b14e25e385fcbc268320f", "sha256": "cd2b2529d6e4a3071023e3ae393e78fba56066a71ceaa92551d3be6adebf206e" }, "downloads": -1, "filename": "bigsudo-0.1.2.post1.tar.gz", "has_sig": false, "md5_digest": "c88935a1986b14e25e385fcbc268320f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2188, "upload_time": "2019-03-31T17:16:59", "url": "https://files.pythonhosted.org/packages/c1/44/cf956032d14ee7dcaaaa6349f7f608ec648ef34b0d775a6047f0da9a05b1/bigsudo-0.1.2.post1.tar.gz" } ], "0.1.2.post11": [ { "comment_text": "", "digests": { "md5": "a7af318586d8f10567fb9f28bc41c79c", "sha256": "6d6488e4f517832b29f5dba1004f894d21a73ddc09943a11069fd5a83282c4d7" }, "downloads": -1, "filename": "bigsudo-0.1.2.post11.tar.gz", "has_sig": false, "md5_digest": "a7af318586d8f10567fb9f28bc41c79c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 1557, "upload_time": "2019-03-18T14:31:21", "url": "https://files.pythonhosted.org/packages/dd/69/1341746748c054b7e3a05466e04478e8dee2bdcef313919dfbbf68aee115/bigsudo-0.1.2.post11.tar.gz" } ], "0.1.2.post12": [ { "comment_text": "", "digests": { "md5": "09d5259fcde13eb586db3832ad32dd17", "sha256": "220a73fff85a784bf2c94d4cdc054d9bb070391492047db22c6c6ac6048b361c" }, "downloads": -1, "filename": "bigsudo-0.1.2.post12.tar.gz", "has_sig": false, "md5_digest": "09d5259fcde13eb586db3832ad32dd17", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 1556, "upload_time": "2019-03-18T14:42:32", "url": "https://files.pythonhosted.org/packages/2d/7e/88278088033ad22463e22b6b73c89b78dfbaebd0c7392b26e1cf6fb70755/bigsudo-0.1.2.post12.tar.gz" } ], "0.1.2.post6": [ { "comment_text": "", "digests": { "md5": "86e0b280f8c190648b3e4b27d985ce10", "sha256": "f13bab58c48128fcf3bdb1bb6bbb2f23937230050556e6f0282f35d4c4109791" }, "downloads": -1, "filename": "bigsudo-0.1.2.post6.tar.gz", "has_sig": false, "md5_digest": "86e0b280f8c190648b3e4b27d985ce10", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 1557, "upload_time": "2019-03-31T16:34:04", "url": "https://files.pythonhosted.org/packages/be/e0/4d58aa0a1b43a5cb9558b0636d36a5607b2438ecc434a1f4c0802026c1cb/bigsudo-0.1.2.post6.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "1af746002c451d973ba0ca4cdb211373", "sha256": "d9144f3835c83cea6087856f9bf093b4a97d5009044e2d563a032bf3a2e0a832" }, "downloads": -1, "filename": "bigsudo-0.2.0.tar.gz", "has_sig": false, "md5_digest": "1af746002c451d973ba0ca4cdb211373", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2178, "upload_time": "2019-03-31T17:19:22", "url": "https://files.pythonhosted.org/packages/f0/5e/40907f0cb44366bc56c97164082dbcbfe98c50323757531887e1654b9cb0/bigsudo-0.2.0.tar.gz" } ], "0.2.0.post10": [ { "comment_text": "", "digests": { "md5": "53281fba55d64008cd9c1480c36ab6a9", "sha256": "11a0bf94db1f59c2262c9e147b5a262fa45f6b9bc6ae543e0a0d52de3b71d790" }, "downloads": -1, "filename": "bigsudo-0.2.0.post10.tar.gz", "has_sig": false, "md5_digest": "53281fba55d64008cd9c1480c36ab6a9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2734, "upload_time": "2019-06-18T05:35:50", "url": "https://files.pythonhosted.org/packages/31/ce/d24667bfc45a31e12566d8589955a652479ec59b9b22a05ab5225b14b02a/bigsudo-0.2.0.post10.tar.gz" } ], "0.2.0.post2": [ { "comment_text": "", "digests": { "md5": "d0c259d7260ef03acaa25218364d140c", "sha256": "d886de60df2e6a11fbad4b47a5b864418c5a71eff104260987d8ce589d361a6a" }, "downloads": -1, "filename": "bigsudo-0.2.0.post2.tar.gz", "has_sig": false, "md5_digest": "d0c259d7260ef03acaa25218364d140c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2733, "upload_time": "2019-03-31T21:29:47", "url": "https://files.pythonhosted.org/packages/ab/6b/8c7851ab87659caeaf981a58afe2bd3a7b85a31974d7e90304b05add0136/bigsudo-0.2.0.post2.tar.gz" } ], "0.2.0.post3": [ { "comment_text": "", "digests": { "md5": "bb2ec5cc0e7a545396b9ffc305065791", "sha256": "2784abe76f363d3277a61553acc42cf5768a480d170e7f804d1ba013121ae9b0" }, "downloads": -1, "filename": "bigsudo-0.2.0.post3.tar.gz", "has_sig": false, "md5_digest": "bb2ec5cc0e7a545396b9ffc305065791", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2736, "upload_time": "2019-03-31T21:30:44", "url": "https://files.pythonhosted.org/packages/72/18/a3e8bca2eac38a30f46e69e1b596e70b5d4d0311e9f30dd7b175aba5158f/bigsudo-0.2.0.post3.tar.gz" } ], "0.2.0.post9": [ { "comment_text": "", "digests": { "md5": "ed2311ab21206216213b6de35f5dc779", "sha256": "331318cd0ae3786e83135bfe0213f93149210870bf7c3031f275ddd9f5e7162d" }, "downloads": -1, "filename": "bigsudo-0.2.0.post9.tar.gz", "has_sig": false, "md5_digest": "ed2311ab21206216213b6de35f5dc779", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2731, "upload_time": "2019-06-18T05:33:18", "url": "https://files.pythonhosted.org/packages/72/03/8ac436fb4af83a2afcbe23e5edfaa54e3c457307de007a2ecc9b686c19a3/bigsudo-0.2.0.post9.tar.gz" } ], "0.2.3": [ { "comment_text": "", "digests": { "md5": "10b91497a1b9bbfadbc0185cd053d6c2", "sha256": "6a810463e4b0adc00fe7a81363bcacc5f86872db44aecdef15d47cfad62e42cc" }, "downloads": -1, "filename": "bigsudo-0.2.3.tar.gz", "has_sig": false, "md5_digest": "10b91497a1b9bbfadbc0185cd053d6c2", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 2719, "upload_time": "2019-06-18T06:01:18", "url": "https://files.pythonhosted.org/packages/aa/2b/3495e0db457031460c9d523d55607c776e7e63463483f49ede945115fe32/bigsudo-0.2.3.tar.gz" } ], "0.2.5": [ { "comment_text": "", "digests": { "md5": "be14efc18fa5253cdd864cd22191326b", "sha256": "ca1e2ed08fe46f2311b7d8819c32675c3fe80f8846390d8294ec0360864f9375" }, "downloads": -1, "filename": "bigsudo-0.2.5.tar.gz", "has_sig": false, "md5_digest": "be14efc18fa5253cdd864cd22191326b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 5737, "upload_time": "2019-06-18T07:38:15", "url": "https://files.pythonhosted.org/packages/b9/31/b8c657609b43d55c451f52080c45047e341ee651e954afd98f76b268515f/bigsudo-0.2.5.tar.gz" } ], "0.2.6": [ { "comment_text": "", "digests": { "md5": "2b6dbcc05f39eec02b27983fbf0e7795", "sha256": "f88b004b87da25f2405c3705e06d061dfa1eb66f9d13467c41470e92a4ac4e3d" }, "downloads": -1, "filename": "bigsudo-0.2.6.tar.gz", "has_sig": false, "md5_digest": "2b6dbcc05f39eec02b27983fbf0e7795", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 5777, "upload_time": "2019-06-18T15:20:34", "url": "https://files.pythonhosted.org/packages/6a/7c/77cb3aefe5e52ca37b09d06dbbe6fab93085672f10435b320a52876cb81e/bigsudo-0.2.6.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "056e1194d04614ef4ab3f01e5e2aec3b", "sha256": "30f89849eeb63753e06dff571c47c0b0ad9a438a4c17e4410532733e8b2e2698" }, "downloads": -1, "filename": "bigsudo-0.3.0.tar.gz", "has_sig": false, "md5_digest": "056e1194d04614ef4ab3f01e5e2aec3b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 11253, "upload_time": "2019-07-09T11:24:37", "url": "https://files.pythonhosted.org/packages/44/27/d6b74ca669ff8e044f8c391dd59961ff261b7fe7e77a0156443368e6b315/bigsudo-0.3.0.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "3f8f85b8c3ebcd672849026d4931bfc3", "sha256": "ec5ab512a05505924478d126a2ac72c729721ba288040eaf39a352e78cb9adf2" }, "downloads": -1, "filename": "bigsudo-0.3.3.tar.gz", "has_sig": false, "md5_digest": "3f8f85b8c3ebcd672849026d4931bfc3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 9260, "upload_time": "2019-08-03T10:42:51", "url": "https://files.pythonhosted.org/packages/ea/62/4ae0a901e9c6fd1482895a72854768305499d357963d10c2321bfd6ea20c/bigsudo-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "1122968e7e69309defe5d166c0a366e9", "sha256": "469dafbeb627284a37e099e7914561c6543f997038ebeaf9db07038935ff4676" }, "downloads": -1, "filename": "bigsudo-0.3.4.tar.gz", "has_sig": false, "md5_digest": "1122968e7e69309defe5d166c0a366e9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 9320, "upload_time": "2019-08-03T10:57:05", "url": "https://files.pythonhosted.org/packages/8c/4c/f06989e57ff6dc33f8b37648ece3a9a678af14316e65931487e958780a18/bigsudo-0.3.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1122968e7e69309defe5d166c0a366e9", "sha256": "469dafbeb627284a37e099e7914561c6543f997038ebeaf9db07038935ff4676" }, "downloads": -1, "filename": "bigsudo-0.3.4.tar.gz", "has_sig": false, "md5_digest": "1122968e7e69309defe5d166c0a366e9", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3", "size": 9320, "upload_time": "2019-08-03T10:57:05", "url": "https://files.pythonhosted.org/packages/8c/4c/f06989e57ff6dc33f8b37648ece3a9a678af14316e65931487e958780a18/bigsudo-0.3.4.tar.gz" } ] }