Skip to content

Axilock Backend

A backend service for Axilock push protection application, built with Go and modern microservices architecture.

Prerequisites

  • Go 1.24.0 or higher
  • Docker and Docker Compose
  • Git

Setup Instructions

1. Clone the Repository

Quick setup to download the backend repository and setup the environment.

git clone https://github.com/axilock/axilock-backend.git
cd axilock-backend

2. Configure Environment

Copy the example environment file and modify it according to your needs:

cp env.example .env

Edit the .env file with your specific configuration

  • RUNNING_ENV: Set to dev for development and prod for production
  • GITHUB_APP_ID: Your GitHub app ID
  • GITHUB_CLIENT_SECRET: Your GitHub app client secret
  • GITHUB_CLIENT_ID: Your GitHub app client ID
  • HTTP_SERVER_ADDRESS: The address to bind the HTTP server to which the frontend app communicates with
  • GRPC_SERVER_ADDRESS: The address to bind the gRPC server which the cli communicates with

2.1 Configure Github App

You will need to create a github app to authenticate with the github api. You can do this by following the instructions here. This github app will be used to authenticate with the github api to get the commit metadata which will give the coverage of how haw users are actively using the secrets protection. You need to get the values of GITHUB_APP_ID, GITHUB_CLIENT_SECRET and GITHUB_CLIENT_ID from the github app settings.

Info

You will also need the private key file for the github app to be stored in the root directory of the project and name the file as axilock.pem which is the default name used by the backend.

2.2 Configure Environment Variables

Fill the .env file with your specific configuration:

HTTP_SERVER_ADDRESS=0.0.0.0:8080
GRPC_SERVER_ADDRESS=0.0.0.0:8090
RUNNING_ENV=<dev/prod>
GITHUB_APP_ID=<Enter your github app id>
GITHUB_CLIENT_SECRET=<Enter your github client secret>
GITHUB_CLIENT_ID=<Enter your github client id>

3. Start Services with Docker Compose

The application uses Docker Compose to manage services. Start all services with:

docker-compose up -d

API Documentation

The backend service provides RESTful and gRPC APIs with endpoints documented in the codebase. The main entry points are:

  • HTTP API: http://localhost:8080
  • gRPC Service: http://localhost:8090

Info

By default the endpoint run on HTTP and gRPC, to configure your application to run on HTTPS/ gRPCs you can configure a reverse proxy such as Nginx or Caddy to accept TLS connection and forward them to the HTTP and gRPC endpoints.

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Other Features

  • We also monitor your GitHub commits for alien pushes to your GitHub repositories due to compromised or leaked GitHub credentials. Post installation of axilock on your dev machines you have complete confidence that every commit in your VCS repositories goes though an audit process. The first problem we are starting with is preventing secrets from ever reaching your VCS repositories.
  • Our future road map includes solving for unified linting and sast rules across your teams and reducing the burden on CI pipelines to bring linting and scanning policies on device and save a ton on infra cost and provied unified standards for your teams to follow.

Enterprise support

For enterprise support and for custom secrets support, schedule a call with us Schedule a call.

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.

Contact

For support or questions, please open an issue in the GitHub repository.