mirror of
https://github.com/portainer/portainer.git
synced 2025-07-19 13:29:41 +02:00
* refactor(tags): replace tags with tag ids * refactor(tags): revert tags to be strings and add tagids * refactor(tags): enable search by tag in home view * refactor(tags): show endpoint tags * refactor(endpoints): expect tagIds on create payload * refactor(endpoints): expect tagIds on update payload * refactor(endpoints): replace TagIds to TagIDs * refactor(endpoints): set endpoint group to get TagIDs * refactor(endpoints): refactor tag-selector to receive tag-ids * refactor(endpoints): show tags in multi-endpoint-selector * chore(tags): revert reformat * refactor(endpoints): remove unneeded bind * refactor(endpoints): change param tags to tagids in endpoint create * refactor(endpoints): remove console.log * refactor(tags): remove deleted tag from endpoint and endpoint group * fix(endpoints): show loading label while loading tags * chore(go): remove obsolete import labels * chore(db): add db version comment * fix(db): add tag service to migrator * refactor(db): add error checks in migrator * style(db): sort props in alphabetical order * style(tags): fix typo Co-Authored-By: Anthony Lapenna <anthony.lapenna@portainer.io> * refactor(endpoints): replace tagsMap with tag string representation * refactor(tags): rewrite tag delete to be more readable * refactor(home): rearange code to match former style * refactor(tags): guard against missing model in tag-selector * refactor(tags): rename vars in tag_delete * refactor(tags): allow any authenticated user to fetch tag list * refactor(endpoints): replace controller function with class * refactor(endpoints): replace function with helper * refactor(endpoints): replace controller with class * refactor(tags): revert tags-selector to use 1 way bindings * refactor(endpoints): load empty tag array instead of nil * refactor(endpoints): revert default tag ids * refactor(endpoints): use function in place * refactor(tags): use lodash * style(tags): use parens in arrow functions * fix(tags): remove tag from tag model Co-authored-by: Anthony Lapenna <anthony.lapenna@portainer.io>
84 lines
2.2 KiB
Go
84 lines
2.2 KiB
Go
package bolt
|
|
|
|
import portainer "github.com/portainer/portainer/api"
|
|
|
|
// Init creates the default data set.
|
|
func (store *Store) Init() error {
|
|
groups, err := store.EndpointGroupService.EndpointGroups()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(groups) == 0 {
|
|
unassignedGroup := &portainer.EndpointGroup{
|
|
Name: "Unassigned",
|
|
Description: "Unassigned endpoints",
|
|
Labels: []portainer.Pair{},
|
|
UserAccessPolicies: portainer.UserAccessPolicies{},
|
|
TeamAccessPolicies: portainer.TeamAccessPolicies{},
|
|
TagIDs: []portainer.TagID{},
|
|
}
|
|
|
|
err = store.EndpointGroupService.CreateEndpointGroup(unassignedGroup)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
roles, err := store.RoleService.Roles()
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
if len(roles) == 0 {
|
|
environmentAdministratorRole := &portainer.Role{
|
|
Name: "Endpoint administrator",
|
|
Description: "Full control of all resources in an endpoint",
|
|
Priority: 1,
|
|
Authorizations: portainer.DefaultEndpointAuthorizationsForEndpointAdministratorRole(),
|
|
}
|
|
|
|
err = store.RoleService.CreateRole(environmentAdministratorRole)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
environmentReadOnlyUserRole := &portainer.Role{
|
|
Name: "Helpdesk",
|
|
Description: "Read-only access of all resources in an endpoint",
|
|
Priority: 2,
|
|
Authorizations: portainer.DefaultEndpointAuthorizationsForHelpDeskRole(false),
|
|
}
|
|
|
|
err = store.RoleService.CreateRole(environmentReadOnlyUserRole)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
standardUserRole := &portainer.Role{
|
|
Name: "Standard user",
|
|
Description: "Full control of assigned resources in an endpoint",
|
|
Priority: 3,
|
|
Authorizations: portainer.DefaultEndpointAuthorizationsForStandardUserRole(false),
|
|
}
|
|
|
|
err = store.RoleService.CreateRole(standardUserRole)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
readOnlyUserRole := &portainer.Role{
|
|
Name: "Read-only user",
|
|
Description: "Read-only access of assigned resources in an endpoint",
|
|
Priority: 4,
|
|
Authorizations: portainer.DefaultEndpointAuthorizationsForReadOnlyUserRole(false),
|
|
}
|
|
|
|
err = store.RoleService.CreateRole(readOnlyUserRole)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|