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日 |
#9 在 #composable
131 每月下载量
用于 5 个 (3 直接) crate
8KB
ENV Url
Env-composable service urls 完整的键覆盖,以便提供最大灵活性,并简化与 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
~71K SLoC