MCPcopy Create free account
hub / github.com/marmotedu/iam

github.com/marmotedu/iam

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.6.2 ↗ · + Follow · compare 2 versions
1,842 symbols 5,884 edges 334 files 1,143 documented · 62% updated 16mo agov1.6.2 · 2023-12-07★ 4,19919 open issues

Browse by type

Functions 1,506 Types & classes 336
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

IAM - 身份识别与访问管理系统

IAM = Identity and Access Management

IAM 是一个基于 Go 语言开发的身份识别与访问管理系统,用于对资源访问进行授权。最新稳定版本为:v1.6.2,建议基于稳定版安装测试

这里需要注意: - 如果你是极客时间《Go 语言项目开发实战》专栏的读者,请使用 v1.1.0 版本(tag) - 如果你是图书《从零构建企业级 Go 项目》的读者,请使用 v1.6.t2 版本(tag)

更详细的版本映射请参考:版本映射

IAM 同时也具有以下能力:

  1. 配合极客时间专栏 Go 语言项目开发实战,讲解如何用 Go 做企业级应用的开发,是该项目的理论课程,包含了项目各个知识点和构建思路的讲解,也会包含我的一线研发经验和建议。

  2. 作为一个开发脚手架,供开发者克隆后二次开发,快速构建自己的应用。

IAM 项目会长期维护、定期更新,欢迎兄弟们 Star & Contribute

功能特性

本项目用到了Go企业开发的大部分核心技能点,见下图:

技术思维导图

更多请参考:marmotedu/gocollect

软件架构

IAM架构

架构解析见:IAM 架构 & 能力说明

快速开始

依赖检查

  1. 服务器能访问外网

  2. 操作系统:CentOS Linux 8.x (64-bit)

本安装脚本基于 CentOS 8.2 安装,建议你选择 CentOS 8.x 系统。其它Linux发行版、macOS也能安装,不过需要手动安装。

快速部署

快速部署请参考:IAM 部署指南

IAM 项目还提供了更详细的部署文档,请参考:手把手教你部署IAM系统

构建

如果你需要重新编译IAM项目,可以执行以下 2 步:

  1. 克隆源码
$ git clone https://github.com/marmotedu/iam $GOPATH/src/github.com/marmotedu/iam
  1. 编译
$ cd $GOPATH/src/github.com/marmotedu/iam
$ make

构建后的二进制文件保存在 _output/platforms/linux/amd64/ 目录下。

使用指南

IAM Documentation

如何贡献

欢迎贡献代码,贡献流程可以参考 developer's documentation

社区

You are encouraged to communicate most things via GitHub issues or pull requests.

关于作者

为了方便交流,我建了微信群,可以加我 微信:nightskong,拉你入群,方便交流。

谁在用

如果你有项目在使用iam系统模板,也欢迎联系作者,加入使用案例。

许可证

IAM is licensed under the MIT. See LICENSE for the full license text.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 984
Function 522
Struct 274
Interface 38
FuncType 13
TypeAlias 11

Languages

Go100%

Modules by API surface

pkg/log/log.go95 symbols
internal/apiserver/store/mock_store.go62 symbols
internal/apiserver/service/v1/mock_service.go62 symbols
pkg/storage/redis_cluster.go57 symbols
pkg/storage/storage.go45 symbols
internal/iamctl/util/templates/markdown.go37 symbols
internal/iamctl/cmd/util/helpers.go32 symbols
pkg/log/distribution/logger.go30 symbols
internal/apiserver/store/etcd/etcd.go29 symbols
pkg/shutdown/shutdown_test.go25 symbols
pkg/shutdown/shutdown.go25 symbols
internal/iamctl/util/templates/templater.go24 symbols

Dependencies from manifests, versioned

github.com/Azure/go-ansitermv0.0.0-2021061722524 · 1×
github.com/asaskevich/govalidatorv0.0.0-2021030708111 · 1×
github.com/avast/retry-gov3.0.0+incompatible · 1×
github.com/beorn7/perksv1.0.1 · 1×
github.com/coreos/go-semverv0.3.0 · 1×

Datastores touched

(mongodb)Database · 1 repos
iam_analyticsDatabase · 1 repos

For agents

$ claude mcp add iam \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page