Project and Organization Limit Initialization
If the project has a parent organization, then this parent organization
is an assigner for a project. If the project is root-level, then its
enabled services are assigners, each service can assign an individual
plan for a project. Same for organizations. When a project/organization
is created, the Limits Controller puts the newly created entity in
the “assigner” box (or boxes for root-level entities). Then it creates
an instance(s) of AcceptedPlan
. Implementation, again, is in
limits/controller/v1/limits_assigner/default_plan_acceptor.go
. It is
worth mentioning however now, that DefaultPlanAcceptor
uses LimitPools
of assigner to see if it will be able to create an AcceptedPlan
resource. If not, it will instead annotate the Project/Organization
that failed to create a plan for. This is why in limits_assigner.go
you can see Syncer for not only AcceptedPlan but also Project and
Organization.