0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

KonnectのService Catalogを触ってみる

Posted at

9/11のAPI SummitのタイミングでKonnectにService Catalogの機能がPublic Betaとして公開された
Service Catalogを使うと使わずに放置されたようなAPI(KongはShadow APIと呼んでいる)が見える化されてセキュリティリスクを軽減出来たり、分散した情報(コードリポジトリ、CI/CDパイプライン、API Specification、インシデントリスト等)を集約して表示したりすることが出来るらしい。
ただ、まだBeta版であり出来ることは限られており、今は外部のサービスについては以下のサービスとのみ連携することが出来る。

今は少ないが、Coming SoonにSwaggerHub、Datadog、GitLabもあるので連携先は順次追加されて行きそう。

今回は試しにGitHubと繋いで、どんな感じでKonnectからリポジトリが見えるのかを確認してみる。
ついでにその後にKong GatewayのServiceやAPI Productとの連携も確認してみる。

GitHubとService Catalogの連携

最初にService CatalogをGitHubと連携し、Konnect上からリポジトリが見えるようにする。
Konnectにログインし、左サイドバーのIntegrationsからGitHubを選択し、Install GitHubをクリックする。
20241007101744.png

すると認証が通っていないようなメッセージが表示されるのでAuthorizeをクリックして認証を通す。
20241007101850.png

すると連携させるリポジトリを選択する画面になる。
ここではテスト用にkonnect-catalog-testという空のリポジトリを作っていたのでこれとPublicリポジトリを連携させてみる。
picture 12

Install & Authorizeをクリックすると連携が完了する。
なお、自分の場合ここで401が返ってきて"You must be authenticated to perform this action."というエラーが表示された。
GitHub側では連携が上手く出来ているように見えたので、一度GitHubのApplicationsから"Konnect Service Catalog"をUninstallして再度Authorizeからやり直したら上手くいった。
picture 12

連携が上手くいくとKonnectの表示が以下のようになる。
20241007103125.png
またService CatalogのResourcesを見るとGitHubのリポジトリが確認できる。
20241007103414.png

Service CatalogのServiceの作成

Service Catalog内で連携した各外部・内部サービスを統合したものをServiceと呼ぶ。(これ、GatewayのServiceと被るので別名にした方が良かったのでは。。。)
このServiceを作成して任意のリポジトリを纏めてダッシュボード上で確認してみる。
Service CatalogのServicesからNew Serviceを選択する。
20241007104000.png

すると作成用のフォームが表示される。必須項目はDisplay NameとNameのみだが、どういう風に見えるかを確認するために全ての項目を以下のように埋めてみた。

項目 設定値
Display Name My Service
Name my-service
Description サービスカタログのテストです。
Label foo : bar
Cost Center Professional Services
Dashboard Konnect: https://cloud.konghq.com/
Git Repo Catalog Test Repo: https://github.com/imurata/konnect-catalog-test
Jira Project Dummy Jira: https://www.atlassian.com/ja/
Owner ipppppei
Product Manager Marco
Slack Channel Dummy Slack: https://slack.com/intl/ja-jp/

作成した結果はこちら。
Metadataのところで設定したリンクなどが表示されるようになった。
20241007104802.png

次に登録したGitHubのリポジトリをこのServiceと連携させてみる。
下のMap Resourcesをクリックする。
すると連携させるリポジトリの一覧が表示される。
ここではテスト用に作成したPrivateのリポジトリと元々公開していたPublicのリポジトリをいくつか選択してMappingさせてみる。
20241007105019.png

するとこんな感じで各リポジトリの更新日やPR、Issueの数などが表示されるようになる。
20241007105325.png

ということで、任意のリポジトリをまとめて表示することが出来た。
普段GitHubで見ている人も、複数のリポジトリのグルーピングとかは難しかったと思う。
KonnectのService Catalogを使えば簡単にグルーピングが出来るので、ちょっと便利になるかもしれない。

Gateway ManagerとAPI Productsとの連携

ResourceのMap時、Kong GatewayのServiceを選択するとそれも同じService CatalogのServiceから可視化出来る。
Serviceを選択してMapすると、Gateway Managerの項目が表示され、MappingしたServiceが表示される。
またそのServiceと関連付けられているAPI Productも表示される。
20241007110130.png

またDashboardのタブを選択すると、MappingしたServiceのメトリクスが見れるようになる。

20241007110615.png

ちなみにその横のDocumentsAPI Specsについては自動で連携せず、手動でドキュメントを登録したりAPI SpecがあるAPI ProductのVersionを指定することで可視化できるようになる。
20241007110818.png

所感

GitOps系のパイプラインをたくさん作ると、どれがどのサービスに紐づいていたか分かりにくくなるため、この手の統合ダッシュボードはあると本当に便利。
今回Konnectの統合ダッシュボード(Service Catalog)を使ってみて、操作感や見た目は悪くなかったので利用者、特に開発者にとっては環境の整理がすごく楽になると思う。
今時点では対応しているサービスが少ないが、今後増えていくみたいなので今後の成長に期待したい。
特にGitLab連携は楽しみである。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?