제3장
인터페이스
하나의 윈도우에 천 개의 서비스. 이 장은 안내 투어입니다. 사이드바, 패널, 플로팅 팔레트, 검색, 도움말, 그리고 앱이 작업을 방해하지 않도록 하는 세심한 장치들을 살펴봅니다.
FrontierStack은 매우 다양한 서비스를 관리하지만, 이를 하나의 익숙한 macOS 윈도우로 보여 줍니다. 왼쪽에는 항목을 나열한 사이드바, 가운데에는 선택한 항목의 화면, 그리고 도구 막대에는 언제나 쓸 수 있는 도구가 한 줄로 놓여 있습니다. 이 레이아웃을 한 번만 익혀 두면 이 책에 나오는 모든 패널이 — Apache부터 Cloudflare 영역까지 — 예상한 바로 그 자리에 있습니다. 이 장에서는 인터페이스를 처음부터 끝까지 살펴봅니다. 그래야 이 매뉴얼의 나머지 부분에서 “사이트 패널을 여십시오”라고만 해도 여는 방법을 이미 알고 있다고 믿을 수 있기 때문입니다.
3.1메인 윈도우
윈도우는 세 영역으로 이루어진 표준 macOS NavigationSplitView입니다. 왼쪽에는 서비스 사이드바가 있습니다. 보기로 선택한 모든 서비스와 도구를 카테고리별로 묶어 스크롤하고 접을 수 있는 목록입니다. 가운데에는 활성 패널이 있습니다. 사이드바에서 선택한 항목의 화면으로, 자체 헤더, 탭, 컨트롤을 갖추고 있습니다. 위쪽을 가로지르는 것은 도구 막대이며, 그 버튼은 어느 패널에 있든 항상 사용할 수 있습니다.
도구 막대에는 오른쪽부터 왼쪽으로 다음이 있습니다. 검색(돋보기, ⌘F로도 열 수 있음), AI 어시스턴트(요술 지팡이, 플로팅 명령 팔레트를 엶), 현재 작업 디렉터리에서 터미널을 여는 Shell 버튼, macOS가 라이트 모드일 때도 다크 모드를 강제로 적용하는 다크 모드 토글, 그리고 선택한 패널을 띄울 수 있을 때는 이를 팔레트로 분리하는 분리 버튼입니다. 셋업에 저장하지 않은 변경 사항이 있으면 주황색 저장 안 됨 메뉴도 여기에 나타납니다. KeyRotate가 설치되어 있으면 열쇠 꾸러미 모양의 버튼이 맨 왼쪽에 별도의 그룹으로 놓입니다. 이 버튼은 KeyRotate를 열거나 앞으로 가져옵니다.
사이드바의 너비는 자유롭게 정할 수 있습니다. 구분선을 드래그하면 FrontierStack이 실행할 때마다 그 너비를 기억합니다. 앱을 다시 열면 마지막으로 선택한 패널이 복원되므로, 중단했던 곳으로 바로 돌아갑니다.
사이드바 그룹은 여러 사이트나 회사에 걸친 사이드바를 정리해 줍니다. 고정된 서버, 기기, Cloudflare 영역, Wi-Fi 네트워크 또는 클러스터를 오른쪽 클릭하여 그룹(“오사카 사무소”, “Acme Corp”)에 할당하십시오. 그러면 사이드바 맨 위의 그룹 행으로 세트를 전환할 수 있으며, 활성 그룹의 항목과 그룹에 속하지 않은 모든 항목이 표시됩니다. 그룹 지정은 선택 사항이며, 그룹에 속하지 않은 항목은 항상 표시됩니다. 활성 상태가 아닌 그룹에 빨간 숫자가 표시되면 그 안에 숨겨진 무언가에 문제가 있다는 경고입니다. 위치에 연결된 그룹은 해당 네트워크에 도착하면 스스로 활성화됩니다. iPhone 앱의 플릿 탭에도 같은 폴더가 그대로 반영됩니다.

