{"id":18690406,"url":"https://github.com/rgolangh/mta-swf","last_synced_at":"2025-11-08T08:30:29.951Z","repository":{"id":169275226,"uuid":"644914520","full_name":"rgolangh/mta-swf","owner":"rgolangh","description":null,"archived":false,"fork":false,"pushed_at":"2023-08-13T09:47:52.000Z","size":82,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-28T02:29:52.194Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/rgolangh.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":"2023-05-24T14:12:26.000Z","updated_at":"2023-08-27T14:56:06.000Z","dependencies_parsed_at":"2024-04-17T19:10:04.498Z","dependency_job_id":"5e210490-5a3b-4919-bef1-0a565de673ad","html_url":"https://github.com/rgolangh/mta-swf","commit_stats":null,"previous_names":["rgolangh/mta-kogito-serverless-workflows","rgolangh/mta-swf"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgolangh%2Fmta-swf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgolangh%2Fmta-swf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgolangh%2Fmta-swf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rgolangh%2Fmta-swf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rgolangh","download_url":"https://codeload.github.com/rgolangh/mta-swf/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239550283,"owners_count":19657541,"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-11-07T10:47:29.615Z","updated_at":"2025-11-08T08:30:29.905Z","avatar_url":"https://github.com/rgolangh.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MTA analysis using Sonata Serverless Workflow\n\n## Description\n\nThis is a port of Parodos workflow written entirely in serverless workflow with sonataflow.\n\nIt performs consecutive REST invocations defined as functions.  \n\n## Installing and Running\n\n### Prerequisites\n \nYou will need:\n  - Java 11+ installed\n  - Environment variable JAVA_HOME set accordingly\n  - Maven 3.8.1+ installed\n\nWhen using native image compilation, you will also need: \n  - [GraalVm](https://www.graalvm.org/downloads/) 20.2.0+ installed\n  - Environment variable GRAALVM_HOME set accordingly\n  - Note that GraalVM native image compilation typically requires other packages (glibc-devel, zlib-devel and gcc) to be installed too.  You also need 'native-image' installed in GraalVM (using 'gu install native-image'). Please refer to [GraalVM installation documentation](https://www.graalvm.org/docs/reference-manual/aot-compilation/#prerequisites) for more details.\n\n### Compile and Run in Local Dev Mode\n\n```sh\nmvn clean package quarkus:dev\n```\n\n### Compile and Run in JVM mode\n\n```sh\nmvn clean package \njava -jar target/quarkus-app/quarkus-run.jar\n```\n\nor on Windows\n\n```sh\nmvn clean package\njava -jar target\\quarkus-app\\quarkus-run.jar\n```\n\n### Compile and Run using Local Native Image\nNote that this requires GRAALVM_HOME to point to a valid GraalVM installation\n\n```sh\nmvn clean package -Pnative\n```\n  \nTo run the generated native executable, generated in `target/`, execute\n\n```sh\n./target/sw-quarkus-greeting-{version}-runner\n```\n\n### Submit a request\n\nTo invoke an MTA analysis using this workflow make sure you have an MTA service running.\nSpecify the endpoint in workflow spec under the function section `src/main/resources/mta.sw.yaml`\n\n```yaml\n// showing only the functions section\nfunctions:\n- name: getApplication\n  type: custom\n  operation: rest:get:https://mta.example.org:443/hub/applications\n```\n\nExecute the flow using curl with this payload:\n\n```sh\ncurl -XPOST -H \"Content-Type: application/json\" http://localhost:8080/MTAAnalysis -d '{\"repositoryURL\": \"https://github.com/your/repo\"}'\n```\n\n\n## Deploying with Kogito Operator\n\nIn the [`operator`](operator) directory you'll find the custom resources needed to deploy this example on OpenShift with the [Kogito Operator](https://docs.jboss.org/kogito/release/latest/html_single/#chap_kogito-deploying-on-openshift).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frgolangh%2Fmta-swf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frgolangh%2Fmta-swf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frgolangh%2Fmta-swf/lists"}