Projects servem para organizar recursos e agrupar accounts e users. Por padrão, tanto users administradores quanto regulares podem criar um projeto, sendo o criador automaticamente o administrador do mesmo. É possível alterar esse comportamento através da configuração allow.user.create.projects:
Configuração | Descrição | Valor Padrão |
allow.user.create.projects | Define se um usuário regular pode criar um projeto. | true |
Para criar um project:
Ao clicar no botão New Project, será aberto um formulário para preenchimento das informações:
Projects possuem limites para alocação de recursos:
Esses limites são herdados das configurações globais:
Configuração | Descrição | Valor Padrão |
max.project.cpus | Número máximo de CPU cores que o projeto pode usar. | 40 |
max.project.memory | Número máximo de memória (em MiB) que o projeto pode usar. | 40960 |
max.project.networks | Número máximo de redes que pode ser criado para o projeto. | 20 |
max.project.primary.storage | Número máximo de primary storage (em GiB) que o projeto pode usar. | 200 |
max.project.public.ips | Número máximo de IPS que o projeto pode consumir. | 20 |
max.project.secondary.storage | Número máximo de secondary storage (em GiB) que o projeto pode usar. | 400 |
max.project.snapshots | Número máximo de snapshots que pode ser criado para o projeto. | 20 |
max.project.templates | Número máximo de templates que pode ser criado para o projeto. | 20 |
max.project.user.vms | Número máximo de VMs de usuário que podem ser feitas deploy para o projeto. | 20 |
max.project.volumes | Número máximo de volumes que pode ser criado para o projeto. | 20 |
max.project.vpcs | Número máximo de VPCs que pode ser criado para o projeto. | 20 |
Porém, eles podem ser alterados em cada project:
Projects também possuem roles, as quais estão acimas das roles de uma account. Caso uma account seja adicionada ao project sem uma role, a role da account entrará em vigor.
Para adicionar accounts e users no project, basta preencher o formulário e enviar o convite:
Ao finalizar a adição, a account ou o user farão parte do project, no entanto é possível alterar esse comportamento para que seja necessário eles confirmarem o convite, através de um e-mail, antes de participarem efetivamente. Para isso, existem as seguintes configurações:
Configuração | Descrição | Valor Padrão |
project.invite.required | Define se a account ou o user necessitam aceitar o convite para o projeto. | false |
project.invite.timeout | Tempo (em segundos) de expiração do convite. | 86400 |
Para que seja possível enviar os e-mails de confirmação, é necessário configurar o serviço de envio de e-mails para projects:
Configuração | Descrição | Valor Padrão |
project.email.sender | Endereço que estará no header From do e-mail de confirmação. | null |
project.smtp.enabledSecurityProtocols | Protocolos de segurança para envio de e-mail, separado por espaços. Protocolos suportados: SSLv2Hello; SSLv3; TLSv1; TLSv1.1; TLSv1.2; TLSv1.3. | |
project.smtp.host | Endereço do servidor SMTP para envio de e-mails. | null |
project.smtp.password | Senha para autenticação no servidor SMTP (apenas se a configuração project.smtp.useAuth estiver como true). | null/false |
project.smtp.port | Porta que o servidor SMTP está ouvindo. | 465 |
project.smtp.useAuth | Define se utilizará autenticação para envio de e-mails. | null |
project.smtp.username | Usuário para autenticação no servidor SMTP (apenas se a configuração project.smtp.useAuth estiver como true) | null |
project.smtp.useStartTLS | Define se utilizará StartTLS para proteger a conexão (apenas se a configuração project.smtp.useAuth estiver como true). | false |
Uma account ou um user podem estar em diversos projetos simultaneamente. Para que seja possível consumir e visualizar os recursos do projeto, é necessário alterar a visualização:
Além das funcionalidades citadas, também é possível:
-
- Editar:
-
- Suspender:
Se um project possuir recursos ao ser suspenso, eles serão desalocados.
- Suspender:
- Excluir:
Se um project possuir recursos ao ser excluído, eles serão desalocados.
Mais informações na documentação oficial.