"status 는 저장하는 필드가 아냐. 세 입력에서 그때그때 계산하는 판단이야."
status 는 필드가 아니라 함수
기계 레코드에 status: healthy 를 적지 마. 매번 세 가지에서 계산해. policy 가 어때야 한다는지(desired), probe 가 뭘 봤는지(observed), 그 observation 이 얼마나 낡았는지(freshness). 입력을 저장하고 판단은 뽑아내. 저장된 status 는 세상이 그 밑에서 움직이길 기다리는 거짓말이야.
판단의 어휘
초록 아니면 빨강은 너무 좁은 언어야. 쓸 만한 엔진은 이유 를 담은 판단으로 말해. healthy, healthy_sleeping, maintenance, waiting_for_gui_setup, stale, degraded, unreachable_expected, unreachable_unexpected, suspended, retired, unknown. 하나하나가 뭔가 틀렸다는 것뿐 아니라 어디를 손봐야 하는지까지 알려줘.
membership 이 health 를 가른다
어떤 판단은 나머지를 건너뛰어. suspended 호스트는 일부러 관리 안 하는 거고, retired 호스트는 지나간 기록이야. 둘 다 아픈 게 아니라, 지금은 아무것도 기대하지 않기로 한 것뿐이야. retired 기계는 '다운' 이 아니라 '이제 우리가 지켜볼 게 아님' 이야.
빨강은 비싸게, 그리고 늘 설명하게
빨강은 unreachable_unexpected 랑 그 친척들 거야. 현실이 약속을 깬 상태. 자는 랩탑은 healthy_sleeping 이지 절대 빨강이 아냐. 그리고 색 하나로는 안 돼. 화면은 근거가 된 사실들을 같이 보여줘야 해. 이유를 안 달아준 빨강 은 관리가 아니라 그냥 사람 불안하게 만드는 거니까.