{"id":15010418,"url":"https://github.com/updcon/libpinkas-clj","last_synced_at":"2026-02-05T22:03:32.875Z","repository":{"id":62435038,"uuid":"184254427","full_name":"updcon/libpinkas-clj","owner":"updcon","description":"Basic registry operations for microservices in Clojure","archived":false,"fork":false,"pushed_at":"2020-09-28T19:15:39.000Z","size":10,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-05T14:54:45.636Z","etag":null,"topics":["clj","clojure-library","cloud","consul","dkdhub","microservices","tiny","tiny-library"],"latest_commit_sha":null,"homepage":"","language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/updcon.png","metadata":{"files":{"readme":"README.adoc","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},"funding":{"github":"updcon"}},"created_at":"2019-04-30T12:01:30.000Z","updated_at":"2021-05-22T18:56:15.000Z","dependencies_parsed_at":"2022-11-01T21:02:26.311Z","dependency_job_id":null,"html_url":"https://github.com/updcon/libpinkas-clj","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/updcon/libpinkas-clj","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updcon%2Flibpinkas-clj","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updcon%2Flibpinkas-clj/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updcon%2Flibpinkas-clj/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updcon%2Flibpinkas-clj/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/updcon","download_url":"https://codeload.github.com/updcon/libpinkas-clj/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/updcon%2Flibpinkas-clj/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29135940,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-05T21:59:57.939Z","status":"ssl_error","status_checked_at":"2026-02-05T21:59:57.628Z","response_time":65,"last_error":"SSL_read: 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":["clj","clojure-library","cloud","consul","dkdhub","microservices","tiny","tiny-library"],"created_at":"2024-09-24T19:34:07.839Z","updated_at":"2026-02-05T22:03:32.859Z","avatar_url":"https://github.com/updcon.png","language":"Clojure","funding_links":["https://github.com/sponsors/updcon"],"categories":[],"sub_categories":[],"readme":"= libpinkas-clj\n\nA Clojure library designed to support basic registry operations\nfor microservices with Consul service by HashiCorp.\n\nHeavily inspired by clj-consul-catalog.\n\nimage:https://img.shields.io/clojars/v/updcon/libpinkas-clj.svg[]\n\n== Usage\n\n.project.clj\n[source,clojure]\n----\n[updcon/libpinkas-clj \"0.0.5\"]\n----\n\n.example.clj\n[source, clojure]\n----\n(ns my-app.jasper\n  (:require [libpinkas-clj.core :refer :all]\n            [clojure.core.async :refer [timeout \u003c!!] :include-macros true]))\n\n(defn- schema [id port]\n  {:node    \"My-Node-Name\"\n   :address \"127.0.0.1\"\n   :service {\n             :id                  id\n             :name                id\n             :service             \"my-service\"\n             :address             \"127.0.0.1\"\n             :tags                [\"primary\"]\n             :enable_tag_override true\n             :port                port}\n   })\n\n(def ^:private path \"http://localhost:8500/v1/catalog/\")\n\n(def ^:private serv1 (service path (schema \"my-service-1\" 8888)))\n(def ^:private one-sec 1000)\n\n(defn run-my-service\n  (let [status (register serv1)]\n\n    (when status\n      (\u003c!! (timeout one-sec)))\n\n    (assert (= (count (filter\n                        #(= \"my-service-1\" (get % :ServiceID))\n                        (discover serv1))) 1)))\n  (deregister serv1)\n  (\u003c!! (timeout one-sec)))\n----\n\n== Developing\n\n=== Consul\n\n[source, text]\n----\n==\u003e Starting Consul agent...\n           Version: '1.8.4'\n           Node ID: '25c675d4-ce4a-c35b-420f-d8ff12469a5f'\n         Node name: 'localhost.localdomain'\n        Datacenter: 'dc1' (Segment: '\u003call\u003e')\n            Server: true (Bootstrap: false)\n       Client Addr: [127.0.0.1] (HTTP: 8500, HTTPS: -1, gRPC: 8502, DNS: 8600)\n      Cluster Addr: 127.0.0.1 (LAN: 8301, WAN: 8302)\n           Encrypt: Gossip: false, TLS-Outgoing: false, TLS-Incoming: false, Auto-Encrypt-TLS: false\n           ..............\n==\u003e Consul agent running!\n----\n\n=== Self tests\n\nRun Consul\n\n[source, shell]\n----\n$ consul agent -dev\n----\n\nRun tests\n\n[source, shell]\n----\n$ cd /path/to/libpinkas-clj\n$ lein test\n\nlein test libpinkas-clj.core-test\nRan 3 tests containing 9 assertions.\n0 failures, 0 errors.\n\n----\n\nEnjoy!\n\n== License\n\nCopyright \u0026copy; 2019-2020 UPDC (UPD Consutlting Ltd)\n\nDistributed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupdcon%2Flibpinkas-clj","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fupdcon%2Flibpinkas-clj","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fupdcon%2Flibpinkas-clj/lists"}