iamgt

package
v0.4.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 2, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package iamgt helps with Google Identity Access Management, aka Service Accounts and their roles bindings

Index

Constants

View Source
const Retries = 5

Retries is the max number of read-modify-write cycles in case of concurrent policy changes detection

Variables

This section is empty.

Functions

func ProjectDeployExtendedRole

func ProjectDeployExtendedRole() (role iam.Role)

ProjectDeployExtendedRole defines the custom project role to have extended permissions to deploy a microservice

Types

type Bindings

type Bindings struct {
	RolesOnServiceAccounts []string `yaml:"rolesOnServiceAccounts"`
}

Bindings structure

type BindingsDeployment

type BindingsDeployment struct {
	Artifacts struct {
		ServiceAccountName string
		Member             string
	}
	Core     *deploy.Core
	Settings struct {
		Service struct {
			IAM Bindings
		}
	}
}

BindingsDeployment struct

func NewBindingsDeployment

func NewBindingsDeployment() *BindingsDeployment

NewBindingsDeployment create deployment structure

func (*BindingsDeployment) Deploy

func (bindingsDeployment *BindingsDeployment) Deploy() (err error)

Deploy BindingsDeployment use retries on a read-modify-write cycle

type OrgRolesDeployment

type OrgRolesDeployment struct {
	Core      *deploy.Core
	Artifacts struct {
		OrganizationID string
	}
	Settings struct {
		Roles []iam.Role
	}
}

OrgRolesDeployment struct

func NewOrgRolesDeployment

func NewOrgRolesDeployment() *OrgRolesDeployment

NewOrgRolesDeployment create deployment structure

func (*OrgRolesDeployment) Deploy

func (orgRolesDeployment *OrgRolesDeployment) Deploy() (err error)

Deploy OrgRolesDeployment

type Parameters

type Parameters struct {
	RunRoles struct {
		HostingOrg    []iam.Role `yaml:"hostingOrgRoles"`
		MonitoringOrg []iam.Role `yaml:"monitoringOrgRoles"`
		Project       []iam.Role `yaml:"ProjectRoles"`
	}
	DeployRoles struct {
		HostingOrg    []iam.Role `yaml:"hostingOrgRoles"`
		MonitoringOrg []iam.Role `yaml:"monitoringOrgRoles"`
		Project       []iam.Role `yaml:"ProjectRoles"`
	}
}

Parameters structure

type ProjectRolesDeployment

type ProjectRolesDeployment struct {
	Core      *deploy.Core
	Artifacts struct {
		ProjectID string
	}
	Settings struct {
		Roles []iam.Role
	}
}

ProjectRolesDeployment struct

func NewProjectRolesDeployment

func NewProjectRolesDeployment() *ProjectRolesDeployment

NewProjectRolesDeployment create deployment structure

func (*ProjectRolesDeployment) Deploy

func (projectRolesDeployment *ProjectRolesDeployment) Deploy() (err error)

Deploy ProjectRolesDeployment

type ServiceaccountDeployment

type ServiceaccountDeployment struct {
	Core *deploy.Core
}

ServiceaccountDeployment struct

func NewServiceaccountDeployment

func NewServiceaccountDeployment() *ServiceaccountDeployment

NewServiceaccountDeployment create deployment structure

func (*ServiceaccountDeployment) Deploy

func (serviceaccountDeployment *ServiceaccountDeployment) Deploy() (err error)

Deploy ServiceaccountDeployment

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL