GitHub and source control

Deviating from GitHub

Unless clients have specific requirements to own their source control hosting, we host all repositories in our GitHub organisation.

When clients want continuous access to their source code, they can be added as external collaborators by a GitHub admin, which incurs a per-user monthly expense to our organisation. One-time copies can be done outside of GitHub.

Repository naming

Follow lowercase-kebab-case when creating repositories in GitHub.

Client repositories should start with the client's name, then solution/workload/project name, e.g. northwind-web-backend, northwind-template-generator, northwind-integration-worker and so on.

Cloud Nine-owned repositories are not prefixed, e.g. czas.

Note: Most of our repositories' names vary wildly due to a historical lack of cohesion.

Offboarding

When a client is no longer partnered with Cloud Nine their repositories must be archived to be marked as inactive. The team's developers are responsible for archiving their client's repositories.

Public repositories

As a general rule, all repositories created within Cloud Nine should be private.

Connecting GitHub with other systems

When connecting GitHub to other systems and services we prefer well-established GitHub apps. If not available, we always connect using our service account on GitHub (see 1Password). If the connected system requires elevated access for a project, it is granted by a GitHub admin on a repository basis.