Deploy will create a full object storage deployment defined in the storeEnv variable
(storeEnv *Env, env *environment.TestingEnvironment)
| 554 | |
| 555 | // Deploy will create a full object storage deployment defined in the storeEnv variable |
| 556 | func 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 |
no test coverage detected