@@ -11,6 +11,7 @@ import (
11
11
"github.com/stretchr/testify/assert"
12
12
"github.com/stretchr/testify/require"
13
13
bootstrapv1alpha3 "github.com/talos-systems/cluster-api-bootstrap-provider-talos/api/v1alpha3"
14
+ "github.com/talos-systems/talos/pkg/machinery/config/types/v1alpha1/generate"
14
15
talosmachine "github.com/talos-systems/talos/pkg/machinery/config/types/v1alpha1/machine"
15
16
corev1 "k8s.io/api/core/v1"
16
17
apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
@@ -218,6 +219,84 @@ func TestIntegration(t *testing.T) {
218
219
assert .Equal (t , "-----BEGIN CERTIFICATE-----\n MIIBPzCB8qADAgECAhEArv8iYjWXC8Mataa8e2pezDAFBgMrZXAwEDEOMAwGA1UE\n ChMFdGFsb3MwHhcNMjEwOTIwMTg0MTQ5WhcNMzEwOTE4MTg0MTQ5WjAQMQ4wDAYD\n VQQKEwV0YWxvczAqMAUGAytlcAMhAOCRMlGNjsdQmgls2PCSgMdMeAIB8fAKsnCp\n aXX3rfUKo2EwXzAOBgNVHQ8BAf8EBAMCAoQwHQYDVR0lBBYwFAYIKwYBBQUHAwEG\n CCsGAQUFBwMCMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFIDgT1HeMDtWHHXl\n mVhYqUPDU0JoMAUGAytlcANBAD2GLO2vG9MHGxt9658X4xZLSYNldAgDy2tHmZ7l\n nAjAR0npZoQXBVhorrQEcea7g6To9BDmtzrF0StW895d0Ak=\n -----END CERTIFICATE-----\n " , string (provider .Machine ().Security ().CA ().Crt ))
219
220
})
220
221
222
+ t .Run ("ConfigTypeNone" , func (t * testing.T ) {
223
+ t .Parallel ()
224
+
225
+ namespaceName := setupTest (ctx , t , c )
226
+ cluster := createCluster (ctx , t , c , namespaceName , nil )
227
+
228
+ secretsBundle , err := generate .NewSecretsBundle (generate .NewClock ())
229
+ require .NoError (t , err )
230
+
231
+ input , err := generate .NewInput (cluster .Name , "https://example.com:6443/" , "v1.22.2" , secretsBundle )
232
+ require .NoError (t , err )
233
+
234
+ workers := []* bootstrapv1alpha3.TalosConfig {}
235
+
236
+ for i := 0 ; i < 4 ; i ++ {
237
+ machine := createMachine (ctx , t , c , cluster )
238
+
239
+ machineconfig , err := generate .Config (talosmachine .TypeWorker , input )
240
+ require .NoError (t , err )
241
+
242
+ configdata , err := machineconfig .Bytes ()
243
+ require .NoError (t , err )
244
+
245
+ workers = append (workers , createTalosConfig (ctx , t , c , machine , bootstrapv1alpha3.TalosConfigSpec {
246
+ GenerateType : "none" ,
247
+ Data : string (configdata ),
248
+ }))
249
+ }
250
+
251
+ controlplanes := []* bootstrapv1alpha3.TalosConfig {}
252
+
253
+ for i := 0 ; i < 3 ; i ++ {
254
+ machine := createMachine (ctx , t , c , cluster )
255
+
256
+ machineType := talosmachine .TypeInit
257
+
258
+ if i > 0 {
259
+ machineType = talosmachine .TypeControlPlane
260
+ }
261
+
262
+ machineconfig , err := generate .Config (machineType , input )
263
+ require .NoError (t , err )
264
+
265
+ configdata , err := machineconfig .Bytes ()
266
+ require .NoError (t , err )
267
+
268
+ controlplanes = append (controlplanes , createTalosConfig (ctx , t , c , machine , bootstrapv1alpha3.TalosConfigSpec {
269
+ GenerateType : "none" ,
270
+ Data : string (configdata ),
271
+ }))
272
+ }
273
+
274
+ for i , talosConfig := range append (append ([]* bootstrapv1alpha3.TalosConfig {}, controlplanes ... ), workers ... ) {
275
+ waitForReady (ctx , t , c , talosConfig )
276
+
277
+ // Note, for config type none we don't generate talosconfig (why?)
278
+
279
+ provider := assertMachineConfiguration (ctx , t , c , talosConfig )
280
+
281
+ switch {
282
+ case i == 0 :
283
+ assert .Equal (t , talosmachine .TypeInit , provider .Machine ().Type ())
284
+ case i < len (controlplanes ):
285
+ assert .Equal (t , talosmachine .TypeControlPlane , provider .Machine ().Type ())
286
+ default :
287
+ assert .Equal (t , talosmachine .TypeWorker , provider .Machine ().Type ())
288
+ }
289
+ }
290
+
291
+ assertClusterCA (ctx , t , c , cluster , assertMachineConfiguration (ctx , t , c , controlplanes [0 ]))
292
+
293
+ // compare control plane secrets completely
294
+ assertSameMachineConfigSecrets (ctx , t , c , controlplanes ... )
295
+
296
+ // compare all configs in more relaxed mode
297
+ assertCompatibleMachineConfigs (ctx , t , c , append (append ([]* bootstrapv1alpha3.TalosConfig {}, controlplanes ... ), workers ... )... )
298
+ })
299
+
221
300
}
222
301
223
302
// legacy cluster secret format
0 commit comments