Projects 🗂️
Definition
A project is a container of environments and architectures on which teams have specific permissions.
Think of a project as the upper level folder.
By default, members don't have direct permissions on projects.
Create a new project
To create a new project:
-
Go the projects setting page.
-
Click on the
Create project
button -
You will then go through a project creation wizard.
- In the first step of the wizard you will setup the name, description and environments of the new project. Brainboard creates 5 environments by default: Production, Staging, Development, Test and QA, but you can add any custom environment as well. The project name and at least one environment are need in order to advance.
- In the second step of the wizard you will need to assign teams to roles. You can do that by doing a drag&drop action for each team into the corresponding role. You need to assign at least one team to any role in order to advance.
- The last step is shows the summary of the new project: name, description, environment and what teams have been assigned to each role.
View project's information
To view the information of a specific project:
-
Go the projects setting page.
-
Click on
View project details
option that appears when you click on the three dots button at the end of the row for a project. -
The information of the project is displayed:
- Name of the project
- Teams that have access to this project with their respective roles
- The environments of the project
Edit project information
To edit the information of a project:
-
Go the projects setting page.
-
Click on
Edit project details
option that appears when you click on the three dots button at the end of the row for a project. -
You can then change the information of the project:
- Name.
- Description.
- The environments that will be created.
-
Click on the disk icon from the top left of the drawer to save the new information of the project.
Edit project roles
To edit the teams & roles of a project:
-
Go the projects setting page.
-
Click on
Assign roles
option that appears when you click on the three dots button at the end of the row for a project. -
Here you can update the teams per role. You can do that by doing a drag&drop action for each team into the corresponding role. You need to assign at least one team to any role in order to advance.
-
Click on
Update
button to save the new information of the project.
Delete project
To delete a project:
-
Go the projects setting page.
-
Click on
Delete the project
button on the line of the project. You need to hover the line to see the options: -
You'll be asked to confirm the deletion, if you confirm the project will be permanently deleted. The last project cannot be deleted as your account needs at least one project.
Project roles
Different roles can be granted to teams for the project.
Granting access to a team, give them also access to the environments and architectures hosted inside the project.
There are 4 default roles:
1. Admin
The members of a team having the admin role can perform any action on the project, its environments, architectures, versions, and deployments.
2. Designer
The members of a team having the designer role can perform any action as the admin team except modifying the project information or deleting it.
3. Operator
The members of a team having the operator role can manage the deployments only, the cannot change the design of the infrastructure.
4. Guest
The members of a guest team can only view the project, its architectures, and deployments. They cannot change anything.
Project IAM reference
Object | Action | Project admin | Project designer | Project operator | Project guest |
---|---|---|---|---|---|
Project | get | yes | yes | yes | yes |
Project | update | yes | no | no | no |
Project | delete | yes | no | no | no |
Environment | create | yes | yes | no | no |
Environment | update | yes | yes | no | no |
Environment | delete | yes | yes | no | no |
Architecture | create | yes | yes | no | no |
Architecture | list | yes | yes | yes | yes |
Architecture | get | yes | yes | yes | yes |
Architecture | update | yes | yes | no | no |
Architecture | clone | yes | yes | no | no |
Architecture | delete | yes | yes | no | no |
Architecture:version | create | yes | yes | no | no |
Architecture:version | checkout | yes | yes | no | no |
Architecture:deployment | create | yes | yes | yes | no |
Architecture:deployment | get | yes | yes | yes | yes |
Architecture:deployment | update | yes | yes | yes | no |
Architecture:deployment | delete | yes | yes | yes | no |
Architecture:deployment | View Terraform code | yes | yes | yes | no |