@adikari/config-manager 中文文档教程

发布于 4 年前 浏览 4 项目主页 更新于 2 年前

????️ Config Manager

将配置和加密机密推送到 AWS 的节点模块。

Installation

# Via yarn
$ yarn add @adikari/config-manager

# Via npm
$ npm install @adikari/config-manager

Usage

  1. At the root of your application add configuration file called configs.yml.
service: my-service
provider: ssm

config:
  path: /${stage}/config
  defaults:
    DB_NAME: my-database
    DB_HOST: 3200
  required:
    DB_TABLE: "some database table name for ${stage}"

secret:
  path: /${stage}/secret
  required:
    DB_PASSWORD: "secret database password"
  1. Use config-manager CLI tool to push your keys to AWS parameter store.
$ config-manager run --stage <stage> --interactive

Config File

以下是包含所有可能选项的配置文件:

service: my-service
provider: ssm                                 # Only supports ssm for now.

cfOutputs:                                    # Outputs from cloudformation stacks that needs to be pushed to ssm.
  - some-cloudformation-stack

config:
  path: /${stage}/config                      # Base path for params to be added to
  defaults:                                   # Default parameters. Can be overwritten in different environments.
    DB_NAME: my-database
    DB_HOST: 3200
  production:                                 # If keys are deployed to production stage, its value will be overwritten by following
    DB_NAME: my-production-database
  required:                                   # Keys mentioned below will be prompted to be entered.
    DB_TABLE: "some database table name for ${stage}"

secret:
  keyId: some-arn-of-kms-key-to-use .         # If not specified, default key will be used to encrypt variables.
  path: /${stage}/secret                      # Base path for params to be added to
  required:
    DB_PASSWORD: "secret database password" . # Parameter to encrypt and add to. Will be encrypted using KMS.
                                              # Above key will be added to /${stage}/secret/DB_PASSWORD
                                              # Value in quote will be displayed as explanation in prompt during interactive run.

CLI

以下是 config-manager CLI 的用法。

Usage: config-manager [options] [command]

Options:
  -V, --version          output the version number
  -s, --stage [stage]    Specify stage to run on. (required)
  -c, --config [config]  Path to configuration (default: "configs.yml")
  -h, --help             output usage information

Commands:
  run [options]          Verify or populate all remote configurations and secrets.
  init                   Initialize config manager. Only required to run once.
  list                   List all remote configurations and secrets.

License

请随意使用代码,它是使用 MIT 许可证发布的。

????️ Config Manager

Node module to push configuration and encrypted secrets to AWS.

Installation

# Via yarn
$ yarn add @adikari/config-manager

# Via npm
$ npm install @adikari/config-manager

Usage

  1. At the root of your application add configuration file called configs.yml.
service: my-service
provider: ssm

config:
  path: /${stage}/config
  defaults:
    DB_NAME: my-database
    DB_HOST: 3200
  required:
    DB_TABLE: "some database table name for ${stage}"

secret:
  path: /${stage}/secret
  required:
    DB_PASSWORD: "secret database password"
  1. Use config-manager CLI tool to push your keys to AWS parameter store.
$ config-manager run --stage <stage> --interactive

Config File

Following is the configuration file will all possible options:

service: my-service
provider: ssm                                 # Only supports ssm for now.

cfOutputs:                                    # Outputs from cloudformation stacks that needs to be pushed to ssm.
  - some-cloudformation-stack

config:
  path: /${stage}/config                      # Base path for params to be added to
  defaults:                                   # Default parameters. Can be overwritten in different environments.
    DB_NAME: my-database
    DB_HOST: 3200
  production:                                 # If keys are deployed to production stage, its value will be overwritten by following
    DB_NAME: my-production-database
  required:                                   # Keys mentioned below will be prompted to be entered.
    DB_TABLE: "some database table name for ${stage}"

secret:
  keyId: some-arn-of-kms-key-to-use .         # If not specified, default key will be used to encrypt variables.
  path: /${stage}/secret                      # Base path for params to be added to
  required:
    DB_PASSWORD: "secret database password" . # Parameter to encrypt and add to. Will be encrypted using KMS.
                                              # Above key will be added to /${stage}/secret/DB_PASSWORD
                                              # Value in quote will be displayed as explanation in prompt during interactive run.

CLI

Following is the usage of config-manager CLI.

Usage: config-manager [options] [command]

Options:
  -V, --version          output the version number
  -s, --stage [stage]    Specify stage to run on. (required)
  -c, --config [config]  Path to configuration (default: "configs.yml")
  -h, --help             output usage information

Commands:
  run [options]          Verify or populate all remote configurations and secrets.
  init                   Initialize config manager. Only required to run once.
  list                   List all remote configurations and secrets.

License

Feel free to use the code, it's released using the MIT license.

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文