Thanks again for publishing another EAP. It really is helpful to get an early look at how this feature set is being developed.
I have a Question / Feedback about User security and Tenants.
I Have Created Multiple Tenants and projects in 3 environments (Dev,Test and Prod)
I have a Tenant (ABC Bank) and a user (Ana Smith).
ABC Bank Has a single Project (IdScanner) and 2 Environments (Dev and Prod)
Ana Smith is a Member of a Team (ABC Bank Team) that is scoped to the ABC Bank Tenant
Using the Octopus.Client I make The Following (Linqpad)
string ApiKey = "API-QTYC8DUOJFTIEDE8VQCXMZRMYY"; //Anna Smith OctopusRepository repo = new OctopusRepository(new OctopusServerEndpoint("http://localhost:8080", ApiKey)); repo.Environments.FindAll().Dump(); repo.Projects.FindAll().Dump();
This will return all the Environments (Dev,Test and Prod) as well as all the Projects.
Now, If I Scope the ABC Bank Team to IdScanner and the Dev and Prod Environments that are scoped to the Tenant, Then I only see the one project and those 2 environments. If I Scope the Team To a different project and the Test environment, Then I only see that Information.
If I attempt to create a deployment into the environment that Ana Has permissions far according to her Team membership (When They are different from the Tenant), I get an Octopus Security Exception due to missing the permission DeploymentCreate.
I guess I was hoping that Applying a Tenant Restriction to a Team, Would make the team inherit all the restrictions that go along with that Tenant, without having to duplicate effort by also adding the project and Environments to the Team as well…
Hopefully I have explained my thoughts and findings in a manner that makes sense to you