3.1 프로젝트 관리¶
사용자는 프로젝트를 만들어 다른 사용자를 멤버로 초대하여 클라우드 자원을 공유할 수 있습니다.
3.1.1 프로젝트 목록¶
사용자가 관리하는 프로젝트에 정보를 관리합니다. 사용자가 사용하는 자원에 대한 사용 현황 정보를 제공하고 등록된 프로젝트에 대한 검색 기능을 제공합니다.

3.1.1.1 프로젝트 토폴로지¶
사용자가 사용하는 프로젝트에 대한 토폴로지 정보를 제공합니다. 사용자가 생성한 프로젝트 정보와 프로젝트가 관리하는 각종 메타 정보를 아래와 같이 제공합니다.

토폴로지에서 보여주는 정보는 다음과 같습니다.
- 프로젝트 : 사용자가 생성한 프로젝트
- 리소스 : 사용자가 사용하는 VM/Container에 대한 정보를 제공
각 항목을 선택하는 경우, 해당하는 항목에 대한 상세 화면으로 이동하며 토폴리지 화면에서 변경한 정보는 저장되지 않습니다.
3.1.1.2 프로젝트 목록보기¶
출력된 화면에서 사용자는 현재 프로젝트에 할당된 자원과 사용되는 자원 현황을 한눈에 파악할 수 있습니다.
- 목록으로 출력되는 항목은 다음과 같습니다.
- 프로젝트명: 사용자가 등록한 프로젝트 이름
- 프로젝트 관리자: 프로젝트를 등록한 사용자 이름
- 프로젝트 사용자: 프로젝트에 등록된 멤버 수
- 활성화 상태: 프로젝트 활성화 상태(프로젝트가 비활성화되면 프로젝트 멤버에게는 비활성화된 프로젝트가 조회되지 않습니다.)
- CPU 할당량: 프로젝트에 할당된 CPU 갯수
- 메모리 할당량(GB): 프로젝트에 할당된 메모리 크기(단위는 GB)
- 디스크 할당량(GB): 프로젝트에 할당된 디스크 크기(단위는 GB)
- CPU 사용량: 프로젝트에서 사용중인 CPU 갯수를 나타내며 사용량을 %로 바탕 화면에 제공
- 메모리 사용량(GB): 프로젝트에서 사용중인 메모리 크기(단위는 GB)를 나타내며 사용량을 %로 바탕 화면에 제공
- 디스크 사용량(GB): 프로젝트에서 사용중인 디스크 크기(단위는 GB)를 나타내며 사용량을 %로 바탕 화면에 제공
검색된 프로젝트 항목을 선택해서 프로젝트 상세 정보 화면으로 이동할 수 있습니다.

3.1.1.3 프로젝트 참여 요청 목록¶
다른 사용자에 의해서 참여 요청된 프로젝트 요청 목록 정보를 제공합니다. 사용자는 자신에게 요청된 프로젝트에 대한 참여 요청을 확인하고 이에 대한 승인 및 철회를 할 수 있습니다.

프로젝트 참여 관련된 주요 기능은 다음과 같습니다.
- 가입 취소 : 가입된 프로젝트의 가입을 취소합니다. 가입 해지된 프로젝트에는 접근할 수가 없습니다.
- 요청 철회 : 사용자가 참여 요청한 프로젝트에 대한 요청을 철회합니다.
- 요청 승인 : 다른 사용자가 요청한 프로젝트 가입 요청을 승인합니다. 승인된 프로젝트에 대해서는 사용자가 바로 프로젝트에 참여해서 프로젝트의 자원에 접근할 수 있습니다.
3.1.1.4 프로젝트 활동 내역¶
프로젝트 관련된 사용자의 참여/승인/요청 내역에 대한 이력 정보를 조회할 수 있도록 기능을 제공합니다.

검색된 정보는 별도로 상세 정보를 제공하지 않고 목록 정보만 제공합니다.
- 일시 : 프로젝트와 관련된 요청이 발생한 일시 정보
- 요청 사용자 : 요청을 제기한 사용자 정보
- 요청 프로젝트 : 요청이 제기된 프로젝트 정보
- 요청 상태 : 요청이 처리된 시점의 요청 상태 정보
- 처리 사용자 : 요청을 처리한 사용자 정보
- 처리 상태 : 요청이 처리된 결과 상태 정보
- 비고 : 요청에 대한 사용자가 남긴 부가적인 설명 정보
3.1.2 프로젝트 상세 정보¶
프로젝트 정보는 프로젝트에 등록된 기본 정보(이름, 상태 및 설명)와 프로젝트에 포함된 자원, 사용자(멤버)에 대한 정보 제공과 함께 프로젝트에 대한 현황 파악을 위한 토폴로지 정보를 제공합니다.

