👻

Strapi本番環境のGraphQLをApollo Studioで触れるようにする

1 min read

StrapiのGraphQL Playgroundは、本番環境で触れなくなっている。これをApollo Studioと接続することで、Playgroundの機能に加えて、色々な便利ツールが使えるようになる。

Apollo Studioに登録

https://studio.apollographql.com/login

GitHubでサインイン可能。名前や組織名を設定する必要がある。

「New Graph」から新しいGraphQLサーバーを登録できる。

APOLLO_KEY=ApolloStudioのAPIキー
APOLLO_GRAPH_ID=ApolloStudioのアプリID
APOLLO_GRAPH_VARIANT=current
APOLLO_SCHEMA_REPORTING=true

こんなモーダルが出てくるはずなので、シェル変数に入れておく。

Strapiのセットアップ

https://zenn.dev/higa/articles/79ac3298cf41ad7cf5ab

こちらの記事を参考にさせていただいた。

$ echo "DATABASE_HOST=/cloudsql/$PROJECT_ID:$REGION:$CLOUD_SQL_NAME" > .env
  echo "DATABASE_NAME=$DATABASE_NAME" >> .env
  echo "DATABASE_USERNAME=$DATABASE_USER" >> .env
  echo "DATABASE_PASSWORD=$DATABASE_PASSWORD" >> .env
  echo "GCS_BUCKET_NAME=$BUCKET_NAME" >> .env

+  # KEYS BELOW ARE FOR APOLLO STUDIO
+  echo "APOLLO_KEY=$APOLLO_KEY" >> .env
+  echo "APOLLO_GRAPH_ID=$APOLLO_GRAPH_ID" >> .env
+  echo "APOLLO_GRAPH_VARIANT=$APOLLO_GRAPH_VARIANT" >> .env
+  echo "APOLLO_SCHEMA_REPORTING=$APOLLO_SCHEMA_REPORTING" >> .env

上記の記事でローカル用の環境変数を設定する際に、便乗するようにApollo Studioの変数を入れる。

$ gcloud secrets create $SECRET_NAME --replication-policy automatic
$ gcloud secrets versions add $SECRET_NAME --data-file .env

後は記事通り、.envの内容をSecrets Managerに追加する。

GraphQLプラグインのセットアップ

Strapiのコンテナで、strapi-plugin-graphqlを追加すればGraphQLが有効化される。strapiのCLIがうまく動かなかったのでこうした。

デプロイ

デプロイ手順は上記の記事を参照。

Secrets Managerの環境変数が使用されるので、ビルド後にApollo Studioに情報が転送され、魔法のように色々遊べるようになる。

Discussion

ログインするとコメントできます