웹에서 사전에 정의된 명령어 실행하기 olivetin
안녕하세요. 달소입니다.
오랜만에 오픈소스 프로젝트 소개죠? ㅎ.. (죄송 ㅠ)
이번에 소개해드릴 프로젝트는 Olivetin이라는 오픈소스 프로젝트인데요. 제목에서 보시다시피 나름 직관적인(?) 프로젝트입니다.
웹에서 서버에 명령어를 날리고 그걸 결과로 출력해주는 프로젝트죠!
사용사례를 보면 이해가 더 쉽습니다.
기술이 부족한 사람들에게도 안전하게 명령에 대한 액세스 권한을 부여합니다.
예: 가족에게 Podman 재시작 플렉스 버튼을 제공하세요.
예: 하급 관리자에게 드롭다운이 포함된 간단한 웹 양식을 제공하여 사용자 정의 스크립트를 시작하세요. backupScript.sh --folder {{ 고객 이름 }}
예: 다음 20분 동안 서버에 대한 SSH 액세스를 활성화합니다. Firewall-cmd --add-service ssh --timeout 20m
사용 사례: 복잡한 명령을 단순화하고 액세스 및 반복 가능하게 만듭니다.
예: 집 주변 벽에 붙어 있는 터치스크린 태블릿에 복잡한 명령을 표시합니다. 웨이크 온 랜 aa:bb:cc:11:22:33
예: 휴대폰에서 서버를 오랫동안 실행하세요. dnf 업데이트 -y
예: 미리 설정된 많은 인수로 복잡한 명령을 정의하고 몇 가지 인수를 드롭다운 선택 상자로 전환합니다. docker rm {{ 컨테이너 }} && docker create {{ 컨테이너 }} && docker start {{ 컨테이너 }}
설치는 패키지나 도커 이미지 모두 지원합니다.
그리고 각 버튼에 대한 설정값들은 yaml을 사용합니다.
구성
OliveTin은 파일로 제어됩니다 config.yaml
. 시작 시 다음 위치에서 이 파일을 찾습니다.
-
인수 로 지정된 값
--configdir
, 기본값은 현재 작업 디렉터리(./
) 입니다. -
/config/
- 주로 컨테이너에 사용됨 -
/etc/OliveTin/
- 이것은 Linux에서config.yaml
.
가장 간단한 것은 config.yaml
다음과 같습니다.
config.yaml
파일입니다.actions:
- title: "Hello world!"
shell: echo 'Hello World!'
그보다 더 복잡해지지는 않습니다. 물론 더 많은 작업을 추가하고 더 많이 사용자 지정할 수 있지만 구문은 매우 간단합니다.
여기에서 구축하려면 다음 리소스를 살펴보세요.
-
OliveTin이 수행할 수 있는 작업에 대한 추가 예는 작업 문서를 참조하세요 .
-
해당 작업의 작동 방식을 사용자 지정하려면 작업 사용자 정의 설명서를 참조하세요 .
cmt alert