{ "info": { "author": "GRyCAP - Universitat Politecnica de Valencia", "author_email": "serisgal@i3m.upv.es", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3" ], "description": "# OneTrigger\n\n[![Docker Build Status](https://img.shields.io/docker/cloud/build/grycap/onetrigger.svg)](https://hub.docker.com/r/grycap/onetrigger/) [![Build Status](https://travis-ci.org/grycap/onetrigger.svg?branch=master)](https://travis-ci.org/grycap/onetrigger) [![PyPi version](https://img.shields.io/pypi/v/onetrigger.svg)](https://pypi.org/project/onetrigger/) [![License](https://img.shields.io/badge/license-Apache%202-blue.svg)](https://www.apache.org/licenses/LICENSE-2.0)\n\nA command-line tool to detect Onedata file events in order to trigger a webhook.\n\n## Installation\n\nOneTrigger requires `python3` and the `python3-pip` tool. A package is available at the Python Package Index (PyPI) under the name `onetrigger`, so you can easily install it executing:\n\n```bash\npip3 install onetrigger\n```\n\nYou can also download a binary in the [releases](https://github.com/grycap/onetrigger/releases) section.\n\n## Usage\n\nParameters can be passed via arguments or environment variables. All available commands and his parameters are described below:\n\n### Command `run`\n\nSubscribe to file events.\n\n| Argument | Environment variable | Description |\n|--------------------------------------|------------------------|-----------------------------------------------------------------------------------|\n| `-H HOST`, `--oneprovider-host HOST` | `ONEPROVIDER_HOST` | Oneprovider hostname or IP. |\n| `-t TOKEN`, `--token TOKEN` | `ONEDATA_ACCESS_TOKEN` | Onedata access token. |\n| `-s SPACE`, `--space SPACE` | `ONEDATA_SPACE` | Onedata space. |\n| `-w WEBHOOK`, `--webhook WEBHOOK` | `ONETRIGGER_WEBHOOK` | Webhook to send events. |\n| `-f FOLDER`, `--folder FOLDER` | `ONEDATA_SPACE_FOLDER` | Folder to listen events (Optional). |\n| `-i`, `--insecure` | `ONEPROVIDER_INSECURE` | Connect to a provider without a trusted certificate (Optional). Default: `False`. |\n\n### Command `list-spaces`\n\nList your available spaces in Oneprovider.\n\n| Argument | Environment variable | Description |\n|--------------------------------------|------------------------|-----------------------------------------------------------------------------------|\n| `-H HOST`, `--oneprovider-host HOST` | `ONEPROVIDER_HOST` | Oneprovider hostname or IP. |\n| `-t TOKEN`, `--token TOKEN` | `ONEDATA_ACCESS_TOKEN` | Onedata access token. |\n| `-i`, `--insecure` | `ONEPROVIDER_INSECURE` | Connect to a provider without a trusted certificate (Optional). Default: `False`. |\n\n### Examples\n\n#### Subscribing to file events\n\n```bash\nonetrigger run -H example.com -t xxxxx -s my-onedata-space -w http://example.com/webhook -f my-folder\n```\n\n#### Deploy on Kubernetes\n\nOneTrigger can be deployed on Kubernetes using our public Docker Hub image [grycap/onetrigger](https://hub.docker.com/r/grycap/onetrigger) by applying a YAML file like this:\n\n```yaml\napiVersion: apps/v1beta1\nkind: Deployment\nmetadata:\n name: onetrigger\nspec:\n replicas: 1\n spec:\n containers:\n - name: onetrigger\n image: grycap/onetrigger:latest\n imagePullPolicy: Always\n env:\n - name: ONEPROVIDER_HOST\n value: \"example.com\"\n - name: ONEDATA_ACCESS_TOKEN\n value: \"xxxxx\"\n - name: ONEDATA_SPACE\n value: \"my-onedata-space\"\n - name: ONETRIGGER_WEBHOOK\n value: \"http://example.com/webhook\"\n - name: ONEDATA_SPACE_FOLDER\n value: \"my-folder\"\n```\n\n## Event format\n\nWhen a new file is created inside the space (or the specified folder) a JSON formatted event is sent to the webhook following the structure of the example shown below:\n\n```json\n{\n \"Key\": \"/my-onedata-space/files/file.txt\",\n \"Records\": [\n {\n \"objectKey\": \"file.txt\",\n \"objectId\": \"0000034500046EE9C67756964233836666330363031303664303964623739666562393165336632306232613736236664323861626330656664643566313938313333336633356232333838623137\",\n \"eventTime\": \"2019-02-07T09:51:04.347823\",\n \"eventSource\": \"OneTrigger\"\n }\n ]\n}\n```", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/grycap/onetrigger", "keywords": "", "license": "Apache 2.0", "maintainer": "", "maintainer_email": "", "name": "onetrigger", "package_url": "https://pypi.org/project/onetrigger/", "platform": "", "project_url": "https://pypi.org/project/onetrigger/", "project_urls": { "Homepage": "https://github.com/grycap/onetrigger" }, "release_url": "https://pypi.org/project/onetrigger/1.0.4/", "requires_dist": null, "requires_python": "", "summary": "Trigger webhooks by Onedata events", "version": "1.0.4" }, "last_serial": 5312516, "releases": { "1.0.1": [ { "comment_text": "", "digests": { "md5": "315ecdf248e92aa5c5f8ef7eaff871d0", "sha256": "c7bc4b0021e47fc638b98d6ef38dc5189bd97433a03591bd4951e7899df751f4" }, "downloads": -1, "filename": "onetrigger-1.0.1.tar.gz", "has_sig": false, "md5_digest": "315ecdf248e92aa5c5f8ef7eaff871d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5936, "upload_time": "2019-02-08T15:35:07", "url": "https://files.pythonhosted.org/packages/8f/55/ab6e5f8200eccc1d915c2bbdfe57491cf130b9b319dd951c42ea33ae046a/onetrigger-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "a5143768b60482fcb1b640b202f1461c", "sha256": "1014cdf8132d6a2fa8aa818e170b8460d24df7728c9d8848374f4cc8de0fc9d9" }, "downloads": -1, "filename": "onetrigger-1.0.2.tar.gz", "has_sig": false, "md5_digest": "a5143768b60482fcb1b640b202f1461c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5932, "upload_time": "2019-02-11T08:37:09", "url": "https://files.pythonhosted.org/packages/3d/1d/6a5684ce341587dfef51f803d17729ab36d4a17c0460af45adcec22d3cf2/onetrigger-1.0.2.tar.gz" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "c92bf366b46d326b3df57f502c2e176e", "sha256": "b66c71546bc5f907ababa37ed3a2e2b687aa1634f126b0e7f91f4d3071838b34" }, "downloads": -1, "filename": "onetrigger-1.0.3.tar.gz", "has_sig": false, "md5_digest": "c92bf366b46d326b3df57f502c2e176e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6165, "upload_time": "2019-03-08T12:27:21", "url": "https://files.pythonhosted.org/packages/fe/b0/d9a2c165a30961616e9823db40f84f9a19bb1149b002a4e82a087db03f0e/onetrigger-1.0.3.tar.gz" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "bab527d37a95b24a3b5fc1ec9208e382", "sha256": "8337cecbec6ba8c946bf4398b897dcc49a48c92e4410b73e8814fa4ce7b0df21" }, "downloads": -1, "filename": "onetrigger-1.0.4.tar.gz", "has_sig": false, "md5_digest": "bab527d37a95b24a3b5fc1ec9208e382", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6167, "upload_time": "2019-05-24T12:19:43", "url": "https://files.pythonhosted.org/packages/30/1d/065cd2b960e0e4edfd7c7a34a50dd19fc4db13006b2fa8f46dd9beaf13d8/onetrigger-1.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bab527d37a95b24a3b5fc1ec9208e382", "sha256": "8337cecbec6ba8c946bf4398b897dcc49a48c92e4410b73e8814fa4ce7b0df21" }, "downloads": -1, "filename": "onetrigger-1.0.4.tar.gz", "has_sig": false, "md5_digest": "bab527d37a95b24a3b5fc1ec9208e382", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6167, "upload_time": "2019-05-24T12:19:43", "url": "https://files.pythonhosted.org/packages/30/1d/065cd2b960e0e4edfd7c7a34a50dd19fc4db13006b2fa8f46dd9beaf13d8/onetrigger-1.0.4.tar.gz" } ] }