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 (
.bundlefile) - 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28cd4efdce7731ced412a88b4b605cbc8980d963804ab7dff0f1388653aee779
|
|
| MD5 |
327f5aacb028201db6220335c470e3a3
|
|
| BLAKE2b-256 |
a691ce11434cefa436a1fe20723015746fe3001c3e2dd89614ba7803f3eb4c5c
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f035cd5b71407ea1c0e9980d52a5605f2b3e42fdf07f5d5c34aa25c77e59dfd
|
|
| MD5 |
26be97d8052be9ae0010734eca990290
|
|
| BLAKE2b-256 |
619f5dfb5441f0dd190d67dda0b3955bd1d169e6e5f9b1e0f103f51c75167afd
|