vytools


Namevytools JSON
Version 0.7.0 PyPI version JSON
download
home_pagehttps://github.com/NateBu/vyengine
SummaryTools for working with vy
upload_time2023-10-03 18:10:32
maintainer
docs_urlNone
authorNate Bunderson
requires_python>=3.6
licenseMIT
keywords vy vytools
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # vytools: Tools for distributed continuous integration 

## Installation and Setup

```bash
pip install vytools
```
or often
```bash
pip3 install vytools
```

To take advantage of autocompletion add the following to your ~/.bashrc file 

```bash
eval "$(register-python-argcomplete vytools)"
```

## Configuration

vytools searches a set of directories for specialized "vy" components. These directories comprise the vy "context" which must be specified before vy can be used. In addition a "jobs" directory will need to be specified. You can also configure "secrets".

### CONTEXT PATHS [required configuration]

Point to directories (comma or semi-colon delimited) which contain the vy components with command line:
```bash
vytools --contexts "/some/path/to/contexts/dir,/path/to/another/contexts/dir"
```

Or in a python script
```python
import vytools
vytools.CONFIG.set('contexts',['/some/path/to/contexts/dir','/path/to/another/contexts/dir'])
```

### SECRETS [optional configuration]

Set a secret id (e.g. SECRETA and SECRETB) or private ssh key (e.g. MYSSHKEY) and point to files containing the docker build secrets associated with those ids or private ssh keys with command line:
```bash
vytools --secret SECRETA="/some/path/to/secrets/dir/secreta.txt" --secret SECRETB="/path/to/anothersecret" --ssh MYSSHKEY=/home/user/.ssh/mysecretkey
```

Or in a python script
```python
import vytools
vytools.CONFIG.set('secrets',{'SECRETA':'/some/path/to/secrets/dir/secreta.txt','SECRETB':'/path/to/anothersecret'})
vytools.CONFIG.set('ssh',{'MYSSHKEY':'/home/user/.ssh/myprivatekey'})
```

The secret files can be used with [docker build secrets](https://docs.docker.com/develop/develop-images/build_enhancements/#new-docker-build-secret-information). For example the above secrets could be used as follows without exposing the secret in the build cache:

```dockerfile
RUN --mount=type=secret,id=SECRETA wget --header="Authorization: Bearer $(cat /run/secrets/SECRETA)" https://some_url/some_artifact.tar.gz
RUN --mount=type=ssh,id=MYSSHKEY git clone git@github.com:username/repo.git
```



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/NateBu/vyengine",
    "name": "vytools",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "vy,vytools",
    "author": "Nate Bunderson",
    "author_email": "nbunderson@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/29/06/9d6f06c80b530555130b7c5e265d74d6eba81fff426fe35a6ab89db40bcd/vytools-0.7.0.tar.gz",
    "platform": null,
    "description": "# vytools: Tools for distributed continuous integration \n\n## Installation and Setup\n\n```bash\npip install vytools\n```\nor often\n```bash\npip3 install vytools\n```\n\nTo take advantage of autocompletion add the following to your ~/.bashrc file \n\n```bash\neval \"$(register-python-argcomplete vytools)\"\n```\n\n## Configuration\n\nvytools searches a set of directories for specialized \"vy\" components. These directories comprise the vy \"context\" which must be specified before vy can be used. In addition a \"jobs\" directory will need to be specified. You can also configure \"secrets\".\n\n### CONTEXT PATHS [required configuration]\n\nPoint to directories (comma or semi-colon delimited) which contain the vy components with command line:\n```bash\nvytools --contexts \"/some/path/to/contexts/dir,/path/to/another/contexts/dir\"\n```\n\nOr in a python script\n```python\nimport vytools\nvytools.CONFIG.set('contexts',['/some/path/to/contexts/dir','/path/to/another/contexts/dir'])\n```\n\n### SECRETS [optional configuration]\n\nSet a secret id (e.g. SECRETA and SECRETB) or private ssh key (e.g. MYSSHKEY) and point to files containing the docker build secrets associated with those ids or private ssh keys with command line:\n```bash\nvytools --secret SECRETA=\"/some/path/to/secrets/dir/secreta.txt\" --secret SECRETB=\"/path/to/anothersecret\" --ssh MYSSHKEY=/home/user/.ssh/mysecretkey\n```\n\nOr in a python script\n```python\nimport vytools\nvytools.CONFIG.set('secrets',{'SECRETA':'/some/path/to/secrets/dir/secreta.txt','SECRETB':'/path/to/anothersecret'})\nvytools.CONFIG.set('ssh',{'MYSSHKEY':'/home/user/.ssh/myprivatekey'})\n```\n\nThe secret files can be used with [docker build secrets](https://docs.docker.com/develop/develop-images/build_enhancements/#new-docker-build-secret-information). For example the above secrets could be used as follows without exposing the secret in the build cache:\n\n```dockerfile\nRUN --mount=type=secret,id=SECRETA wget --header=\"Authorization: Bearer $(cat /run/secrets/SECRETA)\" https://some_url/some_artifact.tar.gz\nRUN --mount=type=ssh,id=MYSSHKEY git clone git@github.com:username/repo.git\n```\n\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Tools for working with vy",
    "version": "0.7.0",
    "project_urls": {
        "Homepage": "https://github.com/NateBu/vyengine"
    },
    "split_keywords": [
        "vy",
        "vytools"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bccd577bd4759eea7b966444b5c6fc74cfe58baceb5df7f0c57b20386c6bff17",
                "md5": "fe6da56434ef865a2aead40515305431",
                "sha256": "792062d1594b2d7becde719bfd58cda6b8ba409136bdc2cfad0f37b8d4e51d88"
            },
            "downloads": -1,
            "filename": "vytools-0.7.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fe6da56434ef865a2aead40515305431",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 39905,
            "upload_time": "2023-10-03T18:10:30",
            "upload_time_iso_8601": "2023-10-03T18:10:30.457243Z",
            "url": "https://files.pythonhosted.org/packages/bc/cd/577bd4759eea7b966444b5c6fc74cfe58baceb5df7f0c57b20386c6bff17/vytools-0.7.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "29069d6f06c80b530555130b7c5e265d74d6eba81fff426fe35a6ab89db40bcd",
                "md5": "e52a89f9afeb651187c84668eaedb6b7",
                "sha256": "fb720396a619073861ad4a7cfaedf93624f38b6ee5f5c27ad0808250f61f8715"
            },
            "downloads": -1,
            "filename": "vytools-0.7.0.tar.gz",
            "has_sig": false,
            "md5_digest": "e52a89f9afeb651187c84668eaedb6b7",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 34287,
            "upload_time": "2023-10-03T18:10:32",
            "upload_time_iso_8601": "2023-10-03T18:10:32.541009Z",
            "url": "https://files.pythonhosted.org/packages/29/06/9d6f06c80b530555130b7c5e265d74d6eba81fff426fe35a6ab89db40bcd/vytools-0.7.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-03 18:10:32",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "NateBu",
    "github_project": "vyengine",
    "github_not_found": true,
    "lcname": "vytools"
}
        
Elapsed time: 0.12313s