跳转到主要内容

MACH composer

项目描述

文档: docs.machcomposer.io

MACH composer是一个框架,您可以使用它来编排和扩展基于MACH技术和云原生服务的现代数字商务和体验平台。它提供了一套基于标准的、面向未来的工具和方法,供您的团队在构建此类平台时使用。

它包括

  • 用于管理MACH服务配置的配置框架,底层使用基础设施即代码(由Terraform提供支持)
  • 基于现代无服务器技术的微服务架构(包括对使用Serverless Framework构建微服务的(alpha)支持),包括AWS Lambda和Azure Functions
  • 多租户支持,用于管理多个平台实例,这些实例共享相同的微服务库
  • CI/CD工具,用于自动化MACH生态系统的交付
  • 与AWS和Azure的紧密集成,包括对这些云环境的(有观点的)设置

该框架旨在成为MACH架构的“中心部件”,并融合了行业最佳实践,如12因素方法、基础设施即代码、DevOps、不可变部署、FAAS等。

通过结合(和强制)这些实践,使用该框架对您的工程方法论和组织具有重大影响。另一方面,通过结合这些实践,我们相信它为您组织接受现代工程实践提供了一种加速的“入门”方式。

入门

阅读我们的入门指南,了解如何使用MACH composer部署您的MACH堆栈。

示例yaml文件

---
mach_composer:
  version: '1.2'
global:
  environment: test
  cloud: aws
  terraform_config:
    aws_remote_state:
      bucket: mach-tfstate-tst
      key_prefix: mach-composer-tst
      region: eu-central-1
sites:
  - identifier: my-site
    aws:
      account_id: 1234567890
      region: eu-central-1
    endpoints:
      public: api.tst.mach-example.net
    commercetools:
      project_key: my-site-tst
      client_id: ...
      client_secret: ...
      scopes: manage_project:my-site-tst manage_api_clients:my-site-tst view_api_clients:my-site-tst
      token_url: https://auth.europe-west1.gcp.commercetools.com
      api_url: https://api.europe-west1.gcp.commercetools.com
      project_settings:
        languages:
          - en-GB
          - nl-NL
        currencies:
          - GBP
          - EUR
        countries:
          - GB
          - NL
    components:
      - name: payment
        variables:
          STRIPE_ACCOUNT_ID: 0123456789
        secrets:
          STRIPE_SECRET_KEY: secret-value
components:
  - name: payment
    source: git::ssh://git@github.com/your-project/components/payment-component.git//terraform
    endpoints:
      main: public
    version: e638e57

安装

  • 确保您已安装 Terraform 0.14(提示:使用 tfenv 支持多个 Terraform 版本)
  • 使用 Python 3.8 创建一个新的虚拟环境
  • 运行以下命令
$ make install

运行 MACH

生成文件

mach generate # 生成所有可用的配置。

mach generate -f main.yml

初始化 Terraform(可选)

mach init

规划 Terraform

mach plan

应用 Terraform 配置

mach apply

检查更新

MACH 可以检查您的组件是否有可用更新。

要这样做,请运行

mach update -f main.yml

贡献

代码风格

Python 源代码应使用 black 格式化,JavaScript 代码应使用 prettier 格式化。您可以使用 make format 运行 black 和 prettier。

此项目使用 pre-commit 在提交前验证更改的文件。您可以使用 brew 在 MacOS 上安装它

$ brew install pre-commit

在仓库中,您需要第一次使用以下命令注册 git 的钩子

$ pre-commit install

pre-commit 配置(.pre-commit-config.yaml)当前运行 black 和 flake8。

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

mach-composer-1.2.4.tar.gz (38.9 kB 查看哈希值)

上传时间

构建分发

mach_composer-1.2.4-py3-none-any.whl (52.0 kB 查看哈希值)

上传时间 Python 3

由以下支持