Kubernetes部署Hoppscotch Community Version平替Postman

官方文档:https://docs.hoppscotch.io/documentation/self-host/community-edition/getting-started

1. 创建namespace

kubectl create ns hoppscotch

2. 我使用的是cert manager自动生成ssl证书,所以需要在这个新那么space当中,创建cloudflare api token 和 issuer

参考: https://www.pangzai.win/kubernetes-%e4%bd%bf%e7%94%a8-cert-manager-%e8%87%aa%e5%8a%a8%e7%ad%be%e5%8f%91-https-%e8%af%81%e4%b9%a6-%e3%80%903%e3%80%91/

3. 创建certificate

创建Hoppscotch需要1个subdomain因为我开启了subpath。 如果你的enableSubpathBasedAccess是false的话就需要3个domain了

apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
  name: hoppscotch-cert-tls
  namespace: hoppscotch
spec:
  dnsNames:
    - hcbackend.pangzai.win
  secretName: hoppscotch-cert-tls
  issuerRef:
    name: letsencrypt-dns01

4. git clone 这个helm charts , 我是从官方copy出来的,然后修了一点bug,因为官方提供的service和deployment无法连接,所以我修了,使用我提供的helm charts就好。
官方HelmCharts : https://github.com/hoppscotch/helm-charts

git clone https://github.com/rudian/hoppscotch-helm-charts.git

5. 去到这个path内

cd hoppscotch-helm-charts

6. 修改your_config.yaml 到你自己的参数,你也可以参考原版的yaml。我的版本是设置了SSL的

必须设置email,因为一开始登入只能使用email发送的方式来登入。

原版的yaml路径:hoppscotch-helm-charts/blob/main/charts/shc/values.yaml
注意:原版yaml的例子就是关掉了subpath,所以才需要3个不同的domain

如果你想要desktop app要使用的话,那么enableSubpathBasedAccess就必须是true(必须开启subpath)

关于postgres的storageClass由于我使用的是阿里云的ACK,所以默认有好几种storageClass可以选,而且最低起步必须是20GB。

使用Desktop App的话需要注意这点

  • 在your_config.yaml 的 whitelistedOrigins 必须设对,否则你的Desktop APP无法正常使用,以下是我的setting,可以参考一下
whitelistedOrigins: "app://hcbackend_bm3913_com_my,http://app.hcbackend_bm3913_com_my"

7. 修改完your_config.yaml之后就是在kubernetes cluster当中执行helm来安装Hoppscotch

如果没有附上最后的 ./your_config.yaml 那么程序就会拿原版的yaml

helm install community-hoppscotch ./charts/shc -f ./your_config.yaml

如果你之后有进行任何更改your_config.yaml的话,可以执行以下的命令更新setting

helm upgrade community-hoppscotch ./charts/shc -f ./your_config.yaml

如果你想要删除整个安装的Hoppscotch的话,可以使用以下的命令

helm uninstall community-hoppscotch  

8. 安装完成之后就可以进入https://hcbackend.pangzai.win/admin, 然后填写你的email,系统就会email发出登入token给你的。你点击email就能登入到admin panel了。

注意: 第一个email进入admin panel的就是admin,第二个就不是了。

我遇到的问题:我一开始的的设定subpath是关闭的,所以登入到admin panel之后去到setup页面遇到了CORS的问题,我尝试了在ingress当中允许cors,设了之后还是一样无法解决问题,最终我使用了chrome插件来解决。这个setup页面第一次进入设定之后就不会再进入了。如果你开启subpath的话就不会遇到CORS的问题,因为都是用着同样的domain。

允许CORS的chrome插件:https://chromewebstore.google.com/detail/allow-cors-access-control/lhobafahddgcelffkeicbaginigeejlf?hl=en

Loading

Facebook评论