{"id":22544298,"url":"https://github.com/steveanik/kestra","last_synced_at":"2026-01-06T18:13:45.857Z","repository":{"id":229968278,"uuid":"778108612","full_name":"SteveAnik/Kestra","owner":"SteveAnik","description":"Infinitely scalable, event-driven, language-agnostic orchestration and scheduling platform to manage millions of workflows declaratively in code.","archived":false,"fork":false,"pushed_at":"2024-03-27T05:08:12.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T09:11:15.344Z","etag":null,"topics":["data","data-engineering","data-integration","data-pipeline","data-quality","elt","etl","low-code","orchestration","pipelines","scheduler","workflow","workflow-engine"],"latest_commit_sha":null,"homepage":"https://kestra.io","language":null,"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/SteveAnik.png","metadata":{"files":{"readme":"README.md","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}},"created_at":"2024-03-27T05:00:35.000Z","updated_at":"2024-03-27T05:07:15.000Z","dependencies_parsed_at":"2024-03-27T06:26:18.678Z","dependency_job_id":"58f79a50-e68c-450b-9868-c283cf502cba","html_url":"https://github.com/SteveAnik/Kestra","commit_stats":null,"previous_names":["steveanik/kestra"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveAnik%2FKestra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveAnik%2FKestra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveAnik%2FKestra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SteveAnik%2FKestra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SteveAnik","download_url":"https://codeload.github.com/SteveAnik/Kestra/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245991878,"owners_count":20706196,"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":["data","data-engineering","data-integration","data-pipeline","data-quality","elt","etl","low-code","orchestration","pipelines","scheduler","workflow","workflow-engine"],"created_at":"2024-12-07T14:06:51.177Z","updated_at":"2026-01-06T18:13:45.828Z","avatar_url":"https://github.com/SteveAnik.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.kestra.io\"\u003e\n    \u003cimg src=\"https://kestra.io/banner.png\"  alt=\"Kestra workflow orchestrator\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\" style=\"border-bottom: none\"\u003e\n    Event-Driven Declarative Orchestrator\n\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n \u003ca href=\"https://github.com/kestra-io/kestra/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/tag-pre/kestra-io/kestra.svg?color=blueviolet\" alt=\"Last Version\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/kestra-io/kestra/blob/develop/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/github/license/kestra-io/kestra?color=blueviolet\" alt=\"License\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/kestra-io/kestra/stargazers\"\u003e\u003cimg src=\"https://img.shields.io/github/stars/kestra-io/kestra?color=blueviolet\u0026logo=github\" alt=\"Github star\" /\u003e\u003c/a\u003e \u003cbr\u003e\n\u003ca href=\"https://kestra.io\"\u003e\u003cimg src=\"https://img.shields.io/badge/Website-kestra.io-192A4E?color=blueviolet\" alt=\"Kestra infinitely scalable orchestration and scheduling platform\"\u003e\u003c/a\u003e\n\u003ca href=\"https://kestra.io/slack\"\u003e\u003cimg src=\"https://img.shields.io/badge/Slack-Join%20Community-blueviolet?logo=slack\" alt=\"Slack\"\u003e\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://twitter.com/kestra_io\"\u003e\u003cimg height=\"25\" src=\"https://kestra.io/twitter.svg\" alt=\"twitter\" /\u003e\u003c/a\u003e \u0026nbsp;\n    \u003ca href=\"https://www.linkedin.com/company/kestra/\"\u003e\u003cimg height=\"25\" src=\"https://kestra.io/linkedin.svg\" alt=\"linkedin\" /\u003e\u003c/a\u003e \u0026nbsp;\n\u003ca href=\"https://www.youtube.com/@kestra-io\"\u003e\u003cimg height=\"25\" src=\"https://kestra.io/youtube.svg\" alt=\"youtube\" /\u003e\u003c/a\u003e \u0026nbsp;\n\u003c/p\u003e\n\n\u003cbr /\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://www.youtube.com/watch?v=h-P0eK2xN58\u0026ab_channel=Kestra\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://kestra.io/startvideo.png\" alt=\"Get started in 4 minutes with Kestra\" width=\"640px\" /\u003e\n    \u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\" style=\"color:grey;\"\u003e\u003ci\u003e\"Click on the image to get started in 4 minutes with Kestra.\"\u003c/i\u003e\u003c/p\u003e\n\n## Live Demo\n\nTry Kestra using our [live demo](https://demo.kestra.io/ui/login?auto).\n\n## What is Kestra\n\nKestra is a universal open-source orchestrator that makes both **scheduled** and **event-driven** workflows easy. By bringing **Infrastructure as Code** best practices to data, process, and microservice orchestration, you can build reliable workflows and manage them with confidence.\n\nIn just a few lines of code, you can [create a flow](https://kestra.io/docs/getting-started) directly from the UI. Thanks to the declarative YAML interface for defining orchestration logic, business stakeholders can participate in the workflow creation process.\n\nKestra offers a versatile set of **language-agnostic** developer tools while simultaneously providing an intuitive user interface tailored for business professionals. The YAML definition gets automatically adjusted any time you make changes to a workflow from the UI or via an API call. Therefore, the orchestration logic is always managed **declaratively in code**, even if some workflow components are modified in other ways (UI, CI/CD, Terraform, API calls).\n\n\n![Adding new tasks in the UI](https://kestra.io/adding-tasks.gif)\n\n\n## Key concepts\n\n1. `Flow` is the main component in Kestra. It's a container for your tasks and orchestration logic.\n2. `Namespace` is used to provide logical isolation, e.g., to separate development and production environments. Namespaces are like folders on your file system — they organize flows into logical categories and can be nested to provide a hierarchical structure.\n3. `Tasks` are atomic actions in a flow. By default, all tasks in the list will be executed sequentially, with additional customization options, a.o. to run tasks in parallel or allow a failure of specific tasks when needed.\n4. `Triggers` define when a flow should run. In Kestra, flows are triggered based on events. Examples of such events include:\n    - a regular time-based **schedule**\n    - an **API** call (*webhook trigger*)\n    - ad-hoc execution from the **UI**\n    - a **flow trigger** - flows can be triggered from other flows using a [flow trigger](https://kestra.io/docs/developer-guide/triggers/flow) or a [subflow](https://kestra.io/docs/flow-examples/subflow), enabling highly modular workflows.\n    - **custom events**, including a new file arrival (*file detection event*), a new message in a message bus, query completion, and more.\n5. `Inputs` allow you to pass runtime-specific variables to a flow. They are strongly typed, and allow additional [validation rules](https://kestra.io/docs/developer-guide/inputs#input-validation).\n\n\n## Extensible platform via plugins\n\nMost tasks in Kestra are available as [plugins](https://kestra.io/plugins), but many type of tasks are available in the core library, including a.o. script tasks supporting various programming languages (e.g., Python, Node, Bash) and the ability to orchestrate your business logic packaged into Docker container images.\n\nTo create your own plugins, check the [plugin developer guide](https://kestra.io/docs/plugin-developer-guide).\n\n## Rich orchestration capabilities\n\nKestra provides a variety of tasks to handle both simple and complex business logic, including:\n\n- subflows\n- retries\n- timeout\n- error handling\n- conditional branching\n- dynamic tasks\n- sequential and parallel tasks\n- skipping tasks or triggers when needed by setting the flag `disabled` to `true`.\n- configuring dependencies between tasks, flows and triggers\n- advanced scheduling and trigger conditions\n- backfills\n- blueprints\n- documenting your flows, tasks and triggers by adding a markdown description to any component\n- adding labels to add additional metadata to your flows such as the flow owner or team:\n\n```yaml\nid: getting_started\nnamespace: dev\n\ndescription: |\n  # Getting Started\n  Let's `write` some **markdown** - [first flow](https://t.ly/Vemr0) 🚀\n\nlabels:\n  owner: rick.astley\n  project: never-gonna-give-you-up\n\ntasks:\n  - id: hello\n    type: io.kestra.core.tasks.log.Log\n    message: Hello world!\n    description: a *very* important task\n    disabled: false\n    timeout: PT10M\n    retry:\n      type: constant # type: string\n      interval: PT15M # type: Duration\n      maxDuration: PT1H # type: Duration\n      maxAttempt: 5 # type: int\n      warningOnRetry: true # type: boolean, default is false\n\n  - id: parallel\n    type: io.kestra.core.tasks.flows.Parallel\n    concurrent: 3\n    tasks:\n      - id: task1\n        type: io.kestra.plugin.scripts.shell.Commands\n        commands:\n          - 'echo \"running {{task.id}}\"'\n          - 'sleep 2'\n      - id: task2\n        type: io.kestra.plugin.scripts.shell.Commands\n        commands:\n          - 'echo \"running {{task.id}}\"'\n          - 'sleep 1'\n      - id: task3\n        type: io.kestra.plugin.scripts.shell.Commands\n        commands:\n          - 'echo \"running {{task.id}}\"'\n          - 'sleep 3'\n\ntriggers:\n  - id: schedule\n    type: io.kestra.core.models.triggers.types.Schedule\n    cron: \"*/15 * * * *\"\n    backfill:\n      start: 2023-10-05T14:00:00Z\n```\n\n\n## Built-in code editor\n\nYou can write workflows directly from the UI. When writing your workflows, the UI provides:\n- autocompletion\n- syntax validation\n- embedded plugin documentation\n- example flows provided as blueprints\n- topology view (view of your dependencies in a Directed Acyclic Graph) that get updated live as you modify and add new tasks.\n\n\n## Stay up to date\n\nWe release new versions every month. Give the repository a star to stay up to date with the latest releases and get notified about future updates.\n\n![Star the repo](https://kestra.io/star.gif)\n\n\n## Getting Started\n\nFollow the steps below to start local development.\n\n### Prerequisites\n\nMake sure that Docker is installed and running on your system. The default installation requires the following:\n- [Docker](https://docs.docker.com/engine/install/)\n- [Docker Compose](https://docs.docker.com/compose/install/)\n\n\n### Launch Kestra\n\nDownload the Docker Compose file:\n\n```sh\ncurl -o docker-compose.yml https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml\n```\n\nAlternatively, you can use `wget https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml`.\n\n\nStart Kestra:\n\n```sh\ndocker compose up -d\n```\n\n\nOpen `http://localhost:8080` in your browser and create your first flow.\n\n\n### Hello-World flow\n\nHere is a simple example logging hello world message to the terminal:\n\n```yaml\nid: getting_started\nnamespace: dev\n\ntasks:\n  - id: hello_world\n    type: io.kestra.core.tasks.log.Log\n    message: Hello World!\n```\n\nFor more information:\n\n- Follow the [getting started tutorial](https://kestra.io/docs/getting-started/).\n- Read the [documentation](https://kestra.io/docs/) to understand how to:\n    - [Develop your flows](https://kestra.io/docs/developer-guide/)\n    - [Deploy Kestra](https://kestra.io/docs/administrator-guide/)\n    - Use our [Terraform provider](https://kestra.io/docs/terraform/) to deploy your flows\n    - Develop your [own plugins](https://kestra.io/docs/plugin-developer-guide/).\n\n\n\n\n## Plugins\nKestra is built on a [plugin system](https://kestra.io/plugins/). You can find your plugin to interact with your provider; alternatively, you can follow [these steps](https://kestra.io/docs/plugin-developer-guide/) to develop your own plugin.\n\n\nFor a full list of plugins, check the [plugins page](https://kestra.io/plugins/).\n\nHere are some examples of the available plugins:\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-airbyte#cloudjobs\"\u003eAirbyte Cloud\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-airbyte#connections\"\u003eAirbyte OSS\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-aws#athena\"\u003eAmazon Athena\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-aws#cli\"\u003eAmazon CLI\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-aws#dynamodb\"\u003eAmazon DynamoDb\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-redshift\"\u003eAmazon Redshift\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-aws#s3\"\u003eAmazon S3\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-aws#sns\"\u003eAmazon SNS\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-aws#sqs\"\u003eAmazon SQS\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-amqp\"\u003eAMQP\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-serdes#avro\"\u003eApache Avro\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-cassandra\"\u003eApache Cassandra\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-kafka\"\u003eApache Kafka\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-pinot\"\u003eApache Pinot\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-serdes#parquet\"\u003eApache Parquet\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-pulsar\"\u003eApache Pulsar\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-spark\"\u003eApache Spark\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-tika\"\u003eApache Tika\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-azure/#batchjob\"\u003eAzure Batch\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-azure/#storage-blob\"\u003eAzure Blob Storage\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-azure/#storagetable\"\u003eAzure Blob Table\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-serdes#csv\"\u003eCSV\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-clickhouse\"\u003eClickHouse\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-compress\"\u003eCompression\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-couchbase\"\u003eCouchbase\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-databricks\"\u003eDatabricks\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-dbt#cloud\"\u003edbt cloud\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-dbt#cli\"\u003edbt core\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-debezium-sqlserver\"\u003eDebezium Microsoft SQL Server\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-debezium-mysql\"\u003eDebezium MYSQL\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-debezium-postgres\"\u003eDebezium Postgres\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-duckdb\"\u003eDuckDb\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-elasticsearch\"\u003eElasticSearch\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-notifications#mail\"\u003eEmail\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-fivetran\"\u003eFivetran\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-fs#ftp\"\u003eFTP\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-fs#ftps\"\u003eFTPS\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-git\"\u003eGit\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-gcp#bigquery\"\u003eGoogle Big Query\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-gcp#pubsub\"\u003eGoogle Pub/Sub\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-gcp#gcs\"\u003eGoogle Cloud Storage\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-gcp#dataproc\"\u003eGoogle DataProc\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-gcp#firestore\"\u003eGoogle Firestore\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-gcp#cli\"\u003eGoogle Cli\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-gcp#vertexai/\"\u003eGoogle Vertex AI\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-gcp#gke\"\u003eGoogle Kubernetes Engines\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-googleworkspace#drive\"\u003eGoogle Drive\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-googleworkspace#sheets\"\u003eGoogle Sheets\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-script-groovy\"\u003eGroovy\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-fs#http\"\u003eHttp\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-serdes#json\"\u003eJSON\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-script-julia\"\u003eJulia\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-script-jython\"\u003eJython\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-kubernetes\"\u003eKubernetes\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-sqlserver\"\u003eMicrosoft SQL Server\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-notifications#teams\"\u003eMicrosoft Teams\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-mongodb\"\u003eMongoDb\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-mqtt\"\u003eMQTT\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-mysql\"\u003eMySQL\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-script-nashorn\"\u003eNashorn\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-nats\"\u003eNATS\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-neo4j\"\u003eNeo4j\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-script-node\"\u003eNode\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-openai\"\u003eOpenAI\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-crypto#openpgp\"\u003eOpen PGP\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-oracle\"\u003eOracle\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-postgres\"\u003ePostgreSQL\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-powerbi\"\u003ePower BI\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-script-powershell\"\u003ePowerShell\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-script-python\"\u003ePython\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-rockset\"\u003eRockset\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-script-r\"\u003eRScript\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-fs#sftp\"\u003eSFTP\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-servicenow\"\u003eServiceNow\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-singer\"\u003eSinger\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-script-shell\"\u003eShell\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-notifications#slack\"\u003eSlack\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-snowflake\"\u003eSnowflake\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-soda\"\u003eSoda\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-fs#ssh\"\u003eSSH\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-notifications#telegram\"\u003eTelegram\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-trino\"\u003eTrino\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-serdes#xml\"\u003eXML\u003c/a\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://kestra.io/plugins/plugin-jdbc-vertica\"\u003eVertica\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\n\nThis list is growing quickly and we welcome contributions.\n\n## Community Support\n\nIf you need help or have any questions, reach out using one of the following channels:\n\n- [Slack](https://kestra.io/slack) - join the community and get the latest updates.\n- [GitHub discussions](https://github.com/kestra-io/kestra/discussions) - useful to start a conversation that is not a bug or feature request.\n- [Twitter](https://twitter.com/kestra_io) - to follow up with the latest updates.\n\n\n## Contributing\n\nWe love contributions, big or small. Check out [our contributor guide](https://github.com/kestra-io/kestra/blob/develop/.github/CONTRIBUTING.md) for details on how to contribute to Kestra.\n\nSee our [Plugin Developer Guide](https://kestra.io/docs/plugin-developer-guide/) for details on developing and publishing Kestra plugins.\n\n\n## License\nApache 2.0 © [Kestra Technologies](https://kestra.io)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteveanik%2Fkestra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsteveanik%2Fkestra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsteveanik%2Fkestra/lists"}