Background

HorizonCD is a platform for continuous delivery and deployment that supports multiple deployment targets. Currently, HorizonCD only supports Kubernetes(minikube、kind) as a deployment target, but there is a growing demand for support of local installations.

Objective

The objective of this feature request is to add support for local installations using k3s, a lightweight Kubernetes distribution that is optimized for production workloads in resource-constrained environments.

Design

The following table outlines the design considerations for this feature request:

Design Consideration Description
Compatibility Investigate if k3s meets the business requirements of HorizonCD
HorizonCD Version Choose the most appropriate version of HorizonCD to support local installations with k3s
Container Runtime Choose the appropriate CRI (Docker or Containerd) for the local installation
Helm Controller Determine if the Helm controller is required for installation or if it can be installed without the Helm CLI

Implementation Steps

The following steps will be taken to implement this feature request:

Implementation Steps Description
k3s Installation Script Develop an installation script to deploy k3s
HorizonCD Directory Structure Choose an appropriate directory structure for HorizonCD on the local installation
Docker Installation Determine if Docker is required for the local installation
Makefile Deployment Develop a Makefile for one-click deployment of the local installation

Tasks

The current horizonci has a lot to improve in testing and CI, count the PR

Type Improvements Issue PR Status
Makefile Give the help information of Makefile to make it more readable, give some necessary lab #65
k3s-install Suitable for developer local lightweight installation

⚠️ Please note that this feature request is currently being discussed on the HorizonCD GitHub Discussions forum.

部分改进 issue 提议

背景

HorizonCD 是一款支持多个部署目标的持续交付和部署平台。目前,HorizonCD 仅支持 Kubernetes(minikube、kind)作为部署目标,但越来越多的人需要支持本地安装。

目标

此功能请求的目标是添加对本地安装的支持,使用 k3s,一种轻量级的 Kubernetes 发行版,它针对资源受限环境中的生产工作负载进行了优化。