Skip to content

Giteway is an HTTP gateway, providing a standardized interface to fetch Git information and commits from GitHub, GitLab. Access Git repositories through a consistent API, regardless of the underlying service provider.

License

Notifications You must be signed in to change notification settings

thegalactiks/giteway

Repository files navigation

GitHub Workflow Status Latest version Github Repo Stars License

Giteway - HTTP Gateway for Git Services

Giteway is an HTTP Gateway for Git services, providing a standardized interface for fetching Git information and commits from various service providers, including GitHub, GitLab, Bitbucket (soon), and SSH Git (soon).

Features

  • Standardized Interface: Giteway exposes a consistent API endpoint for interacting with Git repositories, irrespective of the underlying service provider.
  • Multi-Provider Support: Easily fetch Git data from GitHub and GitLab.
  • Authentication: Securely handle authentication for different Git service providers, supporting various authentication mechanisms.
  • HTTP Gateway: Access Git data through standard HTTP requests, making it easy to integrate into web applications.
  • Modular Design: Designed with modularity in mind, making it extensible for adding support for new Git providers.

Getting Started

To get started with Giteway, you can deploy it as a Docker container using the following steps:

  1. Pull the Giteway Docker image from the Docker Hub:

    docker pull galactiks/giteway:latest
  2. Run the Docker container, exposing the necessary ports:

    docker run -d -p 5000:5000 galactiks/giteway:latest

    This command will start the Giteway container and map port 5000 of the container to port 5000 on your host machine.

  3. Verify that Giteway is running by accessing the API endpoint in your browser or using a tool like cURL:

    curl http://localhost:5000/repos/github.com/thegalactiks

    You should receive a response with the list of public repositories.

  4. You can now start using Giteway to interact with Git repositories through the exposed API.

For more detailed information on how to use Giteway and its API, refer to the API Documentation.

Configuration

Giteway can be configured using environment variables to customize its behavior. The following environment variables are supported:

Variable Name Description Default Value
GITEWAY_SERVE_BASE_URL The base URL at which Giteway is served.
GITEWAY_SERVE_PORT The port at which Giteway is served. 5000
GITEWAY_SERVE_CORS_ENABLED Indicates whether CORS is enabled for Giteway. false
GITEWAY_SERVE_CORS_ALLOW_ORIGINS The list of allowed origins for CORS. *
GITEWAY_SERVE_CORS_ALLOWED_METHODS The list of allowed HTTP methods for CORS. GET,POST
GITEWAY_SERVE_CORS_ALLOW_HEADERS The list of allowed headers for CORS. Authorization, Content-Type, Cookie
GITEWAY_SERVE_CORS_EXPOSE_HEADERS The list of exposed headers for CORS. Content-Type, Set-Cookie
GITEWAY_SERVE_CORS_ALLOW_CREDENTIALS Indicates whether CORS allows credentials. true
GITEWAY_SERVE_TIMEOUT The timeout duration for Giteway requests. 5000
GITEWAY_LOGGING_LEVEL The logging level for Giteway. -1
GITEWAY_LOGGING_ENCODING The encoding format for Giteway logs. console
GITEWAY_LOGGING_DEVELOPMENT Indicates whether Giteway is in development mode. true
GITEWAY_GITHUB_PRIVATE_KEY_PATH The file path to the private key for GitHub authentication.
GITEWAY_GITHUB_APP_ID The ID of the GitHub app.
GITEWAY_GITHUB_INSTALLATIONS The map of GitHub installations.

API Documentation

Documentation for the Giteway API can be found here.

License

This project is licensed under the MIT License @ Galactiks.

About

Giteway is an HTTP gateway, providing a standardized interface to fetch Git information and commits from GitHub, GitLab. Access Git repositories through a consistent API, regardless of the underlying service provider.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages