Closed aegershman closed 3 years ago
Hey, thanks for the feedback.
I see the point about filtering, that might be usefule. However I'm afraid of the complexity more kinds will add, generating versionedclients for all of them, test setup, controller watches, different structs ...
We discussed that earlier in a meeting and the common sentiment was that Kubernetes is also using rather huge 'kinds'.
Looking at the output of 'kubectl api-resources', I think that's true.
There is one Volume
kind, but many types of volumes. Or services, they don't even have a type, they just behave very different, depending on their spec.
I think 'filtering' can be fixed, if https://github.com/kubernetes/kubernetes/issues/53459 is implemented.
right on, thanks again for your time - apologies for not responding back earlier 👍 closing for tidyness
Currently quarks-secret is implemented as a single CRD
kind: QuarksSecret
, and to control thetype
of credential which gets generated you specifytype
in thespec
, e.g.password
,ssh
, etc. : https://github.com/cloudfoundry-incubator/quarks-secret/blob/81bcfbc9ed04ec19c76738e34b63eec9bb1031af/docs/crds/quarks_v1alpha1_quarkssecret_crd.yaml#L44-L47You may consider separating this CRD down from a single kind of
QuarksSecret
into respective credential types, e.g.kind: Password
,kind: Certificate
, etc.; this would offer some benefits:kind: Password
;kind: PasswordRotation
;kind: PasswordCopy
, etc.), even experimentally, it could be done with a bit more comfort separately as a differentkind
than having the different credential types in one CRD described as atype
view
output of a crd, like if there was future interest in outputting thekubectl describe
of aCertificate
in a different way as aPassword
, etc., for example having flexibility to output a description of "expiry" for aCertificate
vs.Password
kubectl get
and such; e.g., if an operator wanted to view all theCertificate
s types in a namespace vs. aPassword
, rather thankubectl get quarkssecret
and having it describe all typesPassword
is created/updated/etc. and receiving status updates from kubernetes about it, but not being interested in anRsa
being created; if the different types are under the samekind
, I'm under the impression it makes it harder for other systems/controller/operators to specifically work with that type, because at the moment it'd need to work on theQuarksSecret
kind and parse thespec.type
. I know it's hypothetical, it's just something to consider that might affect whether other systems would use quarkssecret outside the context of cffork8s?I don't mean to laundry-list or be negative or anything-- quarkssecret is being used in kubecf (https://github.com/cloudfoundry-incubator/kubecf/blob/20cd23b967eb04924fc16817ab4e50befe34ab52/deploy/helm/kubecf/templates/eirini.yaml#L9) and all; I'm just sharing some thoughts for consideration while the project is early in case there was concern or interest in evaluation on it. but again, not trying to yammer on, just putting it out there
thanks all for your time 👍