diff --git a/config/rbac/role.yaml b/config/rbac/role.yaml index cd6f4492..101589cc 100644 --- a/config/rbac/role.yaml +++ b/config/rbac/role.yaml @@ -111,7 +111,6 @@ rules: - networking.k8s.io resources: - networkpolicies - - ingresses verbs: - create - delete @@ -214,19 +213,3 @@ rules: - patch - update - watch -- apiGroups: - - extensions - resources: - - ingresses - verbs: - - get - - list - - watch -- apiGroups: - - networking.k8s.io - resources: - - ingresses - verbs: - - get - - list - - watch \ No newline at end of file diff --git a/controllers/storageconfig_controller.go b/controllers/storageconfig_controller.go index ccd1ef52..6f29cc90 100644 --- a/controllers/storageconfig_controller.go +++ b/controllers/storageconfig_controller.go @@ -18,13 +18,14 @@ package controllers import ( "context" "encoding/json" + "reflect" + "github.com/go-logr/logr" corev1 "k8s.io/api/core/v1" apierrs "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/util/retry" - "reflect" ctrl "sigs.k8s.io/controller-runtime" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/event" @@ -53,7 +54,10 @@ func newStorageSecret(dataConnectionSecretsList *corev1.SecretList) *corev1.Secr dataConnectionElement["access_key_id"] = string(secret.Data["AWS_ACCESS_KEY_ID"]) dataConnectionElement["secret_access_key"] = string(secret.Data["AWS_SECRET_ACCESS_KEY"]) dataConnectionElement["endpoint_url"] = string(secret.Data["AWS_S3_ENDPOINT"]) + // We add both "default_bucket" and "bucket" because kserve and modelmesh expect different keys for the same value + // Once upstream has reconciled to one common key, we should remove the other one. dataConnectionElement["default_bucket"] = string(secret.Data["AWS_S3_BUCKET"]) + dataConnectionElement["bucket"] = string(secret.Data["AWS_S3_BUCKET"]) dataConnectionElement["region"] = string(secret.Data["AWS_DEFAULT_REGION"]) if secret.Data["AWS_CA_BUNDLE"] != nil { dataConnectionElement["certificate"] = string(secret.Data["AWS_CA_BUNDLE"]) diff --git a/controllers/testdata/secrets/storageconfig-encoded.yaml b/controllers/testdata/secrets/storageconfig-encoded.yaml index da12f1e8..2172c09c 100644 --- a/controllers/testdata/secrets/storageconfig-encoded.yaml +++ b/controllers/testdata/secrets/storageconfig-encoded.yaml @@ -1,6 +1,6 @@ apiVersion: v1 data: - aws-connection-minio: eyJhY2Nlc3Nfa2V5X2lkIjoiVEhFQUNDRVNTS0VZIiwiY2VydGlmaWNhdGUiOiItLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS1cbk1JSUY2VENDQTlHZ0F3SUJBZ0lVYTRwekx2ZG5ZWFdabDNydnFSaHF0UUdxOFhVd0RRWUpLb1pJaHZjTkFRRUxcbkJRQXdmREVMTUFrR0ExVUVCaE1DUTBFeERUQUxCZ05WQkFnTUJGUnlkV1V4RHpBTkJnTlZCQWNNQmsxSlRGUlBcblRqRVBNQTBHQTFVRUNnd0dVa1ZFU0VGVU1Rd3dDZ1lEVlFRTERBTlRRMFV4RURBT0JnTlZCQU1NQjFKdmIzUWdcblEwRXhIREFhQmdrcWhraUc5dzBCQ1FFV0RYUmxjM1JBZEdWemRDNWpiMjB3SGhjTk1qTXdOekkzTWpBeE16TTJcbldoY05ORE13TnpJeU1qQXhNek0yV2pCOE1Rc3dDUVlEVlFRR0V3SkRRVEVOTUFzR0ExVUVDQXdFVkhKMVpURVBcbk1BMEdBMVVFQnd3R1RVbE1WRTlPTVE4d0RRWURWUVFLREFaU1JVUklRVlF4RERBS0JnTlZCQXNNQTFORFJURVFcbk1BNEdBMVVFQXd3SFVtOXZkQ0JEUVRFY01Cb0dDU3FHU0liM0RRRUpBUllOZEdWemRFQjBaWE4wTG1OdmJUQ0NcbkFpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBTFkxWFpBM25sa20rMzIwSDA2VDNRRHZcbjNWNU0vRUNlZDRiTkE0N0pqVkNxaWsxMU11RTdkR3ZSWmNOcVl4OGVUeWovQW90TDg1dkZNMDN2TUhnY0lTZTFcbnkwdktLeC9odDJKeFBWRitVNmxzS0QyTllUV1U0dFpmOFZMSjYyM0VLUGxSZmY0ZlF4bFd6VkJ1R3VpVXIxZGNcbmh5T1I5aXlrVVdBZjZZV2JpOS9id0VpVGJ5aExuVWZtaGs1ZDdvU3hOZjQvSmRMeDZIdTNXaDZPR2ViODg3WTBcbkNyOUU4MzdiK1J5ak1DemhhbDUrb2lqa2RLV01xRWhTOHkrZ3BxdVFOdU9YSSsxMnVMbDJkMUMzRkdXN3YxYitcbjMvL2QxeXliNnNpWFhvZC9ObGZBRGtuVnlxZXhXbWMzTWVFMXRRV2JTNGxPaVhjanFlRmp0QlVtaXhuaFNFQTdcbkZjeGYxekl2bG80VkROT2tkMXQrQ0syTlorZE9TS2h4eHh4VlpNbFRHVjI3THdHMVM0ZEx2eVJ5NFdIUFZSWmZcbjdZSDAvYUJFZ0FKa0VKd3FHMVZYSDc4SWJWbTdrNXEvcUhUZjF6QmxERkF5VUptUjRrcnlyWGhseFdZOVlnUHJcbmdGZnFFMm8rMC9wWU9CKzI4VWFsbXNuVXl3VDBFNUFBYmZCRk9BTmU2QUpzVWtrU044dW1BRnBFM09tTlI4NTFcbkJBZjFhcUV3WTFzLzBqTUozbnVXc1FOM3pTRFFFYlVrajZQejBYSjFKRGtTY1BPaEY0Z1Q4dUdiVXp2bE1xdk5cbkVNb2ZkaEc3cCtTT1Z4QTJXWHRJUzB4aUQ0NXhqckE1b2FsQS94cDFmaWhwbUdsZVlieGo5SFZTTXcvdmFFQTVcbmhVSi9nQVo2N2VpYVNNdjd6UnpqQWdNQkFBR2pZekJoTUIwR0ExVWREZ1FXQkJSbTU1aFVWWWVuWFNrc1RQM1lcbkowTkU0SUVaUVRBZkJnTlZIU01FR0RBV2dCUm01NWhVVlllblhTa3NUUDNZSjBORTRJRVpRVEFQQmdOVkhSTUJcbkFmOEVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lCaGpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVBTanRcbm5yM1RqbkpGMEoyZjFmK2Y3S28yYXpNWnE1VWdZcm82WE5GUUw3SjdKZEZDRDFaTU5ZSlZJLzhxQjVqTkRNaEhcbnV1WVJ4QjdSeURCZ1JGWEh4bnAvVDdIYkcvV09XTUN1NFFndmV2TzFZbDdVUDRVb1RXWm9FUGJsbWtXSVJYejFcbjFVakp5WEs4WUZQREVzWlZPQ0cvb2hNYzQxdkkzMkpzL3UyUmY5TEo1VXJ5TktJNHM4di9CMjlncUFhRW0vWHBcbjN6am9QaHBBcks2OEQ5bjVGbU9ZSU1SOStHUWpnM0dWSGN4c0Ricnp4ZEp2L0x4emwyN3Zxc25aQ21maitudTNcbmVEYnlGYWJSSElOdUMxY1F1Y2JSQnhoeXF6bWNwNjkxY3h5MWcwVk1aRExOcUZZcFVCeDA3MThBTzRMTEpCNHlcbmUvVkxFcXczVmlLZTlSQmpMaFdmdlptay80c1IyRnhpbnBPUFp0a05QYkhNTSs0cHM0dExtM0x2azF4WkMwUW1cbkJSdlcwbEVmc1BRcVdpRUFpQlJTSDB3bGw4ZEUrcHV2bEo1YVhJdTUwdXlPcmxNUzk1b3RBM3FJaXBOejhoS2xcbm1ZWnU1OFM3aERpeDJlUGRYOEtWUG1UdjBWTVFHMWkxbFU2SThOejB1eUdGSXFUR1BzWHdNeFBPM2pNQWp6NGJcbkZ5OTRHMWcybSs4ZzFzeWxFMm5QazVmUWE0MmdhU1F0ZjZGWU92amlOUXorSHIrYzIxTGR0YXFvbGpreHZjY3ZcbkJqaGY2QTZpdDVvcVpMUWd0RVdEU0dmbGxDK3RkN0NwQmdQYmpzUzV1M1BCQWltQy9zZ0RnY2dCYlhWL2IyYUJcblNpMStZY3J0RmVKMmNHdDQyaUh1a0pzUjlkUjFueUNOdkZkekF6dz1cbi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS1cbiIsImRlZmF1bHRfYnVja2V0IjoibW9kZWxtZXNoLWV4YW1wbGUtbW9kZWxzIiwiZW5kcG9pbnRfdXJsIjoiaHR0cHM6Ly9taW5pby5taW5pby5zdmM6OTAwMCIsInJlZ2lvbiI6InVzLXNvdXRoIiwic2VjcmV0X2FjY2Vzc19rZXkiOiJkN2M5YzczY2NhMTZiZGM5MmQ4MGVhODg2ZjhhMTU5MjNjMmEwNmZhMTQ1YTllZjJjYTM1OGExOTUyM2U3YjM1IiwidHlwZSI6InMzIn0= + aws-connection-minio: eyJhY2Nlc3Nfa2V5X2lkIjoiVEhFQUNDRVNTS0VZIiwiYnVja2V0IjoibW9kZWxtZXNoLWV4YW1wbGUtbW9kZWxzIiwiY2VydGlmaWNhdGUiOiItLS0tLUJFR0lOIENFUlRJRklDQVRFLS0tLS1cbk1JSUY2VENDQTlHZ0F3SUJBZ0lVYTRwekx2ZG5ZWFdabDNydnFSaHF0UUdxOFhVd0RRWUpLb1pJaHZjTkFRRUxcbkJRQXdmREVMTUFrR0ExVUVCaE1DUTBFeERUQUxCZ05WQkFnTUJGUnlkV1V4RHpBTkJnTlZCQWNNQmsxSlRGUlBcblRqRVBNQTBHQTFVRUNnd0dVa1ZFU0VGVU1Rd3dDZ1lEVlFRTERBTlRRMFV4RURBT0JnTlZCQU1NQjFKdmIzUWdcblEwRXhIREFhQmdrcWhraUc5dzBCQ1FFV0RYUmxjM1JBZEdWemRDNWpiMjB3SGhjTk1qTXdOekkzTWpBeE16TTJcbldoY05ORE13TnpJeU1qQXhNek0yV2pCOE1Rc3dDUVlEVlFRR0V3SkRRVEVOTUFzR0ExVUVDQXdFVkhKMVpURVBcbk1BMEdBMVVFQnd3R1RVbE1WRTlPTVE4d0RRWURWUVFLREFaU1JVUklRVlF4RERBS0JnTlZCQXNNQTFORFJURVFcbk1BNEdBMVVFQXd3SFVtOXZkQ0JEUVRFY01Cb0dDU3FHU0liM0RRRUpBUllOZEdWemRFQjBaWE4wTG1OdmJUQ0NcbkFpSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnSVBBRENDQWdvQ2dnSUJBTFkxWFpBM25sa20rMzIwSDA2VDNRRHZcbjNWNU0vRUNlZDRiTkE0N0pqVkNxaWsxMU11RTdkR3ZSWmNOcVl4OGVUeWovQW90TDg1dkZNMDN2TUhnY0lTZTFcbnkwdktLeC9odDJKeFBWRitVNmxzS0QyTllUV1U0dFpmOFZMSjYyM0VLUGxSZmY0ZlF4bFd6VkJ1R3VpVXIxZGNcbmh5T1I5aXlrVVdBZjZZV2JpOS9id0VpVGJ5aExuVWZtaGs1ZDdvU3hOZjQvSmRMeDZIdTNXaDZPR2ViODg3WTBcbkNyOUU4MzdiK1J5ak1DemhhbDUrb2lqa2RLV01xRWhTOHkrZ3BxdVFOdU9YSSsxMnVMbDJkMUMzRkdXN3YxYitcbjMvL2QxeXliNnNpWFhvZC9ObGZBRGtuVnlxZXhXbWMzTWVFMXRRV2JTNGxPaVhjanFlRmp0QlVtaXhuaFNFQTdcbkZjeGYxekl2bG80VkROT2tkMXQrQ0syTlorZE9TS2h4eHh4VlpNbFRHVjI3THdHMVM0ZEx2eVJ5NFdIUFZSWmZcbjdZSDAvYUJFZ0FKa0VKd3FHMVZYSDc4SWJWbTdrNXEvcUhUZjF6QmxERkF5VUptUjRrcnlyWGhseFdZOVlnUHJcbmdGZnFFMm8rMC9wWU9CKzI4VWFsbXNuVXl3VDBFNUFBYmZCRk9BTmU2QUpzVWtrU044dW1BRnBFM09tTlI4NTFcbkJBZjFhcUV3WTFzLzBqTUozbnVXc1FOM3pTRFFFYlVrajZQejBYSjFKRGtTY1BPaEY0Z1Q4dUdiVXp2bE1xdk5cbkVNb2ZkaEc3cCtTT1Z4QTJXWHRJUzB4aUQ0NXhqckE1b2FsQS94cDFmaWhwbUdsZVlieGo5SFZTTXcvdmFFQTVcbmhVSi9nQVo2N2VpYVNNdjd6UnpqQWdNQkFBR2pZekJoTUIwR0ExVWREZ1FXQkJSbTU1aFVWWWVuWFNrc1RQM1lcbkowTkU0SUVaUVRBZkJnTlZIU01FR0RBV2dCUm01NWhVVlllblhTa3NUUDNZSjBORTRJRVpRVEFQQmdOVkhSTUJcbkFmOEVCVEFEQVFIL01BNEdBMVVkRHdFQi93UUVBd0lCaGpBTkJna3Foa2lHOXcwQkFRc0ZBQU9DQWdFQVBTanRcbm5yM1RqbkpGMEoyZjFmK2Y3S28yYXpNWnE1VWdZcm82WE5GUUw3SjdKZEZDRDFaTU5ZSlZJLzhxQjVqTkRNaEhcbnV1WVJ4QjdSeURCZ1JGWEh4bnAvVDdIYkcvV09XTUN1NFFndmV2TzFZbDdVUDRVb1RXWm9FUGJsbWtXSVJYejFcbjFVakp5WEs4WUZQREVzWlZPQ0cvb2hNYzQxdkkzMkpzL3UyUmY5TEo1VXJ5TktJNHM4di9CMjlncUFhRW0vWHBcbjN6am9QaHBBcks2OEQ5bjVGbU9ZSU1SOStHUWpnM0dWSGN4c0Ricnp4ZEp2L0x4emwyN3Zxc25aQ21maitudTNcbmVEYnlGYWJSSElOdUMxY1F1Y2JSQnhoeXF6bWNwNjkxY3h5MWcwVk1aRExOcUZZcFVCeDA3MThBTzRMTEpCNHlcbmUvVkxFcXczVmlLZTlSQmpMaFdmdlptay80c1IyRnhpbnBPUFp0a05QYkhNTSs0cHM0dExtM0x2azF4WkMwUW1cbkJSdlcwbEVmc1BRcVdpRUFpQlJTSDB3bGw4ZEUrcHV2bEo1YVhJdTUwdXlPcmxNUzk1b3RBM3FJaXBOejhoS2xcbm1ZWnU1OFM3aERpeDJlUGRYOEtWUG1UdjBWTVFHMWkxbFU2SThOejB1eUdGSXFUR1BzWHdNeFBPM2pNQWp6NGJcbkZ5OTRHMWcybSs4ZzFzeWxFMm5QazVmUWE0MmdhU1F0ZjZGWU92amlOUXorSHIrYzIxTGR0YXFvbGpreHZjY3ZcbkJqaGY2QTZpdDVvcVpMUWd0RVdEU0dmbGxDK3RkN0NwQmdQYmpzUzV1M1BCQWltQy9zZ0RnY2dCYlhWL2IyYUJcblNpMStZY3J0RmVKMmNHdDQyaUh1a0pzUjlkUjFueUNOdkZkekF6dz1cbi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS1cbiIsImRlZmF1bHRfYnVja2V0IjoibW9kZWxtZXNoLWV4YW1wbGUtbW9kZWxzIiwiZW5kcG9pbnRfdXJsIjoiaHR0cHM6Ly9taW5pby5taW5pby5zdmM6OTAwMCIsInJlZ2lvbiI6InVzLXNvdXRoIiwic2VjcmV0X2FjY2Vzc19rZXkiOiJkN2M5YzczY2NhMTZiZGM5MmQ4MGVhODg2ZjhhMTU5MjNjMmEwNmZhMTQ1YTllZjJjYTM1OGExOTUyM2U3YjM1IiwidHlwZSI6InMzIn0= kind: Secret metadata: labels: diff --git a/controllers/testdata/secrets/storageconfig-string.yaml b/controllers/testdata/secrets/storageconfig-string.yaml index a5e80f91..1e0a3d57 100644 --- a/controllers/testdata/secrets/storageconfig-string.yaml +++ b/controllers/testdata/secrets/storageconfig-string.yaml @@ -11,6 +11,7 @@ stringData: "secret_access_key": "d7c9c73cca16bdc92d80ea886f8a15923c2a06fa145a9ef2ca358a19523e7b35", "endpoint_url": "https://minio.minio.svc:9000", "default_bucket": "modelmesh-example-models", + "bucket": "modelmesh-example-models", "region": "us-south", "certificate": "-----BEGIN CERTIFICATE-----\n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\nSi1+YcrtFeJ2cGt42iHukJsR9dR1nyCNvFdzAzw=\n-----END CERTIFICATE-----\n" }