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