You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* feat: add support for az table storage
for non-sensitive config items support for AZ TableStorage has been added
semver: feature
closes#22
* chore(docs): update readme
* fix: add missing implementation
* fix: docs
* fix: unit test for success empty
+semver: feature
+semver: feat
+semver:minor
* fix: add value concept as a property to aztablestore
add readme around it
* fix: clean up comments and delete unusued
* fix: normalize getter/setter
* fix: update docs
* fix: tests for adjust non exchanged/errored tokens
@@ -177,6 +180,28 @@ For Azure KeyVault the first part of the token needs to be the name of the vault
177
180
178
181
> The preceeding slash to the vault name is optional - `AZKVSECRET#/test-vault/no-slash-token-1` and `AZKVSECRET#test-vault/no-slash-token-1` will both identify the vault of name `test-vault`
179
182
183
+
### Special consideration for AZTABLESTORE
184
+
185
+
The token itself must contain all of the following properties, so that it would look like this `AZTABLESTORE://STORAGE_ACCOUNT_NAME/TABLE_NAME/PARTITION_KEY/ROW_KEY`:
186
+
187
+
- Storage account name [`STORAGE_ACCOUNT_NAME`]
188
+
- Table Name [`TABLE_NAME`]
189
+
- > It might make sense to make this table global to the domain or project
190
+
- Partition Key [`PARTITION_KEY`]
191
+
- > This could correspond to the component/service name
192
+
- Row Key [`ROW_KEY`]
193
+
- > This could correspond to the property itself or a group of properties
194
+
- > e.g. `AZTABLESTORE://globalconfigstorageaccount/domainXyz/serviceXyz/db` => `{"value":{"host":"foo","port":1234,"enabled":true}}`
195
+
- > It will continue to work the same way with additional keyseparators inside values.
196
+
197
+
> NOTE: if you store a more complex object inside a top level `value` property this will reduce the number of columns and normalize the table - **THE DATA INSIDE THE VALUE MUST BE JSON PARSEABLE**
198
+
199
+
All the usual token rules apply e.g. of `keySeparator`
// KubeControllerSpecHelper is a helper method, it marshalls an input value of that type into a string and passes it into the relevant configmanger retrieve method
104
-
// and returns the unmarshalled object back
103
+
// and returns the unmarshalled object back.
105
104
//
106
-
// It accepts a DI of configmanager and the config (for testability) to replace all occurences of replaceable tokens inside a Marshalled string of that type
105
+
// # It accepts a DI of configmanager and the config (for testability) to replace all occurences of replaceable tokens inside a Marshalled string of that type
0 commit comments