{"id":15508272,"url":"https://github.com/jponge/demo-vertx-kotlin-rxjava2-kubernetes","last_synced_at":"2025-07-28T21:08:51.566Z","repository":{"id":66511384,"uuid":"126026364","full_name":"jponge/demo-vertx-kotlin-rxjava2-kubernetes","owner":"jponge","description":"Demonstration of Eclipse Vert.x, Kotlin, RxJava2 and Kubernetes","archived":false,"fork":false,"pushed_at":"2018-03-28T20:43:26.000Z","size":174,"stargazers_count":24,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-23T02:38:16.345Z","etag":null,"topics":["kotlin","kubernetes","microservice","minikube","reactive","rxjava2","rxkotlin","vertx"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/jponge.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":"2018-03-20T14:01:36.000Z","updated_at":"2023-06-22T12:17:49.000Z","dependencies_parsed_at":null,"dependency_job_id":"14b493b4-2335-48bf-b9cd-5c0b420c0dfd","html_url":"https://github.com/jponge/demo-vertx-kotlin-rxjava2-kubernetes","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jponge/demo-vertx-kotlin-rxjava2-kubernetes","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jponge%2Fdemo-vertx-kotlin-rxjava2-kubernetes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jponge%2Fdemo-vertx-kotlin-rxjava2-kubernetes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jponge%2Fdemo-vertx-kotlin-rxjava2-kubernetes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jponge%2Fdemo-vertx-kotlin-rxjava2-kubernetes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jponge","download_url":"https://codeload.github.com/jponge/demo-vertx-kotlin-rxjava2-kubernetes/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jponge%2Fdemo-vertx-kotlin-rxjava2-kubernetes/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267585713,"owners_count":24111576,"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","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["kotlin","kubernetes","microservice","minikube","reactive","rxjava2","rxkotlin","vertx"],"created_at":"2024-10-02T09:36:50.981Z","updated_at":"2025-07-28T21:08:51.529Z","avatar_url":"https://github.com/jponge.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Demonstration of Eclipse Vert.x, Kotlin, RxJava2 and Kubernetes\n\nThis repository contains several reactive services to be deployed in Kubernetes.\n\n1. [temperature-service](temperature-service) is a service simulating a temperature sensor.\n   This is basic Vert.x with callbacks, multiple verticles and communication over the event bus.\n   _(Vert.x web, Kotlin support)_\n2. [temperature-gateway](temperature-gateway) is a service that aggregates temperature data from the available temperature services.\n   RxJava2/Kotlin simplifies the reasoning for doing concurrent HTTP requests.\n   _(Vert.x web / web client / service discovery, RxJava2)_\n3. [zlack](zlack) is a chat application, exposing an API and a reactive VueJS interface.\n   It provides real-time message deliveries and shows how the Vert.x event bus can be extended to client-side applications and offer a unified message-passing programming model.\n   _(Vert.x web / web client / SockJS event bus bridge / RxJava 2 / MongoDB / VueJS)_ \n4. [temperature-to-zlack-service](temperature-to-zlack-service) is a service that gathers all temperatures from the gateway, and notifies in the Zlack chat of all sensors having a temperature above a threshold.\n   It uses Kotlin coroutines to show how a more traditional _\"synchronous-style\"_ programming model can be used to coordinate operations.\n   _(Vert.x web client / Kotlin coroutines / minimal liveness reporting)_\n\nThe [kubernetes](kubernetes) folder contains resource descriptors and notes for Kubernetes and `minikube`.\n\n## Building\n\nBuilding all services should be as simple as:\n\n    ./gradlew assemble\n\nWhile developing a Vert.x service you can have live-reload, as in:\n\n    ./gradlew :temperature-gateway:vertxRun\n\n# Deploying\n\n_The following assumes a local testing environment with `minikube`._\n\nBuilding all Docker images and creating Kubernetes resources can then be done using:\n\n    ./deploy-to-kube.sh\n\n...or calling the Gradle task that delegates to this script:\n\n    ./gradlew deployToKube\n\n_If you are not deploying to `minikube`:_\n\n1. all sub-projects have corresponding `Dockerfile` files, and\n2. all Kubernetes resource files are in [kubernetes/](kubernetes).\n\n## Legal stuff\n\nThis was originally written by [Julien Ponge](https://julien.ponge.org/) and is distributed under the terms of the [Apache License Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.txt) \n\n    Copyright 2018 Julien Ponge\n    \n    Licensed under the Apache License, Version 2.0 (the \"License\");\n    you may not use this file except in compliance with the License.\n    You may obtain a copy of the License at\n    \n       http://www.apache.org/licenses/LICENSE-2.0\n    \n    Unless required by applicable law or agreed to in writing, software\n    distributed under the License is distributed on an \"AS IS\" BASIS,\n    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n    See the License for the specific language governing permissions and\n    limitations under the License.\n\n## Contributing\n\nContributions are welcome, please use GitHub pull requests!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjponge%2Fdemo-vertx-kotlin-rxjava2-kubernetes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjponge%2Fdemo-vertx-kotlin-rxjava2-kubernetes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjponge%2Fdemo-vertx-kotlin-rxjava2-kubernetes/lists"}