diff --git a/internal/gatewayapi/resource/load.go b/internal/gatewayapi/resource/load.go index 23f64c96a6..4cbec0765d 100644 --- a/internal/gatewayapi/resource/load.go +++ b/internal/gatewayapi/resource/load.go @@ -315,6 +315,8 @@ func loadKubernetesYAMLToResources(input []byte, addMissingResources bool) (*Res case KindSecret: typedData := data.Interface() typedStringData := stringData.Interface() + typedSecretType := kobjVal.FieldByName("Type").Interface() + secret := &corev1.Secret{ TypeMeta: metav1.TypeMeta{ Kind: KindSecret, @@ -323,6 +325,7 @@ func loadKubernetesYAMLToResources(input []byte, addMissingResources bool) (*Res Name: name, Namespace: namespace, }, + Type: typedSecretType.(corev1.SecretType), Data: typedData.(map[string][]byte), StringData: typedStringData.(map[string]string), } diff --git a/internal/gatewayapi/resource/testdata/all-resources.in.yaml b/internal/gatewayapi/resource/testdata/all-resources.in.yaml index 6bb5994374..f5cba5ff61 100644 --- a/internal/gatewayapi/resource/testdata/all-resources.in.yaml +++ b/internal/gatewayapi/resource/testdata/all-resources.in.yaml @@ -257,6 +257,15 @@ stringData: secret: "literal value" --- apiVersion: v1 +kind: Secret +metadata: + name: secret-with-type + namespace: default +type: "type value" +data: + .secret-file: dmFsdWUtMg0KDQo= +--- +apiVersion: v1 kind: ConfigMap metadata: name: configmap diff --git a/internal/gatewayapi/resource/testdata/all-resources.out.yaml b/internal/gatewayapi/resource/testdata/all-resources.out.yaml index b9cd72b999..55e2fadb44 100644 --- a/internal/gatewayapi/resource/testdata/all-resources.out.yaml +++ b/internal/gatewayapi/resource/testdata/all-resources.out.yaml @@ -270,6 +270,14 @@ secrets: namespace: default stringData: secret: literal value +- data: + .secret-file: dmFsdWUtMg0KDQo= + kind: Secret + metadata: + creationTimestamp: null + name: secret-with-type + namespace: default + type: type value securityPolicies: - kind: SecurityPolicy metadata: