Skip to main content

Moses in the Ark - Pack tool for creating Git bundles in internet-connected networks

Project description

⛵ Moses in the Ark - Pack

Moses in the Ark is a secure air-gap transfer system for Git repositories and CI/CD artifacts.

The Pack tool creates bundles in internet-connected networks for transfer to air-gapped environments.

Installation

pip install .
# Or with Terminal UI
pip install ".[ui]"

Requirements: git installed, Python 3.10+.

Usage

Terminal User Interface (TUI)

moark-pack-ui

Opens an interactive terminal interface for creating bundles. The interface includes:

  • Repository URL: Single input for full Git repository URL
  • Credentials: Username and password for GitLab authentication
  • Options: Submodules, artifacts, SSL verification
  • Real-time output: Live streaming of the packing process

The system intelligently detects:

  • Public repositories (GitHub, GitLab.com, Bitbucket)
  • Private GitLab instances (requires credentials)
  • Automatic URL parsing and configuration

CLI Usage

Pack a public repository

moark-pack pack \
  --repo-url https://github.com/user/project.git \
  --output-dir ./dist

Pack a private GitLab repository

moark-pack pack \
  --source-gitlab-url https://gitlab.company.com \
  --repo-path group/project \
  --source-username deploy-user \
  --source-password your-password \
  --output-dir ./dist

Include submodules

moark-pack pack \
  --repo-url https://github.com/user/project.git \
  --with-submodules \
  --output-dir ./dist

Download CI/CD artifacts

moark-pack pack \
  --source-gitlab-url https://gitlab.company.com \
  --repo-path group/project \
  --source-username deploy-user \
  --source-password your-password \
  --with-artifacts \
  --artifacts-ref main \
  --output-dir ./dist

Parameters

Pack Parameters

  • --repo-url: Public Git repository URL (for public repos)
  • --source-gitlab-url: GitLab base URL (for private GitLab)
  • --repo-path: Repository path in GitLab (e.g., group/project)
  • --source-username: GitLab username
  • --source-password: GitLab password (or ENV: SOURCE_GITLAB_PASSWORD)
  • --output-dir: Output directory for bundles (default: ./dist)
  • --repo-name: Override repository name
  • --with-submodules: Include submodules
  • --with-artifacts: Download CI/CD artifacts
  • --artifacts-ref: Branch/tag for artifacts (default: main)
  • --insecure: Disable SSL verification

Environment Variables

  • SOURCE_GITLAB_PASSWORD - GitLab password (alternative to --source-password)

Output

The tool creates a .tar.gz bundle containing:

  • Git repository bundle (.bundle file)
  • Submodules (if requested)
  • CI/CD artifacts (if requested)
  • Manifest file with metadata

Example output:

dist/
└── project-2024-01-15-143022.tar.gz

Security Notes

  • Passwords are never stored or logged
  • SSL verification is enabled by default
  • Credentials are only used during the packing process
  • Bundle files are self-contained and portable

For Support

For support or questions, contact: Moshe Eliya

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

moark_pack-0.1.0.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

moark_pack-0.1.0-py3-none-any.whl (12.5 kB view details)

Uploaded Python 3

File details

Details for the file moark_pack-0.1.0.tar.gz.

File metadata

  • Download URL: moark_pack-0.1.0.tar.gz
  • Upload date:
  • Size: 14.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for moark_pack-0.1.0.tar.gz
Algorithm Hash digest
SHA256 28cd4efdce7731ced412a88b4b605cbc8980d963804ab7dff0f1388653aee779
MD5 327f5aacb028201db6220335c470e3a3
BLAKE2b-256 a691ce11434cefa436a1fe20723015746fe3001c3e2dd89614ba7803f3eb4c5c

See more details on using hashes here.

File details

Details for the file moark_pack-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: moark_pack-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for moark_pack-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7f035cd5b71407ea1c0e9980d52a5605f2b3e42fdf07f5d5c34aa25c77e59dfd
MD5 26be97d8052be9ae0010734eca990290
BLAKE2b-256 619f5dfb5441f0dd190d67dda0b3955bd1d169e6e5f9b1e0f103f51c75167afd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page