Up to know, flagd has not handled flags with conflicting keys from different sources, or even the same source.
As described in these 2 documents, we want to support a sort of "flag namespacing" via our existing flagSetId property. Logically, the unique identifier for a flag would be represented by a combination of flagSetId and key, irrespective of the sync-source.
Definition of done:
- flags are uniquely identified by
flagSetId and key in all endpoints/protocols (evaluation.proto, sync.proto, OFREP); clients identify their flagSet (either at steam initialization or during the RPC, depending on the ptotocol) and then get responses according to that flagSet.
- flag metadata and flag set metadata are restricted similarly to above
- the means of expressing the
flagSetId must be extensible, so that other criteria and filters might be supported later
Up to know, flagd has not handled flags with conflicting keys from different sources, or even the same source.
As described in these 2 documents, we want to support a sort of "flag namespacing" via our existing
flagSetIdproperty. Logically, the unique identifier for a flag would be represented by a combination offlagSetIdandkey, irrespective of the sync-source.Definition of done:
flagSetIdandkeyin all endpoints/protocols (evaluation.proto, sync.proto, OFREP); clients identify their flagSet (either at steam initialization or during the RPC, depending on the ptotocol) and then get responses according to that flagSet.flagSetIdmust be extensible, so that other criteria and filters might be supported later