MCPcopy Create free account
hub / github.com/cloudnative-pg/cloudnative-pg / Deploy

Function Deploy

tests/utils/objectstore/objectstore.go:556–598  ·  view source on GitHub ↗

Deploy will create a full object storage deployment defined in the storeEnv variable

(storeEnv *Env, env *environment.TestingEnvironment)

Source from the content-addressed store, hash-verified

554
555// Deploy will create a full object storage deployment defined in the storeEnv variable
556func Deploy(storeEnv *Env, env *environment.TestingEnvironment) (*appsv1.Deployment, error) {
557 var err error
558 storeEnv.CaPair, err = certs.CreateRootCA(storeEnv.Namespace, "object-store")
559 if err != nil {
560 return nil, err
561 }
562
563 storeEnv.CaSecretObj = *storeEnv.CaPair.GenerateCASecret(storeEnv.Namespace, storeEnv.CaSecretName)
564 if _, err = objects.Create(env.Ctx, env.Client, &storeEnv.CaSecretObj); err != nil {
565 return nil, err
566 }
567
568 // sign and create secret using CA certificate and key
569 serverPair, err := storeEnv.CaPair.CreateAndSignPair("object-store", certs.CertTypeServer,
570 []string{"object-store.useless.domain.not.verified", "object-store.object-store"},
571 )
572 if err != nil {
573 return nil, err
574 }
575
576 serverSecret := serverPair.GenerateCertificateSecret(storeEnv.Namespace, storeEnv.TLSSecret)
577 if err = env.Client.Create(env.Ctx, serverSecret); err != nil {
578 return nil, err
579 }
580
581 setup, err := sslSetup(storeEnv.Namespace)
582 if err != nil {
583 return nil, err
584 }
585 if err = installObjectStore(env, setup, storeEnv.Timeout); err != nil {
586 return nil, err
587 }
588
589 clientDeployment := sslClient(storeEnv.Namespace)
590 if err = env.Client.Create(env.Ctx, &clientDeployment); err != nil {
591 return nil, err
592 }
593 if err = deployments.WaitForReady(env.Ctx, env.Client, &clientDeployment, 240); err != nil {
594 return nil, err
595 }
596
597 return &clientDeployment, nil
598}
599
600// ClientPodRef returns the kubectl resource reference used to exec commands
601// against the S3 client. It targets the Deployment rather than a fixed Pod

Callers 1

suite_test.goFile · 0.92

Calls 10

CreateRootCAFunction · 0.92
CreateFunction · 0.92
WaitForReadyFunction · 0.92
sslSetupFunction · 0.85
installObjectStoreFunction · 0.85
sslClientFunction · 0.85
GenerateCASecretMethod · 0.80
CreateAndSignPairMethod · 0.80
CreateMethod · 0.65

Tested by

no test coverage detected