feat: Add independent Helm chart for API7 Developer Portal Frontend#266
Draft
feat: Add independent Helm chart for API7 Developer Portal Frontend#266
Conversation
|
|
- Created independent Helm chart for API7 Developer Portal Frontend - Added Chart.yaml with postgresql dependency (v12.12.10) - Created comprehensive values.yaml with all configuration options - Implemented templates following existing chart conventions: - _helpers.tpl with standard helper functions - secret.yaml for sensitive data (portal token, auth secret, db url) - configmap.yaml with config.yaml using env var placeholders - deployment.yaml with health probes and resource management - service.yaml for ClusterIP/NodePort/LoadBalancer - ingress.yaml with multi-version K8s support - serviceaccount.yaml for RBAC - NOTES.txt with installation instructions - Added .helmignore for package management - Created comprehensive README.md with parameters and examples - Chart passes helm lint validation - Chart templates render successfully with test values Co-authored-by: gxthrj <4413028+gxthrj@users.noreply.github.com> Agent-Logs-Url: https://github.com/api7/api7-helm-chart/sessions/1ade7860-9784-4049-8ea0-2fbcd795c1c1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements a standalone Helm chart for the API7 Developer Portal Frontend (Next.js app), separating it from the api7 umbrella chart. The frontend has its own PostgreSQL database for Better Auth user management and connects to the existing Portal API backend via URL + token.
Chart Structure
developer-portal-fev0.1.0 (appVersion 0.5.7) with PostgreSQL 12.12.10 dependencyConfiguration Strategy
Environment variables injected via Kubernetes Secrets, referenced in config.yaml using
${VAR}placeholders:Key Features
existingSecretreferences for production usetlsRejectUnauthorizedflag for development with self-signed certificates/healthzwith configurable delaysArchitecture
Chart validates with
helm lintand renders 10 Kubernetes resources with test values.Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
charts.bitnami.com/usr/local/bin/helm helm dependency update /home/REDACTED/.nvm/ROADMAP.md /home/REDACTED/.nvm/alias /home/REDACTED/.nvm/bash_completion /home/REDACTED/.nvm/install.sh /home/REDACTED/.nvm/nvm-exec /home/REDACTED/.nvm/nvm.sh /home/REDACTED/.nvm/package.json /home/REDACTED/.nvm/rename_test.sh /home/REDACTED/.nvm/test rev-�� --abbrev-ref HEAD nfig/composer/vendor/bin/git \#^[^v]# d; sed(dns block)/usr/local/bin/helm helm repo add bitnami REDACTED /home/REDACTED/.nvm/bash_completion /home/REDACTED/.nvm/install.sh /home/REDACTED/.nvm/nvm-exec /home/REDACTED/.nvm/nvm.sh /home/REDACTED/.nvm/package.json /home/REDACTED/.nvm/rename_test.sh /home/REDACTED/.nvm/test rev-�� --abbrev-ref -linux/rg /usr/bin/base64 --abbrev-ref HEAD p/bin/git(dns block)/usr/local/bin/helm helm dependency build /home/REDACTED/.nvm/ROADMAP.md /home/REDACTED/.nvm/alias /home/REDACTED/.nvm/bash_completion /home/REDACTED/.nvm/install.sh /home/REDACTED/.nvm/nvm-exec /home/REDACTED/.nvm/nvm.sh /home/REDACTED/.nvm/package.json /home/REDACTED/.nvm/rename_test.sh /home/REDACTED/.nvm/test -c f() { test "$1" = get && echo "******"; }; f stoOUTPUT f() { test "$1" = get && echo "******"; }; f sto-d tnet/tools/git --abbrev-ref HEAD /usr/bin/base64(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
This section details on the original issue you should resolve
<issue_title>feat: [PRD] API7 Developer Portal Frontend Helm Chart</issue_title>
<issue_description>## 1. 背景 (Background)
API7 开发者门户由两部分组成:
api7/api7-ee-developer-portal,监听端口 4321,已经作为api7umbrella chart 的一部分部署在 Kubernetes 中api7/api7-ee-developer-portal-fe,监听端口 3001,基于 api7-portal-boilerplate 构建的 Next.js 应用,目前只有 Docker Compose 部署方式本 PRD 的目标是为 Developer Portal FE 创建一个独立的 Helm Chart,使其可以在 Kubernetes 集群中部署。
参考文档:使用提供方门户设置开发者门户
2. 架构概览
关键区分:
portal.url+portal.token连接后端 Portal API3. 应用运行时画像
3.1 Docker 镜像信息
api7/api7-ee-developer-portal-fe/app/apps/site/config.yaml./docker-entrypoint.sh→node apps/site/server.js3.2 启动流程
3.3 Health Check
/healthz/healthz3.4 环境变量
NODE_ENVproductionPORTHOSTNAMENODE_TLS_REJECT_UNAUTHORIZED0跳过 TLS 验证PORTAL_URLPORTAL_TOKEN3.5 配置文件 Schema
config.yaml 支持
${VAR}和${VAR:default}环境变量模板语法。完整 schema(来自
apps/site/config.yaml.example):3.6 依赖
4. Docker Compose → Helm Chart 映射
developer-portalserviceapi7/api7-ee-developer-portal-fe:v0.5.7postgresserviceconfig.yaml挂载/app/apps/site/config.yamlports: "80:3001"NODE_TLS_REJECT_UNAUTHORIZEDenvvolumes: postgres_data5. Chart 设计
5.1 Chart 元数据