Proto commits in micro/go-micro

These commits are when the Protocol Buffers files have changed: (only the last 100 relevant commits are shown)

Commit:ed904aa
Author:Asim Aslam
Committer:GitHub

Propagate flow run lineage to agent chats (#3138) Co-authored-by: Codex <codex@openai.com>

Commit:ddde947
Author:Asim Aslam
Committer:GitHub

Expose agent chat run identifiers (#3108) Co-authored-by: Codex <codex@openai.com>

Commit:1bc886f
Author:Asim Aslam
Committer:GitHub

Introduce Agent abstraction and integrate with chat router (#2939) * docs: Agent interface design sketch Proposes Agent as a top-level abstraction alongside Service in the micro package. Agent manages services — scoped tools, system prompt, conversation memory, registry-discoverable. Design only, no implementation. https://claude.ai/code/session_01QTp4SshuVmLAvvEGJe4TJd * feat: Agent as a first-class abstraction Introduce micro.NewAgent() alongside micro.New() — Agent is to intelligence what Service is to capability. Agent interface: - Chat(ctx, message) (*Response, error) — core interaction method - Run() — registers in registry, subscribes to broker, blocks - Stop() — graceful shutdown - Scoped tools — only sees endpoints of its assigned services - Persistent memory — conversation history stored in store - Agent-to-agent — communication via broker topics Top-level API: agent := micro.NewAgent("task-mgr", micro.AgentServices("task"), micro.AgentPrompt("You manage tasks."), micro.AgentProvider("anthropic"), ) agent.Run() https://claude.ai/code/session_01QTp4SshuVmLAvvEGJe4TJd * feat: wire agents into chat router, add micro agent CLI, expose Flow Three top-level abstractions: micro.New("task") — Service (capability) micro.NewAgent("task-mgr") — Agent (intelligence) micro.NewFlow("onboard-user") — Flow (event-driven orchestration) micro chat as router: - Discovers agents from registry on startup - Single agent: routes directly - Multiple agents: LLM classifies intent, dispatches to right agent via route_to_agent tool - No agents: falls back to current direct-service behaviour - Banner shows discovered agents micro agent CLI: - micro agent list — shows registered agents and their services - micro agent describe <name> — shows agent details from registry https://claude.ai/code/session_01QTp4SshuVmLAvvEGJe4TJd * feat: move flow to top level, update docs for three abstractions Package structure now consistent: service/ — Service (capability) agent/ — Agent (intelligence) flow/ — Flow (event-driven orchestration) ai/flow/ kept as backward-compatible re-export. Updated across all surfaces: - CLAUDE.md: added agent/ and flow/ to project structure - README: added "Building Agents" section with NewAgent() examples, updated features table (Agents, Flows, Chat router), CLI table (agent list, agent describe), docs links - Website: features grid shows Services, Agents, Flows as the three pillars alongside generation, MCP, and pluggable architecture - micro.go: Flow imported from top-level flow/ package https://claude.ai/code/session_01QTp4SshuVmLAvvEGJe4TJd * docs: rewrite getting-started, fix ai-integration import paths Getting started now covers all three abstractions: - Service (write handlers, micro run, templates) - Agent (micro.NewAgent, scoped tools, memory, CLI) - Flow (event-driven LLM orchestration) Leads with prompt-based generation, then manual service creation. ai-integration.md: fixed flow import path from go-micro.dev/v5/ai/flow to go-micro.dev/v5/flow, updated stack diagram to show agent/flow/chat. https://claude.ai/code/session_01QTp4SshuVmLAvvEGJe4TJd * blog: Introducing micro.NewAgent() Post 16 — announces Agent as a first-class abstraction. Shows the API (NewAgent, AgentServices, AgentPrompt, AgentProvider), scoped tools, persistent memory, multi-service agents, multi-agent systems, and the three-abstraction comparison table (Service/Agent/Flow). https://claude.ai/code/session_01QTp4SshuVmLAvvEGJe4TJd * feat: fix agent registration, blog post 16 Agent registration: - Add node with address so mDNS can discover agents - Store type and services in node metadata (mDNS requirement) - Connect broker before subscribing, non-fatal if broker unavailable - Print registration confirmation on Run() Agent/chat discovery: - Check both service-level and node-level metadata for type=agent (mDNS stores metadata on nodes, not services) Blog post 16: "Introducing micro.NewAgent()" — announces the Agent abstraction with code examples, comparison table, multi-agent patterns. Tested end-to-end: micro run → micro agent list discovers the agent → micro chat routes to it → agent calls service endpoints. https://claude.ai/code/session_01QTp4SshuVmLAvvEGJe4TJd * feat: agents are proper services with RPC Chat endpoint Refactored agent to use server.Server instead of fake registry entries. An agent now: - Creates a real RPC server with server.Name(agentName) - Registers an Agent.Chat handler callable via standard RPC - Sets server metadata type=agent, services=x,y for discovery - No more fake addresses or broker hacks micro chat calls agents via RPC (client.Call) instead of creating local agent instances. The registry stays clean — agents are real services with real endpoints. Removed broker dependency from agent options. Agent-to-agent communication is just RPC like everything else. https://claude.ai/code/session_01QTp4SshuVmLAvvEGJe4TJd * feat: agent uses proto-defined RPC interface Added agent/proto/agent.proto with Agent service definition: rpc Chat(ChatRequest) returns (ChatResponse) Agent now implements the generated AgentHandler interface and registers via pb.RegisterAgentHandler. The Chat endpoint is a standard proto-based RPC callable by any go-micro client. Renamed the programmatic API from Chat() to Ask() to avoid collision with the proto handler method name. micro chat calls agents via standard RPC with JSON-encoded request/response — no special types needed on the caller side. https://claude.ai/code/session_01QTp4SshuVmLAvvEGJe4TJd * feat: generate agent alongside services, update all docs micro run --prompt now generates an agent binary that manages all the generated services. The agent reads MICRO_AI_PROVIDER and MICRO_AI_API_KEY from the environment. micro run propagates these when started with --prompt. Run banner shows services and agents separately. Updated README, getting-started guide, and landing page to show the complete flow: generate → services + agent start → micro chat routes to agent → agent orchestrates services. https://claude.ai/code/session_01QTp4SshuVmLAvvEGJe4TJd --------- Co-authored-by: Claude <noreply@anthropic.com>

Commit:081e375
Author:Asim Aslam
Committer:GitHub

Add AI provider integration guide and new providers support (#2900) * docs: add AI provider integration guide and Supported AI Providers section Add a step-by-step guide for AI infrastructure companies to implement ai.Model and contribute a provider to go-micro. Covers the full lifecycle: skeleton, tool call handling, tests, registration, and PR checklist. Add a "Supported AI Providers" section to the project README that lists current providers (Anthropic, OpenAI) in a table and links to the integration guide with a call-to-action for new providers and sponsors. Streamline the "Adding a New Provider" section in ai/README.md to point to the new guide instead of duplicating a full code listing. * fix: remove nonexistent Discord link from README * fix(website): set content container width to 800px on desktop Move the 800px max-width from .markdown-body up to .content so the entire content pane (not just the inner body) is sized correctly. The container now fills up to 800px beside the sidebar. * feat(ai): wire Atlas Cloud into server and auto-detection Import atlascloud provider in the micro server so it is available when running micro run / micro server. Add atlascloud to AutoDetectProvider so --ai_base_url with an atlascloud domain selects the right provider automatically. * feat(ai): add Google Gemini provider Add ai/gemini implementing ai.Model for Google's Gemini API. Uses the native generateContent endpoint with system_instruction, contents/parts, and functionDeclarations — not an OpenAI shim. Default model gemini-2.5-flash, auth via x-goog-api-key header. Wire into micro server imports and AutoDetectProvider (matches googleapis.com and google in base URL). Update README.md and ai/README.md with provider listing. * feat(ai): add Groq, Mistral, and Together AI providers Add three new OpenAI-compatible providers: - ai/groq: ultra-fast inference, default model llama-3.3-70b-versatile - ai/mistral: Mistral AI, default model mistral-large-latest - ai/together: Together AI, default model Llama-3.3-70B-Instruct-Turbo All three are wired into the micro server imports and AutoDetectProvider. README and ai/README updated with the full provider table. * feat(ai): add ai/tools helper and 'micro chat' interactive agent Extract the registry-discovery + RPC-execution loop from the web agent playground into a reusable ai/tools package: - tools.New(reg) creates a Set bound to a registry - Set.Discover() walks the registry and returns []ai.Tool with LLM-safe (underscored) names, remembering the mapping back to the original dotted form - Set.Handler(client) returns an ai.ToolHandler that resolves the safe name and issues the RPC Add cmd/micro/chat — an interactive 'micro chat' REPL that uses ai/tools to let users talk to their services through any registered AI provider. Supports --prompt for single-shot use, auto-detects the provider from --base_url, and falls back to the provider's conventional env var (ANTHROPIC_API_KEY, etc). Update README with the new command and the programmatic example. * feat(examples): add gRPC interop example Add examples/grpc-interop showing that any standard gRPC client can call a go-micro service — no go-micro SDK required on the client side. Includes: - proto/greeter.proto with generated Go, gRPC, and micro stubs - server/ using go-micro gRPC transport - client/ using stock google.golang.org/grpc (no go-micro imports) - README with Python example and explanation of how routing works Addresses the confusion from issue #2818 where users didn't know that go-micro gRPC services are callable by any gRPC client. --------- Co-authored-by: Claude <noreply@anthropic.com>

Commit:76bfeae
Author:Asim Aslam
Committer:GitHub

Claude/update docs roadmap f zd2 j (#2880) * docs: update all four documentation guides and mark Q2 complete - ai-native-services: add WithMCP one-liner, standalone gateway, WebSocket client example, and OpenTelemetry observability section - mcp-security: add OTel distributed tracing, WebSocket authentication (connection-level and per-message), DeniedReason audit field - tool-descriptions: add manual overrides with WithEndpointDocs and export formats section - agent-patterns: add LangChain/LlamaIndex SDK pattern and standalone gateway production pattern with Docker example - Update roadmap: mark Q2 documentation as complete, Q2 at 100% - Update status: reflect all recent completions, shift priorities https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * feat: add agent demo example and blog post Add examples/agent-demo with a multi-service project management app (projects, tasks, team) that demonstrates AI agents interacting with Go Micro services through MCP. Includes seed data and example prompts. Add blog post 4 "Agents Meet Microservices: A Hands-On Demo" walking through the example code and showing cross-service agent workflows. https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * feat: enable multiple services in a single binary Remove global state mutations from service and cmd option functions so that configuring one service no longer overwrites another's settings. Key changes: - service/options.go: remove all DefaultXxx global writes from option functions; newOptions() now creates fresh Server, Client, Store, and Cache per service while sharing Registry, Broker, and Transport - cmd/cmd.go: newCmd() uses local copies instead of pointers to package globals; Before() no longer mutates DefaultXxx vars - cmd/options.go: remove global mutations from all option functions - service/service.go: export ServiceImpl type for cross-package use - service/group.go: new Group type for multi-service lifecycle - micro.go: add Start/Stop to Service interface, expose Group and NewGroup convenience function - examples/multi-service: working example with two services https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * docs: highlight multi-service binary support Add multi-service section to README with code example, update features list, add to examples index, and note in status summary. https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * feat: unify service API and clean up developer experience - Unified service creation: micro.New("name", opts...) as canonical API - Clean handler registration: service.Handle(handler, opts...) accepts server.HandlerOption args directly, no need to reach through Server() - Unexported serviceImpl: users interact through Service interface only - Service groups use Service interface (not concrete type) - Fixed Stop() to properly propagate BeforeStop/AfterStop errors - Fixed store init: error-level log instead of fatal on init failure - Updated all examples to use consistent patterns - Updated README, getting-started, MCP docs, and guides - Added blog post about the DX cleanup https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * fix: add blog post 5 to blog index Blog post 5 (Developer Experience Cleanup) existed as a file but was missing from the blog index page. https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * feat: make micro new generate MCP-enabled services by default - main.go template includes mcp.WithMCP(":3001") by default - Handler template has agent-friendly doc comments with @example tags - Proto template has descriptive field comments - README includes MCP usage, Claude Code config, and tool description tips - Makefile adds mcp-tools, mcp-test, mcp-serve targets - go.mod updated to Go 1.22 - Added --no-mcp flag to opt out of MCP integration - Post-create output shows MCP endpoint URLs https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * docs: add MCP migration guide and troubleshooting guide - Migration guide: 3 approaches to add MCP to existing services (WithMCP one-liner, standalone gateway, CLI) - Troubleshooting guide: common issues with agents, WebSocket, Claude Code, auth, rate limiting, and performance https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * refactor: rename model/ package to ai/ for AI model providers The model/ package name conflicted with the conventional use of "model" for data models. Renamed to ai/ which better describes the package's purpose (AI provider abstraction for Anthropic, OpenAI, etc.) and frees up model/ for future data model layer use. - Rename model/ → ai/ with package name change - Update all Go imports from go-micro.dev/v5/model to go-micro.dev/v5/ai - Update cmd/micro/server/server.go references (model.X → ai.X) - Update all documentation and roadmap references - All tests pass, CLI builds successfully https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * feat: add model package for typed data access with CRUD and queries New model/ package provides a typed data model layer using Go generics. Supports structured CRUD operations, WHERE filters, ordering, pagination, and automatic schema creation from struct tags. Three backends: - memory: in-memory for development and testing - sqlite: embedded SQL for dev and single-node production - postgres: full PostgreSQL for production deployments Key features: - Generic Model[T] with Create/Read/Update/Delete/List/Count - Query builder: Where(), WhereOp(), OrderAsc/Desc(), Limit(), Offset() - Struct tags: model:"key" for primary key, model:"index" for indexes - Auto table creation from struct schema - 19 tests passing across memory and sqlite backends https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * feat: add model code generation to protoc-gen-micro Extend the micro plugin to generate model structs from proto messages annotated with // @model. Generated alongside client/server code in the same .pb.micro.go file. For a proto message like: // @model message User { string id = 1; string name = 2; } Generates: - UserModel struct with model:"key" and json tags - NewUserModel(db) factory returning *model.Model[UserModel] - UserModelFromProto(*User) *UserModel converter - (*UserModel).ToProto() *User converter Supports @model(table=custom_table, key=custom_field) options. Adds GetComments() to generator for plugin comment inspection. https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc * feat: add Model() to Service interface for Client/Server/Model trifecta Every service now exposes Client(), Server(), and Model() — call services, handle requests, and save/query data from the same interface. Includes README docs, blog post, and a full model guide on the docs site. https://claude.ai/code/session_01GkduEhcrqcG45rdfYh8dAc --------- Co-authored-by: Claude <noreply@anthropic.com>

Commit:7da9e58
Author:asim

fully functioning auth

Commit:6574180
Author:asim

.

The documentation is generated from this commit.

Commit:1dde737
Author:asim

move micro cli and protoc-gen-micro to cmd/

The documentation is generated from this commit.

Commit:230505b
Author:Asim Aslam
Committer:GitHub

Add grpc plugin (#2758) * Add grpc plugin * remove stale readmes

Commit:0f4c238
Author:Asim Aslam
Committer:GitHub

protoc-gen-micro has moved to micro/micro/cmd/protoc-gen-micro (#2751)

Commit:3d5f87c
Author:asim

no one is using that

Commit:fc614ae
Author:asim

add back generator

Commit:a3980c2
Author:David Brouwer
Committer:GitHub

feat: add test framework & refactor RPC server (#2579) Co-authored-by: Rene Jochum <rene@jochum.dev>

Commit:97d59fb
Author:Asim Aslam

remove generator and move to github.com/go-micro

Commit:28298a3
Author:Johnson C
Committer:GitHub

feat: remove plugins and related docs (#2521) * feat: redis implementation of cache * Revert "feat: redis implementation of cache" This reverts commit 4b3f25c1fc494d934613992d8a762024fafad7b6. * feat: remove plugins

Commit:27b98c4
Author:Asim Aslam

Remove examples

Commit:d2a51d0
Author:Johnson C
Committer:GitHub

[feature] stream CloseSend (#2323) * support stream CloseSend * move CloseSend into Closer

Commit:a99a1e9
Author:Qalifah
Committer:GitHub

add MultiError type (#2297)

Commit:ed9053e
Author:Niek den Breeje
Committer:GitHub

Add cache example (#2232)

Commit:49eccbc
Author:Johnson C
Committer:GitHub

fixing proto3 optional unsupported error (#2213) add supported features

Commit:7f1de77
Author:Johnson C
Committer:GitHub

try fixing staticcheck warning (#2190) https://github.com/golang/protobuf/issues/1077 package github.com/golang/protobuf/proto is deprecated: Use the "google.golang.org/protobuf/proto" package instead. (SA1019)

Commit:5700341
Author:Asim Aslam

remove network package

Commit:8e3b7a5
Author:Asim Aslam

examples at v3

Commit:d94936f
Author:Asim Aslam
Committer:GitHub

v3 (#2104) * v3 * revert plugins * fixup some issues

Commit:a7c31a0
Author:Asim Aslam

refactor all the things

Commit:7fc0b7e
Author:Asim Aslam

add all the plugins

Commit:7ab46b0
Author:Asim Aslam

rename imports

Commit:a34c70d
Author:Asim Aslam

Add examples

Commit:f8fc9d0
Author:Asim Aslam

Add protoc-gen-micro

Commit:15a62ae
Author:Asim Aslam

move debug handler

Commit:35c5904
Author:Asim Aslam

refactor network

Commit:dbe8c93
Author:Asim Aslam
Committer:GitHub

remove service implementations (#2094)

Commit:bfc212f
Author:Asim Aslam

remove service package

Commit:8c8380d
Author:Asim Aslam

delete agent package

Commit:d8f17ac
Author:Asim Aslam
Committer:GitHub

readd service package (#2026)

Commit:cc26f2b
Author:Asim Aslam

delete api service proto

Commit:c62d1d5
Author:Asim Aslam
Committer:GitHub

move transport (#1967)

Commit:82e8298
Author:Asim Aslam
Committer:GitHub

Router table.Read replaces List/Query (#1966) * Table.REad insted of list and query * fmt

Commit:d072eb6
Author:Asim Aslam
Committer:GitHub

Deprecate service (#1924)

Commit:13f4955
Author:Asim Aslam
Committer:GitHub

cleanup debug and transport (#1920)

Commit:1106f1d
Author:Asim Aslam

remove agent

Commit:563768b
Author:Asim Aslam
Committer:GitHub

v3 refactor (#1868) * Move to v3 Co-authored-by: Ben Toogood <bentoogood@gmail.com>

Commit:1838e4a
Author:Asim Aslam

remove auth provider

Commit:8c6f406
Author:Asim Aslam

Remove error proto in favour of go type

Commit:0287ab8
Author:ben-toogood
Committer:GitHub

auth/service/proto: add Delete RPC (#1836) Co-authored-by: Asim Aslam <asim@aslam.me>

Commit:0a93774
Author:ben-toogood
Committer:GitHub

auth: pass namespace options in auth service requests (#1800) * auth: pass namespace options in auth service requests * auth/service/proto: update field index Co-authored-by: Asim Aslam <asim@aslam.me>

Commit:f744c62
Author:ben-toogood
Committer:GitHub

runtime/service: pass namespace option to service (#1792)

Commit:d577dd6
Author:ben-toogood
Committer:GitHub

config: add namespace support (#1780) * config/cmd: use service namespace for config * config/service: add namespace option to list

Commit:a95acca
Author:ben-toogood
Committer:GitHub

router: add metadata to routes (#1763) * router: add metadata to route * router/registry: set node metadata in route * router/service: pass metadata to/from router service

Commit:58c6bbb
Author:ben-toogood
Committer:GitHub

registry/service: pass domain options via rpc (#1719) * registry/service: regenerate proto * registry/service: pass domain in proto request options * registry/service: stop defaulting metadata * registry: add default domain const; remove from implementations * registry/memory: fix typo

Commit:7b379bf
Author:Asim Aslam
Committer:GitHub

WIP: Add metadata to store record (#1604) * Add metadata to store record * Add metadata to cockroach store * add metadata to store service implementation * fix breaking cache test * Test/fix cockroach metadata usage * fix store memory metadata bug

Commit:5712cc9
Author:Ben Toogood

Merge master

Commit:2729569
Author:Ben Toogood

Add Debug.Cache method

Commit:12061bd
Author:Ben Toogood

Add account issuers

Commit:856c73b
Author:Ben Toogood

Remove roles (replaced with scope)

Commit:8f5ef01
Author:Ben Toogood

Update Rules.Delete proto

Commit:f6d9416
Author:Ben Toogood

Add Rule to Auth interface

Commit:dc10f88
Author:Ben Toogood

Replace auth account.Namespace with account.Scopes

Commit:0fb4734
Author:Janos Dobronszki
Committer:GitHub

Upload local source code to micro server (#1613)

Commit:1eb6363
Author:Janos Dobronszki
Committer:GitHub

Adding file upload and download capabilities (#1610)

Commit:506006f
Author:Ben Toogood

Auth Options

Commit:359b8bc
Author:Asim Aslam
Committer:GitHub

Add opts to service proto (#1517) * Add opts to service proto * Support database/table opts

Commit:d44adaf
Author:Vasiliy Tolstov
Committer:GitHub

api/router: avoid unneeded loops and fix path match (#1594) * api/router: avoid unneeded loops and fix path match * if match found in google api path syntax, not try pcre loop * if path is not ending via $ sign, append it to pcre to avoid matching other strings like /api/account/register can be matched to /api/account * api: add tests and validations Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

Commit:494e0b5
Author:Ben Toogood

Runtime: Add Kubernetes ServiceAccounts & Remove imagePullSecrets

Commit:b692c04
Author:ben-toogood
Committer:GitHub

Merge branch 'master' into git-secrets

Commit:b5f5359
Author:Ben Toogood

Pass image_pull_secrets in runtime service

Commit:692b275
Author:ben-toogood
Committer:GitHub

Runtime Namespace (#1547) * Add context option to runtime; Add dynamic namespace to kubectl client * Add namespace runtime arg * Fixes & Debugging * Pass options in k8s runtime * Set namespace on k8s resources * Additional Logging * More debugging * Remove Debugging * Ensure namespace exists * Add debugging * Refactor namespaceExists check * Fix * Fix * Fix * Fix * Change the way we check for namespace * Fix * Tidying Up * Fix Test * Fix merge bugs * Serialize k8s namespaces * Add namespace to watch * Serialize namespace when creating k8s namespace Co-authored-by: Ben Toogood <ben@micro.mu> Co-authored-by: Asim Aslam <asim@aslam.me>

Commit:fe31a71
Author:Ben Toogood

Fix formatting

Commit:c9a6b07
Author:Ben Toogood

Add priority to auth.CreateRequest and auth.DeleteRequest

Commit:ea29920
Author:Ben Toogood

Add Priority to auth rules

Commit:268651d
Author:Vasiliy Tolstov
Committer:GitHub

regenerate all proto based files (#1531) Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

Commit:f840a50
Author:Asim Aslam

Remove runtime List

Commit:0a27a08
Author:Jake Sanders
Committer:GitHub

Add Databases and Tables endpoints to store RPC proto (#1515) * Add Databases and Tables to store RPC * add Database to TablesRequest

Commit:4999f6d
Author:Ben Toogood

Namespace requests coming via api & web

Commit:623f0c0
Author:ben-toogood
Committer:GitHub

Merge branch 'master' into auth-interface-update

Commit:df8c0bb
Author:Ben Toogood

Auth Generate, make secret optional

Commit:bb51b82
Author:Janos Dobronszki
Committer:GitHub

Runtime logs (#1447) * Runtime logs * Slightly broken * Pushing for diff * Log trailing works locally * LogsOptions * Comments and streamcount support for local logs * Adding kubernetes logs * Fixing k8s logs * K8s fixes * StreamCount is now nuked * PR comments * PR comments again * Fix typo

Commit:26cb6bf
Author:Ben Toogood

Remove Legacy JWT fields

Commit:8e4d9e1
Author:Ben Toogood

Further Refactoring

Commit:82bc3cb
Author:Ben Toogood

Update interface to add provider and make secret optional

Commit:134bc1c
Author:Ben Toogood

Implement new interface

Commit:1222d07
Author:Asim Aslam
Committer:GitHub

There can be only one! (#1445) * There can be only one * fix proto?

Commit:76ade7e
Author:ben-toogood
Committer:GitHub

Auth - Swap Refresh to Token and change secrets to be strings, not tokens (#1444) * Refresh => Token * Secret is no longer a token Co-authored-by: Ben Toogood <ben@micro.mu>

Commit:c706ebe
Author:Vasiliy Tolstov
Committer:GitHub

auth proto: provide help to protoc-gen-go (#1442) Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

Commit:9e6db79
Author:Vasiliy Tolstov
Committer:GitHub

regenerate all proto (#1440) * regenerate all proto Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org> * regenerate from proto Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org> * regenerate from proto Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

Commit:756b346
Author:Vasiliy Tolstov
Committer:GitHub

auth/service: move all proto files to single dir (#1439) Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

Commit:4db2f5e
Author:ben-toogood
Committer:GitHub

Add Namespace to Auth (#1438) Co-authored-by: Ben Toogood <ben@micro.mu>

Commit:3d7d5ce
Author:Vasiliy Tolstov
Committer:GitHub

api: add static router and improve path parser in rpc handler (#1437) * api: add static router and improve path parser in rpc handler Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org> * expose metadata context key to be able to get unmodified map keys Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org> * server/grpc: fix jsonpb codec for protobuf msg Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org> * api/handler/rpc: write 204 status code when rsp is nil Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org> * api/handler/rpc: add check for nil response for non javascript Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

Commit:844c456
Author:ben-toogood
Committer:GitHub

Refactor Auth Service Protos, Add Access Rules (#1411) * Refactor auth/service into two protos * Accounts Proto * Store Prefixes * Misc * Tweak Protos Co-authored-by: Ben Toogood <ben@micro.mu> Co-authored-by: Asim Aslam <asim@aslam.me>

Commit:fd664f4
Author:ben-toogood
Committer:GitHub

Auth load rules (#1397) * WithRoles variadic args * Load Rules * Timer => Ticker Co-authored-by: Ben Toogood <ben@micro.mu>

Commit:e0e77f3
Author:ben-toogood
Committer:GitHub

Updated auth interface (#1384) * Updated auth interface * Add Rule * Remove Rule * Return token from Renew * Renew => Refresh * Implement Tokens & Default Auth Implementation * Change default auth to noop * Change default auth to noop * Move token.Token to auth.Token * Remove Token from Account * Auth service implementation * Decode JWT locally * Cookie for secret * Move string to bottom of interface definition * Depricate auth_exclude * Update auth wrappers * Update go.sum Co-authored-by: Ben Toogood <ben@micro.mu>

Commit:60993e6
Author:Vasiliy Tolstov
Committer:GitHub

config/source/service: base64 fix (#1345) Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

Commit:e803fb0
Author:Asim Aslam
Committer:GitHub

Runtime hacks (#1344) * Add Args/Image to runtime * remove the hacks

Commit:1b4e881
Author:Jake Sanders
Committer:GitHub

Rewrite the store interface (#1335) * WIP store rewrite * Fix memory store tests * Store hard expiry times rather than duration! * Clarify memory test * Add limit to store interface * Implement suffix option * Don't return nils from noop store * Fix syncmap * Start fixing store service * wip service and cache * Use _ for special characters in cockroachdb namespace * Improve cockroach namespace comment * Use service name as default store namespace * Fixes * Implement Store Scope * Start fixing etcd * implement read and write with expiry and prefix * Fix etcd tests * Fix cockroach store * Fix cloudflare interface * Fix certmagic / cloudflare store * comment lint * cache isn't implemented yet * Only prepare DB staements once Co-authored-by: Ben Toogood <ben@micro.mu> Co-authored-by: ben-toogood <bentoogood@gmail.com>

Commit:f554939
Author:Asim Aslam
Committer:GitHub

set namespace rather than key (#1331)

Commit:6aaaf54
Author:Asim Aslam
Committer:GitHub

add MICRO_AUTH_TOKEN, parse token in wrapper, preload config and othe… (#1261) * add MICRO_AUTH_TOKEN, parse token in wrapper, preload config and other things * fix wrapper panic

Commit:d76baf5
Author:Janos Dobronszki
Committer:GitHub

Trace type is now being recorded (#1188)

Commit:fe7f5a4
Author:ben-toogood
Committer:GitHub

Runtime Retries Limit (#1163) * Implement Runtime Retries * Remove Debug * Action Feedback * Refactor Retries * Fix WithRetires Typo

Commit:7105e40
Author:Vasiliy Tolstov
Committer:GitHub

pass micro errors from grpc server to grpc client (#1167) * pass micro errors from grpc server to grpc client Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org> * wrap micro errors.Error to grpc status Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>

Commit:d621548
Author:ben-toogood
Committer:GitHub

Auth (#1147) Implement the Auth interface, with JWT and service implementations. * Update Auth Interface * Define Auth Service Implementation * Support Service Auth * Add Auth Service Proto * Remove erronious files * Implement Auth Service Package * Update Auth Interface * Update Auth Interface. Add Validate, remove Add/Remove roles * Make Revoke interface more explicit * Refactor serializing and deserializing service accounts * Fix srv name & update interface to be more explicit * Require jwt public key for auth * Rename Variables (Resource.ID => Resource.Name & ServiceAccount => Account) * Implement JWT Auth Package * Remove parent, add ID * Update auth imports to v2. Add String() to auth interface