@@ -78,13 +78,12 @@ var _ = Describe("BuildRoleRules", func() {
7878 Expect (rules [2 ].ResourceNames ).To (ConsistOf ("secret-a" , "secret-b" ))
7979 })
8080
81- It ("should produce rules with empty ResourceNames for empty input" , func () {
81+ It ("should not produce a secrets rule for empty input" , func () {
8282 rules := BuildRoleRules (nil )
83- Expect (rules ).To (HaveLen (3 ))
83+ Expect (rules ).To (HaveLen (2 ))
8484 Expect (rules [0 ].ResourceNames ).To (BeEmpty ())
8585 Expect (rules [0 ].ResourceNames ).NotTo (BeNil ())
8686 Expect (rules [1 ].ResourceNames ).To (BeEmpty ())
87- Expect (rules [2 ].ResourceNames ).To (BeEmpty ())
8887 })
8988
9089 It ("should deduplicate secret names across ObjectStores" , func () {
@@ -95,6 +94,31 @@ var _ = Describe("BuildRoleRules", func() {
9594 rules := BuildRoleRules (objects )
9695 Expect (rules [2 ].ResourceNames ).To (Equal ([]string {"shared-secret" }))
9796 })
97+
98+ It ("should not produce a secrets rule when ObjectStores use IAM role inheritance" , func () {
99+ objects := []barmancloudv1.ObjectStore {
100+ {
101+ ObjectMeta : metav1.ObjectMeta {
102+ Name : "store-a" ,
103+ Namespace : "default" ,
104+ },
105+ Spec : barmancloudv1.ObjectStoreSpec {
106+ Configuration : barmanapi.BarmanObjectStoreConfiguration {
107+ DestinationPath : "s3://bucket/path" ,
108+ BarmanCredentials : barmanapi.BarmanCredentials {
109+ AWS : & barmanapi.S3Credentials {
110+ InheritFromIAMRole : true ,
111+ },
112+ },
113+ },
114+ },
115+ },
116+ }
117+ rules := BuildRoleRules (objects )
118+ Expect (rules ).To (HaveLen (2 ))
119+ Expect (rules [0 ].ResourceNames ).To (Equal ([]string {"store-a" }))
120+ Expect (rules [1 ].ResourceNames ).To (Equal ([]string {"store-a" }))
121+ })
98122})
99123
100124var _ = Describe ("BuildRole" , func () {
0 commit comments