micro--go-micro
6488d8402d
* docs: group README features by section (AI / Framework / DX) The features table repeated 'AI' down the Category column. Split into three grouped tables — AI, Framework, Developer experience & deployment — dropping the repetitive column. Adds a Guardrails row (MaxSteps, ApproveTool). * test: flow-to-agent end-to-end in the harness Proves 'Flow triggers, Agent reasons': a workflow with FlowAgent hands an event to the registered conductor agent over RPC, which plans, creates tasks, and delegates to comms — the whole chain over real RPC with only the LLM mocked. Deterministic (shared in-memory registry, no sleeps), passes under -race. * blog: 'The Evolution of Microservices' (#19) A technical history of distributed-systems eras — the monolith's coordination cost, the distributed-systems tax, containers and declarative orchestration, the service mesh, and the modular-monolith correction — establishing the durable unit (named, typed, discoverable, independently deployable) that every runtime wave required. Then the technical argument for agents: an LLM tool call needs exactly a service interface, so the caller shifts from deterministic code to a reasoner that composes typed capabilities from intent, with the honest caveats (non-determinism, cost, guardrails). Not a product pitch. * docs: bump install version to v5.27.0 --------- Co-authored-by: Claude <noreply@anthropic.com>
76 行
3.0 KiB
Markdown
76 行
3.0 KiB
Markdown
---
|
|
layout: default
|
|
---
|
|
|
|
# Micro Server (Optional)
|
|
|
|
The Micro server is an optional web dashboard and authenticated API gateway for production environments. It provides a secure entrypoint for discovering and interacting with services that are already running (e.g., managed by systemd via `micro deploy`).
|
|
|
|
**`micro server` does not build, run, or watch services.** It only discovers services via the registry and provides a UI/API to interact with them.
|
|
|
|
## micro server vs micro run
|
|
|
|
| | `micro run` | `micro server` |
|
|
|---|---|---|
|
|
| **Purpose** | Local development | Production dashboard |
|
|
| **Builds services** | Yes | No |
|
|
| **Runs services** | Yes (as child processes) | No (discovers already-running services) |
|
|
| **Hot reload** | Yes | No |
|
|
| **Authentication** | Yes (default `admin`/`micro`) | Yes (default `admin`/`micro`) |
|
|
| **Scopes** | Yes (`/auth/scopes`) | Yes (`/auth/scopes`) |
|
|
| **Dashboard** | Full gateway UI with auth, scopes, agent | Full dashboard with API explorer, logs, user/token management |
|
|
| **When to use** | Day-to-day development | Deployed environments, shared servers |
|
|
|
|
For local development, use [`micro run`](guides/micro-run.html) instead.
|
|
|
|
## Install
|
|
|
|
Install the CLI which includes the server command:
|
|
|
|
```bash
|
|
go install go-micro.dev/v5/cmd/micro@v5.27.0
|
|
```
|
|
|
|
> **Note:** Use a specific version instead of `@latest` to avoid module path conflicts. See [releases](https://github.com/micro/go-micro/releases) for the latest version.
|
|
|
|
## Run
|
|
|
|
Start the server:
|
|
|
|
```bash
|
|
micro server
|
|
```
|
|
|
|
Then open http://localhost:8080 and log in with the default admin account (`admin`/`micro`).
|
|
|
|
## Features
|
|
|
|
- **Web Dashboard** — Browse registered services, view endpoints, request/response schemas
|
|
- **API Gateway** — Authenticated HTTP-to-RPC proxy at `/api/{service}/{method}`
|
|
- **JWT Authentication** — All API endpoints require a Bearer token or session cookie
|
|
- **Token Management** — Generate, view, copy, and revoke JWT tokens
|
|
- **User Management** — Create, list, and delete users with bcrypt-hashed passwords
|
|
- **Endpoint Scopes** — Restrict which tokens can call which endpoints via `/auth/scopes`
|
|
- **MCP Integration** — AI agent playground and MCP tools, with scope enforcement
|
|
- **Logs & Status** — View service logs and status (PID, uptime) from the dashboard
|
|
|
|
## Typical Production Setup
|
|
|
|
After deploying services with [`micro deploy`](deployment.html):
|
|
|
|
```bash
|
|
# On your server, start the dashboard
|
|
micro server
|
|
```
|
|
|
|
Services managed by systemd are discovered via the registry and appear in the dashboard automatically. The server provides the authenticated API and web UI for interacting with them.
|
|
|
|
## When to use it
|
|
|
|
- You have services running in production (via systemd or otherwise) and want a web UI
|
|
- You need authenticated API access with JWT tokens
|
|
- You want user management and token revocation
|
|
- You're running a shared environment where multiple people interact with services
|
|
|
|
For CLI usage details, see the [CLI documentation on GitHub](https://github.com/micro/go-micro/blob/master/cmd/micro/README.md).
|