Skip to content

Commit 754ccd2

Browse files
authored
Convert wg-k8s-infra to sig-k8s-infra (#5928)
* mv wg-k8s-infra sig-k8s-infra * sigs.yaml: mv wg-k8s-infra to sig-k8s-infra * sigs.yaml: update sig-k8s-infra Specifically: - update mission statement - add k8s-infra-dns subproject - add k8s-infra-groups subproject * sigs.yaml: ran make * manual search-replace of wg-k8s-infra * slack-config: rename wg-k8s-infra channel * sig-k8s-infra: update charter Refresh the charter to: - define in scope binaries, apps, and services - explicitly spell out areas of collaboration that were previously implied - drop aspirational goals around on-call and vetting that we haven't had bandwidth to implement - drop WG-related governance terms or links
1 parent 8a343cb commit 754ccd2

File tree

13 files changed

+359
-249
lines changed

13 files changed

+359
-249
lines changed

OWNERS_ALIASES

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ aliases:
4848
- dashpole
4949
- ehashman
5050
- logicalhan
51+
sig-k8s-infra-leads:
52+
- ameukam
53+
- dims
54+
- spiffxp
55+
- thockin
5156
sig-multicluster-leads:
5257
- jeremyot
5358
- pmorie
@@ -112,10 +117,6 @@ aliases:
112117
- cantbewong
113118
- cindyxing
114119
- dejanb
115-
wg-k8s-infra-leads:
116-
- ameukam
117-
- dims
118-
- spiffxp
119120
wg-multitenancy-leads:
120121
- srampal
121122
- tashimi

communication/slack-config/channels.yaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -418,7 +418,8 @@ channels:
418418
- name: wg-component-standard-mentorship
419419
- name: wg-data-protection
420420
- name: wg-iot-edge
421-
- name: wg-k8s-infra
421+
- name: sig-k8s-infra
422+
id: CCK68P2Q2
422423
- name: wg-lts
423424
archived: true
424425
- name: wg-machine-learning

communication/youtube/youtube-guidelines.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,6 @@ The following SIGs and groups are currently running splain.io:
167167
- [SIG Network](/sig-network/README.md)
168168
- [Steering Committee](/committee-steering/governance/README.md)
169169
- [WG Data Protection](/wg-data-protection/README.md)
170-
- [WG K8s Infra](/wg-k8s-infra/README.md)
171170

172171
The main zoom admin account which holds Meet Our Contributors and others (if
173172
you log in to splain using this account, all of the other accounts will be
@@ -227,4 +226,4 @@ detailed information about streaming, see our [Streaming Config]
227226
[Streaming Config]: ./streaming-config.md
228227
[Subprojects]: /governance.md#subprojects
229228
[moderation guidelines]: /communication/moderation.md
230-
[zoom guidelines]:/communication/zoom-guidelines.md
229+
[zoom guidelines]:/communication/zoom-guidelines.md

liaisons.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ of SIGs, WGs and UGs.
3434
| [SIG Contributor Experience](sig-contributor-experience/README.md) | Bob Killen (**[@mrbobbytables](https://github.com/mrbobbytables)**) |
3535
| [SIG Docs](sig-docs/README.md) | Jordan Liggitt (**[@liggitt](https://github.com/liggitt)**) |
3636
| [SIG Instrumentation](sig-instrumentation/README.md) | Christoph Blecker (**[@cblecker](https://github.com/cblecker)**) |
37+
| [SIG K8s Infra](sig-k8s-infra/README.md) | Nikhita Raghunath (**[@nikhita](https://github.com/nikhita)**) |
3738
| [SIG Multicluster](sig-multicluster/README.md) | Paris Pittman (**[@parispittman](https://github.com/parispittman)**) |
3839
| [SIG Network](sig-network/README.md) | Derek Carr (**[@derekwaynecarr](https://github.com/derekwaynecarr)**) |
3940
| [SIG Node](sig-node/README.md) | Nikhita Raghunath (**[@nikhita](https://github.com/nikhita)**) |
@@ -51,7 +52,6 @@ of SIGs, WGs and UGs.
5152
| [WG Component Standard](wg-component-standard/README.md) | Christoph Blecker (**[@cblecker](https://github.com/cblecker)**) |
5253
| [WG Data Protection](wg-data-protection/README.md) | Paris Pittman (**[@parispittman](https://github.com/parispittman)**) |
5354
| [WG IoT Edge](wg-iot-edge/README.md) | Derek Carr (**[@derekwaynecarr](https://github.com/derekwaynecarr)**) |
54-
| [WG K8s Infra](wg-k8s-infra/README.md) | Nikhita Raghunath (**[@nikhita](https://github.com/nikhita)**) |
5555
| [WG Multitenancy](wg-multitenancy/README.md) | Jordan Liggitt (**[@liggitt](https://github.com/liggitt)**) |
5656
| [WG Naming](wg-naming/README.md) | Bob Killen (**[@mrbobbytables](https://github.com/mrbobbytables)**) |
5757
| [WG Policy](wg-policy/README.md) | Christoph Blecker (**[@cblecker](https://github.com/cblecker)**) |

sig-contributor-experience/README.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -114,10 +114,6 @@ Manages and controls Github permissions, repos, and groups, including Org Member
114114
- GitHub Administration Subproject: [Thursdays at 09:30 PT (Pacific Time)](https://zoom.us/j/442435463?pwd=Rk1PWWpSSTJDaWJKdzRYb2EyTlkvZz09) (Monthly on 4th Thursday). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=09:30&tz=PT%20%28Pacific%20Time%29).
115115
- [Meeting notes and Agenda](https://docs.google.com/document/d/1IiVrr1hcFWmbboExk971FsMUGfr2Wp68mdMribCuzLs/edit).
116116
- [Meeting recordings](https://www.youtube.com/playlist?list=PL69nYSiGNLP2x_48wbOPO0vXQgNTm_xxr).
117-
### k8s.io
118-
Creates and maintains shortcuts and automation apps running in the k8s.io domain.
119-
- **Owners:**
120-
- [kubernetes/k8s.io](https://github.com/kubernetes/k8s.io/blob/main/OWNERS)
121117
### mentoring
122118
Oversees and develops programs for helping contributors ascend the contributor ladder, including the New Contributor Workshops, Meet Our Contributors, and other programs.
123119
- **Owners:**
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# See the OWNERS docs at https://go.k8s.io/owners
22

33
reviewers:
4-
- wg-k8s-infra-leads
4+
- sig-k8s-infra-leads
55
approvers:
6-
- wg-k8s-infra-leads
6+
- sig-k8s-infra-leads
77
labels:
8-
- wg/k8s-infra
8+
- sig/k8s-infra

sig-k8s-infra/README.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
<!---
2+
This is an autogenerated file!
3+
4+
Please do not edit this file directly, but instead make changes to the
5+
sigs.yaml file in the project root.
6+
7+
To understand how this file is generated, see https://git.k8s.io/community/generator/README.md
8+
--->
9+
# K8s Infra Special Interest Group
10+
11+
SIG K8s Infra is interested in the successful migration of ownership and management of all Kubernetes project infrastructure from the google.com GCP Organization (or elsewhere) to the CNCF, such that the Kubernetes project is able to sustainably operate itself without direct assistance from external vendors or entities.
12+
In other words, we seek to eradicate usage of the phrase "oh that's something that only an employee of Vendor X can do, we're blocked until they respond."
13+
14+
The [charter](charter.md) defines the scope and governance of the K8s Infra Special Interest Group.
15+
16+
## Meetings
17+
* Regular SIG Meeting: [Wednesdays at 20:00 UTC](https://zoom.us/j/93109963352?pwd=SHJTcFR2bVg1akYxSDREUWQzaldrQT09) (bi-weekly). [Convert to your timezone](http://www.thetimezoneconverter.com/?t=20:00&tz=UTC).
18+
* [Meeting notes and Agenda](http://bit.ly/sig-k8s-infra-notes).
19+
* [Meeting recordings](http://bit.ly/sig-k8s-infra-playlist).
20+
21+
## Leadership
22+
23+
### Chairs
24+
The Chairs of the SIG run operations and processes governing the SIG.
25+
26+
* Arnaud Meukam (**[@ameukam](https://github.com/ameukam)**), Alter Way
27+
* Davanum Srinivas (**[@dims](https://github.com/dims)**), VMware
28+
29+
### Technical Leads
30+
The Technical Leads of the SIG establish new subprojects, decommission existing
31+
subprojects, and resolve cross-subproject technical issues and decisions.
32+
33+
* Aaron Crickenberger (**[@spiffxp](https://github.com/spiffxp)**), Google
34+
* Tim Hockin (**[@thockin](https://github.com/thockin)**), Google
35+
36+
## Emeritus Leads
37+
38+
* Bart Smykla (**[@bartsmykla](https://github.com/bartsmykla)**)
39+
40+
## Contact
41+
- Slack: [#sig-k8s-infra](https://kubernetes.slack.com/messages/sig-k8s-infra)
42+
- [Mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-k8s-infra)
43+
- [Open Community Issues/PRs](https://github.com/kubernetes/community/labels/sig%2Fk8s-infra)
44+
- GitHub Teams:
45+
- [@kubernetes/sig-k8s-infra](https://github.com/orgs/kubernetes/teams/sig-k8s-infra) - active contributors in sig-k8s-infra
46+
- [@kubernetes/sig-k8s-infra-leads](https://github.com/orgs/kubernetes/teams/sig-k8s-infra-leads) - sig-k8s-infra chairs and tech leads
47+
- Steering Committee Liaison: Nikhita Raghunath (**[@nikhita](https://github.com/nikhita)**)
48+
49+
## Subprojects
50+
51+
The following [subprojects][subproject-definition] are owned by sig-k8s-infra:
52+
### k8s-infra-dns
53+
Code and configuration to manage DNS records for domains owned by the Kubernetes project such as k8s.io and kubernetes.io
54+
- **Owners:**
55+
- [kubernetes/k8s.io/dns](https://github.com/kubernetes/k8s.io/blob/main/dns/OWNERS)
56+
### k8s-infra-groups
57+
Code and configuration to manage Google Groups for domains owned by the Kubernetes project such kubernetes.io
58+
- **Owners:**
59+
- [kubernetes/k8s.io/groups](https://github.com/kubernetes/k8s.io/blob/main/groups/OWNERS)
60+
### k8s.io
61+
Code and configuration to manage Kubernetes project infrastructure, including various *.k8s.io sites
62+
- **Owners:**
63+
- [kubernetes/k8s.io](https://github.com/kubernetes/k8s.io/blob/main/OWNERS)
64+
65+
[subproject-definition]: https://github.com/kubernetes/community/blob/master/governance.md#subprojects
66+
<!-- BEGIN CUSTOM CONTENT -->
67+
68+
<!-- END CUSTOM CONTENT -->

wg-k8s-infra/annual-report-2020.md renamed to sig-k8s-infra/annual-report-2020.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ What remains (TODO: we need to update our issues to reflect this)
168168
**Have you produced any artifacts, reports, white papers to date?**
169169

170170
We provide a [publicly viewable billing report](https://datastudio.google.com/u/0/reporting/14UWSuqD5ef9E4LnsCD9uJWTPv8MHOA3e)
171-
accessible to members of kubernetes-wg[email protected].
171+
accessible to members of kubernetes-sig[email protected].
172172
The project was given $3M/yr for 3 years, and our third year started ~August 2020.
173173
Our spend over the past 28 days has been ~$109K, which works out to ~$1.42M/yr.
174174
A very rough breakdown of the $109k:
@@ -179,7 +179,7 @@ A very rough breakdown of the $109k:
179179
**Is everything in your readme accurate? posting meetings on youtube?**
180180

181181
Our community
182-
[readme](https://github.com/kubernetes/community/tree/master/wg-k8s-infra) is
182+
[readme](https://github.com/kubernetes/community/tree/master/sig-k8s-infra) is
183183
accurate if sparse. The
184184
[readme](https://github.com/kubernetes/k8s.io/blob/main/README.md) in k8s.io,
185185
which houses most of the actual infrastructure, is terse and slightly out of

sig-k8s-infra/charter.md

Lines changed: 209 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,209 @@
1+
# SIG K8s Infra Charter
2+
3+
This charter adheres to the conventions described in the
4+
[Kubernetes Charter README] and uses the Roles and Organization Management
5+
outlined in [sig-governance].
6+
7+
## Scope
8+
9+
The successful migration of ownership and management of all Kubernetes
10+
project infrastructure from the google.com GCP Organization
11+
(or other IaaS vendor-owned locations) to the CNCF, such that the Kubernetes
12+
project is able to sustainably operate itself without direct assistance from
13+
external vendors or entities.
14+
15+
In other words, we seek to eradicate usage of the phrase "oh that's
16+
something that only an employee of Vendor X can do, we're blocked until
17+
they respond."
18+
19+
### In scope
20+
21+
Within this document, "infrastructure" is used to refer to cloud resources
22+
managed through an "infrastructure as a service" offering. This includes
23+
more than just raw compute, storage, and networking resources, since many
24+
cloud services provide a rich variety of resources for API-driven management.
25+
26+
#### Code, Binaries and Services
27+
28+
Code, data and policies necessary to provision, update, decommission and
29+
otherwise manage all project infrastructure as provisioned through
30+
infrastructure-as-a-service (IaaS) offerings. This includes more than raw
31+
compute, storage, and network resources traditionally bucketed under IaaS,
32+
since many cloud offerings provide a rich variety of resources via API-driven
33+
management. This may also include code and binaries which run on top of the
34+
IaaS offerings to provide services to the Kubernetes project.
35+
36+
Given that this is a broad scope, we prefer (where possible) to delegate
37+
ownership and operation of the code / infrastructure to more directly
38+
responsible SIGs or Committees. This is largely how the SIG operated during
39+
its lifetime as a WG, driving the policies and tooling upon which SIG-owned
40+
infrastructure operates.
41+
42+
Areas of responsibility include:
43+
44+
- Policy definition and enforcement for areas related to project
45+
infrastructure, including:
46+
- What is in-scope/out-of-scope for project infrastructure
47+
- Who should be allowed access to which parts of project infrastructure,
48+
e.g. team definition, vetting criteria, etc.
49+
- How infrastructure should be managed, e.g. naming schemes, acceptable
50+
tooling or practices, on-call or escalation policies, etc.
51+
- Configuration management of all resources and service usage within the
52+
kubernetes.io GCP Organization, including, but not limited to:
53+
- API / Service enablement
54+
- BigQuery datasets
55+
- DNS records, e.g. for k8s.io, kubernetes.io, and other project-owned domains
56+
- GCB usage
57+
- GCP projects, instances, images
58+
- GCR repositories
59+
- GCS buckets
60+
- GKE clusters, e.g. community infra cluster, prow build clusters
61+
- GSM secrets
62+
- Google Groups
63+
- IAM roles, service accounts, and policies
64+
- KMS keys
65+
- Managed Certificates, e.g. for k8s.io, kubernetes.io, and other project-owned
66+
domains
67+
- Reports on infrastructure operation, including:
68+
- Anonymized traffic reports to show which parts of our infrastructure
69+
are seeing the most use
70+
- Auditing reports to show the current configuration of the community's
71+
infrastructure
72+
- Billing reports to show where the community's infrastructure budget is
73+
being spent
74+
75+
In terms of subprojects, this means we own kubernetes/k8s.io and are an
76+
escalation point of last resort for more tightly scoped subprojects that
77+
live within this repo.
78+
79+
#### Cross-cutting and Externally Facing Processes
80+
81+
We prefer (where possible) to delegate ownership, operation and policy
82+
definition to SIGs that are more directly responsible for a given area
83+
of the project. However, we reserve the right to halt infrastructure or
84+
roll back changes if the project as a whole is being negatively impacted.
85+
86+
Some examples for illustrative purposes
87+
88+
##### Access Policies
89+
90+
- We are responsible for ensuring the appropriate members of a SIG have
91+
sufficient permissions to troubleshoot and manage their app or
92+
infrastructure.
93+
- However, we will NOT grant overly broad permissions to an overly broad
94+
group of people. We will collaborate with SIGs to ensure access is
95+
appropriately scoped.
96+
- We WILL ensure the appropriate set of CNCF staff have access to act as
97+
an escalation path of last resort
98+
- We MAY revoke access in the event of a security-related incident
99+
100+
e.g. SIG Release is responsible for who gets what level of access to
101+
infrastructure used by the release-engineering subproject to cut a Kubernetes
102+
release
103+
104+
##### Artifact Hosting
105+
106+
- We are not responsible for promoting into production artifacts that belong
107+
to subprojects owned by other SIGs.
108+
- However, we MAY revert changes that prevent artifact promotion from
109+
functioning.
110+
111+
e.g. SIG Storage is responsible for declaring which CSI-related images should
112+
be promoted to production, SIG Release is responsible for ensuring those
113+
images make it to production, and SIG K8s Infra is responsible for ensuring
114+
that production exists in the first place
115+
116+
##### Community Infra Cluster
117+
118+
- We are responsible for ensuring a community-owned GKE cluster is available
119+
to run apps owned by other SIGs.
120+
- However, we are NOT responsible for ensuring proper functionality of those
121+
apps. That is left to the SIGs.
122+
123+
e.g. SIG Scalability is responsible for ensuring perfdash.k8s.io displays
124+
valid data
125+
126+
##### Project Infrastructure Budget
127+
128+
- We are responsible for enforcing policy on what is considered in-scope and
129+
out-of-scope for project infrastructure (and thus, where we spend our
130+
infrastructure budget)
131+
- Crafting such policy is done in collaboration with the Steering Committee
132+
(owns project spending) and SIG Architecture (owns Kubernetes definition)
133+
- We MAY delete or scope down infrastructure in the event of unexpected or
134+
undue spend
135+
136+
e.g. SIG K8s Infra will deny requests to host artifacts for projects that are
137+
formerly part of or adjacent to the Kubernetes project (e.g. helm, cri-o)
138+
139+
##### Public Names
140+
141+
- We are responsible for enforcing policy on what is considered appropriate
142+
or inappropriate for the names of public-facing entities such as DNS
143+
records and Google Group names
144+
- Crafting such policy is done in collaboration with the Steering Committee,
145+
SIG Architecture, and SIG Contributor Experience
146+
147+
e.g. Group names that are used to communicate upon behalf of the project such
148+
as `[email protected]` are vetted by SIG Contributor Experience,
149+
group names that are used for RBAC or IAM bindings are vetted by SIG K8s Infra.
150+
151+
##### Secrets and Credentials
152+
153+
- We are responsible for ensuring secure storage and retrieval of secrets
154+
such as passwords, tokens, keys, etc.
155+
- However, we are NOT responsible for ensuring the value of those secrets
156+
is valid.
157+
- We MAY delete or deactivate secrets in the event of a security-related
158+
incident
159+
160+
e.g. SIG Contributor Experience is responsible for ensuring valid Slack API
161+
credentials exist for proper functioning of slack-infra
162+
163+
##### Security Response
164+
165+
- Overriding all of the above, we MAY revoke, delete, or deactivate
166+
infrastructure, services or access in the event of a security-related
167+
incident.
168+
- This depends on responsiveness of the owning SIG, and urgency and severity
169+
of the incident being responded to
170+
171+
e.g. SIG K8s Infra may force rotation of prow build cluster credentials if
172+
appropriately credentialed members of SIG Testing are not available
173+
174+
### Out of scope
175+
176+
We are not resonsible for code that runs _on_ project infrastructure, with
177+
the exception of:
178+
179+
- subprojects of this SIG (as listed in [`sigs.yaml`], which is more likely
180+
to be kept up to date than this charter)
181+
- code we share responsibility for (as listed in the [Cross-cutting and
182+
Externally Facing Processes] section)
183+
184+
We are not responsible for the management of nor in the escalation path for
185+
supporting non-IaaS offerings used by the Kubernetes project that are
186+
managed by other subprojects under other SIGs. For example, problems with
187+
GitHub should be routed to SIG Contributor Experience.
188+
189+
We are not responsible for managing infrastructure which has not yet been
190+
migrated to the CNCF. For example, problems with prow.k8s.io should be routed
191+
to SIG Testing.
192+
193+
## Roles and Organization Management
194+
195+
This sig adheres to the Roles and Organization Management outlined in
196+
[sig-governance] and opts-in to updates and modifications to [sig-governance].
197+
198+
We may revise this portion of the charter when it comes time to talk about
199+
providing a level of support and responsiveness that one might reasonably
200+
expect from a globally distributed open source project.
201+
202+
[sig-governance]: https://git.k8s.io/community/committee-steering/governance/sig-governance.md
203+
[Kubernetes Charter README]: https://git.k8s.io/community/committee-steering/governance/README.md
204+
[lazy consensus]: http://en.osswiki.info/concepts/lazy_consensus
205+
206+
[kubernetes-dev@]: https://groups.google.com/forum/#!forum/kubernetes-dev
207+
[sig-k8s-infra@]: https://groups.google.com/forum/#!forum/kubernetes-sig-k8s-infra
208+
[kubernetes/k8s.io]: https://git.k8s.io/k8s.io
209+
[`sigs.yaml`]: https://git.k8s.io/community/sigs.yaml

0 commit comments

Comments
 (0)