显示器
Cratis Showrunner 将支持、许可、公告、产品反馈和电子邮件添加到基于此的应用程序中 克拉蒂斯语Name它提供.NET库,由后端命令和查询生成的TypeScript客户端,以及React组件. 它还包括舞台管理器,一个运行应用程序的Kubernetes操作器.
选择匹配应用程序需要的部分 。 库在主机应用程序内运行; 阶段管理器在您的集群中作为服务运行 。 以下各节为各部分设置指令.
用户
Usher让用户报告问题,并进行应用程序的支持对话. 其后端为主机Arc应用程序和纪事事件商店添加了命令,查询和事件;其前端包提供生成的TypeScript客户端和React组件.
Usher捕捉出错误,让记者通过AuthProxy的半个会话给予有时间限制的支持访问,支持担任记者. 公共活动将应用程序连接到一个支持台. 开始 usher 文档 连接这两边.
方框办公室
Box Office允许受管理产品遵守经营者为每个租户作出的许可证决定:试验、座位、模块、计算津贴和暂停。 该产品接收这些决定并通过公共活动报告。 运营商的目录持有报价和价格;产品宣布其销售内容和计算使用量。 跟随 方框办公室文档 将经营者的责任与产品的责任分开.
玛克
Marquee给他们关心的人带来了产品公告. 产品运营者选择观众,显示和时间窗口;产品将公告显示为横幅或对话. 添加 <Marquee /> 到应用程序 shell 以使用它的查询和命令。 跟随 马克文档 以添加通知或主办作者方.
页:1
注将产品反馈连接到用户正在查看的内容:一分块的应用程序行为,一屏幕或单个组件. 制作申请材料的人收到作为事件的背景,并回答说明。 应用程序主机 Cratis.Showrunner.Notes; 构建器主机 Cratis.Showrunner.Notes.Collecting启用 说明文件 连接反馈收集和答复.
先驱
先驱从模板和记录中发送应用程序电子邮件。 该应用程序提供电子邮件类型,如邀请,语言及其值. 先驱将模板填充,使HTML对电子邮件客户端安全,将图像嵌入并发送到SMTP上. 失败的发送被排队和重试 。 开始 先驱文档 以配置模板和交付.
阶段管理器
阶段管理器在Kubernetes运行应用程序. 安装为服务 cratis/showrunner-operator 海姆图. A 类 Performance 运行一个带有 AuthProxy 的应用程序,并在安装配置时从克拉蒂斯环境中运行自己的Ante。 应用程序只能通过 AuthProxy 到达 。 一个性能还可以运行一个已公布的相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相相.
Performance 调和:操作者操作该应用程序。 其他资源只有计划;还没有对它们采取行动。 跟随 阶段管理器文档 以安装运算符并运行应用程序.
软件包
选择您主机部分的后端包, 然后在应用程序需要前端时添加其 TypeScript 代理或反应组件 。 合同包中包含主办方之间交换的公开活动. 舞台管理器分别作为容器图像和Helm图来发船,而不是NuGet包.
| 软件包 | 书记官处 | 这是什么 |
|---|---|---|
Cratis.Showrunner.BoxOffice | 新建 | 产品方许可:接受经营者的决定并强制执行租户的权利 |
Cratis.Showrunner.BoxOffice.Catalog | 新建 | Box Office的目录——供货(座位计划、模块、计算包)、价格和定价算术,向产品公布 |
Cratis.Showrunner.BoxOffice.Offering | 新建 | 产品专栏办公室——宣布产品销售内容(单元、仪表、座椅许可证)并衡量每名租户和每天的计算 |
Cratis.Showrunner.BoxOffice.Product | 新建 | 管理产品专栏办公室,在一个电话中——设立租户,由经营人登记和报告,回答一个人是否可以就座以及租户是否只读,以及报告谁是活跃的 |
Cratis.Showrunner.BoxOffice.Contracts | 新建 | Box Office的活动合同:经营者对租户的决定和产品报告的内容 |
Cratis.Showrunner.Herald.Contracts | 新建 | 先驱组织事件合同:电子邮件发送、失败或回弹时记录的事实 |
Cratis.Showrunner.Herald | 新建 | 先驱的后端 — 模板, 严格渲染, 图像, SMTP 和文件夹传输, 排队发送并重试, 记录在应用程序的纪事事件存储中 |
cratis/showrunner-operator-image, (中文(简体) ), cratis/showrunner-operator | 赫尔姆岛多克枢纽(OCI) | 舞台管理器, Kubernetes 操作员: 容器图像, 和在单独的寄存器中, 发布同一版本的 Helm 图表 |
Cratis.Showrunner.Usher.Contracts | 新建 | Usher的活动合同,针对对Usher记录的反应主机 |
Cratis.Showrunner.Marquee.Contracts | 新建 | Marquee的活动合同:一个产品通过下列方式收到公告的公开活动: |
Cratis.Showrunner.Marquee.Authoring | 新建 | Marquee 的作者后端 — 命令、 查询和发件箱用于写入通知, 建于 Arc and Chronicle 上 |
Cratis.Showrunner.Marquee | 新建 | Marquee的后端产品——一次收到公告,向每个租户展示其观众匹配并记录确认内容 |
Cratis.Showrunner.Usher | 新建 | Usher 后端 — 纪事上的 Arc 命令和查询 |
Cratis.Showrunner.Notes.Contracts | 新建 | 说明活动合同:公共活动是一个应用程序,建设它的人交换产品反馈 |
Cratis.Showrunner.Notes | 新建 | 应用程序的笔记后端——命令给出,建议并取出笔记,用户有状态的笔记的活列表,以及发布这些笔记的发件箱 |
Cratis.Showrunner.Notes.Collecting | 新建 | 笔记的接收方是应用程序的构建者——将应用程序的笔记读入租户的名片空间并回答它们 |
@cratis/showrunner.boxoffice | 无 | 生成产品许可前端的 TypeScript 代理 |
@cratis/showrunner.boxoffice.react | 无 | 对应享权利、模块过滤、试验、暂停、座位、使用和计划作出反应 |
@cratis/showrunner.marquee | 无 | 生成 Marquee 接收命令和查询的 TypeScript 代理 |
@cratis/showrunner.marquee.authoring | 无 | 为 Marquee 编写命令和查询生成类型脚本代理 |
@cratis/showrunner.marquee.react | 无 | Marquee Dropp-in React 组件:一个产品公告的横幅和对话框,基于 @cratis/arc.react 财务报告和审定财务报表 @cratis/components |
@cratis/showrunner.usher | 无 | 生成 Usher 命令和查询的 TypeScript 代理 |
@cratis/showrunner.usher.react | 无 | Usher 的响应组件, 以 @cratis/arc.react 财务报告和审定财务报表 @cratis/components |
@cratis/showrunner.notes | 无 | 为 Notes 命令和查询生成类型脚本代理 |
@cratis/showrunner.notes.react | 无 | 对 Notes 的回放组件: 上下文下放的反馈按钮、 反馈对话框、 组件拾取器和用户自己的反馈, 以 @cratis/arc.react 财务报告和审定财务报表 @cratis/components |
大楼
要在 Showrunner 上工作,请使用 .NET 11 SDK 所选 global.json,用于图书馆的 net10 指标和内置规格的.NET 10 SDK,以及启用Corepack的20号或以后的节点(corepack enable) (中文(简体) ). 雅恩被检查在下面 .yarn/releases。 。 。 .
从寄存器根运行下面的命令 。 完整的溶液测试指令包括基于容器的集成规格,因此多克必须运行.
# Backend: Debug builds compile the inline specs and regenerate the TypeScript proxies
dotnet build Showrunner.slnx --configuration Debug
dotnet test Showrunner.slnx --configuration Debug --no-build
# Release is warnings-as-errors; clearing CratisProxiesOutputPath skips proxy generation
dotnet build Showrunner.slnx --configuration Release -p:CratisProxiesOutputPath=
# Frontend
yarn install
yarn lint:ci
yarn compile
yarn test
yarn build
规格位于它们规定的代码旁边: for_*/when_*/ 编译为调试的文件夹只为.NET而构建,而Vitest的规格则在TypeScript的相同布局中构建。 Debug 构建从后端重生 TypeScript 代理; 不用手编辑生成的代理 。 牵引请求建立检查,使承诺的代理人保持不变.
为集中整合, Integration 在一个容器中运行 Usher 和一个反对《纪事》的办公桌. Integration.Notes 使用同一容器固定码运行应用程序和收集主机。 对于这两个项目,设置 USHER_CHRONICLE_IMAGE 选择另一个内核图像和 USHER_INTEGRATION_LOG 到保存主机日志的文件路径.
Integration.Herald/ 也在容器中针对"纪事"进行测试;其图像覆盖为 HERALD_CHRONICLE_IMAGE。 。 。 . Integration.BoxOffice/ 在多克测试MongoDB的计量存储.
释放
每一次拉动请求都包含一个 major, (中文(简体) ), minor, (中文(简体) ), patch 或者说 no-release 标签。 将版本标记的拉动请求合并到 main 在一个语义版本下发布 NuGet 和 npm 包 cratis/release-action启用 no-release 以跳过出版。 舞台管理器的容器图像和Helm图表以同版本发布.
NuGet和npm通过OpenID Connect(OIDC)使用可信赖的出版,Npm的出处为出处. 建设和打包工作没有出版权;单独的出版工作获得短期出版证书并推开被打包的文物. npm出版商在出版柏油丸时会禁用生命周期脚本.
Cratis生态系统的一部分
炫耀者是一个 克拉蒂斯语Name 项目。 它的应用程序库使用 纪事 将更改存储为事件。 使用命令和查询的 弧形 以分别处理写作和读取,模式称为 CQRS。 反应组件基于 @cratis/components。加入社区 解析器。 。 。 .
许可证
见 MIT 许可证 用于涵盖此仓库的术语.