도구 설정
COP Console의 도구(Tools) 메뉴는 외부 도구 및 리소스에 대한 빠른 접근을 제공합니다. DevOps 파이프라인에서 사용하는 다양한 플랫폼(GitLab, Jenkins, Harbor, ArgoCD 등)의 웹 UI로 Console에서 바로 이동할 수 있습니다.
도구 메뉴는 사이드바와 전용 페이지 두 곳에서 접근할 수 있습니다.
- 사이드바: 사이드바 하단의 "도구" 메뉴를 통해 하위 항목으로 각 도구에 접근합니다.
- 도구 페이지:
/tools경로로 접근하면 모든 도구가 카드 형태로 표시되는 전용 페이지를 볼 수 있습니다.

도구 페이지 화면 구성
도구 페이지(/tools)에서는 등록된 모든 도구가 카드 형태의 그리드 레이아웃으로 표시됩니다. 각 카드는 다음 요소로 구성됩니다.
- 아이콘: 도구의 아이콘이 좌측 상단에 표시됩니다.
- 이름: 도구의 표시 이름과 외부 링크 아이콘이 함께 표시됩니다.
- 설명: 도구에 대한 간략한 설명이 표시됩니다.
카드를 클릭하면 해당 도구의 웹 UI가 새 브라우저 탭에서 열립니다.
도구 메뉴 구성 방법
도구 메뉴는 openmaru-cop 네임스페이스의 ConfigMap openmaru-cop-config에서 관리됩니다. ConfigMap의 tools.json 키에 JSON 배열 형식으로 도구 목록을 정의합니다.
편집 방법
COP Console에서 직접 편집하려면 사이드바에서 관리 > 구성 맵으로 이동한 후 openmaru-cop 네임스페이스에서 openmaru-cop-config를 선택하여 tools.json 데이터를 편집합니다.
또는 kubectl로 직접 편집할 수 있습니다.
kubectl edit configmap openmaru-cop-config -n openmaru-cop
ConfigMap을 수정한 후 페이지를 새로고침하면 변경 사항이 반영됩니다.
항목 필드 설명
| 필드 | 필수 | 설명 |
|---|---|---|
name | 예 | 도구의 고유 식별자입니다. 사이드바 메뉴 항목의 내부 이름으로 사용됩니다. |
label | 예 | 도구의 표시 이름입니다. 사이드바와 도구 페이지의 카드에 표시됩니다. |
icon | 예 | 도구의 아이콘입니다. Iconify 형식의 아이콘 이름을 사용합니다. |
url | 예 | 도구의 웹 UI 주소입니다. 클릭 시 새 탭에서 열립니다. |
description | 아니오 | 도구에 대한 설명입니다. 기본 언어(한국어)로 작성합니다. |
description.en | 아니오 | 도구에 대한 영어 설명입니다. Console이 영어 모드일 때 이 값이 사용됩니다. |
구성 예시
COP 플랫폼에서 사용하는 주요 도구를 등록하는 예시입니다.
[
{
"name": "keycloak",
"label": "Keycloak SSO",
"icon": "mdi:account-key",
"url": "https://sso.example.com/admin/master/console/",
"description": "사용자 인증 및 권한 관리를 위한 통합 SSO 시스템",
"description.en": "Integrated SSO system for user authentication and authorization"
},
{
"name": "harbor",
"label": "Harbor Registry",
"icon": "mdi:docker",
"url": "https://registry.example.com",
"description": "컨테이너 이미지 레지스트리",
"description.en": "Container image registry"
},
{
"name": "gitlab",
"label": "GitLab",
"icon": "mdi:gitlab",
"url": "https://gitlab.example.com",
"description": "소스 코드 저장소 및 CI/CD 파이프라인 관리",
"description.en": "Source code repository and CI/CD pipeline management"
},
{
"name": "jenkins",
"label": "Jenkins",
"icon": "mdi:room-service-outline",
"url": "https://jenkins.example.com",
"description": "빌드 및 배포 자동화 서버",
"description.en": "Build and deployment automation server"
},
{
"name": "argocd",
"label": "ArgoCD",
"icon": "mdi:truck-delivery-outline",
"url": "https://argocd.example.com",
"description": "GitOps 기반 지속적 배포 도구",
"description.en": "GitOps-based continuous deployment tool"
},
{
"name": "nexus",
"label": "Nexus",
"icon": "mdi:package-variant-closed",
"url": "https://nexus.example.com",
"description": "Maven, npm 등 아티팩트 저장소 관리",
"description.en": "Repository manager for Maven, npm and other artifacts"
},
{
"name": "openmaru-observ",
"label": "Observability",
"icon": "mdi:telescope",
"url": "https://observability.example.com",
"description": "메트릭, 로그, 트레이스 통합 모니터링 플랫폼",
"description.en": "Integrated monitoring platform for metrics, logs, and traces"
},
{
"name": "openmaru-apm",
"label": "APM",
"icon": "mdi:loupe",
"url": "https://apm.example.com",
"description": "애플리케이션 성능 모니터링 도구",
"description.en": "Application Performance Monitoring tool"
}
]