Project Members
A project groups related apps, services, and environments. Project membership gives a person access to that project and defines what they can do there. Cluster admins can access every project.
Roles
There are two levels of access in Kipper.
The cluster admin runs the whole cluster. Admins see every project, create new projects, manage users, and change platform settings. The person who runs kip install is the first admin.
Everyone else gets access one project at a time, with a role that decides what they can do there:
- Viewer reads apps, logs, and settings.
- Deployer does the day-to-day work: deploy apps, edit environment variables and secrets, restart, roll back, open a terminal.
- Owner is a deployer who also manages the project. Owners add and remove members, change roles, and edit the project itself.
A person can hold a different role in each project. Sam can be an owner of acme-shop and a viewer of acme-marketing at the same time.
Managing members in the console
Open the Projects screen and click the gear icon on a project card to open its settings panel. The Members tab lists everyone with access and their role.
If you are an owner of the project (or a cluster admin), you also get controls to manage it:
- Type the email of an existing user, pick a role, and click Add.
- Change someone's role with the dropdown next to their name.
- Remove someone with the trash icon.
The person you add must already have a Kipper account. If they do not, invite them instead (see below). A project keeps at least one owner: removing the last one is refused, unless a cluster admin does it or the CLI is given --force. Adding a replacement owner first avoids needing either.
Managing members with the CLI
The kip project members commands do the same thing from the terminal.
List who has access to a project:
kip project members list acme-shop EMAIL ROLE
sam@acme.com owner
jordan@acme.com deployerAdd a member, or change their role by adding them again:
kip project members add acme-shop jordan@acme.com deployer ✔ jordan@acme.com is now deployer on acme-shopRemove a member:
kip project members remove acme-shop jordan@acme.com ✔ removed jordan@acme.com from acme-shopInviting someone straight into a project
If the person does not have an account yet, an invite creates their account and adds them to a project in one step.
On the Users screen, click Invite. Enter their email address, choose the project under Add to project, pick their access level, and send the link. The address is required: only it can accept the invite, and the account is created under it. When they accept and set a password, their account is created and they land in that project with the role you chose. They get no cluster-wide powers, so they only see the project you invited them to.
Leave Add to project set to "No project" to invite someone as a plain cluster user or admin instead.
From the CLI, in two steps
kip user invite sends the invite and kip project members add scopes them once they have accepted. The invite carries a cluster-wide role and nothing else, so the project role is a separate step, and the account does not exist until the invite is accepted:
kip user invite --email jordan@acme.com --role viewer Invite link created
For: jordan@acme.com
Role: viewer
Expires: 48h
https://console.acme.com/invite/9f3c1a...
Send this link to jordan@acme.com. It can only be used once, and only
that address can accept it.Send them the link. Accepting it is what creates the account, and the second command is refused until it exists, so run it once they have opened the link and set a password:
kip project members add acme-shop jordan@acme.com deployer ✔ jordan@acme.com is now deployer on acme-shopUse --role viewer on the invite, then assign the project role with kip project members add. The invite's role applies to the cluster; project membership controls access within that project.
The account must exist before you add it as a member. This catches mistyped or unregistered addresses before they become project owners.
If a project has already ended up owned by an address nobody can sign in as, add a real owner and then remove the bad one. No flag is needed, and it ends with the project owned:
kip project members add acme-shop sam@acme.com owner
kip project members remove acme-shop typo@acme.comFor recovery, kip project members remove --force can remove the last owner. A cluster admin can also do this from the console. The project remains ownerless until a replacement is added.
Creating projects
Only cluster admins create projects. When an admin creates one, they become its first owner and can then add the rest of the team. This keeps the number of projects on a cluster under control while letting each team run itself once the project exists.
kip project create acme-shop --environments test,acc,prod
kip project members add acme-shop sam@acme.com owner