A Python client for Spring Config Server.
This library is inspired by amenezes/config-client and is essentially a toned-down fork that I customized to fit my own needs.
- Provide a basic client
- Provide basic authentication
- Add support for CloudFoundry
Install using pip
$ pip install spring-config-client
The very basic usage of this library looks like this:
from spring_config import ClientConfigurationBuilder
from spring_config.client import SpringConfigClient
config = ClientConfigurationBuilder().app_name("test-application").build()
c = SpringConfigClient(config)
c.get_config()
By default, ClientConfigurationBuilder
builds a ClientConfiguration
object with server address and application profile set to http://localhost:8888
and development
. These can be changed like this:
Here are some examples:
# Fetch from http://someserver.com using profile "development"
config = (
ClientConfigurationBuilder()
.app_name("test-application")
.address("http://someserver.com")
.build()
)
# Fetch from http://someserver.com using profile "production"
config = (
ClientConfigurationBuilder()
.app_name("test-application")
.address("http://someserver.com")
.profile("production")
.build()
)
If your configuration server requires to use basic authentication, you can create the client configuration like this:
from spring_config import ClientConfigurationBuilder
config = (
ClientConfigurationBuilder()
.app_name("test-application")
.authentication(("username", "password"))
.build()
)
The ClientConfigurationBuilder
allow controlling these parameters.
- Application Name :
app_name("some-app")
- DefaultNone
, required. - Server Address :
address("http://some-server")
- Defaulthttp://localhost:8888
, optional. - Profile :
profile("production")
- Defaultdevelopment
, optional. - Branch :
branch("devel/0.1")
- Defaultmaster
, optional.
Please use the issues section to request new features and I will try to take out my time to work on them. Contributions in any sorts are always welcome :)