{"id":16950109,"url":"https://github.com/tailhook/vagga-docker","last_synced_at":"2025-10-20T02:44:18.505Z","repository":{"id":66116458,"uuid":"62003138","full_name":"tailhook/vagga-docker","owner":"tailhook","description":"This is a prototype which brings vagga as the first-class tool to OS X and (possibly) windows through docker's layer of compatibility","archived":false,"fork":false,"pushed_at":"2018-08-06T11:40:45.000Z","size":27,"stargazers_count":10,"open_issues_count":5,"forks_count":5,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-01-26T07:07:29.352Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tailhook.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-06-26T18:43:42.000Z","updated_at":"2019-08-21T23:22:14.000Z","dependencies_parsed_at":"2023-02-20T18:00:56.725Z","dependency_job_id":null,"html_url":"https://github.com/tailhook/vagga-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fvagga-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fvagga-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fvagga-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailhook%2Fvagga-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tailhook","download_url":"https://codeload.github.com/tailhook/vagga-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244776707,"owners_count":20508571,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-10-13T21:56:50.793Z","updated_at":"2025-10-20T02:44:13.471Z","avatar_url":"https://github.com/tailhook.png","language":"Dockerfile","readme":"===============\nVagga in Docker\n===============\n\n:Status: PoC / `tracking issue`_\n\nThis is a prototype which brings vagga as the first-class tool to OS X and\n(possibly) windows through docker's layer of compatibility.\n\nAlso see `Running in Gitlab`_\n\n.. _tracking issue: https://github.com/tailhook/vagga-docker/issues/1\n\nInstallation\n============\n\nCurrently it's (you need python \u003e= 3.4)::\n\n    $ pip3 install git+http://github.com/tailhook/vagga-docker\n    [ .. snip .. ]\n    $ vagga\n    Available commands:\n        run\n\n.. _docker-for-mac:\n\n**WARNING:** ensure that docker that you're running is docker for mac, and\nnot any other docker running by docker-machine or vagrant. Probably do this\nby running::\n\n    printenv DOCKER_HOST\n\nIf this returns non-empty string run::\n\n    unset DOCKER_HOST\n\nBut this only cleans environment **for current shell**. So you must fix your\ndocker host where it is defined.\n\nFor the reference, error usually looks like this::\n\n   Config not found in path \"/work\"\n\n(while the config actually there, basically it means docker doesn't see the\nvolume from your host system)\n\n\nShort FAQ\n=========\n\n**Why is it in python?** For a quick prototype. It will be integrated into\nvagga as soon as is proven to be useful. Or may be we leave it in python if\nit would be easier to install.\n\n**So should I try this version or wait it integrated in vagga?** Definitely you\nshould. The integrated version will work the same.\n\n**Why this uses `docker run` instead of API?** We don't want to reimplement\nwhole tty handling that is done by docker. If it is proven to be bad descision\nwe will revisit it later. Also we use API for other things that are not\nrunning anything.\n\n**Is there any difference between this and vagga on linux?** There are two key\ndifferences: you need to export ports that you want to be accessible from the\nhost system. And we keep files of a container filesystem inside a docker\nvolume (`the reasons are here`__) However, you can export some part of the\nfilesystem that is non-sensible for ownership semantics, like this:\n\n__ https://github.com/tailhook/vagga/issues/269\n\n.. code-block:: yaml\n\n    containers:\n      django:\n        setup:\n        - !Alpine v3.3\n        - !Py3Install ['Django \u003e=1.9,\u003c1.10']\n        _expose-dirs:\n        - /usr/lib/python3.5\n\n    commands:\n      run: !Command\n        description: Start the django development server\n        container: django\n        _expose-ports: [8080]\n        run: python3 manage.py runserver\n\n**Please report if you find any other differences using the tool**. Ah, but\nexact text of some error messages may differ, don't be too picky :)\n\n**Why `_expose-ports` and `_expose-dirs` are underscored?** This is a standard\nway to add extension metadata or user-defined things in vagga.yaml. We will\nremove the underscores as soon as integrate it into main code. Fixing\nunderscores isn't going to be a big deal.\n\n**Will linux users add `_expose-ports` and `_expose-dirs` for me?** Frankly,\ncurrently probably now. But it's small change that probably noone will need\nto delete. In the future we want to apply ``seccomp`` filters to allow to bind\nonly exposed ports on linux too. And ``expose-dirs`` will be used to filter\ndirectories that will not be optimized for disk usage, so IDE see them as a\nnormal directory.\n\n(It's also cool project to detect ``expose-dirs`` in vagga metadata and add\nthem to the project files automatically. But I'm not IDE guy, so I'm not sure\nif this is possible, or viable)\n\n**What will be changed when we integrate this into vagga?** We will move more\noperations from docker into host system. For example list of commands will\nbe executed by mac os. Also ``vagga _list``, some parts of ``vagga _clean`` and\nso on. But we will do our best to keep semantics exactly the same.\n\n\nRunning in Gitlab\n=================\n\nTo run a container on gitlab CI's docker infrastructure,\nuse image ``tailhook/vagga:v0.8.1``, like this:\n\n.. code-block:: yaml\n\n    image: tailhook/vagga:v0.8.1\n\n    test:\n      script:\n      - vagga test\n\nOr check out `example-project \u003chttps://gitlab.com/tailhook/test_ci\u003e`_\n\n\nLICENSE\n=======\n\nThis project has been placed into the public domain.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailhook%2Fvagga-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftailhook%2Fvagga-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailhook%2Fvagga-docker/lists"}