Skip to content

[ refactor ] 관리자 우분투 계정 삭제 API 정리 #223

Description

@dongmin0204

🛠 계획된 리팩토링

관리자 우분투 계정 삭제 경로가 현재 infra API 경로를 사용하도록 통일

현재 AdminUserService.deleteUbuntuAccount()
오래된 Infra API인 POST /accounts/deleteuser/{username}를 직접 호출하고 있습니다.

이를 제거하고, 현재 사용 중인
UbuntuAccountService.deleteUbuntuAccount(username)
기반 흐름을 사용하도록 변경합니다.

이번 리팩토링은 삭제 정책 변경이 아닌 삭제 구현 경로 통일을 목적으로 합니다.

기존 정책은 그대로 유지합니다.

  • 관리자 삭제 성공 시 Request는 물리 삭제하지 않고 DELETED 상태로 저장
  • Pod 삭제 정책 변경 없음
  • NodePort allocation 정리 정책 변경 없음
  • BE 포트 기록 정리 정책 변경 없음
  • ResourceGroup 연결 정보 변경 없음
  • 사용자/PVC/account/UID/GID hard deletion 정책 변경 없음

🛠 배경

현재 우분투 계정 삭제는 삭제 진입점에 따라 서로 다른 infra API 흐름을 사용하고 있습니다.

  • 만료 삭제: UbuntuAccountService.deleteUbuntuAccount(username) 사용
  • 관리자 삭제: POST /accounts/deleteuser/{username} 직접 호출

이로 인해 다음과 같은 문제가 발생할 수 있습니다.

  • 관리자 삭제만 오래된 infra API를 사용함
  • Config Server API 변경 시 관리자 삭제 경로가 누락될 수 있음
  • 삭제 예외 처리 및 404 멱등 처리 기준이 경로마다 달라질 수 있음
  • AdminUserService가 사용자 관리와 infra API 호출 책임을 함께 가짐
  • 만료 삭제와 관리자 삭제의 infra 호출 방식이 달라질 수 있음

따라서 관리자 삭제 경로도 현재 infra API 경로인 UbuntuAccountService를 사용하도록 통일하고, 오래된 POST /accounts/deleteuser/{username} 호출을 제거합니다.

📝 Check List

  • AdminUserServiceUbuntuAccountService 의존성 추가
  • POST /accounts/deleteuser/{username} 직접 호출 제거
  • 관리자 우분투 계정 삭제가 UbuntuAccountService.deleteUbuntuAccount(username)를 사용하도록 수정
  • 삭제 성공 시 기존처럼 Request 상태가 DELETED로 저장되는지 확인
  • DELETE /api/admin/users/ubuntu/{username} 동작 확인
  • DELETE /api/admin/users/{id}에서 연결된 Request 삭제 흐름 확인
  • 기존 soft deletion / hard deletion 정책이 변경되지 않았는지 확인
  • 관리자 삭제 관련 테스트 수정 또는 추가

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions