首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将领事中的2 KV文件夹与http端点结合

将领事中的2 KV文件夹与http端点结合
EN

Stack Overflow用户
提问于 2021-05-03 22:20:36
回答 1查看 135关注 0票数 0

我创建了4KV文件夹(我指的是目录。每对包含10个键-值对),用于我的测试jenkins管道。以便我可以为我应用程序创建.env文件。它们是public_stable、private_stable、public_temp、private_temp。我想将public_stable和public_temp合并到一个新的KV文件夹中,并命名为public_my_testing_env_name。私有值也是如此。我想合并,因为我的同事将更新运行环境的值。以便他们可以使用testing_env_name在数以千计.env文件中轻松地找到他们的.env文件。

1-)我可以在不读取所有值的情况下使用consul http端点执行此操作吗?我不想通过编程来做这件事。

2-)我用consul-template读取值。我能用consul-template创建那个文件夹吗?

3-)这是不合法的我知道:|。你认为这种方式好吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-08 21:57:28

您可以使用envconsulTeller来实现这一点。

引用Envconsul的文档,"Envconsul提供了一种便捷的方法,可以使用从HashiCorp Consul和Vault填充的环境变量来启动子进程。“

另一方面,Teller除了支持Consul之外,还支持从其他提供者读取数据。

下面是使用envconsul和the从public_stable/public_temp/读取密钥的两个示例,并将这些密钥作为环境变量提供给启动的子进程。

首先,在每个路径下创建一个测试密钥。

代码语言:javascript
复制
$ consul kv put public_stable/STABLE_URL https://example.com/stable_website
Success! Data written to: public_stable/STABLE_URL

$ consul kv put public_temp/TEMP_RELOAD_INTERVAL 600
Success! Data written to: public_temp/TEMP_RELOAD_INTERVAL

环境领事

下载envconsul。将CONSUL_HTTP_ADDR环境变量设置为您的领事客户端应用编程接口的地址。如果在环境中启用了CONSUL_HTTP_TOKEN,您还需要配置ACL环境变量。

代码语言:javascript
复制
export CONSUL_HTTP_ADDR=http://localhost:8500
export CONSUL_HTTP_TOKEN=<token>

执行以下命令,指示envconsul查询public_temp和public_stable下的密钥,并将其用作环境变量。envconsul将运行env命令,以便我们可以看到提供给子进程的变量集。

代码语言:javascript
复制
$ envconsul -pristine -prefix public_temp -prefix public_stable -once env
TEMP_RELOAD_INTERVAL=600
STABLE_URL=https://example.com/stable_website

出纳员

安装Teller并在您的项目目录中创建.teller.yml,包含以下内容。

.teller.yml

代码语言:javascript
复制
---
opts:
  environment: public

# Providers
providers:
  # Configure via environment:
  # CONSUL_HTTP_ADDR
  # CONSUL_HTTP_TOKEN, if ACLs are enabled
  consul:
    env_sync:
      path: "{{environment}}_stable/"
  consul2:
    kind: consul
    env_sync:
      path: "{{environment}}_temp/"

使用teller env.env文件格式输出检索到的键值对,以验证数据是否正确地合并到一组环境变量中。

代码语言:javascript
复制
$ teller env
TEMP_RELOAD_INTERVAL=600
STABLE_URL=https://example.com/stable_website

然后,您可以使用teller run在柜员下运行应用程序。此命令语法的详细信息记录在https://github.com/SpectralOps/teller#running-running-subprocesses中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67370571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档