Skip to main content

Remote config and feature toggle based on Consul.

Project description

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.

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, minutes=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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

remote-config-0.1.4.tar.gz (4.5 kB view details)

Uploaded Source

File details

Details for the file remote-config-0.1.4.tar.gz.

File metadata

  • Download URL: remote-config-0.1.4.tar.gz
  • Upload date:
  • Size: 4.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.7.0 requests/2.25.1 setuptools/44.1.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/2.7.18

File hashes

Hashes for remote-config-0.1.4.tar.gz
Algorithm Hash digest
SHA256 2fc8f9a492e19d8f541fd159d240651aed85f79e2cd7fb43a8f12dc8fe76ed6d
MD5 6223ee63da50d1b5e16ecc52e8893b66
BLAKE2b-256 84fddd96047291eacfef68f413557b86edac5339a808a08a020de7e0939c030b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page