{"repo":"matutetandil/mycel","free":true,"listed":false,"github":"https://github.com/matutetandil/mycel","clone":"git clone https://github.com/matutetandil/mycel.git","description":"Declarative microservice runtime — define HCL config, get a production-ready service. REST, GraphQL, gRPC, SOAP, message queues, databases, and more.","language":"Go","stars":21,"topics":["declarative","devops","golang","graphql","grpc","hcl","kafka","microservices","mongodb","postgresql"],"license":"MIT","category":"databases-storage","readme_excerpt":"Mycel Mycel is a declarative microservice runtime — you describe what connects to what, and it runs the service. Point Mycel at the things you want to connect — an API, a database, a queue, a gRPC service, a file store — and it runs the microservice that moves data between them. The plumbing every service repeats (HTTP server, connection pools, marshalling, retries, reconnection) is Mycel's job. The only logic you ever write is your service's own — a transform, a validation rule — and only when it actually needs it. You describe it in HCL2 config files; Mycel runs it as a real, production-ready microservice. Pure Go, a single binary, standard protocols on the wire — from the outside, indistinguishable from one you'd hand-write. How It Works Mycel is a single binary runtime. The same binary runs every service — only the configuration changes. Mycel has two core building blocks: connectors and flows . Everything else builds on top of them. A connector is anything Mycel can talk to — a database, a REST API, a message queue, a gRPC service, a file system. Every connector is bidirectional: it can be a source (receives data that triggers a flow) or a target (destination where a flow writes data). A flow wires two connectors together, moving data from one to the other: On top of this, you can add transforms (reshape data), types (validate schemas), steps (multi-step orchestration), sagas (distributed transactions), auth, aspects, security, and more. But every feature ultimately serv","default_branch":null,"files":null,"tree":[],"storefront":"/r/matutetandil","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/matutetandil/mycel/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}