kubesphere3.4.0后端代码目录结构分析

kubesphere官方架构说明文档地址
后端代码目录说明
官方文档说明与3.4.0版本目录结构有所不同,以下是我自己整理的目录结构

/etc/kubesphere/kubesphere-3.4.0# tree -L 1

├── api   //自动生成的api文档
│   ├── api-rules //api文档规范
│   │   └── violation_exceptions.list  //违规例外的api集合
│   ├── ks-openapi-spec  //KubeSphere apiserver提供的REST API文档,/kapi 和/kapis 是 KubeSphere 拓展聚合的 API
│   │   └── swagger.json
│   └── openapi-spec  //KubeSphere apiserver提供的REST API文档,/api和 /apis开头的都属于 Kubernetes 原生的 API
│       └── swagger.json
├── build  //KubeSphere的构建文件
│   ├── ks-apiserver  //构建KubeSphere apiserver的Dockerfile文件
│   │   └── Dockerfile
│   └── ks-controller-manager //构建KubeSphere controller-manager的Dockerfile文件
│       └── Dockerfile
├── CHANGELOG  //当前版本的更新内容或者历史更新内容
│   ├── CHANGELOG-3.3.1.md
│   ├── CHANGELOG-3.3.2.md
│   └── CHANGELOG-3.3.md
├── cmd  //命令接口, 执行文件代码入口, 服务注册入口
│   ├── controller-manager  //KubeSphere controller-manager服务入口
│   │   ├── app
│   │   └── controller-manager.go  //入口main函数
│   └── ks-apiserver //KubeSphere apiserver 服务入口
│       ├── apiserver.go  //入口main函数
│       └── app
│     
├── config  // KubeSphere 的配置文件
│   ├── gateway   // KubeSphere 网关的配置文件
│   │   ├── Chart.yaml  //网关的版本信息。
│   │   ├── templates  //ingress配置模板
│   │   └── values.yaml  //网关的默认值
│   ├── ks-core  // KubeSphere 的一些核心组件的配置文件
│   │   ├── Chart.yaml  //kubessphere核心组件的版本信息
│   │   ├── crds   //CRD yaml文件
│   │   ├── templates  //核心组件的配置模板
│   │   └── values.yaml  //核心组件的默认值
│   └── watches.yaml 
├── CONTRIBUTING.md  //说明如何贡献代码,如何开源协同等等
├── docs  //存放设计文档、开发文档和用户文档等
│   ├── build-multiarch-images.md
│   ├── images //文档相关图片
│   │   ├── app-store.png
│   ├── powered-by-kubesphere.md
│   └── roadmap.md
├── go.mod  //Go语言包依赖管理使用的配置文件
├── go.sum
├── hack  //帮助开发的脚本文件
│   ├── boilerplate.go.txt
│   ├── build_e2e.sh
│   ├── build-scripts 
│   │   ├── get-etcd.sh
│   │   ├── get-helm.sh
│   │   ├── get-kubernetes.sh
│   │   └── get-kustomize.sh
│   ├── cherry_pick_pull.sh
│   ├── custom-boilerplate.go.txt
│   ├── deploy-kubesphere.sh
│   ├── docker_build_multiarch.sh
│   ├── docker_build.sh
│   ├── generate_certs.sh
│   ├── generate_client.sh
│   ├── generate_group.sh
│   ├── generate_manifests.sh
│   ├── gobuild.sh
│   ├── init_env.sh
│   ├── kind_e2e.sh
│   ├── lib
│   │   ├── golang.sh
│   │   ├── init.sh
│   │   ├── logging.sh
│   │   ├── util.sh
│   │   └── version.sh
│   ├── lint-dependencies.sh
│   ├── pin-dependency.sh
│   ├── setup-kubebuilder-env.sh
│   ├── tools
│   │   ├── go.mod
│   │   ├── go.sum
│   │   ├── README.md
│   │   └── tools.go
│   ├── update-gofmt.sh
│   ├── update-goimports.sh
│   ├── update-licenses.sh
│   ├── update-vendor-licenses.sh
│   ├── update-vendor.sh
│   ├── verify-all.sh
│   ├── verify-gofmt.sh
│   ├── verify-goimports.sh
│   ├── verify-golangci-lint.sh
│   ├── verify-licenses.sh
│   ├── verify-shellcheck.sh
│   └── verify-spelling.sh
├── install  //安装脚本
│   ├── ingress-controller
│   │   ├── ingress-controller-svc.yaml
│   │   └── ingress-controller.yaml
│   ├── scripts
│   │   └── docker_push
│   └── swagger-ui
│       ├── favicon-16x16.png
│       ├── favicon-32x32.png
│       ├── index.html
│       ├── oauth2-redirect.html
│       ├── swagger-ui-bundle.js
│       ├── swagger-ui-bundle.js.map
│       ├── swagger-ui.css
│       ├── swagger-ui.css.map
│       ├── swagger-ui.js
│       ├── swagger-ui.js.map
│       ├── swagger-ui-standalone-preset.js
│       └── swagger-ui-standalone-preset.js.map
├── kube  //k8s中的一些代码库和插件代码
│   ├── pkg //代码库
│   │   ├── api
│   │   ├── apis
│   │   ├── features
│   │   └── quota
│   └── plugin //插件代码
│       └── pkg
├── LICENSE  //Apache License
├── LICENSES //kubesphere的一些版权文件
│   ├── LICENSE
│   └── vendor //本地缓存的特定版本的版权文件
│       ├── code.cloudfoundry.org
│       ├── github.com
│       ├── go.etcd.io
│       ├── golang.org
│       ├── gomodules.xyz
│       ├── go.mongodb.org
│       ├── google.golang.org
│       ├── go.opentelemetry.io
│       ├── gopkg.in
│       ├── go.starlark.net
│       ├── gotest.tools
│       ├── go.uber.org
│       ├── helm.sh
│       ├── istio.io
│       ├── k8s.io
│       ├── kubesphere.io
│       ├── oras.land
│       └── sigs.k8s.io
├── Makefile  //对项目进行管理,包括一些版本信息、单元测试、编译,环境等配置
├── OWNERS  //项目开发人员信息
├── pkg  //kubesphere核心代码库
│   ├── api //api的结构定义
│   │   ├── alerting
│   │   ├── auditing
│   │   ├── cluster
│   │   ├── devops
│   │   ├── events
│   │   ├── logging
│   │   ├── metering
│   │   ├── resource
│   │   ├── types.go
│   │   └── utils.go
│   ├── apis //crds的结构定义
│   │   ├── addtoscheme_alerting_v2beta1.go
│   │   ├── addtoscheme_application_v1alpha1.go
│   │   ├── addtoscheme_audting_v1alpha1.go
│   │   ├── addtoscheme_cluster_v1alpha1.go
│   │   ├── addtoscheme_dashboard_v1alpha1.go
│   │   ├── addtoscheme_dashboard_v1alpha2.go
│   │   ├── addtoscheme_devops_v1alpha1.go
│   │   ├── addtoscheme_devops_v1alpha3.go
│   │   ├── addtoscheme_iam_v1alpha2.go
│   │   ├── addtoscheme_monitoring_v1alpha3.go
│   │   ├── addtoscheme_network_v1alpha1.go
│   │   ├── addtoscheme_notification_v2beta1.go
│   │   ├── addtoscheme_notification_v2beta2.go
│   │   ├── addtoscheme_quota_v1alpha2.go
│   │   ├── addtoscheme_servicemesh_v1alpha2.go
│   │   ├── addtoscheme_storage_v1alpha1.go
│   │   ├── addtoscheme_tenant_v1alpha1.go
│   │   ├── addtoscheme_tenant_v1alpha2.go
│   │   ├── addtoscheme_types_v1beta1.go
│   │   ├── addtoscheme_types_v1beta2.go
│   │   └── apis.go
│   ├── apiserver //REST API参数处理
│   │   ├── apiserver.go
│   │   ├── auditing
│   │   ├── authentication
│   │   ├── authorization
│   │   ├── config
│   │   ├── filters
│   │   ├── metric.go
│   │   ├── query
│   │   ├── request
│   │   ├── runtime
│   │   └── server
│   ├── client //自动生成CRD客户端
│   │   ├── clientset
│   │   ├── informers
│   │   └── listers
│   ├── constants //常见的常量
│   │   └── constants.go
│   ├── controller //控制器管理器协调逻辑
│   │   ├── alerting
│   │   ├── application
│   │   ├── certificatesigningrequest
│   │   ├── cluster
│   │   ├── clusterrolebinding
│   │   ├── destinationrule
│   │   ├── globalrole
│   │   ├── globalrolebinding
│   │   ├── group
│   │   ├── groupbinding
│   │   ├── helm
│   │   ├── job
│   │   ├── loginrecord
│   │   ├── namespace
│   │   ├── network
│   │   ├── notification
│   │   ├── openpitrix
│   │   ├── quota
│   │   ├── serviceaccount
│   │   ├── storage
│   │   ├── user
│   │   ├── utils
│   │   ├── virtualservice
│   │   ├── workspace
│   │   ├── workspacerole
│   │   ├── workspacerolebinding
│   │   └── workspacetemplate
│   ├── informers //kubessphere需要的所有共享的informer工厂组成的组
│   │   ├── informers.go
│   │   └── null_informers.go
│   ├── kapis //kubessphere 中的REST API注册
│   │   ├── alerting
│   │   ├── cluster
│   │   ├── config
│   │   ├── devops
│   │   ├── edgeruntime
│   │   ├── gateway
│   │   ├── generic
│   │   ├── iam
│   │   ├── kubeedge
│   │   ├── metering
│   │   ├── monitoring
│   │   ├── network
│   │   ├── notification
│   │   ├── oauth
│   │   ├── openpitrix
│   │   ├── operations
│   │   ├── resources
│   │   ├── servicemesh
│   │   ├── tenant
│   │   ├── terminal
│   │   └── version
│   ├── models //kubessphere REST API的数据处理部分
│   │   ├── alerting
│   │   ├── auditing
│   │   ├── auth
│   │   ├── components
│   │   ├── devops
│   │   ├── events
│   │   ├── gateway
│   │   ├── git
│   │   ├── iam
│   │   ├── kubeconfig
│   │   ├── kubectl
│   │   ├── logging
│   │   ├── metering
│   │   ├── monitoring
│   │   ├── notification
│   │   ├── openpitrix
│   │   ├── quotas
│   │   ├── registries
│   │   ├── resources
│   │   ├── revisions
│   │   ├── routers
│   │   ├── storage
│   │   ├── tenant
│   │   ├── terminal
│   │   ├── types.go
│   │   └── workloads
│   ├── server  //kubessphere REST API的数据处理部分
│   │   ├── errors
│   │   ├── healthz
│   │   ├── options
│   │   └── params
│   ├── simple  //公共的客户端
│   │   └── client
│   ├── test //测试
│   │   ├── testing.go
│   │   └── yaml.go
│   ├── utils  //公共的工具类
│   │   ├── clusterclient
│   │   ├── conversions
│   │   ├── esutil
│   │   ├── hashutil
│   │   ├── idutils
│   │   ├── iputil
│   │   ├── josnpatchutil
│   │   ├── jsonutil
│   │   ├── k8sutil
│   │   ├── metrics
│   │   ├── net
│   │   ├── pkiutil
│   │   ├── readerutils
│   │   ├── reflectutils
│   │   ├── reposcache
│   │   ├── resourceparse
│   │   ├── signals
│   │   ├── sliceutil
│   │   ├── stringutils
│   │   └── term
│   ├── version
│   │   └── version.go
│   └── webhook
│       └── webhook.go
├── README.md
├── README_zh.md
├── SECURITY.md
├── staging
│   ├── publishing
│   │   └── rules.yaml
│   ├── README.md
│   └── src
│       └── kubesphere.io
├── test  //测试代码
│   ├── e2e
│   │   ├── constant
│   │   ├── e2e.go
│   │   ├── e2e_test.go
│   │   ├── framework
│   │   ├── groups.go
│   │   ├── kind.yaml
│   │   ├── quick.go
│   │   └── workspaces.go
│   ├── network
│   │   ├── Dockerfile
│   │   ├── Jenkinsfile
│   │   ├── manifests
│   │   ├── OWNERS
│   │   └── test.sh
│   └── testdata
│       └── certs
├── tools  //生成API文档的工具
│   ├── cmd
│   │   ├── crd-doc-gen
│   │   └── doc-gen
│   ├── lib
│   │   ├── render.go
│   │   └── storage.go
│   └── tools.go
└── vendor
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值