Sync content and update date

This commit is contained in:
Frederico Muñoz 2024-04-09 12:01:58 +01:00
parent 5c1e710025
commit 07fce8536d
1 changed files with 18 additions and 18 deletions

View File

@ -2,19 +2,17 @@
layout: blog layout: blog
title: "Spotlight on SIG Architecture: Code Organization" title: "Spotlight on SIG Architecture: Code Organization"
slug: sig-architecture-code-spotlight-2024 slug: sig-architecture-code-spotlight-2024
canonicalUrl:https://www.kubernetes.dev/blog/2024/04/04/sig-architecture-code-spotlight-2024 canonicalUrl: https://www.kubernetes.dev/blog/2024/04/11/sig-architecture-code-spotlight-2024
date: 2024-04-04 date: 2024-04-11
--- ---
** Author: Frederico Muñoz (SAS Institute)** ** Author: Frederico Muñoz (SAS Institute)**
_This is the third interview of a SIG Architecture Spotlight series that will cover the different _This is the third interview of a SIG Architecture Spotlight series that will cover the different
subprojects. We will cover the [SIG Architecture: Code subprojects. We will cover [SIG Architecture: Code Organization](https://github.com/kubernetes/community/blob/e44c2c9d0d3023e7111d8b01ac93d54c8624ee91/sig-architecture/README.md#code-organization)._
Organization](https://github.com/kubernetes/community/blob/master/sig-architecture/README.md#code-organization-1)_
In this SIG Architecture spotlight we talked with [Madhav In this SIG Architecture spotlight I talked with [Madhav Jivrajan](https://github.com/MadhavJivrajani)
Jivrajan](https://github.com/MadhavJivrajani) (VMware), a member of the Code Organization (VMware), a member of the Code Organization subproject.
subproject.
## Introducing the Code Organization subproject ## Introducing the Code Organization subproject
@ -33,7 +31,7 @@ and it is through this that I am involved with the Code Organization subproject
specific to Kubernetes? specific to Kubernetes?
**MJ**: Thats a fair assumption! The first interesting challenge comes from the sheer size of the **MJ**: Thats 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 Kubernetes codebase. We have 2.2 million lines of Go code (which is steadily decreasing thanks to
[dims](https://github.com/dims) and other folks in this sub-project!), and a little over 240 [dims](https://github.com/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 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 dedicated to helping out with dependency management is crucial: we need to know what dependencies
@ -66,7 +64,7 @@ repo](https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/cl
**FSM**: So the concept of staging directories fundamentally impact contributions? **FSM**: So the concept of staging directories fundamentally impact contributions?
**MJ**: Precisely, because if youd like to contribute to any of the staging repos, you will need to **MJ**: Precisely, because if youd like to contribute to any of the staging repos, you will need to
send in a PR to its corresponding staging directory in `kubernetes/kubernetes`, once the code merges send in a PR to its corresponding staging directory in `kubernetes/kubernetes`. Once the code merges
there, we have a bot called the [`publishing-bot`](https://github.com/kubernetes/publishing-bot) there, we have a bot called the [`publishing-bot`](https://github.com/kubernetes/publishing-bot)
that will sync the merged commits to the required staging repositories (like that will sync the merged commits to the required staging repositories (like
`kubernetes/client-go`). This way we get the benefits of a monorepo but we also can modularly `kubernetes/client-go`). This way we get the benefits of a monorepo but we also can modularly
@ -87,7 +85,7 @@ of much of the
that Kubernetes uses today for dependency management. This tooling helps ensure there is a that Kubernetes uses today for dependency management. This tooling helps ensure there is a
consistent way that contributors can make changes to dependencies. The project has also worked on consistent way that contributors can make changes to dependencies. The project has also worked on
additional tooling to signal statistics of dependencies that is being added or removed: additional tooling to signal statistics of dependencies that is being added or removed:
<code>[depstat](https://github.com/kubernetes-sigs/depstat)</code> [`depstat`](https://github.com/kubernetes-sigs/depstat)
Apart from dependency management, another crucial task that the project does is management of the Apart from dependency management, another crucial task that the project does is management of the
staging repositories. The tooling for achieving this (`publishing-bot`) is completely transparent to staging repositories. The tooling for achieving this (`publishing-bot`) is completely transparent to
@ -116,19 +114,21 @@ to our supported release branches.
**FSM**: Is there any major project or theme the subproject is working on right now that you would **FSM**: Is there any major project or theme the subproject is working on right now that you would
like to highlight? like to highlight?
**MJ**: I think one very interesting and immensely useful change that has been recently added (and I **MJ**: I think one very interesting and immensely useful change that
take the opportunity to specifically highlight the work of [Tim Hochin](https://github.com/thockin) has been recently added (and I take the opportunity to specifically
on this) is the introduction of [Go workspaces to the Kubernetes highlight the work of [Tim Hockin](https://github.com/thockin) on
repo](https://github.com/kubernetes/enhancements/tree/master/keps/sig-architecture/4402-go-workspaces). A this) is the introduction of [Go workspaces to the Kubernetes
lot of our current tooling for dependency management and code publishing, as well as the experience repo](/blog/2024/03/19/go-workspaces-in-kubernetes/). A lot of our
of editing code in the Kubernetes repo, can be significantly improved by this change. current tooling for dependency management and code publishing, as well
as the experience of editing code in the Kubernetes repo, can be
significantly improved by this change.
## Wrapping up ## Wrapping up
**FSM**: How would someone interested in the topic start helping the subproject? **FSM**: How would someone interested in the topic start helping the subproject?
**MJ**: The first step, as is the first step with any project in Kubernetes, is to join our slack: **MJ**: The first step, as is the first step with any project in Kubernetes, is to join our slack:
slack.k8s.io, and after that join the `#k8s-code-organization` channel. There is also a [slack.k8s.io](https://slack.k8s.io), and after that join the `#k8s-code-organization` channel. There is also a
[code-organization office [code-organization office
hours](https://github.com/kubernetes/community/tree/master/sig-architecture#meetings) that takes hours](https://github.com/kubernetes/community/tree/master/sig-architecture#meetings) that takes
place that you can choose to attend. Timezones are hard, so feel free to also look at the recordings place that you can choose to attend. Timezones are hard, so feel free to also look at the recordings
@ -137,4 +137,4 @@ or meeting notes and follow up on slack!
**FSM**: Excellent, thank you! Any final comments you would like to share? **FSM**: Excellent, thank you! Any final comments you would like to share?
**MJ**: The Code Organization subproject always needs help! Especially areas like the publishing **MJ**: The Code Organization subproject always needs help! Especially areas like the publishing
bot, so dont hesitate to get involved in the `#k8s-code-organization` slack channel. bot, so dont hesitate to get involved in the `#k8s-code-organization` Slack channel.