aws / eks-anywhere
Components & Dependencies

An overview of source code logical components.

Intro

Logical decomposition is a representation of the organization of the main source code, where every and each file is put in exactly one logical component.

  • A software system can have one or more logical decompositions.
  • A logical decomposition can be defined in two ways in Sokrates.
  • First approach is based on the folders structure. Components are mapped to folders at defined folder depth relative to the source code root.
  • Second approach is based on explicit definition of each component. In such explicit definitions, components are explicitly named and their files are selected based on explicitly defined path and content filters.
  • A logical decomposition is considered invalid if a file is selected into two or more components.This constraint is introduced in order to facilitate measuring of dependencies among components.
  • Files not assigned to any component are put into a special "Unclassified" component.
Learn more...
Logical Decompositions Overview

Analyzed system has 1 logical decomposition:

  • primary (52 components)

Logical Decomposition #1: PRIMARY

The decompositions is based on the folder structure (relative to the source code root), with automatically defined folder depth to have at least 10 components.

Bubble Chart | Tree Map
Components
The "primary" logical decomposition has 52 components.
  • 416 files, 46,763 lines of code (100.0% vs. main code).
  • "pkg/providers" is biggest, containing 13.32% of code.
  • "release" is smallest, containing 0.01% of code.


pkg/providers6229 LOC (13%) 31 files
release/pkg4872 LOC (10%) 43 files
pkg/api3883 LOC (8%) 31 files
config/manifest3508 LOC (7%) 1 files
pkg/executables3397 LOC (7%) 21 files
config/crd2959 LOC (6%) 15 files
release/config2096 LOC (4%) 2 files
controllers/controllers1643 LOC (3%) 15 files
cmd/eksctl-anywhere1554 LOC (3%) 26 files
pkg/diagnostics1515 LOC (3%) 10 files
internal/pkg1512 LOC (3%) 24 files
pkg/git1464 LOC (3%) 10 files
pkg/clustermanager1441 LOC (3%) 6 files
pkg/workflows1376 LOC (2%) 6 files
pkg/addonmanager988 LOC (2%) 8 files
pkg/validations932 LOC (1%) 23 files
release/api914 LOC (1%) 6 files
pkg/networking720 LOC (1%) 13 files
pkg/cluster693 LOC (1%) 11 files
pkg/clusterapi623 LOC (1%) 8 files
cmd/eks-a-tool457 LOC (<1%) 12 files
cmd/integration_test429 LOC (<1%) 10 files
config/rbac409 LOC (<1%) 10 files
pkg/awsiamauth328 LOC (<1%) 4 files
release/cmd318 LOC (<1%) 2 files
pkg/crypto282 LOC (<1%) 6 files
pkg/bootstrapper272 LOC (<1%) 2 files
config/webhook180 LOC (<1%) 5 files
controllers179 LOC (<1%) 2 files
pkg/filewriter160 LOC (<1%) 4 files
pkg/task147 LOC (<1%) 2 files
pkg/types130 LOC (<1%) 5 files
config/default119 LOC (<1%) 6 files
pkg/features117 LOC (<1%) 3 files
conformance/template107 LOC (<1%) 2 files
pkg/templater94 LOC (<1%) 3 files
pkg/logger91 LOC (<1%) 3 files
pkg/files85 LOC (<1%) 1 files
pkg/semver84 LOC (<1%) 1 files
pkg/retrier81 LOC (<1%) 1 files
pkg/networkutils79 LOC (<1%) 4 files
config/manager69 LOC (<1%) 4 files
pkg/clustermarshaller57 LOC (<1%) 1 files
config/certmanager39 LOC (<1%) 3 files
pkg/constants30 LOC (<1%) 1 files
pkg/clients25 LOC (<1%) 1 files
release/buildspecs24 LOC (<1%) 3 files
pkg/eksctl16 LOC (<1%) 1 files
config/prod11 LOC (<1%) 1 files
pkg/version10 LOC (<1%) 1 files
config/tilt8 LOC (<1%) 1 files
release7 LOC (<1%) 1 files
Dependencies
Dependencies among components are static code dependencies among files in different components.

No component dependencies found.



2022-01-31 15:36