1 package v1
2
3
4 type FeatureGateDescription struct {
5
6 FeatureGateAttributes FeatureGateAttributes
7
8
9
10 OwningJiraComponent string
11
12
13 ResponsiblePerson string
14
15 OwningProduct OwningProduct
16 }
17
18 type OwningProduct string
19
20 var (
21 ocpSpecific = OwningProduct("OCP")
22 kubernetes = OwningProduct("Kubernetes")
23 )
24
25 var (
26 FeatureGateGatewayAPI = FeatureGateName("GatewayAPI")
27 gateGatewayAPI = FeatureGateDescription{
28 FeatureGateAttributes: FeatureGateAttributes{
29 Name: FeatureGateGatewayAPI,
30 },
31 OwningJiraComponent: "Routing",
32 ResponsiblePerson: "miciah",
33 OwningProduct: ocpSpecific,
34 }
35
36 FeatureGateOpenShiftPodSecurityAdmission = FeatureGateName("OpenShiftPodSecurityAdmission")
37 openShiftPodSecurityAdmission = FeatureGateDescription{
38 FeatureGateAttributes: FeatureGateAttributes{
39 Name: FeatureGateOpenShiftPodSecurityAdmission,
40 },
41 OwningJiraComponent: "auth",
42 ResponsiblePerson: "stlaz",
43 OwningProduct: ocpSpecific,
44 }
45
46 FeatureGateRetroactiveDefaultStorageClass = FeatureGateName("RetroactiveDefaultStorageClass")
47 retroactiveDefaultStorageClass = FeatureGateDescription{
48 FeatureGateAttributes: FeatureGateAttributes{
49 Name: FeatureGateRetroactiveDefaultStorageClass,
50 },
51 OwningJiraComponent: "storage",
52 ResponsiblePerson: "RomanBednar",
53 OwningProduct: kubernetes,
54 }
55
56 FeatureGateExternalCloudProvider = FeatureGateName("ExternalCloudProvider")
57 externalCloudProvider = FeatureGateDescription{
58 FeatureGateAttributes: FeatureGateAttributes{
59 Name: FeatureGateExternalCloudProvider,
60 },
61 OwningJiraComponent: "cloud-provider",
62 ResponsiblePerson: "jspeed",
63 OwningProduct: ocpSpecific,
64 }
65
66 FeatureGateExternalCloudProviderAzure = FeatureGateName("ExternalCloudProviderAzure")
67 externalCloudProviderAzure = FeatureGateDescription{
68 FeatureGateAttributes: FeatureGateAttributes{
69 Name: FeatureGateExternalCloudProviderAzure,
70 },
71 OwningJiraComponent: "cloud-provider",
72 ResponsiblePerson: "jspeed",
73 OwningProduct: ocpSpecific,
74 }
75
76 FeatureGateExternalCloudProviderGCP = FeatureGateName("ExternalCloudProviderGCP")
77 externalCloudProviderGCP = FeatureGateDescription{
78 FeatureGateAttributes: FeatureGateAttributes{
79 Name: FeatureGateExternalCloudProviderGCP,
80 },
81 OwningJiraComponent: "cloud-provider",
82 ResponsiblePerson: "jspeed",
83 OwningProduct: ocpSpecific,
84 }
85
86 FeatureGateCSIDriverSharedResource = FeatureGateName("CSIDriverSharedResource")
87 csiDriverSharedResource = FeatureGateDescription{
88 FeatureGateAttributes: FeatureGateAttributes{
89 Name: FeatureGateCSIDriverSharedResource,
90 },
91 OwningJiraComponent: "builds",
92 ResponsiblePerson: "adkaplan",
93 OwningProduct: ocpSpecific,
94 }
95
96 FeatureGateBuildCSIVolumes = FeatureGateName("BuildCSIVolumes")
97 buildCSIVolumes = FeatureGateDescription{
98 FeatureGateAttributes: FeatureGateAttributes{
99 Name: FeatureGateBuildCSIVolumes,
100 },
101 OwningJiraComponent: "builds",
102 ResponsiblePerson: "adkaplan",
103 OwningProduct: ocpSpecific,
104 }
105
106 FeatureGateNodeSwap = FeatureGateName("NodeSwap")
107 nodeSwap = FeatureGateDescription{
108 FeatureGateAttributes: FeatureGateAttributes{
109 Name: FeatureGateNodeSwap,
110 },
111 OwningJiraComponent: "node",
112 ResponsiblePerson: "ehashman",
113 OwningProduct: kubernetes,
114 }
115
116 FeatureGateMachineAPIProviderOpenStack = FeatureGateName("MachineAPIProviderOpenStack")
117 machineAPIProviderOpenStack = FeatureGateDescription{
118 FeatureGateAttributes: FeatureGateAttributes{
119 Name: FeatureGateMachineAPIProviderOpenStack,
120 },
121 OwningJiraComponent: "openstack",
122 ResponsiblePerson: "egarcia",
123 OwningProduct: ocpSpecific,
124 }
125
126 FeatureGateInsightsConfigAPI = FeatureGateName("InsightsConfigAPI")
127 insightsConfigAPI = FeatureGateDescription{
128 FeatureGateAttributes: FeatureGateAttributes{
129 Name: FeatureGateInsightsConfigAPI,
130 },
131 OwningJiraComponent: "insights",
132 ResponsiblePerson: "tremes",
133 OwningProduct: ocpSpecific,
134 }
135
136 FeatureGateMatchLabelKeysInPodTopologySpread = FeatureGateName("MatchLabelKeysInPodTopologySpread")
137 matchLabelKeysInPodTopologySpread = FeatureGateDescription{
138 FeatureGateAttributes: FeatureGateAttributes{
139 Name: FeatureGateMatchLabelKeysInPodTopologySpread,
140 },
141 OwningJiraComponent: "scheduling",
142 ResponsiblePerson: "ingvagabund",
143 OwningProduct: kubernetes,
144 }
145
146 FeatureGatePDBUnhealthyPodEvictionPolicy = FeatureGateName("PDBUnhealthyPodEvictionPolicy")
147 pdbUnhealthyPodEvictionPolicy = FeatureGateDescription{
148 FeatureGateAttributes: FeatureGateAttributes{
149 Name: FeatureGatePDBUnhealthyPodEvictionPolicy,
150 },
151 OwningJiraComponent: "apps",
152 ResponsiblePerson: "atiratree",
153 OwningProduct: kubernetes,
154 }
155
156 FeatureGateDynamicResourceAllocation = FeatureGateName("DynamicResourceAllocation")
157 dynamicResourceAllocation = FeatureGateDescription{
158 FeatureGateAttributes: FeatureGateAttributes{
159 Name: FeatureGateDynamicResourceAllocation,
160 },
161 OwningJiraComponent: "scheduling",
162 ResponsiblePerson: "jchaloup",
163 OwningProduct: kubernetes,
164 }
165
166 FeatureGateAdmissionWebhookMatchConditions = FeatureGateName("AdmissionWebhookMatchConditions")
167 admissionWebhookMatchConditions = FeatureGateDescription{
168 FeatureGateAttributes: FeatureGateAttributes{
169 Name: FeatureGateAdmissionWebhookMatchConditions,
170 },
171 OwningJiraComponent: "kube-apiserver",
172 ResponsiblePerson: "benluddy",
173 OwningProduct: kubernetes,
174 }
175
176 FeatureGateAzureWorkloadIdentity = FeatureGateName("AzureWorkloadIdentity")
177 azureWorkloadIdentity = FeatureGateDescription{
178 FeatureGateAttributes: FeatureGateAttributes{
179 Name: FeatureGateAzureWorkloadIdentity,
180 },
181 OwningJiraComponent: "cloud-credential-operator",
182 ResponsiblePerson: "abutcher",
183 OwningProduct: ocpSpecific,
184 }
185 )
186
View as plain text