3.2서비스 사이드바
사이드바는 두 단계로 구성됩니다. 맨 위에는 개요가 있습니다. 앱에 내장된 도구들로, 로컬 상태, 상태 페이지, 알림, 지출 및 청구, 도메인, 로그, 인증서, 메모, 스크립트, 셋업, 설정 등이 있습니다. 그 아래에는 서비스 카테고리마다 하나씩 섹션이 있습니다. 웹 서버, 데이터베이스, 캐싱, 메일, 네트워킹, 보안 도구, 컨테이너, AI 등 수십 가지가 있으며, 각 섹션에는 카탈로그(6장)에서 표시하기로 선택한 서비스가 나열됩니다. 각 섹션 헤더는 클릭하여 접을 수 있는 갈매기표이며, 앱은 어떤 그룹을 접어 두었는지 기억합니다.
각 서비스 행은 실행 중일 때 상태 점을 표시합니다. 서비스를 오른쪽 클릭하면 두 가지 빠른 동작을 쓸 수 있습니다. 섹션 맨 위에 고정은 자주 다루는 서비스를 카테고리의 맨 위에 둡니다. 숨기기는 서비스를 사이드바에서 제거합니다. 숨겨도 아무것도 제거되지 않습니다. 서비스는 계속 실행되고 검색으로 여전히 찾아갈 수 있으며, 단지 목록을 어지럽히지 않을 뿐입니다.
카테고리 아래에는 앱의 다른 곳에서 고정한 항목을 위한 섹션이 추가됩니다. 연결된 서버(각각 어떤 서비스를 실행하는지 보여 주는 작은 카테고리 아이콘이 붙음), 모니터링 중인 Wi-Fi 네트워크, Cloudflare 영역, Kubernetes 클러스터입니다. 사이드바 맨 위의 필터 필드에 입력하면 모든 섹션을 한꺼번에 좁힐 수 있습니다.
3.3프리셋과 셋업
사이드바에 무엇이 표시될지는 두 가지 기능이 결정합니다. 메뉴 막대의 프리셋 메뉴는 하나의 사용 사례 전체를 한 번에 불러오는 빠른 방법입니다. 기본 — 다음 용도의 서비스 표시… 섹션은 사이드바를 특정 시나리오(웹 스택, 메일 서버, 쇼핑몰)에 맞게 선별된 세트로 바꾸고, 현재 보기에 추가…는 이미 있는 것 위에 그룹을 하나 더 얹습니다. 모두 보기는 모든 것을 표시합니다. 무언가를 찾을 수 없을 때 쓰는 탈출구입니다.
셋업은 한 걸음 더 나아갑니다. 셋업은 작업 화면 전체에 이름을 붙인 스냅샷입니다. 어떤 서비스가 숨겨져 있고 어떤 서비스가 고정되어 있는지, 그리고 어떤 플로팅 팔레트가 어디에 열려 있는지까지 담습니다. 프리셋 ▸ 현재 상태를 셋업으로 저장…(또는 셋업 패널)에서 저장한 다음, 프리셋 메뉴 맨 위에서 셋업을 전환하십시오. 활성 셋업에는 체크 표시가 붙습니다. 윈도우를 옮기는 동안 팔레트 배치가 활성 셋업에 자동으로 저장되므로, 셋업은 언제나 실제 작업 방식을 그대로 반영합니다. 표시할 서비스를 바꾸면 셋업이 변경됨 상태가 되고, 도구 막대에 업데이트, 새로 저장, 되돌리기가 있는 주황색 저장 안 됨 배지가 나타납니다.
셋업은 위치에 연결할 수도 있습니다(8장). “사무실” 셋업을 사무실 네트워크에 연결해 두면, 도착했을 때 FrontierStack이 자동으로 그 셋업으로 전환합니다. 지금 있는 곳에 맞는 서비스와 팔레트가 준비됩니다.
3.4플로팅 팔레트와 미니 팔레트
다른 곳에서 작업하는 동안 어떤 화면 하나를 계속 띄워 두고 싶을 때가 있습니다. 모니터 형식의 패널은 어느 것이든 플로팅 팔레트로 분리할 수 있습니다. 플로팅 팔레트는 macOS NSPanel 기반의 작고 항상 위에 있는 유틸리티 윈도우로, 메인 윈도우와 다른 앱 위에 머뭅니다. 도구 막대의 분리 버튼을 사용하십시오(맨 앞의 팔레트를 닫으려면 ⌘⌥⇧W). 로컬 상태, 컨테이너, 클라우드 서버, Wi-Fi 분석기 등을 모두 띄울 수 있습니다.
더 가볍게 쓰고 싶다면 미니 팔레트가 있습니다. 전체 패널 대신 한눈에 볼 수 있는 간결한 요약입니다. 미니 팔레트는 로컬 상태, Cloudflare 영역, Wi-Fi, 프린터, 라우터 및 네트워크, 컨테이너, 스크립트, 메시지 전송, AWS용이 있습니다. 각 미니 팔레트 행에는 세부 정보가 필요할 때 메인 윈도우에서 해당 패널을 여는 버튼이 있습니다. 열려 있는 팔레트는 셋업의 일부이므로, 저장된 보기를 불러오면 플로팅 윈도우가 배치해 둔 그대로 복원됩니다.
3.5명령 및 AI 팔레트
도구 막대의 요술 지팡이 버튼은 AI 어시스턴트 팔레트를 엽니다. 무엇이든 물어볼 수 있는 입력 필드 하나(“사이트가 왜 다운됐지?”, “MySQL 튜닝”, “내가 쓰는 것만 보여 줘”)가 있는, 드래그할 수 있고 항상 위에 있는 NSPanel입니다. 13장에서 다루는 AI 관리자와 같은 것으로, 무엇을 하든 그 옆에 둘 수 있는 플로팅 윈도우로 꺼내 놓은 것입니다. 다른 플로팅 팔레트와 마찬가지로 메인 윈도우 위에 머물지만, 다른 팔레트와 달리 대답하고, 해결책을 제안하며, 승인을 받으면 직접 실행합니다. 자체 대화 기록과 변경을 가하는 모든 동작에 대한 승인 카드를 갖추고 있어, 여러분이 허락하기 전에는 아무것도 실행되지 않습니다.
3.6메뉴 막대 항목
FrontierStack은 macOS 메뉴 막대에 작은 항목을 둘 수 있습니다(메뉴 막대에 표시 토글). 윈도우 전체를 앞으로 가져오지 않고 작업하는 가장 빠른 방법입니다. 여기에서 시작 그룹을 시작하거나 중지하고, 핵심 서버(Apache, Nginx, PHP-FPM, MySQL, Postgres) 중 하나 또는 실행 중인 모든 것을 한꺼번에 재시작하고, 상태를 새로 고치고, 앱을 열거나 종료할 수 있습니다. 백그라운드만은 앱을 종료하되 백그라운드 서비스(MCP, CLI, 페어링된 기기, 모니터)는 계속 실행합니다. 필요하면 먼저 백그라운드 서비스를 켭니다. FrontierStack 아이콘은 이제 백그라운드 서비스가 제공하는 형태로 메뉴 막대에 남으며, FrontierStack 열기와 FrontierStack 종료가 있습니다. 여기서 종료하면 다음에 FrontierStack을 열거나 다시 로그인할 때까지 백그라운드 서비스가 중지됩니다. 백그라운드 실행이 유휴 상태로 종료된 뒤에도 아이콘은 남습니다. 로그인 시 실행 설정은 설정 › 일반에 있습니다.
Localhost 사이트 섹션에는 Localhost 패널의 모든 사이트가 이름별로 나열됩니다. 실행 중이면 채워진 원, 중지되어 있으면 빈 원으로 표시되며, 무엇이 사이트를 제공하는지와 그 버전(예: Apache 2.4.62 · PHP 8.3.14 또는 PHP 8.4.5)도 함께 표시됩니다. 각 사이트의 하위 메뉴에서 사이트를 시작, 중지, 재시작하거나 열 수 있습니다. 시작하고 브라우저에서 열기는 서버가 수신 대기할 때까지 기다린 다음 페이지를 엽니다.
3.7앱 내 검색
검색(돋보기, ⌘F)은 무엇에든 가장 빨리 도달하는 방법입니다. “서비스, 도구 및 동작 검색…”에 입력을 시작하면 입력하는 대로 팔레트가 패널, 도구, 서비스, 동작을 찾아 줍니다. 사이드바에서 숨긴 서비스도 포함됩니다. 결과를 선택하면 앱이 곧바로 그곳으로 이동합니다. 시맨틱 모드를 사용하면 정확한 이름 대신 의미(“IP 차단”, “디스크 공간 확보”)로 검색할 수 있으므로, FrontierStack이 그 기능을 무엇이라고 부르는지 몰라도 찾을 수 있습니다.
3.8도움말 윈도우
⌘?로 도움말을 열면 전용 FrontierStack 도움말 윈도우가 나타납니다. 앱의 구성을 그대로 따라 정리된, 진짜 책과 같은 앱 내 문서입니다. 도움말은 읽기만 하는 것이 아닙니다. 페이지에는 앱에서 열기 링크가 있습니다. 링크를 클릭하면 FrontierStack이 메인 윈도우를 바로 그 패널이나 서비스로 이동시킵니다. 도움말 윈도우는 그 옆에 열린 채로 남으므로, 절차를 읽으면서 단계별로 따라 할 수 있습니다. 많은 패널의 헤더에는 해당 주제의 도움말을 여는 작은 도움말 버튼이 있습니다.
3.9메모 패널
메모는 자격 증명, 운영 절차서(런북), 서비스별 지침을 보관하는 개인 공간입니다. 각 메모에는 제목, 서비스 태그, 본문이 있으며, 전체가 일반 파일이 아니라 macOS 키체인에 암호화되어 저장됩니다. 가장 중요한 특징은 메모별 잠금입니다. 모든 메모에는 AI 관리자와 공유 토글이 있으며 기본값은 꺼짐입니다. 메모가 잠겨 있는 동안에는 AI가 말 그대로 그 메모를 읽을 수 없습니다. 어시스턴트가 해당 자격 증명이나 절차를 사용하기를 원할 때만 메모 잠금을 해제하십시오. 그러면 메모가 AI의 list_notes에 나타나고 필요할 때 읽을 수 있게 됩니다.
3.10상태 페이지
상태 페이지 패널은 로컬 상태와 같은 가동/중단 데이터로 만든 정적 index.html을 게시하므로, 고객이나 동료가 앱에 접근하지 않고도 무엇이 실행 중인지 볼 수 있습니다. 대상 위치를 선택하십시오. Apache 사이트 중 하나의 DocumentRoot 안에 있는 폴더를 선택하면 /status/ 같은 경로로 제공됩니다. 그런 다음 페이지 제목을 정하고 항목 세부 정보 포함 여부를 결정하십시오(공개 페이지에서는 세부 정보 줄을 끄십시오. 내부 호스트와 포트가 드러날 수 있습니다). 페이지는 설정한 간격마다 다시 생성되며, 지금 생성으로 즉시 생성할 수도 있습니다. 제공 방식에서 Apache 또는 내장 서버(원하는 포트에서 localhost나 LAN으로 제공하는 번들 정적 파일 서버)를 선택하고, 실행으로 로그인 시 또는 시스템 시작 시 그 서버를 계속 실행하게 하면 앱을 닫은 뒤에도 페이지가 유지됩니다. 서버 섹션에는 모니터가 있는 고정된 서버를 나열할 수 있으며, 앱이 닫혀 있는 동안에도 실시간으로 유지됩니다. 인터넷 접근은 지속적인 경로(Cloudflare Tunnel, Tailscale, Dynamic DNS를 사용한 라우터 포트 포워딩)를 제공합니다. 자세한 내용은 11장을 참조하십시오.
3.11로컬 상태와 위치 한눈에 보기
두 개의 개요 패널이 일상적인 사용의 중심이 되며, 각각 별도의 장에서 자세히 다룹니다. 로컬 상태는 “모든 것이 정상인가?”에 답하는 보드입니다. 모니터링 중인 모든 서비스, 기기, 하위 시스템을 UP 또는 DOWN 상태와 한 줄 요약으로 보여 줍니다. 각 항목의 패널에서 중요 항목으로 표시하면 보드에 추가되며, 이 보드는 플로팅 팔레트와 미니 팔레트로도 쓸 수 있습니다. 상태 점검, 임계값, 알림을 구동하는 방식 등 전체 내용은 11장에서 다룹니다.
위치는 지금 Mac이 네트워크상 어디에 있는지 — 집, 사무실, VPN 연결 중 — 를 Wi-Fi 네트워크나 서브넷으로 판별하여 앱에 알려 줍니다. 위치 덕분에 모니터링이 네트워크를 인식합니다. 인식되지 않는 곳에 있는 동안 앱은 여러분을 외출 중으로 간주하고 위치 범위의 점검을 일시 중지하므로, 카페나 호텔 네트워크에서 잘못된 경보가 울리는 일이 없습니다. 위에서 본 것처럼 위치는 셋업과도 연결됩니다. 위치 정의, 알림과 도달 가능성의 범위 지정, 플릿 등 전체 모델은 8장에서 다룹니다.
레이아웃을 익혔으니 이제 실제로 활용할 준비가 되었습니다. 매뉴얼의 다음 부에서는 4장, 웹 스택부터 시작하여 패널 자체를 하나씩 열어 봅니다.
FrontierStack 사용자 설명서 · 버전 1.0.0 · 제3장