liveBook · Manning

Meta-repository

As explained in Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform

A meta-repository is an aggregate repository that coordinates content from multiple separate code repositories as a cohesive whole.

A meta-repository aggregates separate code repositories into a cohesive virtual repository. It restores much of a monorepo’s convenience while preserving independent repositories and deployment schedules. section 12.2.4

Build a meta-repository around a collection of microservices:

  • Install the meta tool and create a .meta configuration file. section 12.2.4
  • List each repository under the file’s projects collection, mapping service names to repository URLs. section 12.2.4
  • Run one meta command to perform Git operations across the entire collection, such as meta git pull. section 12.2.4
  • Create focused meta-repositories for the services a developer normally changes, or for complete application configurations with Docker Compose files. section 12.2.4

A FlixTube service collection

A .meta file can group gateway, azure-storage, video-streaming, video-upload, history, and metadata repositories. Cloning the aggregate gives a developer a convenient working set while each service remains independently stored and deployable. section 12.2.4

Figure 12.6 The .meta configuration file ties together separate repositories into a meta-repo.

The configuration diagram shows how one .meta file ties separate service repositories into a single aggregate. section 12.2.4

Meta-repositories fit a scaling path in which microservices occupy separate repositories and use independent continuous-delivery pipelines. Branch-based workflows can deploy test and production branches to separate environments. section 12.11

How Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform covers it

How deep it goes
Defines the aggregate pattern, specifies .meta configuration, demonstrates a pull command, and describes custom service groupings.
Examples
Uses a FlixTube .meta file containing gateway, storage, streaming, upload, history, and metadata repositories.
What it assumes
Assumes separate microservice repositories and teaches how to regroup them without returning to a monorepo.
What you can do after
Operate multiple repositories together through the meta tool while retaining independent service repositories and deployments.
How it connects
Connects microservices, monorepos, Git, Docker Compose, continuous delivery, and deployment environments.

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Bootstrapping Microservices, Second Edition: With Docker, Kubernetes, GitHub Actions, and Terraform. The section links point to the parts of the book it draws on.