Git Repositories
The CroudTech codebase consists of a large number of code repositories that utilitise a wide variety of different languages, frameworks and platforms, as such a consistent naming scheme is essential for ongoing management and support. Each Git repository must be named according to the naming scheme outlined below
Private Repositories
All Croud Tech Git repositories containing any proprietary code, distinct Croud specific business logic or any other intellectual property should be placed in a private Git repository that follows the naming convention below:
Each private repository name consists of 3 distinct categories or sections
Naming Convention
Each private Git repository name should consisty of at least three lower case segments joined using a hyphen/dash(-). Each segment is described below:
First Segment
This must be from a fixed set and indicate the Category of the code contained, this must be one of the following:
at - indicates this is an Agency Tool, while Tools can be used by clients other than the agency this segment should be used for all tool implementations
cc - indicates this is a component used witin the Croud Control platform
connect - indicates this is a component used witin the Croud Connect platform a
devops - a tool or utility used to manage, configure or support one or more aspects of the CroudTech platform
legacy - indicates the repositorty contains code that is either deprecated or apporaching EOL
analytics - tool, application or service created and managed by the Croud Analytics team
services - a standalone component of the CroudTech platform, typically consumed by other applications (such as Croud Control) within the platform - these may or may not be Microservices and each service typically exposes a Rest API
lib - a shared component (library or utility) used by other applications via an inline dependency (c.f. services which are standalone applications)
npd - for all repositories created and developed as part of the NDP process
NB if the list above does not meet your requrirements please consult the senior DevOps team, do not create a repo that does not begin with one of these values
Second Segment
This is used to indiciate the main priniciple language or framework that the code is based on, in the case of language spcific frameworks then the language should be omitted (eg python-django => django, php-laravel => laravel), some exmaples are listed below:
django
laravel
node
vue
rancher
graphql (see above)
Remaining Segments
The remaining one (or more) segments should be a concise lowercase, kebab-cased description of the purpose of the repo, this should be as few words as possible while still giving an indication as to the purpose of the repository.
Examples
cc-laravel-workflow
connect-vue-ui-kit
services-node-notifications
at-django-ppc-bid-change-alerts
Repository Structure
Each GitHub repository must feature a short description of the purpose using the GitHib native repository functionality and no be left as (the default):
No description, website, or topics provided.
Public
TODO
Restricted
TODO