SveltosでLuaのコードを見ていると、hs
という変数をよく目にしませんか?これは何を表す変数なんだろうと思ったので調べてみました。
hs
── evaluate()
関数内で使われるアレ
Sveltosでは、クラスタのヘルスチェックやイベント検出のロジックをLuaスクリプトで記述できます。その際にhs
というテーブル変数が必ず登場します。
apiVersion: lib.projectsveltos.io/v1beta1
kind: EventSource
metadata:
name: sveltos-service
spec:
collectResources: true
resourceSelectors:
- group: ""
version: "v1"
kind: "Service"
evaluate: |
function evaluate()
hs = {} -- これ
hs.matching = false
hs.message = ""
if obj.metadata.labels ~= nil then
for key, value in pairs(obj.metadata.labels) do
if key == "sveltos" then
if value == "fv" then
hs.matching = true
end
end
end
end
return hs
end
hs
は「ヘルスステータス」の略
hs
は「ヘルスステータス (health status)」を表すオブジェクトを指す略称らしいです。Sveltos作者のブログでも「hs
はSveltosに返すヘルスステータスオブジェクトです」と明言されていました。