• @guqing guqing commented on pull request #13 in halo-sigs/halo-gradle-plugin

    Hi @mashirot,感谢贡献,建议撤销对当前要解决问题无关的改动,一个 PR 建议只单独做一件事情

    0 0
  • @guqing guqing commented on issue #33 in halo-dev/plugin-starter

    角色模板配置错了,参考文档:API 权限控制
    角色模板的 rules 中的 apiGroups,resources 根据路由规则来套 /apis/<apiGroup>/<version>/<resource>[/<resourceName>/<subresource>]

    0 0
  • @guqing guqing commented on issue #5813 in halo-dev/halo

    /kind improvement
    /area core

    可以考虑为 AuthProvider 增加 priority 字段用于排序

    0 0
  • @guqing guqing commented on issue #5054 in halo-dev/halo

    /milestone 2.16.x

    0 0
  • @guqing guqing commented on issue #5451 in halo-dev/halo

    /triage duplicate
    see also #5451

    0 0
  • @guqing guqing commented on issue #4294 in halo-dev/halo

    /milestone 2.16.x

    0 0
  • @guqing guqing commented on issue #5811 in halo-dev/halo

    metadata.creationTimestamp 也是不可能出现为空的,但以前还是出现过。

    可以通过提前判断 comment.spec.owner.annotations 是否存在再取值,目前这里的使用并不频繁,因此我认为可以不考虑这个问题

    0 0
  • @guqing guqing opened issue #5872 in halo-dev/halo

    Your current Halo version

    2.15.1

    Describe this feature

    目前插件依赖中关于被依赖插件的停止或启动存在一些问题:

    1. 以应用市场插件为例,应用市场插件被 A 和 B 插件依赖,且都处于启动状态
    2. 停止应用市场插件后会自动停止 A 和 B,然后点击启动 A 会自动启动 B 插件和应用市场插件
    3. 在 Reconciler 中会去监听内存中插件的实际状态并修改 spec.enabled 这违反了 spec 的初衷,spec 是用户期望如果内存中状态不符合应该协调到期望状态

    重构点:

    1. 插件的停止和启动前应该加入依赖检测,如果有插件依赖了当前被停止的插件则不允许停止当前插件,如果插件启动时所依赖的插件没有启动应该拒绝启动并给用户提示
    2. 不应该监听内存中插件状态并去修改 spec 来适应内存中的状态,而是要以用户期望状态为准

    以升级步骤为例,应该的逻辑是:

    1. 检测依赖插件,比如已经启动的 A,B
    2. 更新 A 和 B 的 annotations 中加入 reload 标记
    3. 检测依赖插件,有就抛出异常 requeue(可能因为抛出异常 requeue 后进入第4步),没有则 reload 应用市场,stop ,unload,load 等步骤
    4. A 和 B 中途可能会进入执行(由于 3 步骤让出了执行权),检测到 reload 标记,执行 reload 操作,但是需要检测依赖插件是否正常,如果没有启动则抛出异常等待。
    5. 应用市场启动完成了,reconciler 轮到 A 执行,检测到 reload 标记执行 reload 等逻辑重复到第3步

    如此不在需要停止插件时检测依赖并记录到当前插件然后又再启动后回复依赖插件的状态,且不需要去以内存中实际状态为主来修改插件 spec.enabled,spec.enabled 是用户期望,无论如何要以用户期望为准,避免出现升级应用市场插件时其他插件被停止而没有自动启动的问题

    Additional information

    /kind improvement
    /area core
    /milestone 2.16.x
    /assign @JohnNiang

    0 0
  • @guqing guqing commented on issue #33 in halo-dev/plugin-starter

    暂时放弃这个依赖了,自己实现功能了,不理它先 想问一下怎么样在插件理做免登录验证的接口

    参考文档 聚合角色
    通过定义角色模板并聚合到 anonymous 角色上实现免登陆

    0 0
  • @guqing guqing pushed to main in halo-dev/docs

    Below is the list of commits:

    • doc: add doc for template head processor extension point (#348) (b8b5a4e)
    0 0