Files
Asim Aslam c7657f73f4
goreleaser / goreleaser (push) Has been cancelled
Refactor agent plan storage, update docs, and release v6 (#2977)
* test(harness): read agent plan from the scoped store

The store-scoping change moved an agent's plan from the default table
key agent/{name}/plan to its own table (database "agent", table {name},
key "plan"). The plan-delegate harness tests still read the old key and
failed with 'not found'; read through store.Scope(mem, "agent", name)
like the agent does.

* docs: orient agents-first across README, landing, and docs overview

Lead with agents (then services and flows), surface MCP + A2A as the
interop story, and frame agents as services. Landing hero and feature
grid reordered agents-first with an A2A gateway card.

* v6: module path go-micro.dev/v6, TLS secure by default, NewService

Cut v6. Three breaking changes, bundled so the major bump is paid once:

- Module path go-micro.dev/v5 -> go-micro.dev/v6 across all imports + go.mod.
- TLS verification on by default (was off). MICRO_TLS_SECURE removed;
  MICRO_TLS_INSECURE=true opts out for self-signed/dev.
- micro.NewService(name, opts...) is the canonical service constructor,
  symmetric with NewAgent/NewFlow; micro.New kept as a deprecated alias;
  the old name-less NewService(opts...) removed. Generators emit NewService.

Also ports the JWT auth token provider in-module (go-micro.dev/v6/auth/jwt/token
on golang-jwt/jwt/v5), dropping the v5-pinned github.com/micro/plugins/v5/auth/jwt
and the deprecated dgrijalva/jwt-go.

Docs/README/landing updated to v6 and @latest; v5->v6 migration guide added;
CHANGELOG cut as [6.0.0]. Blog posts left at their historical versions.

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-06-18 11:55:35 +01:00
..

Hello World Example

The simplest go-micro service demonstrating core concepts.

What It Does

This example creates a basic RPC service that:

  • Listens on port 8080
  • Exposes a Greeter.Hello method
  • Returns a greeting message
  • Demonstrates both programmatic and HTTP access

Run It

go run main.go

The service will start and make test calls to itself, then wait for incoming requests.

Test It

Using curl

curl -X POST http://localhost:8080 \
  -H 'Content-Type: application/json' \
  -H 'Micro-Endpoint: Greeter.Hello' \
  -d '{"name": "Alice"}'

Expected response:

{"message": "Hello Alice"}

Using the micro CLI

micro call greeter Greeter.Hello '{"name": "Bob"}'

Code Walkthrough

  1. Define types - Request and Response structures
  2. Implement handler - The Greeter service with Hello method
  3. Create service - Using micro.NewService() with options
  4. Register handler - Link the handler to the service
  5. Run service - Start listening for requests

Key Concepts

  • RPC Pattern: Method signature func(ctx, req, rsp) error
  • Service Discovery: Automatic registration
  • Multiple Transports: Works over HTTP, gRPC, etc.
  • Type Safety: Strongly typed requests/responses

Next Steps