runlot
관리하기

팀과 역할

하나의 조직에서 여러 프로젝트를 관리하며, 각 멤버에게는 세 가지 역할 중 하나를 지정합니다.

프로젝트는 항상 조직(org)에 속합니다. 처음 로그인하면 개인 조직이 생성되며, 조직 slug는 배포 주소의 뒤쪽 이름에 사용됩니다.

runlot org create acme "Acme Inc."
runlot org list

name을 생략하면 slug를 조직 이름으로 사용합니다.

역할

역할권한
admin모든 작업: 멤버 관리, 삭제, 복원, 접근 제어 변경
member배포, 마이그레이션, 시크릿 관리, 로그 조회
viewer목록, 로그, 사용량 등 읽기 작업

복원, 데이터 삭제, 접근 제어 변경처럼 되돌릴 수 없거나 데이터에 영향을 주는 명령(pg restore, pg delete, storage delete, auth delete, access set)은 admin만 실행할 수 있습니다.

초대

이메일 주소 하나만 있으면 됩니다. 상대방이 Runlot에 가입한 적이 없어도 초대할 수 있습니다.

runlot member invite [email protected] --role member --org acme
runlot member invites --org acme
runlot member uninvite [email protected] --org acme

대시보드에서는 조직의 멤버 탭에서 같은 일을 할 수 있습니다.

초대 메일에는 수락 링크가 하나 들어 있습니다.

  • 링크는 7일 뒤에 만료됩니다.
  • 한 번만 사용할 수 있습니다.
  • 관리자가 언제든 취소할 수 있으며, 아직 발송되지 않은 메일은 발송되지 않습니다.

같은 주소로 다시 초대하면 새 초대가 만들어지지 않고 기존 초대가 다시 발송됩니다. 이때 링크가 새로 발급되므로 이전 링크는 더 이상 동작하지 않습니다. 역할을 바꿔서 다시 보내면 새 역할이 적용됩니다.

메일 발송은 잠시 뒤에 이루어집니다. 목록에서 보내는 중으로 보이면 아직 발송 대기 중이라는 뜻입니다.

수락은 링크를 가진 사람이 합니다. 로그인한 계정의 이메일이 초대받은 주소와 달라도 수락할 수 있습니다. GitHub에서 이메일을 비공개로 설정한 계정도 조직에 참여할 수 있어야 하기 때문입니다. 수락 화면은 초대받은 주소와 지금 로그인한 계정을 함께 보여주고, 두 값 모두 감사 기록에 남습니다. 초대 링크는 다른 사람에게 전달하지 마세요.

이미 조직의 멤버인 사람이 초대 링크를 열면 역할은 바뀌지 않습니다. 역할을 바꾸려면 아래 member role을 사용하세요.

멤버 관리

runlot member ls --org acme
runlot member role [email protected] viewer --org acme
runlot member rm [email protected] --org acme
runlot member leave --org acme

member rolemember rmadmin만 실행할 수 있습니다. member leave는 역할과 관계없이 누구나 실행할 수 있습니다. 스스로 조직에서 나가는 것은 다른 사람의 권한을 바꾸지 않기 때문입니다.

조직의 마지막 admin은 역할을 낮추거나 제거할 수 없고, 스스로 나갈 수도 없습니다. 조직을 관리할 사용자가 남지 않기 때문이며, 시도하면 last_admin 오류가 발생합니다. 나가려면 먼저 다른 사람을 admin으로 지정하세요.

멤버를 조직에서 제외해도 그 사람이 만든 프로젝트는 계속 실행되고 계속 과금됩니다. 프로젝트 소유자와 이관 기능은 아직 제공하지 않습니다.

runlot org add-member는 계속 사용할 수 있지만, 이미 로그인한 적이 있는 계정을 provider:subject로 지정해야 하는 자동화용 명령입니다. 사람을 부를 때는 member invite를 사용하세요.

대상 조직 선택 순서

CLI는 다음 우선순위로 대상 조직을 선택합니다.

  1. --org 옵션
  2. runlot.json"org"
  3. 둘 다 없으면 오류

org, dns, domains처럼 조직 단위로 동작하는 명령은 프로젝트 디렉토리와 관계없이 실행하므로 --org 옵션을 지정해야 합니다.

이 페이지의 목차