7个稳定版本
2.1.0 | 2024年5月21日 |
---|---|
2.0.4 | 2023年5月28日 |
2.0.3 | 2022年7月29日 |
2.0.2 |
|
1.0.1 | 2021年11月30日 |
#1002 在 进程宏
222 每月下载次数
在 6 个crate中使用 (通过 env-url)
9KB
117 行
ENV URL
Env组合服务URL,包含键覆盖,以提供最大灵活性和简化与Kubernetes的集成。
ENV映射行为
ENV | |
---|---|
{PREFIX}_URL | 设置服务URL,忽略其他覆盖 |
{PREFIX}_URL_ENV | 覆盖 {PREFIX}_URL 环境映射 |
{PREFIX}_SCHEME | 设置URL方案组件 |
{PREFIX}_SCHEME_ENV | 覆盖 {PREFIX}_SCHEME 环境映射 |
{PREFIX}_HOST | 设置URL主机组件 |
{PREFIX}_HOST_ENV | 覆盖 {PREFIX}_HOST 环境映射 |
{PREFIX}_PATH | 设置URL路径组件 |
{PREFIX}_PATH_ENV | 覆盖 {PREFIX}_PATH 环境映射 |
{PREFIX}_QUERY | 设置URL查询组件 |
{PREFIX}_QUERY_ENV | 覆盖 {PREFIX}_QUERY 环境映射 |
{PREFIX}_USERINFO | 设置URL用户信息组件 |
{PREFIX}_USERINFO_ENV | 覆盖 {PREFIX}_USERINFO 环境映射 |
示例
use env_url::*;
#[derive(EnvURL)]
#[env_url(env_prefix = "REDIS", default = "redis://127.0.0.1:6379")]
pub struct RedisDB;
let service_url = RedisDB::service_url();
Kubernetes使用
由于Kubernetes可以将服务设置为环境变量以进行服务发现,因此能够像这样覆盖环境映射非常有用
REDIS_HOST_ENV: STAGE_REDIS_MASTER_PORT_6379_TCP_ADDR
REDIS_PORT_ENV: STAGE_REDIS_MASTER_SERVICE_PORT_REDIS
依赖关系
~1.6–2.3MB
~72K SLoC