Skip to main content

Proof of value (POV) prerequisites

Before starting a Moderne DX proof of value, your team will need to:

  • Set up source control access
  • Prepare a repository list

This page covers everything you need to do so nothing is missed on day one.

Checklist

#RequirementDetails
1SCM service account with read access to all in-scope repositoriesUsed by the CLI and mass ingest to clone and build repositories
2SCM OAuth application (GitHub App, GitLab OAuth, etc.)Allows users to commit changes through the Moderne CLI
3Repository list (repos.csv)Generated with our repository fetcher scripts

Source control access

You will need a source control management (SCM) service account with read access to all in-scope repositories. This is used by the Moderne CLI and mass ingest to clone repositories and build LSTs. Credentials are mounted at runtime and never baked into images. The mass ingest source control credentials documentation has setup details.

Preparing your repository list

You will need a repos.csv file that lists the repositories to work with. The more repositories you include, the more value you will see from the POV — Moderne's strength is working across repositories at scale.

The easiest way to generate this file is with our repository fetcher scripts, which are available for GitHub, GitLab, Bitbucket (Data Center and Cloud), and Azure DevOps. These scripts query your SCM's API and produce a ready-to-use repos.csv file.

Mass ingest

While mass ingest is typically set up after the initial POV rather than during it, you may want to plan for it early. Mass ingest builds all of your repositories and creates the LST artifacts that recipes run against. It runs as a container. You can host that container on a VM or in a Kubernetes cluster.

ResourceMinimumRecommended
CPU2 cores4 cores
Memory16 GB16 GB
Disk10 GB freeSized to your largest repository (the example Kubernetes Job requests 150 GB)

The minimums are what mod doctor checks before you start. The check fails on fewer than 2 CPUs and warns when memory or free disk is below the other two. The recommended figures are the size of the machine that the example Kubernetes Job runs each shard on.

Only one repository is stored on disk at a time. This is because each container builds one repository at a time and then deletes it once its LST is published.

To finish a large repository list sooner, you can run several containers in parallel. You will need to choose the number of shards you want - the CLI will then assign the repositories to them automatically.

The mass ingest guide covers sizing and sharding. The mass ingest example repository has a Docker script and a Kubernetes Job that run the shards for you.

If you have a standard base image that includes your existing certificates or other configuration, we can build on top of that. If you don't, we'll build from standard open-source base images and configure it with any certificates, credentials, and build tool settings during the engagement.

What Moderne provides

During the POV process, Moderne will provide:

  • A Moderne CLI license for running recipes across your repositories
  • Technical support throughout the setup and evaluation process

Next steps

Once these prerequisites are in place, proceed to the proof of value process to start running recipes against your code.