Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tideflow-io/tideflow-agent
Self-hosted runned to run workflow tasks in your own computers.
https://github.com/tideflow-io/tideflow-agent
automate automation self-hosted self-hosted-agent self-hosted-runner workflow
Last synced: 6 days ago
JSON representation
Self-hosted runned to run workflow tasks in your own computers.
- Host: GitHub
- URL: https://github.com/tideflow-io/tideflow-agent
- Owner: tideflow-io
- License: gpl-3.0
- Created: 2019-02-02T13:47:11.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-09T20:17:00.000Z (almost 2 years ago)
- Last Synced: 2024-09-16T17:43:56.104Z (2 months ago)
- Topics: automate, automation, self-hosted, self-hosted-agent, self-hosted-runner, workflow
- Language: JavaScript
- Homepage: https://docs.tideflow.io/docs/services-agent
- Size: 497 KB
- Stars: 5
- Watchers: 3
- Forks: 3
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Tideflow's Self-hosted Runner
> With Tideflow's Self-hosted Runner, you can run workflow's task in your own server via [TideFlow](https://www.tideflow.io)
For more information, visit [TideFlow.io](https://www.tideflow.io)
## Usage
```bash
npx @tideflowio/tideflow-agent -t [token] -u tideflow.example.com
```$ tideflow-agent --help
Usage: index [options]Options:
-v, --version output the version number
-c, --concurrency [concurrency] Max number of jobs the agent should process concurrently
-t, --token [token] Authentication token
-u, --url [url] Tideflow url
--noupdate Opt-out of update version check
-h, --help output usage informationExamples:
$ tideflow-agent --help
$ tideflow-agent -h## Environment variables
```bash
# Specify authentication token.
# Optional. Having the authentication token stored as an environment
# variable allows users to run the agent without passing the -t parameter.
# Example: d2a04f78-ff8a-4eb4-a12c-57fb7abf03a7
TIDEFLOW_AGENT_TOKEN# Specify the URL to connect to the Tideflow's platform.
# Optional. Having the URL stored as an environment
# variable allows users to run the agent without passing the -u parameter.
# Example: http://subdomain.example.com:3000
TIDEFLOW_AGENT_URL
```## How to process data from previous tasks
- **type**: an string that defines the kind of data retuned by the previous
step (object, array, file, etc)
- **data**: an object containing the task's result.### Command actions
It's possible that the agent will receive preivous tasks results. This is
defined in the workflow's task parameters.The result from previous tasks are stored in a temporal file. This file's
absolute path is passed as a parameter called "tideflow_previous_file" to the
command to be executed.For example, if the command to run is `meow`, the agent will execute it as:
`meow --tideflow_previous_file "/tmp/random_file_name"`
The content of such file is a JSON object, with a format similar to:
```json
{
"execution": {
"_id": "neL9r33vm38txn9e6"
},
"tasks": {
"the-task-id": {
"_id": "iesFwrdTtBToRRBzB",
"stepIndex": 1,
"type": "file",
"event": "read-file",
"createdAt": "2020-10-03T15:55:08.637Z",
"status": "success",
"result": {
"files": [
{
"fileName": "my-first-workflow-ifg.json",
"url": "http://localhost:3000/download?type=actionFile&token=eyJhbGciO2A"
}
]
},
"updatedAt": "2020-10-03T15:55:08.650Z"
},
"trigger": {
"_id": "qJucoXaWaEJqcazoe",
"stepIndex": "trigger",
"type": "endpoint",
"event": "called",
"createdAt": "2020-10-03T15:55:08.629Z",
"status": "success",
"result": {
"data": {
"name": "Jose",
"location": {
"lat": 42.8867647,
"lon": -9.2716399
}
}
},
"updatedAt": "2020-10-03T15:55:08.633Z"
}
}
}
```### NodeJS SFC actions
The result from previous tasks is passed as the handler's first argument.
```javascript
module.exports.handler = previousResults => {
// My logic here
return { greeting: 'hello world' }
}
```---
## Contributing
If you would like to contribute to Tideflow, check out the
[Contributing Guide](https://docs.tideflow.io/docs/contribute).## License
GNU GENERAL PUBLIC LICENSE
## Developer Resources
- Documentation: https://docs.tideflow.io
- Contribute: https://docs.tideflow.io/docs/contribute