From 5d1396b8fa732b7cc39b6b4968e42cc87fa601dc Mon Sep 17 00:00:00 2001 From: pphboy Date: Thu, 26 Dec 2024 17:12:06 +0800 Subject: [PATCH] add lzcapp setup guidance --- docs/app-example-python-description.md | 198 +++++++++++++++++++++++++ docs/public/need_setup_page.png | Bin 0 -> 63540 bytes 2 files changed, 198 insertions(+) create mode 100644 docs/public/need_setup_page.png diff --git a/docs/app-example-python-description.md b/docs/app-example-python-description.md index 3a148b2..4a40e52 100644 --- a/docs/app-example-python-description.md +++ b/docs/app-example-python-description.md @@ -17,6 +17,7 @@ lzc-manifest.yml 是控制应用 Meta 信息的配置文件。 - `license`: 应用的发行许可证 - `homepage`: 项目主页 - `author`: 作者信息 +- `deploy_params`: 指定应用启动配置文件 这个文件最重要的是 `application` 字段: @@ -204,3 +205,200 @@ services: #传统docker镜像启动方式,如果需要数据库等配套容器 ## 保存数据的路径 当后端需要存储文件或者数据库时, 请确保文件放在 `/lzcapp/var`​ 目录下, 存在其他目录下的文件会在应用 Docker 重启后被系统清空。 + + + +## lzc-manifest.yml使用模板变量 + +`manifest.yml` 支持模板变量,提升配置灵活性。 + +变量列表: + +* **SysParams** 别名 **S** + +**SysParams**是一个 `map[string]string` 类型变量 ,其拥有值如下: + +``` +BoxDomain 微服域名 +BoxName 微服名称 +IsMultiInstance 实际的部署方式 +DepolyUID 如果是多实例,则为当前部署UID +AppDomain 应用域名 + +``` + +使用: +``` +{{ .SysParams.BoxName }} +{{ .S.BoxName}} +``` + +示例: +``` +services: + db: + image: xxxx + environment: + - BOXNAME={{.S.BoxName}} + - BOXDOMAIN={{.S.BoxDomain}} +``` + +* **UserParams** 别名 **U** + +**UserParams**是 用户填写 `deploy_params` 表单值。详情请阅读 [DeployParams配置](#deployparams配置) + +示例: + +`deploy_params.yml`: +``` +user_deploy_params: + - id: user_id + type: lzc_uid + description: 微服用户ID + hidden: true + - id: db_user + type: string + description: 数据库用户名 + default_value: root + optional: true + hidden: false + - id: db_passwd + type: string + description: 数据库密码 + default_value: {{ random 16 }} + hidden: true +``` + +使用: +``` +{{.UserParams.user_id}} +{{.UserParams.db_user}} +{{.UserParams.db_passwd}} +{{.U.user_id}} +{{.U.db_user}} +{{.U.db_passwd}} +``` + +示例: +``` +services: + db: + image: registry.lazycat.cloud/vim/library/mariadb:04d70a5a9b401d15 + environment: + - MARIADB_ROOT_PASSWORD={{.U.db_passwd}} + - MARIADB_DATABASE={{.U.db_user}} +``` + +* **Manifest** 别名 **M** + +**Manifest**是对应`manifest.yml`文件解析的对象。 + +注:此**Manifest**是`manifest.yml`渲染前的对象,所以其中值会出现原始的模板变量占位符。 + +**Manifest** 数据结构 +```go +type ManifestConfig struct { + Package string `yaml:"package"` + Version string `yaml:"version"` + Name string `yaml:"name"` + Description string `yaml:"description"` + Usage string `yaml:"usage"` + License string `yaml:"license"` + Homepage string `yaml:"homepage"` + Author string `yaml:"author"` + Permissions []string `yaml:"permissions"` + RuntimeDependencies struct { + // 懒猫云系统的约束 + OS string `yaml:"os"` + // hclient的版本约束 + Client string `ymal:"client"` + }`yaml:"runtime_dependencies"` + UnsupportedPlatforms []string `yaml:"unsupported_platforms"` + Application struct { + Image string `yaml:"image"` + DependsOn []string `yaml:"depends_on"` + BackgroundTask bool `yaml:"background_task"` + Subdomain string `yaml:"subdomain"` + USBAccel bool `yaml:"usb_accel"` + GpuAccel bool `yaml:"gpu_accel"` + KVMAccel bool `yaml:"kvm_accel"` + FileHandler FileHandlerConfig `yaml:"file_handler"` + Handlers HandlersConfig `yaml:"handlers"` + Routes []string `yaml:"routes"` + Workdir string `yaml:"workdir"` + PublicPath []string `yaml:"public_path"` + AuthCallback string `yaml:"authcallback"` + Ingress []IngressConfig `yaml:"ingress"` + TODO_REMOVE_UserApp bool `yaml:"user_app"` + MultiInstance bool `yaml:"multi_instance"` + Environment []string `yaml:"environment"` + HealthCheck HealthCheckConfig `yaml:"health_check"` + }`yaml:"application"` + Services map[string]struct{ + Image string `yaml:"image"` + Environment []string `yaml:"environment"` + Binds []string `yaml:"binds"` + Entrypoint *string `yaml:"entrypoint,omitempty"` + Command *string `yaml:"command,omitempty"` + Tmpfs types.StringList `yaml:"tmpfs,omitempty" json:"tmpfs,omitempty"` + DependsOn []string `yaml:"depends_on,omitempty"` + Restart *string `yaml:"restart"` + HealthCheck HealthCheckConfig `yaml:"health_check"` + NetworkMode string `yaml:"network_mode"` + NetAdmin bool `yaml:"netadmin"` + CPUShares int64 `yaml:"cpu_shares"` + CPUS float32 `yaml:"cpus"` + User string `yaml:"user,omitempty"` + } `yaml:"services"` + ExtConfig ExtConfig `yaml:"ext_config"` +} +``` + +在`manifest.yml`中使用: +``` +{{.Manifest.Name}} +{{.Manifest.Version}} +{{.M.Name}} +{{.M.Version}} +``` + +## DeployParams配置 + +懒猫微服支持在应用启动时填写应用配置。应用配置不完整时,需要用户在启动应用时通过填写Setup界面上的表单以补全应用自定义的配置,即可启动。在 `manifest.yml` 配置文件中,可通过 `{{ .UserParams.var_name }}` 进入引用配置文件。 + +![DeployParams配置界面](./public/need_setup_page.png) + +在 `lzc-build.yml` 配置中,指定 `deploy_params` 对应文件为应用配置文件,即可将 `./deploy_params.yml`打包到LPK文件中。 + +```yaml +deploy_params: ./deploy——params.yml +``` + +自定义的配置需要添加到deploy_params.yml 的user_deploy_params数组中。 下面是关于user_deploy_params 数组**项**字段解释: + + - id: 变量名 + - type: 变量类型,只支持填写 `string` `lzc_uid` `bool` + - description: 变量介绍 + - default_value: 变量默认值。注:`lzc_uid `类型下默认值无效 + - optional: 可选项, 默认值为 `false` 强制用户填写值,不填写将无法完成应用启动引导,反之则不强制填写 + - hidden: 是否隐藏该项,默认值为 `false` 表示不隐藏,建议配合 `default_value: {{random 32}}` 使用。注: `hidden` 为 `true`, `default_vaule` 为空,应用将无法完成初始化 + +`./deploy-params.yml` 文本配置示例。 + +```yaml +user_deploy_params: + - id: nickname + type: string # 合法的微服账户 + description: 引号 + optional: true + default_value: "{{ random 5 }}" + - id: box_user + type: lzc_uid + description: 微服用户名 + - id: pswd + type: string + description: 密码 + default_value: "{{ random 64 }}" + optional: false +``` + diff --git a/docs/public/need_setup_page.png b/docs/public/need_setup_page.png new file mode 100644 index 0000000000000000000000000000000000000000..a2e442ddb093d89c23b8387b92e52301b004196f GIT binary patch literal 63540 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 O3#_E^1gZGy!~XyTpA+5y literal 0 HcmV?d00001 -- Gitee