{"id":26797748,"url":"https://github.com/kameshsampath/jar-stack","last_synced_at":"2025-04-22T22:09:29.060Z","repository":{"id":52603710,"uuid":"309975942","full_name":"kameshsampath/jar-stack","owner":"kameshsampath","description":"A Demo Quarkus Java Application and React UI (JAR Stack) that uses Drone pipelines to build deploy applications to various platforms like Google Cloud, Vercel, Kubernetes etc.,","archived":false,"fork":false,"pushed_at":"2022-07-13T09:00:54.000Z","size":253,"stargazers_count":2,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-12-22T20:02:59.989Z","etag":null,"topics":["demo","drone-ci","google-cloud-run","vercel-deployment"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kameshsampath.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-04T10:58:28.000Z","updated_at":"2022-07-12T14:23:38.000Z","dependencies_parsed_at":"2022-09-07T06:01:52.186Z","dependency_job_id":null,"html_url":"https://github.com/kameshsampath/jar-stack","commit_stats":null,"previous_names":[],"tags_count":14,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kameshsampath%2Fjar-stack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kameshsampath%2Fjar-stack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kameshsampath%2Fjar-stack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kameshsampath%2Fjar-stack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kameshsampath","download_url":"https://codeload.github.com/kameshsampath/jar-stack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246230519,"owners_count":20744349,"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":["demo","drone-ci","google-cloud-run","vercel-deployment"],"created_at":"2025-03-29T19:15:43.945Z","updated_at":"2025-03-29T19:15:44.505Z","avatar_url":"https://github.com/kameshsampath.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Java And Reactive(JAR) Stack\n\nA Drone pipeline JAR(Java And Reactive) stack to show build, test and deploy a [Java](https://jdk.java.net/) API with [React](https://reactjs.org/) Frontend with optional DB. \n\nThe stack has the following components,\n\n- A [Quarkus](https://quarkus.io) based Java REST API with optional persistence using Hibernate\n- An React based UI application\n\n## Pre-requisites\n\n- [Docker Desktop for Mac/Windows](https://www.docker.com/products/docker-desktop/) and Docker on Linux\n\n- [Drone CLI](https://docs.drone.io/cli)\n  \n- [Google Cloud](https://cloud.google.com/) Service Account(SA) with permissions to,\n  - Ability to deploy to [Google Cloud Run](https://cloud.google.com/run)\n  - Ability to push to [Google Cloud Registry](https://cloud.google.com/container-registry/)\n  \n- Optionally [gcloud CLI](https://cloud.google.com/cli)\n\n## API Access\n\n### Make Service publicly accessible\n\nAs the API is not enabled with authentication by default to quickly test the application try allowing `allUsers` to access the API,\n\n```shell\ngcloud run services add-iam-policy-binding fruits-api \\\n  --region=\"${GCP_REGION}\" \\\n  --member=\"allUsers\" \\\n  --role=\"roles/run.invoker\"\n```\n\n### Disable Public Access to API\n\nTo switch back to authentication mode use the following command,\n\n```shell\ngcloud run services remove-iam-policy-binding fruits-api --member='allUsers' --role='roles/run.invoker' --region=\"${GCP_REGION}\"\n```\n\n## Build and Deploy Application\n\nCreate the secret file\n\n```shell\ncp secret.example my.secret\n```\n\nEdit the `my.secret` and update the value to suit your environment and settings.\n\n```shell\ndrone exec --secret=my.secret .drone.yml\n```\n\nThe Drone pipeline command will now start to build the Java Application, push the built application to image registry (Google Container Registry), Deploy the container image as Google Cloud Run service and finally push the UI application Vercel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkameshsampath%2Fjar-stack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkameshsampath%2Fjar-stack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkameshsampath%2Fjar-stack/lists"}