Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Cockpitを拡張するには

 Cockpitを拡張するには

Cockpitの機能拡張や改造をしたい人むけにCockpit Packageの仕組みを紹介します
Cockpit Packageを試してみる動画はこちら https://youtu.be/nWlStsKzl7w?t=12m21s

Kazuo Moriwaka

August 24, 2018
Tweet

More Decks by Kazuo Moriwaka

Other Decks in Technology

Transcript

  1. 2 Copyright Red Hat K.K. All rights reserved. このスライドの位置スライドの位置付けと目のスライドの位置位置付けと目的けと目的目的 •

    対象 • Cockpitの機能拡張や改造機能拡張や改造をしたいや改造をしたい人改造をしたい人をしたい人人 • 目的 • 各種サーバ管理に利サーバ管理に利用でき管理に利用できるに利用できる利用できるできるWeb UIを提供するするCockpit が持つ持つつPackageの機能拡張や改造仕組みを紹介みを紹介
  2. 3 Copyright Red Hat K.K. All rights reserved. 概要 •

    Cockpitとは? • Cockpitの機能拡張や改造基本動作 • Cockpitを拡張や改造をしたいするに利用できるは? • Cockpit Packageとは? • Cockpit Packageの機能拡張や改造オーバ管理に利用できーライド • Cockpit Pakageを試してみるしてみる
  3. 4 Copyright Red Hat K.K. All rights reserved. Cockpitと目的は? •

    RHEL, Fedora, CentOS, Debian, Ubuntu, Arch Linux等で利で利 用できるできるWeb UIとその機能拡張や改造バ管理に利用できックエンド • 通常のユーザ権限管の機能拡張や改造ユーザ権限管理をその権限管理に利用できるをその機能拡張や改造まま利用できる • ローカルユーザ権限管理をそのの機能拡張や改造認証でログインセッでログインセッションを作成 • cockpit用できるの機能拡張や改造設定ははhttpsの機能拡張や改造証でログインセッ明書など最低限のみなど最低限のみで最低限の機能拡張や改造みでDB等で利 は持つたない人
  4. 5 Copyright Red Hat K.K. All rights reserved. Cockpitのスライドの位置 基本動作

    • cockpit-wsが持つ待受けけ • ブラウザ権限管理をそのでログイン • cockpit-bridgeが持つユー ザ権限管理をそのの機能拡張や改造権限で起動 • cockpit-bridgeが持つユー ザ権限管理をその権限でdbus, pcp, プロセス実行実行etc. • リモートへはへはsshで 接続 https://raw.githubusercontent.com/cockpit-project/cockpit/master/doc/cockpit-transport.png
  5. 6 Copyright Red Hat K.K. All rights reserved. Cockpitを拡張するには拡張するにはするには? •

    プラグイン(CockpitCockpit Package)に利用できるよる拡張や改造をしたいに利用できる対応 • dbusでの機能拡張や改造リクエス実行トへはや改造をしたい人コマンド実行、ファイル読み出ファイル読み出み出 し等で利を行うjavascript用できるAPIを提供する • cockpit.spawn([“ping”, “8.8.8.8”]) • proxy = cockpit.dbus(“org.freedesktop.hostname1”).proxy() • file = cockpit.file(“/etc/motd”, {})
  6. 7 Copyright Red Hat K.K. All rights reserved. Cockpit Packageと目的は?

    以下のようなファイの機能拡張や改造ようなファイル群を配置することを配置することですることでCockpit内で利用するで利用できるする 画面を作成する。を作成する。 /usr/share/cockpit/ hoge/ パッケージ用ディレクトリ用できるディレクトへはリ manifest.json エントへはリを作るメニュー内で利用するの機能拡張や改造場所、ファイル読み出 ラベルや改造をしたい人関連ファイルなどファイルなど最低限のみで hoge.html 表示するするhtml hoge.js 操作を実装するするjavascript
  7. 8 Copyright Red Hat K.K. All rights reserved. Cockpit Packageのスライドの位置オーバーラーイドの位置付けと目

    • ファイルを配置することでする場所が持つ3箇所あり、ファイル読み出オーバ管理に利用できーライドできる 1. /usr/share/cockpit/* (Cockpitrpm用できる、ファイル読み出シス実行テム全体用全体用できる) 2. /usr/local/share/cockpit/* (Cockpitシス実行テム全体用全体用できる) 3. ~/.local/share/cockpit/* (Cockpit特定はユーザ権限管理をその用できる) • cockpit-bridge --packages コマンドで(Cockpit実行ユーザ権限管理をそのに利用できるとって の機能拡張や改造)Cockpit Package一覧を表示を表示する • manifest.jsonで同じ名前を宣言しじ名前を宣言した名前を宣言した場合を宣言した場合した場合priorityが持つ大きい方が優きい人方が優が持つ優 先されるされる(Cockpit“machinemachines”パッケージ用ディレクトリとcockpit-machines-ovirt の機能拡張や改造”machines”パッケージ用ディレクトリが持つオーバ管理に利用できーライドの機能拡張や改造例)
  8. 9 Copyright Red Hat K.K. All rights reserved. Cockpit Packageを拡張するにはためしてみる

    • インス実行トへはール先されるディレクトへはリ作成 • mkdir -p ~/.local/share/cockpit/ • cockpitの機能拡張や改造ソース実行コードを取得 • git clone https://github.com/cockpit-project/cockpit.git • シンボリックリンク作成 • cd cockpit/examples/ • ln -s ${PWD}/pinger ~/.local/share/cockpit/ • ブラウザ権限管理をそのでcockpitへ接続(Cockpitまたは再ログインログイン) • メニュー上の“の機能拡張や改造“Pinger”メニューでpingコマンド実行
  9. 11 Copyright Red Hat K.K. All rights reserved. 参考文献 •

    cockpit projectの機能拡張や改造Tutorialカテゴリ • https://cockpit-project.org/blog/category/tutorial.html • cockpitプロジ用ディレクトリェクトへはの機能拡張や改造ソース実行コード • https://github.com/cockpit-project/cockpit/ • 本格的なpluginの機能拡張や改造ひな型 “Starter Kit” • rpmパッケージ用ディレクトリ化、ファイル読み出テス実行トへはケース実行実行, 一般公開に対応に利用できる対応 • https://github.com/cockpit-project/starter-kit • Cockpitドキュメントへは内で利用する “Developer Guide” • https://cockpit-project.org/guide/latest/development.html