fortsphere v0.1.1
fortSphere
Fortify your Digital Sphere, once command at a time
Table of Contents
Introduction
fortSphere is a CLI tool designed to help you manage and fortify your digital sphere by applying various policies to your GitHub organization(s) and repositories.
Demo
Scenario: While the Setup is fine using restrictRepoCreationGitHub
GitHub UI (before)
fortSphere run and logs
Scenario: When the setup requires changes using restrictRepoCreationGitHub
GitHub UI (before)
fortSphere run and logs
Installation
npm
You can install it globally:
npm i -g fortsphere
fortsphere version
You can use it as npx
:
npx fortsphere version
Docker container
You can use Docker:
docker pull ghcr.io/openpathfinder/fortsphere:latest
docker run --rm ghcr.io/openpathfinder/fortsphere:latest version
You can create an alias like alias fortsphere="docker run --rm ghcr.io/openpathfinder/fortsphere:latest"
Source Code
To install fortSphere, clone the repository and install the dependencies:
git clone https://github.com/OpenPathfinder/fortSphere.git
cd fortsphere
npm install
You can create an alias like alias fortsphere="node fortsphere.js"
Usage
Version Command
Display the current version of fortSphere:
fortsphere version
Policy Management Command
Manage policies for your GitHub organization:
- List all available policies:
fortsphere policy --list
- Apply a policy to a GitHub organization:
fortsphere policy --apply <policy> --github-org <githubOrg>
GitHub Tokens
To run this application, you need a GitHub token with admin:write
permissions.
Injecting the Token
- Use an environment variable named
GITHUB_TOKEN
to supply the token. - Alternatively, you can use a
.env
file and load it with the commandnode --env-file=.env fortsphere.js policy --apply <policy> --github-org <githubOrg>
when doing local development - While using docker images you can use
docker run --rm -e GITHUB_TOKEN=mytoken ghcr.io/openpathfinder/fortsphere:latest policy --apply <policy> --github-org <githubOrg>
Policies
fortSphere includes the following policies:
- restrictRepoCreationGitHub: This policy is designed to prevent members of a GitHub organization from creating new repositories. This includes public and private repositories. This policy will set the following values for the organization(
members_allowed_repository_creation_type=none
,members_can_create_public_repositories=false
,members_can_create_private_repositories=false
) at the organization level.
Contributing
Contributions are welcome! Please read the contributing guidelines first.
License
This project is licensed under the MIT License. See the LICENSE file for details.