id |
---|
developer-guide |
English | 简体中文
KDP infrastructure layer mainly includes the OAM engine, KDP backend service stack and KDP frontend service, specifically:
- OAM engine: KubeVela, FluxCD
- Built-in generic components (can be replaced by existing services):OpenEBS, PLG(Prometheus/Loki/Grafana), Kong Ingress, MySQL
- Self-developed backend services:KDP OAM Operator, KDP Catalog Manager
- Self-developed frontend service:KDP UX
- Command-line tool:KDP CLI(source codes located in the
cmd
andpkg
directories)
The application delivery declaration of KDP infrastructure is located in the infra
directory and the delivery format is KubeVela Addon. About KubeVela Addon development in detail, please refer to Addons.
The application delivery declaration of KDP core components is located in the catalog
directory, which organizes the monolithic applications under the same subsystem by the application directory. The specification of component integration can be referred to:
catalog/hdfs/
├── README.md # catalog description
├── apps # application sub-directory
│ ├── hdfs.app # application hdfs
│ │ ├── README.md # application hdfs: app description
│ │ ├── app.yaml # application hdfs: app default configs
│ │ ├── i18n # application hdfs: internationalization
│ │ │ └── en
│ │ │ └── README.md
│ │ └── metadata.yaml # application hdfs: app metadata
│ └── httpfs-gateway.app # application httpfs-gw
│ ├── README.md # application httpfs-gw: app description
│ ├── app.yaml # application httpfs-gw: app default configs
│ ├── i18n # application httpfs-gw: internationalization
│ │ └── en
│ │ └── README.md
│ └── metadata.yaml # application httpfs-gw: app metadata
├── i18n # catalog description internationalization
│ └── en
│ └── README.md
├── metadata.yaml # catalog metadata
└── x-definitions # catalog capability models
├── app-hdfs.cue # hdfs app model
├── app-httpfs.cue # httpfs-gw app model
├── setting-hdfs.cue # hdfs config model
└── setting-httpfs.cue # httpfs-gw config model
About x-definitions
design principle and development guidance, please refer to [KDP OAM Operator] (https://github.com/linktimecloud/kdp-oam-operator/tree/main/docs).
- For building packages for both infrastructure and application layer, please refer to the
Makefile
in the project root - When buildings are finished, artifacts will be pushed to a self-hosted OCI-based registry, including images and helm charts
- When deploy KDP, you may specify to pull images and charts from a self-hosted repository, which needs to proxy both the self-hosted OCI-based registry for pushing and the KDP public repository
registry-cr.linktimecloud.com
. Sonatype Nexus Repository is recommended for this purpose as it provides agroup
type of repository that can proxy multiple repositories.