From 540103b2439ca6674cd634dd33f4a0b3caa313e9 Mon Sep 17 00:00:00 2001 From: Joey Hafner Date: Thu, 18 Jul 2024 19:11:08 -0700 Subject: [PATCH] New article for Jafner.dev: monorepo --- .github/workflows/Jafner.dev_hugo.yaml | 4 +- .gitmodules | 3 + Monorepo TODO.md | 94 +-- homelab/paladin/image-1.png | Bin 0 -> 31322 bytes homelab/paladin/image.png | Bin 0 -> 70595 bytes sites/Jafner.dev/config.toml | 2 +- .../content/homelab/monorepo/index.md | 542 +++++++++++++++++- .../homelab/monorepo/readme-example.png | Bin 0 -> 117531 bytes .../static/css/code-blocks-no-shadow.css | 5 + 9 files changed, 576 insertions(+), 74 deletions(-) create mode 100644 homelab/paladin/image-1.png create mode 100644 homelab/paladin/image.png create mode 100644 sites/Jafner.dev/content/homelab/monorepo/readme-example.png create mode 100644 sites/Jafner.dev/static/css/code-blocks-no-shadow.css diff --git a/.github/workflows/Jafner.dev_hugo.yaml b/.github/workflows/Jafner.dev_hugo.yaml index a00c316a..87f4657a 100644 --- a/.github/workflows/Jafner.dev_hugo.yaml +++ b/.github/workflows/Jafner.dev_hugo.yaml @@ -3,7 +3,7 @@ on: push: branches: [ main ] paths: - - '**/Jafner.dev/**' + - 'sites/Jafner.dev/**' workflow_dispatch: permissions: @@ -24,7 +24,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: "active projects/Jafner.dev" + working-directory: "sites/Jafner.dev" env: HUGO_VERSION: 0.121.2 steps: diff --git a/.gitmodules b/.gitmodules index e69de29b..a9feb91a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "sites/Jafner.dev/themes/hello-friend-ng"] + path = sites/Jafner.dev/themes/hello-friend-ng + url = https://github.com/rhazdon/hugo-theme-hello-friend-ng.git diff --git a/Monorepo TODO.md b/Monorepo TODO.md index bad3727e..92bf84ad 100644 --- a/Monorepo TODO.md +++ b/Monorepo TODO.md @@ -68,30 +68,24 @@ That's obviously a lot of steps to handle each repo manually, so let's script it #!/bin/bash { - echo "# 1. Quick reset: started" + echo "# 0. Quick reset: started" rm -rf $HOME/Git/Jafner.net rm -rf $HOME/Git/monorepo-temp rm -rf /tmp/gitleaks cd $HOME/Git - echo "# 1. Quick reset: completed" + echo "# 0. Quick reset: completed" } { - echo "# 2. Configure paths: started" - echo " # 2.1 Configure local path for Git repos. Should not contain any of the git directories involved, as all will be cloned fresh. Consider using a temporary project directory." + echo "# 1. Configure paths and variables: started" + echo " # Configure local paths for Git repos. Should not contain any of the git directories involved, as all will be cloned fresh. Consider using a temporary project directory." MONOREPO_DIR=$HOME/Git/Jafner.net TEMP_CLONE_DIR=$HOME/Git/monorepo-temp mkdir -p "$TEMP_CLONE_DIR" mkdir -p "$MONOREPO_DIR" - cd $TEMP_CLONE_DIR - echo "# 2. Configure paths: completed" -} - -{ - echo "# 3. List repositories: started" - echo " # 3.1 First repository in list is parent monorepo." - echo " # 3.2 Note: While we don't need write access to any of the constituent repositories, we do need authenticated access for any private repositories. Use ssh URLs when possible." - echo " # 3.3 Note: The URL of the monorepo repository does not need to exist already. This is asserted idempotently." + echo " # Configure array of repositories to compose into monorepo." + echo " # Note: First repository in list is parent monorepo." + echo " # Note: While we don't need write access to any of the constituent repositories, we do need authenticated access for any private repositories. Use ssh URLs when possible." REPOSITORIES=( "Jafner.net ssh://git@gitea.jafner.tools:2225/Jafner/Jafner.net.git" "homelab ssh://git@gitea.jafner.tools:2225/Jafner/homelab.git" @@ -112,28 +106,48 @@ That's obviously a lot of steps to handle each repo manually, so let's script it "razer-bat git@github.com:Jafner/Razer-BatteryLevelRGB.git" "5etools-docker git@github.com:Jafner/5etools-docker.git" "jafner-homebrew git@github.com:Jafner/jafner-homebrew.git" - ) - cd $TEMP_CLONE_DIR - echo "# 3. List repositories: completed" + ) + cd $TEMP_CLONE_DIR + echo "# 1. Configure paths and variables: completed" } { - echo "# 4. Assert dependencies are installed: started" - echo " # git-filter-repo" - FILTER_REPO_OUTPUT=$(git filter-repo -h) + echo "# 2. Assert dependencies are installed: started" + echo -n " # gitleaks: " + gitleaks version > /dev/null 2>&1 + GITLEAKS_MISSING=$? + if [[ $GITLEAKS_MISSING != "0" ]]; then + echo "missing" + echo " # Attempting to install from https://github.com/gitleaks/gitleaks" + echo " # Installing at ~/.local/bin/gitleaks" + echo " # Note: Building gitleaks will fail if go is not installed." + mkdir -p ~/.local/bin + git clone https://github.com/gitleaks/gitleaks.git /tmp/gitleaks-git + cd /tmp/gitleaks-git + make build + cp gitleaks ~/.local/bin/gitleaks + else + echo "found at $(which gitleaks)" + fi + echo -n " # git-filter-repo: " + git filter-repo -h > /dev/null 2>&1 FILTER_REPO_MISSING=$? - if [[ $FILTER_REPO_MISSING == "1" ]]; then + if [[ $FILTER_REPO_MISSING != "0" ]]; then + echo "missing" echo " # git-filter repo not installed. Attempting to install from https://github.com/newren/git-filter-repo" + echo " # Installing at ~/.local/bin/git-filter-repo" + mkdir -p ~/.local/bin/git-filter-repo curl -o ~/.local/bin/git-filter-repo https://raw.githubusercontent.com/newren/git-filter-repo/main/git-filter-repo chmod +x ~/.local/bin/git-filter-repo else - echo " # git-filter repo found" + echo "found at $(which git-filter-repo)" fi - echo " # BFG Repo-Cleaner" - BFG_OUTPUT=$(bfg --version) + echo -n " # BFG Repo-Cleaner: " + bfg --version > /dev/null 2>&1 BFG_MISSING=$? - if [[ $BFG_MISSING == "1" ]]; then - echo " # BGF Repo-Cleaner not installed. Automated installation not yet implemented." + if [[ $BFG_MISSING != "0" ]]; then + echo "missing" + echo " # Automated installation not yet implemented." echo " # Install BFG Repo-Cleaner by downloading the latest jar from:" echo " # https://rtyley.github.io/bfg-repo-cleaner/ " echo " # Then run:" @@ -141,15 +155,13 @@ That's obviously a lot of steps to handle each repo manually, so let's script it echo " # Exiting..." exit 1 else - echo -n " # BGF Repo-Cleaner found at:" - which bfg + echo "found at: $(which bfg)" fi - cd $TEMP_CLONE_DIR - echo "# 4. Assert dependencies are installed: completed" + echo "# 2. Assert dependencies are installed: completed" } { - echo "# 5. Clone all constituent repositories, assert default branch is main: started" + echo "# 3. Clone all constituent repositories, assert default branch is main: started" cd "$TEMP_CLONE_DIR" for repo in "${REPOSITORIES[@]:1}"; do REPO_NAME=$(echo $repo | cut -d' ' -f1) @@ -163,11 +175,11 @@ That's obviously a lot of steps to handle each repo manually, so let's script it cd "$TEMP_CLONE_DIR" done cd $TEMP_CLONE_DIR - echo "# 5. Clone all constituent repositories, assert default branch is main: completed" + echo "# 3. Clone all constituent repositories, assert default branch is main: completed" } { - echo "# 6. Rewrite history (to subdirectory) for each constituent repository: started" + echo "# 4. Rewrite history (to subdirectory) for each constituent repository: started" for repo in $(echo "$TEMP_CLONE_DIR"/*); do REPO_NAME=$(basename $repo) cd "$repo" @@ -176,11 +188,11 @@ That's obviously a lot of steps to handle each repo manually, so let's script it cd "$TEMP_CLONE_DIR" done cd $TEMP_CLONE_DIR - echo "# 6. Rewrite history (to subdirectory) for each constituent repository: completed" + echo "# 4. Rewrite history (to subdirectory) for each constituent repository: completed" } { - echo "# 7. Scan each constituent repository for leaked secrets: started" + echo "# 5. Scan each constituent repository for leaked secrets: started" for repo in $(echo "$TEMP_CLONE_DIR"/*); do REPO_NAME=$(basename $repo) cd "$repo" @@ -190,11 +202,11 @@ That's obviously a lot of steps to handle each repo manually, so let's script it gitleaks detect -l warn --no-banner -r /tmp/gitleaks/$REPO_NAME/gitleaks-report.json && echo "No secrets detected" || COMPROMISED_REPOS+="$REPO_NAME\n" done cd $TEMP_CLONE_DIR - echo "# 7. Scan each constituent repository for leaked secrets: completed" + echo "# 5. Scan each constituent repository for leaked secrets: completed" } { - echo "# 8. Nuke secrets from git history: started" + echo "# 6. Nuke secrets from git history: started" for repo in $(echo "$TEMP_CLONE_DIR"/*); do cd $repo REPO_NAME=$(basename $repo) @@ -211,11 +223,11 @@ That's obviously a lot of steps to handle each repo manually, so let's script it rm /tmp/gitleaks/secret.txt done cd $TEMP_CLONE_DIR - echo "# 8. Nuke secrets from git history: completed" + echo "# 6. Nuke secrets from git history: completed" } { - echo "# 9. Verify repository histories are clean of secrets: started" + echo "# 7. Verify repository histories are clean of secrets: started" for repo in $(echo "$TEMP_CLONE_DIR"/*); do REPO_NAME=$(basename $repo) cd "$repo" @@ -225,11 +237,11 @@ That's obviously a lot of steps to handle each repo manually, so let's script it gitleaks detect -l warn --no-banner -r /tmp/gitleaks/$REPO_NAME/gitleaks-report.json && echo "No secrets detected" || echo " # Something didn't work right; clean $REPO_NAME manually" done cd $TEMP_CLONE_DIR - echo "# 9. Verify repository histories are clean of secrets: completed" + echo "# 7. Verify repository histories are clean of secrets: completed" } { - echo "# 10. Init monorepo and add constituent repos: started" + echo "# 8. Init monorepo and add constituent repos: started" cd "$MONOREPO_DIR" git init for repo in $(echo "$TEMP_CLONE_DIR"/*); do @@ -243,7 +255,7 @@ That's obviously a lot of steps to handle each repo manually, so let's script it echo " # Running one more gitleaks scan for sanity." gitleaks detect -v --no-banner cd $TEMP_CLONE_DIR - echo "# 10. Init monorepo and add constituent repos: completed" + echo "# 8. Init monorepo and add constituent repos: completed" } { diff --git a/homelab/paladin/image-1.png b/homelab/paladin/image-1.png new file mode 100644 index 0000000000000000000000000000000000000000..02682f06d89a7aa1ebc2b414b81de9370f2db6c4 GIT binary patch literal 31322 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 N23XNKygGNkB4~01*%+ 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 literal 0 HcmV?d00001 diff --git a/sites/Jafner.dev/config.toml b/sites/Jafner.dev/config.toml index e18f9c01..c34c51cb 100644 --- a/sites/Jafner.dev/config.toml +++ b/sites/Jafner.dev/config.toml @@ -55,7 +55,7 @@ disableHugoGeneratorInject = false enableThemeToggle = false enableSharingButtons = true enableGlobalLanguageMenu = false - customCSS = ["/css/toc-no-underline.css"] + customCSS = ["/css/toc-no-underline.css","/css/code-blocks-no-shadow.css"] customJS = [] justifyContent = false # Set "text-align: justify" to .post-content. [params.author] diff --git a/sites/Jafner.dev/content/homelab/monorepo/index.md b/sites/Jafner.dev/content/homelab/monorepo/index.md index 6a17a7f5..f5a38867 100644 --- a/sites/Jafner.dev/content/homelab/monorepo/index.md +++ b/sites/Jafner.dev/content/homelab/monorepo/index.md @@ -1,23 +1,45 @@ ---- ++++ title = 'Monorepo' description = " " date = 2024-07-17T10:23:25-07:00 aliases = [] author = "Joey Hafner" ogimage = '/img/Jafner.dev.logo.png' -slug = "draft" +slug = "monorepo" draft = true ---- ++++ -## How to consolidate disparate repos into a monorepo. +## How to: Pull all your Git repositories into one big monorepo + +*Table of contents* +{{% toc %}} ### What is a monorepo? -And why would I want it? +Take all your projects across GitHub, GitLab, Gitea, and local. Plop them into one big repo. That's it. +### Why would I want one? *An illustration of the issue* ![graphic design is my passion](monorepo.png) -### Grabbing all the pieces +That's more complicated. Especially for a non-traditional type of monorepo like mine. Wikipedia gives a pretty good summary on its [Monorepo](https://en.wikipedia.org/wiki/Monorepo) page, which I'll summarize briefly here: + +- You can re-use code more easily. +- You can centralize management of dependencies. +- You can synchronize work-in-progress across projects very easily. +- You can refactor code across the entire organization at once. + +A lot of those benefits are specific to collaborative environments where a monolithic shared version control system mitigates patterns of divergent work. But I'm just one guy writing mostly scripts and infrastructure-as-code. What do I get out of migrating to a monorepo? + +- *Visibility.* A centralized body of work lets me *see everything* at once without pulling 15 repos. +- *Centralized workflow.* I'm constantly finding ways to improve my workflow. If I add a `.pre-commit-config.yaml` file to stop myself from committing secrets, I won't accidentally forget when I work in another repo. +- *Integration of infrastructure and application.* Most of my work is piles of `docker-compose.yml` files and bash scripts. But every once in a while I actually make something worth running. By keeping applications and infrastructure in the same repo, I can dramatically simplify CI/CD workflows. + +## How to migrate to a monorepo +If you're reading this, you probably know what a monorepo is, and why you might want one. Let's get into the juice. + +I broke down the project into **four stages**: *collect, clean, combine, and commit*. Let's dig into what each of those mean. + +### Collect: Grabbing all the pieces The first step in this project for me was to make a list of all the repos I wanted to consolidate. This included public and private repos, and only repos containing my original work. **My list:** @@ -58,38 +80,498 @@ So, the first part is to **pull the repositories we want to consolidate**. And at this point we have all our repos together in one place. Next we need to prep each repo to be consolidated. But before that, here's the script for the steps described above in this +#### 1. Configure paths and variables ```bash -REPOSITORIES=( - "Jafner.net ssh://git@gitea.jafner.tools:2225/Jafner/Jafner.net.git" - "homelab ssh://git@gitea.jafner.tools:2225/Jafner/homelab.git" - "docker_config git@github.com:Jafner/docker_config.git" - "wiki git@github.com:Jafner/wiki.git" - "cloud_tools git@github.com:Jafner/cloud_tools.git" - "self-hosting git@github.com:Jafner/self-hosting.git" - "Jafner.dev git@github.com:Jafner/Jafner.dev.git" - "dotfiles_gitea ssh://git@gitea.jafner.tools:2225/Jafner/dotfiles.git" - "dotfiles_github git@github.com:Jafner/dotfiles.git" - "nvgm ssh://git@gitea.jafner.tools:2225/Jafner/nvgm.git" - "pamidi_gitea ssh://git@gitea.jafner.tools:2225/Jafner/pamidi.git" - "pamidi_github git@github.com:Jafner/pamidi.git" - "docker-llm-amd ssh://git@gitea.jafner.tools:2225/Jafner/docker-llm-amd.git" - "doradash ssh://git@gitea.jafner.tools:2225/Jafner/doradash.git" - "clip-it-and-ship-it git@github.com:Jafner/clip-it-and-ship-it.git" - "PyClipIt ssh://git@gitea.jafner.tools:2225/Jafner/PyClipIt.git" - "razer-bat git@github.com:Jafner/Razer-BatteryLevelRGB.git" - "5etools-docker git@github.com:Jafner/5etools-docker.git" - "jafner-homebrew git@github.com:Jafner/jafner-homebrew.git" -) +{ + echo "# 1. Configure paths and variables: started" + echo " # Configure local paths for Git repos. Should not contain any of the git directories involved, as all will be cloned fresh. Consider using a temporary project directory." + MONOREPO_DIR=$HOME/Git/Jafner.net + TEMP_CLONE_DIR=$HOME/Git/monorepo-temp + mkdir -p "$TEMP_CLONE_DIR" + mkdir -p "$MONOREPO_DIR" + echo " # Configure array of repositories to compose into monorepo." + echo " # Note: First repository in list is parent monorepo." + echo " # Note: While we don't need write access to any of the constituent repositories, we do need authenticated access for any private repositories. Use ssh URLs when possible." + REPOSITORIES=( + "Jafner.net ssh://git@gitea.jafner.tools:2225/Jafner/Jafner.net.git" + "homelab ssh://git@gitea.jafner.tools:2225/Jafner/homelab.git" + "docker_config git@github.com:Jafner/docker_config.git" + "wiki git@github.com:Jafner/wiki.git" + "cloud_tools git@github.com:Jafner/cloud_tools.git" + "self-hosting git@github.com:Jafner/self-hosting.git" + "Jafner.dev git@github.com:Jafner/Jafner.dev.git" + "dotfiles_gitea ssh://git@gitea.jafner.tools:2225/Jafner/dotfiles.git" + "dotfiles_github git@github.com:Jafner/dotfiles.git" + "nvgm ssh://git@gitea.jafner.tools:2225/Jafner/nvgm.git" + "pamidi_gitea ssh://git@gitea.jafner.tools:2225/Jafner/pamidi.git" + "pamidi_github git@github.com:Jafner/pamidi.git" + "docker-llm-amd ssh://git@gitea.jafner.tools:2225/Jafner/docker-llm-amd.git" + "doradash ssh://git@gitea.jafner.tools:2225/Jafner/doradash.git" + "clip-it-and-ship-it git@github.com:Jafner/clip-it-and-ship-it.git" + "PyClipIt ssh://git@gitea.jafner.tools:2225/Jafner/PyClipIt.git" + "razer-bat git@github.com:Jafner/Razer-BatteryLevelRGB.git" + "5etools-docker git@github.com:Jafner/5etools-docker.git" + "jafner-homebrew git@github.com:Jafner/jafner-homebrew.git" + ) + cd $TEMP_CLONE_DIR + echo "# 1. Configure paths and variables: completed" +} ``` -### Scrubbing clean +#### 2. Assert dependencies are installed +```bash +{ + echo "# 2. Assert dependencies are installed: started" + echo -n " # gitleaks: " + gitleaks version > /dev/null 2>&1 + GITLEAKS_MISSING=$? + if [[ $GITLEAKS_MISSING != "0" ]]; then + echo "missing" + echo " # Attempting to install from https://github.com/gitleaks/gitleaks" + echo " # Installing at ~/.local/bin/gitleaks" + echo " # Note: Building gitleaks will fail if go is not installed." + mkdir -p ~/.local/bin + git clone https://github.com/gitleaks/gitleaks.git /tmp/gitleaks-git + cd /tmp/gitleaks-git + make build + cp gitleaks ~/.local/bin/gitleaks + else + echo "found at $(which gitleaks)" + fi + echo -n " # git-filter-repo: " + git filter-repo -h > /dev/null 2>&1 + FILTER_REPO_MISSING=$? + if [[ $FILTER_REPO_MISSING != "0" ]]; then + echo "missing" + echo " # git-filter repo not installed. Attempting to install from https://github.com/newren/git-filter-repo" + echo " # Installing at ~/.local/bin/git-filter-repo" + mkdir -p ~/.local/bin/git-filter-repo + curl -o ~/.local/bin/git-filter-repo https://raw.githubusercontent.com/newren/git-filter-repo/main/git-filter-repo + chmod +x ~/.local/bin/git-filter-repo + else + echo "found at $(which git-filter-repo)" + fi + echo -n " # BFG Repo-Cleaner: " + bfg --version > /dev/null 2>&1 + BFG_MISSING=$? + if [[ $BFG_MISSING != "0" ]]; then + echo "missing" + echo " # Automated installation not yet implemented." + echo " # Install BFG Repo-Cleaner by downloading the latest jar from:" + echo " # https://rtyley.github.io/bfg-repo-cleaner/ " + echo " # Then run:" + echo ' # sudo cp ~/Downloads/bfg.jar /usr/bin/bfg.jar && echo "java -jar /usr/bin/bfg.jar $@" | sudo tee /usr/bin/bfg && sudo chmod +x /usr/bin/bfg' + echo " # Exiting..." + exit 1 + else + echo "found at: $(which bfg)" + fi + echo "# 2. Assert dependencies are installed: completed" +} +``` -### Reorganization and pruning +#### 3. Clone all constituent repositories, assert default branch is main +```bash +{ + echo "# 3. Clone all constituent repositories, assert default branch is main: started" + cd "$TEMP_CLONE_DIR" + for repo in "${REPOSITORIES[@]:1}"; do + REPO_NAME=$(echo $repo | cut -d' ' -f1) + echo " # Cloning repo $REPO_NAME" + git clone --quiet $(echo "$repo" | cut -d' ' -f2) "$REPO_NAME" > /dev/null + cd "$REPO_NAME" + DEFAULT_BRANCH=$(cat .git/HEAD | cut -d' ' -f2 | xargs basename) + if ! [[ $DEFAULT_BRANCH == "main" ]]; then + git branch -m $DEFAULT_BRANCH main + fi + cd "$TEMP_CLONE_DIR" + done + cd $TEMP_CLONE_DIR + echo "# 3. Clone all constituent repositories, assert default branch is main: completed" +} +``` -### Rebuilding automations +### Clean: Scrubbing secrets from our repos and making them play nice with each other +The next stage of the process is to prepare each of our repos to be integrated into our monorepo. I took 4 steps to process my repos: + +4. Rewrite each repo into a self-named subdirectory of itself. + - We do this so that our files don't collide when we merge everything into the monorepo. + - We use `git filter-repo --to-subdirectory-filter` to rewrite the entire history of the repo. + - This looks like moving all of the contents of `~/Git/homelab` to `~/Git/homelab/homelab`. + - The root of the repo doesn't move, so we still have `.git` at `~/Git/homelab/.git`. + - If you wanted to handle this process manually, you could reorganize your repos during this step. For example, rewriting `~/Git/pamidi` to `~/Git/pamidi/projects/pamidi`. +5. Scan each repo's files *and history* for exposed secrets. + - We use gitleaks to scrub through the full history of each repo and create a report of all findings. + - We place the report into a subdirectory of `/tmp`, which helps mitigate the risk of accidentally keeping a list of every API key and password you've ever accidentally leaked sitting somewhere on your system. + - You may want to add custom rules to help gitleaks find secrets matching an usual pattern. Check the [configuration documentation](https://github.com/gitleaks/gitleaks?tab=readme-ov-file#configuration) for details on how to write your own detection rules. + - You may want to explicitly permit some secrets to remain in a repo, such as example API keys or passwords in documentation. See [gitleaks' documentation](https://github.com/gitleaks/gitleaks?tab=readme-ov-file#additional-configuration) for guidance on how to handle that situation. Just make sure to re-run this step with the new rules before proceeding to the next step. +6. Nuke secrets from git histories. + - We generate a text file containing all the secrets listed in our gitleaks report. + - We use BFG Repo-Cleaner's `--replace-text` flag to find and replace all historic and present instances of each secret. + - **Warning:** this process is not perfect. Any *multi-line secrets* in the gitleaks report will be passed into BFG *one line at a time*. So if you have a multi-line secret with a *line which matches non-secrets*, BFG will nuke all matches. + - After we're done with the secrets file, we overwrite its contents with random characters before deleting it. +7. Verify repository histories are clean. + - We use gitleaks to scrub through the full history of each repo *again*. This time we only print information to the console and don't store a report file. + - If any repos still contain secrets, we need to address that manually. + +And after that, we've got our repos prepared to consolidate. The next steps are mostly manual and to-taste, rather than prescribed. Before that, here's the script for each of the steps above: + +#### 4. Rewrite history to subdirectory for each constituent repository. +```bash +{ + echo "# 4. Rewrite history (to subdirectory) for each constituent repository: started" + for repo in $(echo "$TEMP_CLONE_DIR"/*); do + REPO_NAME=$(basename $repo) + cd "$repo" + echo " # Rewriting repo $REPO_NAME" + git filter-repo --quiet --to-subdirectory-filter "$REPO_NAME" --force > /dev/null + cd "$TEMP_CLONE_DIR" + done + cd $TEMP_CLONE_DIR + echo "# 4. Rewrite history (to subdirectory) for each constituent repository: completed" +} +``` + +#### 5. Scan each constituent repository for leaked secrets +```bash +{ + echo "# 5. Scan each constituent repository for leaked secrets: started" + for repo in $(echo "$TEMP_CLONE_DIR"/*); do + REPO_NAME=$(basename $repo) + cd "$repo" + mkdir -p /tmp/gitleaks/$REPO_NAME/ + echo -n " # Scanning repo $REPO_NAME " + rm -f /tmp/gitleaks/$REPO_NAME/gitleaks-report.json + gitleaks detect -l warn --no-banner -r /tmp/gitleaks/$REPO_NAME/gitleaks-report.json && echo "No secrets detected" || COMPROMISED_REPOS+="$REPO_NAME\n" + done + cd $TEMP_CLONE_DIR + echo "# 5. Scan each constituent repository for leaked secrets: completed" +} +``` + +#### 6. Nuke secrets from git history +```bash +{ + echo "# 6. Nuke secrets from git history: started" + for repo in $(echo "$TEMP_CLONE_DIR"/*); do + cd $repo + REPO_NAME=$(basename $repo) + report=/tmp/gitleaks/$REPO_NAME/gitleaks-report.json + if ! [[ $(cat $report | jq length) > 0 ]]; then + echo " # No exposed secrets in repo $REPO_NAME; Skipping." + continue + fi + echo " # Nuking secrets in repo $REPO_NAME" + cat $report | jq -r '.[].Secret' > /tmp/gitleaks/secret.txt + bfg --replace-text /tmp/gitleaks/secret.txt --no-blob-protection . + git reflog expire --expire=now --all && git gc --prune=now --aggressive + cat /dev/urandom | tr -dc A-Za-z0-9 | head -c1000 > /tmp/gitleaks/secret.txt + rm /tmp/gitleaks/secret.txt + done + cd $TEMP_CLONE_DIR + echo "# 6. Nuke secrets from git history: completed" +} +``` + +#### 7. Verify repository histories are clean of secrets +```bash +{ + echo "# 7. Verify repository histories are clean of secrets: started" + for repo in $(echo "$TEMP_CLONE_DIR"/*); do + REPO_NAME=$(basename $repo) + cd "$repo" + mkdir -p /tmp/gitleaks/$REPO_NAME/ + echo -n " # Scanning repo $REPO_NAME " + rm -f /tmp/gitleaks/$REPO_NAME/gitleaks-report.json + gitleaks detect -l warn --no-banner -r /tmp/gitleaks/$REPO_NAME/gitleaks-report.json && echo "No secrets detected" || echo " # Something didn't work right; clean $REPO_NAME manually" + done + cd $TEMP_CLONE_DIR + echo "# 7. Verify repository histories are clean of secrets: completed" +} +``` + +### Combine: Assemble the pieces and glue it together +Our third stage is the last one we can handle programmatically. Just initialize the new monorepo. + +1. Initialize the new monorepo and add constituent repos. + - It's *almost* as simple as `cp -r old-repo new-repo/old-repo`, but not quite. + - First we run a good old-fashioned `git init`. Quick reminder to run whatever `git config --global` commands you need to ensure it initializes properly for your system. + - Next we glomb each of our constituent repos onto the new one in four steps: + - Add the local path to the repo as a remote. + - Fetch the remote with tags. + - Merge the changes on the `main` branch. + - Then remove the remote. + - After all that I ran one last gitleaks scan for good measure. This is entirely superstition. + +#### 8. Initialize the monorepo and add constituent repos +```bash +{ + echo "# 8. Init monorepo and add constituent repos: started" + cd "$MONOREPO_DIR" + git init + for repo in $(echo "$TEMP_CLONE_DIR"/*); do + REPO_NAME=$(basename $repo) + echo "Adding $REPO_NAME" + git remote add "$REPO_NAME" "$repo" + git fetch "$REPO_NAME" --tags + git merge --quiet --allow-unrelated-histories -m "Merge $REPO_NAME into $(basename $MONOREPO_DIR)" "$REPO_NAME/main" + git remote remove "$REPO_NAME" + done + echo " # Running one more gitleaks scan for sanity." + gitleaks detect -v --no-banner + cd $TEMP_CLONE_DIR + echo "# 8. Init monorepo and add constituent repos: completed" +} +``` + +### Commit: Reorganizing and publishing the monorepo +The last stage is to tie everything up nicely and push to the upstream. + +9. Reorganize the repo to taste. + - In my case, that meant creating the `archive`, `dotfiles`, `homelab`, `projects`, and `sites` root-level subdirectories, and sorting my other repos into those. +10. Update repo-root configuration files. + - Files like `.gitignore`, `.gitattributes`, `.gitmodules`, *do still work in subdirectories*. But I prefer to consolidate these into one root-level file. + - Similar stuff like `.dockerignore`, `.pre-commit-config.yaml`, and whatever your project has should be considered. + - `.github/workflows`, `.gitea/workflows`, and `.gitlab-ci.yml` all need to be at the repo root in order to work, which will necessitate some refactoring of those jobs. +11. Write a new `README.md` for the newly-created monorepo root. In my case, I chose to populate it with a Map of Contents for the repo. It looks like this: + +![example readme for jafner.net monorepo|400](readme-example.png) + +12. Create and add the remote origin server, and push! + - In my case, I created the repo as private because I wasn't ready to publish it for the entire internet to scan. Once I created my private Gitea repo, I ran: + - `git remote add origin ssh://git@gitea.jafner.tools:2225/Jafner/Jafner.net.git` + - `git push --set-upstream origin main --force` + +And that's it. Well, except for all the stuff that still needs to be done! + +## Closing thoughts and next steps +At this point we probably still have some work to do before our repo is at function parity with our distributed, self-contained repos. For my repo, these are the last steps before we can mark this migration project as resolved: + +- Reconfigure CI/CD pipelines to work properly with subdirectories. +- Migrate relevant issues from old repos to new repo. I have no idea how to do this, especially when repos are split across multiple platforms. +- Comb through all the cobwebbed projects we've just consolidated and archive or delete as appropriate. +- Read through [korfuri/awesome-monorepo](https://github.com/korfuri/awesome-monorepo), which is a dope page I *really* wish I'd seen before I undertook this project. + +Go forth and consolidate! ## The Script In the interest of ensuring my process was maximally reproducible (so I could wipe and restart every time I made a mistake), I wrote this script. Steps 1, 2, and 3 are hard-coded with parameters specific to the directories and repos I'm working with. After that, everything *should be* agnostic of directories and repos. +Additionally, I wrote it such that the entire thing could be copied in chunks or in full and pasted into a terminal (zero-indent curly brackets `{}` indicate self-contained chunks). I have tested this script in both bash and zsh. + +### `monorepo.sh` +```bash +#!/bin/bash + +{ + echo "# 0. Quick reset: started" + rm -rf $HOME/Git/Jafner.net + rm -rf $HOME/Git/monorepo-temp + rm -rf /tmp/gitleaks + cd $HOME/Git + echo "# 0. Quick reset: completed" +} + +{ + echo "# 1. Configure paths and variables: started" + echo " # Configure local paths for Git repos. Should not contain any of the git directories involved, as all will be cloned fresh. Consider using a temporary project directory." + MONOREPO_DIR=$HOME/Git/Jafner.net + TEMP_CLONE_DIR=$HOME/Git/monorepo-temp + mkdir -p "$TEMP_CLONE_DIR" + mkdir -p "$MONOREPO_DIR" + echo " # Configure array of repositories to compose into monorepo." + echo " # Note: First repository in list is parent monorepo." + echo " # Note: While we don't need write access to any of the constituent repositories, we do need authenticated access for any private repositories. Use ssh URLs when possible." + REPOSITORIES=( + "Jafner.net ssh://git@gitea.jafner.tools:2225/Jafner/Jafner.net.git" + "homelab ssh://git@gitea.jafner.tools:2225/Jafner/homelab.git" + "docker_config git@github.com:Jafner/docker_config.git" + "wiki git@github.com:Jafner/wiki.git" + "cloud_tools git@github.com:Jafner/cloud_tools.git" + "self-hosting git@github.com:Jafner/self-hosting.git" + "Jafner.dev git@github.com:Jafner/Jafner.dev.git" + "dotfiles_gitea ssh://git@gitea.jafner.tools:2225/Jafner/dotfiles.git" + "dotfiles_github git@github.com:Jafner/dotfiles.git" + "nvgm ssh://git@gitea.jafner.tools:2225/Jafner/nvgm.git" + "pamidi_gitea ssh://git@gitea.jafner.tools:2225/Jafner/pamidi.git" + "pamidi_github git@github.com:Jafner/pamidi.git" + "docker-llm-amd ssh://git@gitea.jafner.tools:2225/Jafner/docker-llm-amd.git" + "doradash ssh://git@gitea.jafner.tools:2225/Jafner/doradash.git" + "clip-it-and-ship-it git@github.com:Jafner/clip-it-and-ship-it.git" + "PyClipIt ssh://git@gitea.jafner.tools:2225/Jafner/PyClipIt.git" + "razer-bat git@github.com:Jafner/Razer-BatteryLevelRGB.git" + "5etools-docker git@github.com:Jafner/5etools-docker.git" + "jafner-homebrew git@github.com:Jafner/jafner-homebrew.git" + ) + cd $TEMP_CLONE_DIR + echo "# 1. Configure paths and variables: completed" +} + +{ + echo "# 2. Assert dependencies are installed: started" + echo -n " # gitleaks: " + gitleaks version > /dev/null 2>&1 + GITLEAKS_MISSING=$? + if [[ $GITLEAKS_MISSING != "0" ]]; then + echo "missing" + echo " # Attempting to install from https://github.com/gitleaks/gitleaks" + echo " # Installing at ~/.local/bin/gitleaks" + echo " # Note: Building gitleaks will fail if go is not installed." + mkdir -p ~/.local/bin + git clone https://github.com/gitleaks/gitleaks.git /tmp/gitleaks-git + cd /tmp/gitleaks-git + make build + cp gitleaks ~/.local/bin/gitleaks + else + echo "found at $(which gitleaks)" + fi + echo -n " # git-filter-repo: " + git filter-repo -h > /dev/null 2>&1 + FILTER_REPO_MISSING=$? + if [[ $FILTER_REPO_MISSING != "0" ]]; then + echo "missing" + echo " # git-filter repo not installed. Attempting to install from https://github.com/newren/git-filter-repo" + echo " # Installing at ~/.local/bin/git-filter-repo" + mkdir -p ~/.local/bin/git-filter-repo + curl -o ~/.local/bin/git-filter-repo https://raw.githubusercontent.com/newren/git-filter-repo/main/git-filter-repo + chmod +x ~/.local/bin/git-filter-repo + else + echo "found at $(which git-filter-repo)" + fi + echo -n " # BFG Repo-Cleaner: " + bfg --version > /dev/null 2>&1 + BFG_MISSING=$? + if [[ $BFG_MISSING != "0" ]]; then + echo "missing" + echo " # Automated installation not yet implemented." + echo " # Install BFG Repo-Cleaner by downloading the latest jar from:" + echo " # https://rtyley.github.io/bfg-repo-cleaner/ " + echo " # Then run:" + echo ' # sudo cp ~/Downloads/bfg.jar /usr/bin/bfg.jar && echo "java -jar /usr/bin/bfg.jar $@" | sudo tee /usr/bin/bfg && sudo chmod +x /usr/bin/bfg' + echo " # Exiting..." + exit 1 + else + echo "found at: $(which bfg)" + fi + echo "# 2. Assert dependencies are installed: completed" +} + +{ + echo "# 3. Clone all constituent repositories, assert default branch is main: started" + cd "$TEMP_CLONE_DIR" + for repo in "${REPOSITORIES[@]:1}"; do + REPO_NAME=$(echo $repo | cut -d' ' -f1) + echo " # Cloning repo $REPO_NAME" + git clone --quiet $(echo "$repo" | cut -d' ' -f2) "$REPO_NAME" > /dev/null + cd "$REPO_NAME" + DEFAULT_BRANCH=$(cat .git/HEAD | cut -d' ' -f2 | xargs basename) + if ! [[ $DEFAULT_BRANCH == "main" ]]; then + git branch -m $DEFAULT_BRANCH main + fi + cd "$TEMP_CLONE_DIR" + done + cd $TEMP_CLONE_DIR + echo "# 3. Clone all constituent repositories, assert default branch is main: completed" +} + +{ + echo "# 4. Rewrite history (to subdirectory) for each constituent repository: started" + for repo in $(echo "$TEMP_CLONE_DIR"/*); do + REPO_NAME=$(basename $repo) + cd "$repo" + echo " # Rewriting repo $REPO_NAME" + git filter-repo --quiet --to-subdirectory-filter "$REPO_NAME" --force > /dev/null + cd "$TEMP_CLONE_DIR" + done + cd $TEMP_CLONE_DIR + echo "# 4. Rewrite history (to subdirectory) for each constituent repository: completed" +} + +{ + echo "# 5. Scan each constituent repository for leaked secrets: started" + for repo in $(echo "$TEMP_CLONE_DIR"/*); do + REPO_NAME=$(basename $repo) + cd "$repo" + mkdir -p /tmp/gitleaks/$REPO_NAME/ + echo -n " # Scanning repo $REPO_NAME " + rm -f /tmp/gitleaks/$REPO_NAME/gitleaks-report.json + gitleaks detect -l warn --no-banner -r /tmp/gitleaks/$REPO_NAME/gitleaks-report.json && echo "No secrets detected" || COMPROMISED_REPOS+="$REPO_NAME\n" + done + cd $TEMP_CLONE_DIR + echo "# 5. Scan each constituent repository for leaked secrets: completed" +} + +{ + echo "# 6. Nuke secrets from git history: started" + for repo in $(echo "$TEMP_CLONE_DIR"/*); do + cd $repo + REPO_NAME=$(basename $repo) + report=/tmp/gitleaks/$REPO_NAME/gitleaks-report.json + if ! [[ $(cat $report | jq length) > 0 ]]; then + echo " # No exposed secrets in repo $REPO_NAME; Skipping." + continue + fi + echo " # Nuking secrets in repo $REPO_NAME" + cat $report | jq -r '.[].Secret' > /tmp/gitleaks/secret.txt + bfg --replace-text /tmp/gitleaks/secret.txt --no-blob-protection . + git reflog expire --expire=now --all && git gc --prune=now --aggressive + cat /dev/urandom | tr -dc A-Za-z0-9 | head -c1000 > /tmp/gitleaks/secret.txt + rm /tmp/gitleaks/secret.txt + done + cd $TEMP_CLONE_DIR + echo "# 6. Nuke secrets from git history: completed" +} + +{ + echo "# 7. Verify repository histories are clean of secrets: started" + for repo in $(echo "$TEMP_CLONE_DIR"/*); do + REPO_NAME=$(basename $repo) + cd "$repo" + mkdir -p /tmp/gitleaks/$REPO_NAME/ + echo -n " # Scanning repo $REPO_NAME " + rm -f /tmp/gitleaks/$REPO_NAME/gitleaks-report.json + gitleaks detect -l warn --no-banner -r /tmp/gitleaks/$REPO_NAME/gitleaks-report.json && echo "No secrets detected" || echo " # Something didn't work right; clean $REPO_NAME manually" + done + cd $TEMP_CLONE_DIR + echo "# 7. Verify repository histories are clean of secrets: completed" +} + +{ + echo "# 8. Init monorepo and add constituent repos: started" + cd "$MONOREPO_DIR" + git init + for repo in $(echo "$TEMP_CLONE_DIR"/*); do + REPO_NAME=$(basename $repo) + echo "Adding $REPO_NAME" + git remote add "$REPO_NAME" "$repo" + git fetch "$REPO_NAME" --tags + git merge --quiet --allow-unrelated-histories -m "Merge $REPO_NAME into $(basename $MONOREPO_DIR)" "$REPO_NAME/main" + git remote remove "$REPO_NAME" + done + echo " # Running one more gitleaks scan for sanity." + gitleaks detect -v --no-banner + cd $TEMP_CLONE_DIR + echo "# 8. Init monorepo and add constituent repos: completed" +} + +{ + echo "############################################################" + echo "# #" + echo "# Next steps: #" + echo "# 1. Reorganize the repo to taste #" + echo "# 2. Update repo-root configuration files such as: #" + echo "# - .gitignore, .gitattributes, .gitmodules #" + echo "# - .dockerignore, .pre-commit-config.yaml #" + echo "# - .github/workflows, .gitlab-ci.yml, .gitea/workflows #" + echo "# - LICENSE, CONTRIBUTING, MAINTAINERS #" + echo "# 3. Write a new root-level README.md #" + echo "# 4. Add the remote repo as origin with: #" + echo "# git remote add origin #" + echo "# 5. Push the code to the Git server with: #" + echo "# git push --set-upstream origin main #" + echo "# #" + echo "############################################################" +} +``` diff --git a/sites/Jafner.dev/content/homelab/monorepo/readme-example.png b/sites/Jafner.dev/content/homelab/monorepo/readme-example.png new file mode 100644 index 0000000000000000000000000000000000000000..103ce11fc6c215ea0207b9f88519ca42fe7b2ca8 GIT binary patch literal 117531 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

nf^eQbC0uCxZd0Y$1hr_w@ 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 bHR}>alMOFC&-HSV;Xip9l?$0tCf@%I&4)7- literal 0 HcmV?d00001 diff --git a/sites/Jafner.dev/static/css/code-blocks-no-shadow.css b/sites/Jafner.dev/static/css/code-blocks-no-shadow.css new file mode 100644 index 00000000..bdc0a2d4 --- /dev/null +++ b/sites/Jafner.dev/static/css/code-blocks-no-shadow.css @@ -0,0 +1,5 @@ +code[class*="language-"], +pre[class*="language-"] { + text-shadow: none; + box-shadow: none; +} \ No newline at end of file