サークル会員向けのPaaSです。
ローカルでの開発にはKindを使用してKubernetesクラスタを構築します。
./hack/setup.shIngress-Nginxをインストールします。
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.15.1/deploy/static/provider/kind/deploy.yamlDockerイメージのビルドとPush
make docker-build docker-push環境変数 を設定します
Manifestの適用
# CRDをクラスタに適用
make install
# Manifestsをクラスタに適用
make deployPodの状態を確認します。
kubectl get pods -n maxicloud-system以下の二つがRunningとなっていればOKです。
NAME READY STATUS RESTARTS AGE
maxicloud-controller-manager-58f846777c-2mlr5 1/1 Running 0 57s
maxicloud-gateway-cfb744f4d-pw6cp 1/1 Running 0 57s変更を反映させるためのコマンド
# protoを変更したとき
# buf generateを実行するには./dashboardでpnpm installしておく必要があります。
buf generate
# CRDの定義を変更したとき
make generate
# Kubebuilderのマーカを変更したとき
make manifests
# Goのコードを変更したとき
make docker-build docker-push
# イメージをビルドしてPushした後、変更を反映させるためのコマンド
kubectl rollout restart deployment/maxicloud-controller-manager maxicloud-gateway -n maxicloud-system
# 上全てをまとめてやるコマンド
make releaseダッシュボードは/dashboardにあります。以下のコマンドで起動できます。
cd dashboard
pnpm install
pnpm devsmee-clientを使用して、ローカルにWebhookを転送します
npm install --global smee-clientsmee.ioにアクセスしてWebhookを受け取るURLを作成してください。
smee --url <作成したURL> --target http://localtest.me:8080/github/webhook