시스템에 대한 기본 정보는 다음과 같은 내용이 있습니다.
- 프로젝트 속성 정보
- 프로젝트 이름
- 프로젝트 유형 : 현재는 일반 프로젝트만 지원합니다.
- 활성 상태 : 프로젝트의 활성 상태 정보를 제공합니다. 비 활성 프로젝트의 경우에는 프로젝트 멤버에게 관련된 프로젝트가 검색이 되지 않습니다.
- 프로젝트 설명
- 프로젝트 쿼터 정보 : 프로젝트에서 사용할 수 있는 아래 자원에 대한 쿼터 정보를 제공합니다.
- CPU
- 디스크
- 메모리
- GPU
3.1.2.1 자원 정보¶
프로젝트에 속한 자원 정보를 제공합니다. 프로젝트를 위해서 사용되는 자원 정보는 프로젝트를 생성한 프로젝트 관리자(사용자)의 계정에 할당된 쿼터(Quota)를 활용해서 생성 및 관리가 이루어집니다. 프로젝트에서 사용되는 기본 자원 사용 현황 정보를 제공하고 프로젝트에 할당된 자원 범위 내에서 자원을 생성 및 관리

- 제공되는 주요 기능은 다음과 같습니다.
- 검색 : 프로젝트에 등록된 자원을 자원 이름 정보를 기준으로 검색하여 목록으로 출력
- 인스턴스 생성 : 시스템에서 제공하는 자원 생성 기능을 통해서 필요한 자원 생성
- 클라우드 자원 동기화 : 기존에 사용자가 클라우드에서 생성한 자원을 프로젝트에 등록
- 자원 상태 동기화 : 선택된 자원의 상태 정보를 클라우드 자원의 상태 정보와 동기화를 수행합니다.
- 시작 : 선택된 서비스 인스턴스를 시작
- 중지 : 선택된 서비스 인스턴스를 중지
- 재시작 : 선택된 서비스 인스턴스를 재시작
- 종료 : 선택된 서비스 인스턴스를 종료
3.1.2.2 멤버 정보¶
프로젝트에 소속된 멤버 정보를 검색하여 제공합니다. 프로젝트에 외부 사용자를 초대하거나 초대에 대해서 승인 철회를 할 수 있습니다.

프로젝트 멤버 관리를 위한 주요 기능은 다음과 같습니다
- 사용자 초대 : 플랫폼에 등록된 사용자를 프로젝트 멤버로 초대합니다. 초대된 사용자는 프로젝트 목록 화면에서 초대된 내역을 확인할 수 있습니다.
- 멤버 삭제 : 정상적으로 등록된 멤버를 프로젝트에서 삭제합니다.
- 프로젝트에서 멤버를 삭제하기 위해서는 해당하는 멤버가 생성한 자원이 없어야 합니다.
- 기존에 멤버가 생성한 자원이 존재하는 경우, 해당하는 자원을 프로젝트 관리자가 직접 삭제하거나 프로젝트를 멤버와의 연락을 통해 삭제 요청을 해주시기 바랍니다. 삭제가 완료된 후 해당하는 멤버를 삭제할 수 있습니다.
- 요청 승인 : 플랫폼 사용자가 프로젝트 참여 요청을 하거나 다른 사용자가 프로젝트 초대를 한 경우, 이를 승인합니다.
- 요청 거절 : 프로젝트 참여 초대를 거절합니다.
3.1.2.3 토폴로지¶
프로젝트에 등록된 자원 정보를 토폴로지 형태로 제공

상세 정보로 제공하는 유형은 다음과 같습니다.
- 인스턴스 리소스 : 가상화 VM 및 컨테이너에 대한 정보를 나타냅니다.
3.1.4 프로젝트 삭제¶
등록된 프로젝트를 삭제합니다.
등록된 프로젝트를 삭제하기 위해서는 아래의 조건을 만족해야 합니다.
- 프로젝트에 등록된 자원 정보가 삭제가 되어야 하며, 프로젝트 멤버가 프로젝트 내에서 생성한 자원도 모두 삭제가 되어야 합니다.
- 프로젝트에 포함된 멤버가 존재하지 않아야 합니다. 기존에 등록된 프로젝트 멤버를 모두 삭제하시기 바랍니다. 삭제하고자 하는 프로젝트 멤버가 생성한 자원이 있는 경우, 해당하는 멤버를 삭제할 수 없기 때문에 사전에 프로젝트 멤버가 생성한 자원 정보를 삭제하시기 바랍니다.
삭제된 프로젝트는 다시 복구할 수 없으니 주의 하시기 바랍니다.
