MCPcopy Index your code
hub / github.com/erda-project/erda

github.com/erda-project/erda @v2.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.2.0 ↗ · + Follow
39,255 symbols 155,049 edges 6,426 files 10,508 documented · 27% updated 4d agov2.2.0 · 2022-06-30★ 2,743
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Erda logo

An enterprise-grade Cloud-Native application platform

license Go Report Card release

Introduction | Quick Start | Installation | Documentation | CHANGELOG | Contributing

Demo

Screenshot

Introduction

Erda is an open-source platform created by Terminus to ensure the development of microservice applications. It provides DevOps, microservice governance, and multi-cloud management capabilities. The multi-cloud architecture based on Kubernetes and application-centric DevOps and microservice governance can make the development, operation, monitoring, and problem diagnosis of complex business applications simpler and more efficient.

Functional Architecture

Erda is mainly composed of the following parts: - DevOps - Microservice Governance, including Application Performance Management, Monitoring, Log Analysis, API Gateway, etc. - Multi-Cloud Management - Edge Computing - FastData Management

Vision: Build any application, Deploy anywhere, Monitor anything

Architecture

The Erda project consists of multiple repsitories according to different functions. The key repositories are erda, erda-ui, erda-proto, erda-infra, erda-actions, erda-addons.

erda

It is the core repository that implements all the RESTful and gRPC interfaces of the backend services of Erda platform by multiple components in microservice architecture.

erda-ui

It is the graphical user portal of Erda platform built with React with the help of which users can work upon Erda platform very easily. It talks with erda backend services in RESTful APIs.

erda-proto

It defines a part of the communication protocols among erda backend services using Protocol Buffers. All the other protocols among erda backend services will be migrated here in the near future.

erda-infra

It is a lightweight microservices framework implements by golang. It provides many popular middleware providers such as Redis, KafKa, etcd, etc., so that developers can build a module-driven application quickly with help of it. It is also integrated into almost all the backend components in erda.

erda-actions

It holds the definition for the official Pipeline Actions of the Erda Action Marketplace as found at https://www.erda.cloud/market/action. A Pipeline Action plays as a mininal runnable unit in Erda Pipelines such as checking out source code in github, buiding a docker image, creating a deployment in a Kubernetes cluster etc.

erda-addons

It holds the definition for the official Addons of the Erda Addon Marketplace as found at https://www.erda.cloud/market/addon. An Addon holds the configration of a middleware like MySQL, Redis, etc. or a third-party service and it can be shared to different environments of applications, so that developers would not need to import the same configurations again and again in different environments.

There are some extra repositories that plays as customized third-partiy independent components and tools in Erda project such as * erda-proto-go generated code for Erda protobuf data modals and protocols. * erda-analyzer is the streaming aggregator for metrics and alert data. * erda-java-agent is the apm java agent in Erda platform. * telegraf is the plugin-driven server agent for collecting & reporting metrics. * kubeprober is a large-scale Kubernetes cluster diagnostic tool. * beats is the lightweight shippers for Elasticsearch & Logstash. * remotedialer is a reverse tunneling dialer. * erda-bot is the bot handing Github webhooks.

Quick Start

To get started, see Local installation.

Installation

Erda can be deployed in either a single node or multi-node setup. Please download binaries of Erda release and follow Installation & Configuration Guide to install Erda.

User Manual

To start using Erda, please refer to the following documentation.

Contributing

Contributions are always welcomed. Please refer to Contributing to Erda for details.

Contact Us

If you have any questions, please feel free to contact us.

  • Email: erda@terminus.io
  • Twitter: @ErdaProject
  • Zhihu:Erda技术团队 (A Chinese knowledge community, similar to Quora.)
  • WeChat Official Account:

    Erda WeChat - DingTalk Group:

    Erda DingTalk

License

Erda is under the Apache 2.0 license. See the LICENSE file for details.

Extension points exported contracts — how you extend this code

Rule (Interface)
Rule is an Error and SQL ast visitor, can accept a SQL stmt and lint it. [96 implementers]
pkg/database/sqllint/rule.go
Schedule (Interface)
The Schedule describes a job's duty cycle. [22 implementers]
pkg/cron/cron.go
StoreWithWatch (Interface)
StoreWithWatch = Store + Watch [17 implementers]
pkg/jsonstore/storetypes/types.go
FlinkClusterInterface (Interface)
FlinkClusterInterface has methods to work with FlinkCluster resources. [7 implementers]
pkg/clientgo/clientset/versioned/typed/flinkoperator/v1beta1/flinkcluster.go
RouteSourceWatcher (Interface)
RouteSourceWatcher . [17 implementers]
internal/tools/openapi/openapi-ng/interface.go
WorkerManager (Interface)
WorkerManager . [11 implementers]
internal/apps/msp/apm/checker/task/worker_manager.go
Flag (Interface)
(no doc) [7 implementers]
tools/cli/command/flag.go
RequestValidator (Interface)
(no doc) [6 implementers]
pkg/kms/kmstypes/api_const.go

Core symbols most depended-on inside this repo

Errorf
called by 9774
internal/tools/pipeline/action-runner/logs.go
Where
called by 2801
internal/apps/msp/apm/log-service/query/utils.go
ToResp
called by 2544
pkg/http/httpserver/errorresp/response.go
InternalError
called by 2276
pkg/http/httpserver/errorresp/error_codes.go
New
called by 1820
internal/apps/msp/apm/checker/plugins/interface.go
I18n
called by 1600
internal/apps/cmp/resource/modal.go
Unmarshal
called by 1558
internal/tools/monitor/oap/collector/lib/common/unmarshalwork/unmarshalwork.go
InvalidParameter
called by 1515
pkg/common/httpapi/errors.go

Shape

Method 19,731
Function 9,559
Struct 8,617
TypeAlias 683
Interface 444
FuncType 221

Languages

Go100%
TypeScript1%

Modules by API surface

internal/tools/orchestrator/hepa/repository/service/interface.go266 symbols
apistructs/cmp.go249 symbols
apistructs/api_asset_req_resp.go128 symbols
internal/tools/monitor/core/log/storage/clickhouse/query_parser/parser/esquerystring_parser.go117 symbols
pkg/parser/diceyml/define.go114 symbols
internal/apps/msp/apm/alert/alert_monitor_test.go112 symbols
internal/apps/cmp/alert_monitor_test.go112 symbols
apistructs/gittar.go99 symbols
internal/apps/cmp/cache/cache.go96 symbols
internal/tools/monitor/apm/topology/topology.go89 symbols
internal/apps/cmp/steve/middleware/dispatcher.go83 symbols
apistructs/issue.go83 symbols

Dependencies from manifests, versioned

bou.ke/monkeyv1.0.2 · 1×
github.com/360EntSecGroup-Skylar/excelize/v2v2.3.2 · 1×
github.com/GoogleCloudPlatform/spark-on-k8s-operatorv0.0.0-2020121501565 · 1×
github.com/Masterminds/semverv1.5.0 · 1×
github.com/WeiZhang555/tabwriterv0.0.0-2020011501593 · 1×
github.com/alecthomas/assertv0.0.0-2017092904301 · 1×
github.com/alecthomas/colourv0.1.0 · 1×
github.com/alecthomas/reprv0.0.0-2021030106011 · 1×

Datastores touched

(mysql)Database · 1 repos

For agents

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

⬇ download graph artifact