# Spotlight on SIG Architecture: Code Organization

DevFeed: [Spotlight on SIG Architecture: Code Organization](<https://devfeed.tech/articles/spotlight-on-sig-architecture-code-organization-17577.md>)

Original publisher: [Read original article](<https://www.kubernetes.dev/blog/2024/04/11/sig-architecture-code-spotlight-2024/>)

Author: The Kubernetes Authors

Published: 2024-04-11T00:00:00Z

Content type: article

Language: en

Sources: [Kubernetes Contributors Blog](<https://devfeed.tech/sources/kubernetes-contributors-blog.md>)

Topics: [Code](<https://devfeed.tech/topics/code.md>), [Kubernetes](<https://devfeed.tech/topics/kubernetes.md>), [Go Language](<https://devfeed.tech/topics/go-language.md>), [Dependency management](<https://devfeed.tech/topics/dependency-management.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [architecture](<https://devfeed.tech/tags/architecture.md>), [code](<https://devfeed.tech/tags/code.md>), [cycles](<https://devfeed.tech/tags/cycles.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [dependency-management](<https://devfeed.tech/tags/dependency-management.md>), [github](<https://devfeed.tech/tags/github.md>), [go](<https://devfeed.tech/tags/go.md>), [interview](<https://devfeed.tech/tags/interview.md>), [kubernetes](<https://devfeed.tech/tags/kubernetes.md>), [series](<https://devfeed.tech/tags/series.md>), [technical](<https://devfeed.tech/tags/technical.md>), [vmware](<https://devfeed.tech/tags/vmware.md>)

## AI overview

An interview in the SIG Architecture Spotlight series examines Kubernetes code organization. It discusses the scale of the Kubernetes Go codebase, dependency management, publishing Go modules, and using a monorepo with downstream repositories.

## Source excerpt

This is the third interview of a SIG Architecture Spotlight series that will cover the different subprojects. We will cover SIG Architecture: Code Organization . In this SIG Architecture spotlight I talked with Madhav Jivrajani (VMware), a member of the Code Organization subproject. Introducing the Code Organization subproject Frederico (FSM): Hello Madhav, thank you for your availability. Could you start by telling us a bit about yourself, your role and how you got involved in Kubernetes? Madhav Jivrajani (MJ): Hello! My name is Madhav Jivrajani, I serve as a technical lead for SIG Contributor Experience and a GitHub Admin for the Kubernetes project. Apart from that I also contribute to SIG API Machinery and SIG Etcd, but more recently, I've been helping out with the work that is needed to help Kubernetes stay on supported versions of Go , and it is through this that I am involved with the Code Organization subproject of SIG Architecture. FSM: A project the size of Kubernetes must have unique challenges in terms of code organization - is this a fair assumption? If so, what would you pick as some of the main challenges that are specific to Kubernetes? MJ: That's a fair assumption! The first interesting challenge comes from the sheer size of the Kubernetes codebase. We have ≅2.2 million lines of Go code (which is steadily decreasing thanks to dims and other folks in this sub-project!), and a little over 240 dependencies that we rely on either directly or indirectly, which is why having a sub-project dedicated to helping out with dependency management is crucial: we need to know what dependencies we're pulling in, what versions these dependencies are at, and tooling to help make sure we are managing these dependencies across different parts of the codebase in a consistent manner. Another interesting challenge with Kubernetes is that we publish a lot of Go modules as part of the Kubernetes release cycles, one example of this is client-go .However, we as a project would