Skip to main content

Remote Config

Essa biblioteca tem como funcionalidade capturar os mapeamentos de features ativas por clusters e disponibilizar em memória, juntamente com as variáveis de ambientes lá registradas.

Clusters

O mapeamento dos clusters ficarão listadas dentro da pasta clusters que se encontra na pasta general na raiz do Key / Value.

Para cada cluster se faz necessário criar uma key com o nome do cluster ex: cluster-google-merchant

Contendo a lista de id's das lojas no seguinte formato:

{
  "ids": [123, 456]
}

Feature Toggle

O mapeamento dos clusters ficarão listadas dentro da pasta feature-toggle que se encontra na pasta general na raiz do Key / Value.

Para cada feature se faz necessário criar uma key com o nome da feature ex: google-merchant

O valor dentro desta key deve ser no formato do JSON a baixo:

{
  "enable": true,
  "default": false,
  "clusters": ["general/feature-toggle/cluster-google-merchant"]
}

A propriedade enable define se a feature está ativada para aplicação como um todo.

A propriedade cluster define uma lista dos caminhos dos clusters.

A propriedade default define o comportamento padrão caso o enable esteja false e a loja não esteja em nenhum cluster.

Globals

As variaveis que não são atreladas a nenhum cluster específico são denominadas globals. Estas se encontram na pasta globals (tambem dentro da pasta general na raiz do Key / Value).

O valor dentro desta key pode conter qualquer conteúdo que satisfaça um JSON válido.

Como usar

Inicializando o singleton e já configurando os tempos de atualização de cache

from django.conf import settings
class CoreConfig(AppConfig):
    name = "core"

     def ready(self):
        from remote_config import RemoteConfig
        RemoteConfig(host=URL, port=80, token=TOKEN, feature_minute=5, cluster_minute=5).start()

Para fazer uma checagem da feature, basta só iniciar o RemoteConfig sem as configurações pois elas já forão inicializadas e chamara a função get_feature que retornará um boleano

RemoteConfig().get_feature('google-merchant', 123)

Já para para fazer uma checagem da global, basta chamar a função get_global que retornará um dicinário com o valor correspondete à chave especificada.

RemoteConfig().get_global('chave-global-qualquer')

Release files for remote-config 0.1.8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for remote-config 0.1.8
File Size Uploaded
remote-config-0.1.8.tar.gz 5.3 kB Details

Release files / remote-config-0.1.8.tar.gz

Download URL remote-config-0.1.8.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
416fea7b98a2984a4308fe7c33a5b14f9eee38cdcdfa41ae6f451d9a5c038f9f
BLAKE2b-256 checksum
How to use checksums
c1a5a5b8e422e1c5b5bfefde95242da94d6bd31293780a74e370cbba937e548d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.9.6

Release history Release notifications | RSS feed

This release

0.1.8 This release

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page