{"id":15638352,"url":"https://github.com/davsclaus/fabric8-hello","last_synced_at":"2026-03-06T15:03:26.085Z","repository":{"id":151266549,"uuid":"67927785","full_name":"davsclaus/fabric8-hello","owner":"davsclaus","description":"Two microservices using Spring Boot and WildFly Swarm with Camel running in kubernetes using fabric8 tooling","archived":false,"fork":false,"pushed_at":"2016-12-13T19:46:53.000Z","size":8719,"stargazers_count":9,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-30T06:09:24.420Z","etag":null,"topics":["fabric8","java","kubernetes"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/davsclaus.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-09-11T12:08:31.000Z","updated_at":"2020-02-15T06:52:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"055be2dc-4521-4480-8cae-b60817696394","html_url":"https://github.com/davsclaus/fabric8-hello","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/davsclaus/fabric8-hello","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davsclaus%2Ffabric8-hello","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davsclaus%2Ffabric8-hello/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davsclaus%2Ffabric8-hello/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davsclaus%2Ffabric8-hello/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/davsclaus","download_url":"https://codeload.github.com/davsclaus/fabric8-hello/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/davsclaus%2Ffabric8-hello/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30182686,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T14:42:24.748Z","status":"ssl_error","status_checked_at":"2026-03-06T14:42:14.925Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["fabric8","java","kubernetes"],"created_at":"2024-10-03T11:21:08.333Z","updated_at":"2026-03-06T15:03:26.067Z","avatar_url":"https://github.com/davsclaus.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# fabric8-hello\n\nTwo microservices using Spring Boot and WildFly Swarm with Camel running in kubernetes using fabric8 tooling\n\nThere are three Maven projects:\n\n* client - Spring Boot application with Camel that triggers every 2nd second to call the hello service and log the response. The client uses Camel client side retry for error handling. \n* client-hystrix - A client that uses Hystrix as circuit breaker for error handling.\n* helloswarm - WildFly Swarm application hostin a hello service which returns a reply message.\n\nThe diagram below illustrates this:\n\n![Overview](diagram.png?raw=true \"Overview\")\n\n\n### Running Kubernetes locally\n\nThe applications can be deployed in a kubernetes cluster. You can run a kubernetes cluster locally using fabric8 which you can find more details here: [fabric8 get started](https://fabric8.io/guide/getStarted/index.html)\n\n#### Installing from Maven\n\nThe fabric8 team has made it very easy to download, install and start a Kubernetes/OpenShift cluster on your computer very easy. All you need to do is from a command line run this Maven goal:\n\n    mvn io.fabric8:fabric8-maven-plugin:3.2.9:cluster-start\n\nAnd if you want to use OpenShift instead of Kubernetes:\n\n    mvn io.fabric8:fabric8-maven-plugin:3.2.9:cluster-start -Dfabric8.cluster.kind=openshift\n\nThen fabric8 will download the binaries into `\u003cHOME\u003e/.fabric8/bin` directory. It can be a good idea to add this directory to the `$PATH`, so you can easily run the clients to interact with the cluster.\n\nHowever before we had to install fabric8 using a few more manual steps as explained below.\n\n#### Manually steps\n\nI am using MiniShift to run my local kubernetes cluster. I run the minimal version which do not include the CI/CD pipeline and therefore I run with low memory usage.\n\n    minishift start --memory=2000\n\n... and follow the instructions from minishift.\n\nAnd then I have installed fabric8 using gofabric8:\n\n    gofabric8 deploy -y --console\n\n... and follow the instructions from fabric8.\n\nIf all this is sucesfull you can open the fabric8 web console using:\n\n    gofabric8 consoole\n\n### Slides\n\nThis source code is used for a talk at various conferences, and you can find the slides for the talks in the [slides](slides) directory.\n\n### Prepare shell\n\nWhen using Maven tooling you want to setup your command shell for docker/kubernetes which can be done by\n\n    gofabric8 docker-env\n\nWhich tells you how to setup using eval\n\n    eval $(minishift docker-env)\n\n\n### Deploying WildFly Swarm (server)\n\nYou can deploy the WildFly Swarm application which hosts the hello service.\n\n    cd helloswarm\n    mvn install\n\nIf the build is success you can deploy to kubernetes using:\n\n    mvn fabric:deploy\n\n\n### Deploying Spring Boot (client)\n\nYou can deploy the Spring Boot application which is the client calling the hello service\n\n    cd client\n    mvn install\n\nIf the build is success you can deploy to kubernetes using:\n\n    mvn fabric:deploy\n\nYou should then be able to show the logs of the client, by running `oc get pods` and find the name of the pod that runs the client, and then use `oc logs -f pod-name` to follow the logs.\n\nHowever you can also run the application from the shell and have logs automatic tailed using\n\n    mvn fabric:run\n\nAnd then when you press `cltr + c` then the application is undeployed. This allows to quickly run an application and stop it easily as if you are using `mvn spring-boot:run` or `mvn wildfly-swarm:run` etc.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavsclaus%2Ffabric8-hello","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdavsclaus%2Ffabric8-hello","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdavsclaus%2Ffabric8-hello/lists"}