GitHub
Enterprise Account
The Operations Engineering team manages the Ministry of Justice GitHub Enterprise. We maintain and support our enterprise instance, which includes several organisations:
- Ministry of Justice
- MoJ Analytical Services
- ministryofjustice-test
- Criminal Injuries Compensation Authority * though it sits within the Enterprise Account, this organisation is not managed by Operations Engineering
Actions Quota for Private and Internal Repositories
The Ministry of Justices’ GitHub Enterprise account reserves the following usage quotas for GitHub Actions (per month):
- 50,000 Minutes
- 50GB Storage
The quota renews at the start of each month and is a shared quota across all private and internal repositories in MoJs GitHub Enterprise account.
Teams are responsible for actively managing their usage of actions for private and internal repositories. Reaching these limits means that the service will be unavailable for private and internal repositories until the next reset.
These limits do not apply to public repositories.
If you are considering making your repository public, consider reading the technical guidance on converting private or internal repositories to public and our Dos and Don’t Guide for Public Repositories.
Access Management
Operations Engineering is responsible for granting access to both the Ministry of Justice and the MoJ Analytical Services Organisations.
Single Sign On (SSO) for Ministry of Justice or MoJ Analytical Services GitHub Organisations
If you have a @digital.justice.gov.uk
or @justice.gov.uk
email address and require access to the Ministry of Justice Organisation or the MoJ Analytical Services Organisation, you can use GitHub SSO to join the Organisation.
Click here to join the Ministry of Justice Organisation. Click here to join the MoJ Analytical Services Organisation.
If you do not have a GitHub account, you will be prompted to create one at the end of the SSO process; you should add your work email as your primary email address in GitHub.
If you have a problem with the SSO process, you can contact us via our Slack channel #ask-operations-engineering or email us at Operations Engineering.
Third-Party Supplier Management
If you are a Third-Party Supplier who is maintaining code on behalf of the Ministry of Justice, you will need to be added as an Outside Collaborator.
Outside Collaborators will only be able to gain access to specific repositories.
Access to repositories
When a user joins one of our Github Organisations as a member they are added to the all-org-members
or everyone
Team, in the case of the Ministry of Justice or MoJ Analytical Services Organisation respectively. Addition to these teams enables access to a number of MoJ shared tools and platforms.
To enable users to make changes to code and work with a repository, they must be added to the repository with the appropriate permissions, either with direct access or via a Github Team. In accordance with the Technical Standards:
Delivery teams are responsible for setting correct permissions on their repos. This includes ensuring the right users have access and removing privileges when they leave the team. It’s often helpful to manage permissions across all of a delivery team’s GitHub repositories in one place, by setting up a GitHub team for the people on a delivery team, and giving that GitHub team read/write privileges for the repos.
If you require access to a repository, or a change in permissions on a repository, please contact the Team Maintainer or Admin for that repository.
Only where a team lacks a maintainer or there is no administrator on a repository will Operations Engineering step in to manage repository-level access. As part of that intervention, we ensure that a suitable maintainer/administrator is assigned for future permission management.
If you require access/need to give access to an Outside Collaborator, raise an issue or pull request in the relevant repository for the organisation below:
- Ministry of Justice = ministryofjustice/github-collaborators
- MoJ Analytical Services = moj-analytical-services/github-outside-collaborators
Our Services and Support
As the custodians of these GitHub organisations, our team is responsible for the following:
Third-Party Application and Integration Approval: We review and approve requests to integrate third-party apps, keeping our tech ecosystem secure and efficient.
Fine-Grained Personal Access Token Requests: We oversee the approval of such requests, ensuring secure and proper usage of GitHub.
Repository Compliance: We check that all repositories align with the MoJ GitHub Repository Standards.
Repository Templates Management: We provide and manage templates for repositories, promoting best practices and consistency across projects.
Enterprise Support: We liaise with GitHub to resolve any issues and to get support for our enterprise instance.
Account Automation: We automate account management tasks like identifying and removing inactive users, maintaining a clean and efficient workspace.