All Projects → labd → mach-composer

labd / mach-composer

Licence: MIT license
MACH composer is an orchestration tool for modern MACH ecosystems, powered by Terraform infrastructure-as-code underneath.

Programming Languages

go
31211 projects - #10 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to mach-composer

Pdf Bot
🤖 A Node queue API for generating PDFs using headless Chrome. Comes with a CLI, S3 storage and webhooks for notifying subscribers about generated PDFs
Stars: ✭ 2,551 (+7188.57%)
Mutual labels:  headless
chrome-headless-launcher
Run the latest Chrome browser on CLI without head
Stars: ✭ 39 (+11.43%)
Mutual labels:  headless
wagtail-headless-preview
Previews for headless Wagtail setups
Stars: ✭ 99 (+182.86%)
Mutual labels:  headless
Unite Cms
Really flexible headless CMS, built on top of Symfony and GraphQL.
Stars: ✭ 242 (+591.43%)
Mutual labels:  headless
Taiko
A node.js library for testing modern web applications
Stars: ✭ 2,964 (+8368.57%)
Mutual labels:  headless
capybara-chrome
Chrome driver for Capybara using Chrome's remote debugging protocol
Stars: ✭ 27 (-22.86%)
Mutual labels:  headless
Sanity
The Sanity Studio – Collaborate in real-time on structured content
Stars: ✭ 3,007 (+8491.43%)
Mutual labels:  headless
react-demos
Demonstrates how to content manage React apps with Magnolia CMS
Stars: ✭ 20 (-42.86%)
Mutual labels:  headless
Sourcebit
Sourcebit helps developers build data-driven JAMstack sites by pulling data from any third-party resource
Stars: ✭ 252 (+620%)
Mutual labels:  headless
puppeteer-lambda
Module for using Headless-Chrome by Puppeteer on AWS Lambda.
Stars: ✭ 117 (+234.29%)
Mutual labels:  headless
Core
🧿 Bolt 4 core
Stars: ✭ 243 (+594.29%)
Mutual labels:  headless
Serverless Puppeteer Layers
Serverless Framework + AWS Lambda Layers + Puppeteer = ❤️
Stars: ✭ 247 (+605.71%)
Mutual labels:  headless
FlexDotnetCMS
A powerful, flexible, decoupled and easy to use and Fully Featured ASP .NET CMS, it can also be used as a Headless CMS
Stars: ✭ 45 (+28.57%)
Mutual labels:  headless
Ppspider
web spider built by puppeteer, support task-queue and task-scheduling by decorators,support nedb / mongodb, support data visualization; 基于puppeteer的web爬虫框架,提供灵活的任务队列管理调度方案,提供便捷的数据保存方案(nedb/mongodb),提供数据可视化和用户交互的实现方案
Stars: ✭ 237 (+577.14%)
Mutual labels:  headless
CockpitCMS-React-Static
Example implementation using a combination of Cockpit Headless CMS and React Static
Stars: ✭ 24 (-31.43%)
Mutual labels:  headless
Tensei
🚀 Content management and distribution with a touch of elegance.
Stars: ✭ 217 (+520%)
Mutual labels:  headless
macaca-puppeteer
Macaca puppeteer driver
Stars: ✭ 39 (+11.43%)
Mutual labels:  headless
NineChronicles.Headless
A headless node of NineChronicles game network, powered by Libplanet.
Stars: ✭ 31 (-11.43%)
Mutual labels:  headless
headless-docs
WP Engine Headless Documentation for Developers
Stars: ✭ 34 (-2.86%)
Mutual labels:  headless
CrawlerSamples
This is a Puppeteer+AngleSharp crawler console app samples, used C# 7.1 coding and dotnet core build.
Stars: ✭ 36 (+2.86%)
Mutual labels:  headless

MACH composer

Documentation: docs.machcomposer.io

MACH composer is a framework that you use to orchestrate and extend modern digital commerce & experience platforms, based on MACH technologies and cloud native services. It provides a standards-based, future-proof tool-set and methodology to hand to your teams when building these types of platforms.

It includes:

  • A configuration framework for managing MACH-services configuration, using infrastructure-as-code underneath (powered by Terraform)
  • A microservices architecture based on modern serverless technology (AWS Lambda and Azure Functions), including (alpha) support for building your microservices with the Serverless Framework
  • Multi-tenancy support for managing many instances of your platform, that share the same library of micro services
  • CI/CD tools for automating the delivery of your MACH ecosystem
  • Tight integration with AWS an Azure, including an (opinionated) setup of these cloud environments

The framework is intended as the 'center piece' of your MACH architecture and incorporates industry best practises such as the 12 Factor Methodology, Infrastrucure-as-code, DevOps, immutable deployments, FAAS, etc.

With combining (and requiring) these practises, using the framework has significant impact on your engineering methodology and organisation. On the other hand, by combining those practises we believe it offers an accelerated 'way in' in terms of embracing modern engineering practises in your organisation.

Installation

MacOS

brew tap labd/mach-composer
brew install mach-composer

Windows

choco install mach-composer --version=2.5.0

Getting started

Read our getting started guide on how to deploy your MACH stack with MACH composer.

Example yaml file

---
mach_composer:
  version: 1
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://[email protected]/your-project/components/payment-component.git//terraform
    endpoints:
      main: public
    version: e638e57

Running MACH

To generate the files:

mach-composer generate # generates config for main.yml
mach-composer generate -f other-file.yml

To plan Terraform:

mach-composer plan

To apply Terraform config:

mach-composer apply

Optionally you can run a terraform init without taking any action:

mach-composer terraform init

Checking for updates

MACH can check your components for available updates.

To do this, run:

mach-composer update -f main.yml
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].