使用WSO2 Api Manager 3.x的Helm安装时,设置自定义的Jwt Grant Handler

问题描述

我已经开发了一个自定义的JWTBearerGrantHandler,它包装为jar。在裸机WSO2部署中,我将该jar添加repository/components/lib并在repository/resources/conf/default.json中设置相关的类:

  "oauth.grant_type.jwt_bearer.grant_handler": "xxx.MyJWTBearerGrantHandler",

但是,我想使用提供的Helm图表(https://github.com/wso2/kubernetes-apim/tree/master/advanced/am-pattern-1)在Kubernetes中部署WSO2 API管理器。在这种情况下,如何添加我的自定义处理程序?

解决方法

两项更改都可以通过构建Docker映像来添加JAR和配置(repository/resources/conf/default.json)。在这种情况下,基本映像将是WSO2为WSO2 API Manager提供的Docker映像,您可以使用Docker COPY Dockerfile指令将JAR +配置文件添加到Docker映像中。构建映像并将其推送到私有注册表后,请通过values.yaml引用该映像。

假设可以远程访问JAR文件,则添加JAR文件的另一种方法是使用Init容器下载JAR。请查看如何using init container下载MySQL连接器。

如果给定的配置经常更改,则最好通过 K8s Configmap。要将repository/resources/conf/default.json添加为Configmap,请查看现有的configuration mount