1.3K Views
April 11, 24
スライド概要
2024/04/11 Go Connect #0 LT発表資料
Web Application Developer / kintone CERTIFIED App Design Specialist 2020 / kintone CERTIFIED Customization Specialist 2020
Gossによるサーバー構成のテスト 2024年4月11日 Go Connect #0 ライトニングトーク発表資料 松尾篤
松尾 篤 @matsuo̲atsushi
サーバーの運用管理で 必要になること • 変化への対応 • • ソフトウェアのバージョンアップ セキュリティアップデート • 継続的かつ安定したサーバー運用
安定した運用のために • 回避したい状況とは何かを知る • • その上で現在の状態を確認する 期待しているサーバー構成を定義する
手動での確認は大変 • 手動でさまざまな設定や稼働状況を確認 するのは時間と手間がかかってしまう • 確認項目や対象バージョンが増えて、 検証すべきサーバーやエディションが 多くなってくると‥‥
Goss "Goss is a YAML based Serverspec alternative tool for validating a server's con guration." fi https://github.com/goss-org/goss
Goss • 構築済みのサーバーが意図通り設定され • Go製のサーバー構成テストツール ているか検証できる • 検証内容をYAMLで記述 Apache License, Version 2.0 •
構成管理ツールと 併用すると効果的 • 手動で構築したサーバーだけでなく、 サーバー構成管理ツール(Terraform、 Ansible、Itamae等)を用いて構築した サーバーを検証する用途にも使える
Why use Goss? "Goss is EASY!" "Goss is FAST!" "Goss is SMALL!"
インストール方法 • Linuxにおいて手動でインストールする場合 $ VERSION=v0.4.6 $ sudo curl -L "https://github.com/ goss-org/goss/releases/download/$ {VERSION}/goss-linux-amd64" -o /usr/ local/bin/goss $ sudo chmod +rx /usr/local/bin/goss
記述例 service: sshd: enabled: true running: true process: sshd: running: true
記述例 command: {{if .Env.OS | regexMatch "(darwin|linux)"}} print-version: exec: "./fmcsadmin -v" exit-status: 0 stdout: - "2.2.0-dev" {{end}}
Quick start $ sudo goss autoadd sshd $ goss validate
Demo
YAMLファイルを生成可能 "It eases the process of writing tests by allowing the user to generate tests from the current system state."
制限事項 "goss works well on Linux, but support on Windows & macOS is alpha."
関連リンク • Goss https://github.com/goss-org/goss