Skip to main content

Utility for automated Git cloning and app launching (React/FastAPI)

Project description

autovix Deployment Module Documentation

Overview

The autovix module is designed to automate the cloning, setup, and execution of multiple repositories for both backend (API) and frontend (UI) applications.

This configuration-driven automation supports:

  • GitHub cloning using username and personal access token.
  • Installing dependencies.
  • Running projects with a custom command or development server.

Configuration Parameters (json_data)

  1. env_name (string)

    • Name of the environment or project group.
    • Example: "autovix"
  2. git_data (object)

    • GitHub credentials to access repositories.
    • Keys:
      • username: GitHub username
      • token: GitHub personal access token
      • org_or_user: GitHub organization or user name
  3. base_path (string)

    • Path where repositories will be cloned.
    • Example: "C:/deploy"
  4. repositories (list of objects)

    • Each object contains deployment details for a repository.
    • Fields:
      • repo_name (string): Repository name
      • branch (string): Branch to clone
      • folder_name (string): Local folder name
      • is_ui (bool): True if UI app, False if backend
      • port (int): Port to run app
      • run_command (string): Required if is_ui is False

Example Repository Configuration

Backend App (is_ui = False): { "repo_name": "Aps", "branch": "main", "folder_name": "Aps", "is_ui": false, "port": 8000, "run_command": "uvicorn main.main:app --port 8005" }

Frontend App (is_ui = True): { "repo_name": "To-Do-List", "branch": "main", "folder_name": "To-Do-List", "is_ui": true, "port": 3001 }

Deployment Logic

  • If is_ui is True:

    • Run npm install in the project directory.
    • Start the frontend using default scripts.
  • If is_ui is False:

    • run_command is mandatory.
    • Execute backend app using the specified command.

Validation

if not is_ui and not run_command: print("Error: 'run_command' is required when 'is_ui' is False.") return

Directory Structure After Deployment

C:/deploy/ ├── Aps/ │ └── ... (code and virtual env) └── To-Do-List/ └── node_modules/

Security Note

  • Replace "ghp_xxxxxx" with a valid GitHub Personal Access Token.
  • Never expose the token publicly.

autovix Configuration JSON - Documentation

This JSON configuration is used to control how repositories are cloned, set up, and run by the autovix automation system.

Top-Level Structure:

{ "env_name": "string", # Name of the environment/project group "git_data": { # GitHub authentication and organization info "username": "string", # GitHub username "token": "string", # GitHub Personal Access Token (PAT) "org_or_user": "string" # GitHub organization or user }, "base_path": "string", # Base directory where all repos will be cloned "repositories": [ # List of repositories to deploy { "repo_name": "string", # Name of the GitHub repository "branch": "string", # Branch to clone "folder_name": "string", # Folder to clone into "is_ui": true/false, # True for frontend, False for backend "port": number, # Port to run the app "run_command": "string" # (Optional) Command to run the backend (required if is_ui is false) } ] }

Example:

{ "env_name": "autovix", "git_data": { "username": "autovix_user", "token": "ghp_xxxxxx", "org_or_user": "autovix_user" }, "base_path": "C:/deploy", "repositories": [ { "repo_name": "autovix", "branch": "main", "folder_name": "autovix", "is_ui": false, "port": 8000, "run_command": "uvicorn main.main:app --port 8005" }, { "repo_name": "To-Do-List", "branch": "main", "folder_name": "To-Do-List", "is_ui": true, "port": 3001 } ] }

Notes:

  • If is_ui is false, run_command must be provided.
  • If is_ui is true, the system will automatically run npm install and use the default frontend server.
  • All cloned projects are stored in the directory specified by base_path. """

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

autovix-0.1.3.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

autovix-0.1.3-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file autovix-0.1.3.tar.gz.

File metadata

  • Download URL: autovix-0.1.3.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.4

File hashes

Hashes for autovix-0.1.3.tar.gz
Algorithm Hash digest
SHA256 a09a230ff600758912962d7cc28feb8c298fb93953bc10267034aaf06e1ac2fb
MD5 1857f223966d945b3fbb8074a3152aed
BLAKE2b-256 78939927044a5eecaa96706291a1857fa1547d2f6f37d9c1d2fe249593971c76

See more details on using hashes here.

File details

Details for the file autovix-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: autovix-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.4

File hashes

Hashes for autovix-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 243ddb9152ef9ae4144fb06e3bba39bac5f95a0ff11435b869bdaa38ff7e2b33
MD5 6cd4b9da9733006efea230a34d0faf4a
BLAKE2b-256 c5b1479fbb5770605d27f1424599ac50534696f58f8ef01528d5d08f5c17cbbe

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