Skip to content

Define GDK Component

Overview

Need a formal definition of GitLab components - to troubleshoot installation problems, and to understand how to split huge and slow 10Gb Docker images that take hours to build and test.

  1. Component name
  2. Component files - isolated to specific dir, list of files is gathered and checked automatically to avoid drift to system level
  3. Component dependencies and links to related issues

When components and their relationships are defined, it will be possible to swap Makefiles with another build system (#166), which can track changes in a smart way, and rebuild only necessary parts, fetching them from caches if possible.

When components are defined in YAML, it will be possible to generate diagrams and track component coupling.

Related #782, #166

Impacted categories

The following categories relate to this issue:

Steps to replicate (optional)

Proposal (optional)

Environment (optional)

  • Operating system name: <!-- output of `uname -a` command -->
  • Architecture: <!-- output of `arch` command -->
  • The contents of your gdk.yml (if any)
  • Ruby version: <!-- output of `ruby --version` command -->
  • GDK version: <!-- output of `git rev-parse --short HEAD` command -->
Edited by Anatoli Babenia