mirror of
https://github.com/edgelesssys/constellation.git
synced 2025-09-20 13:04:36 -04:00
debugd: implement qemu log collection
Signed-off-by: Paul Meyer <49727155+katexochen@users.noreply.github.com>
This commit is contained in:
parent
ac74de86fb
commit
56beb05170
3 changed files with 41 additions and 3 deletions
|
@ -20,6 +20,7 @@ import (
|
|||
"github.com/Azure/azure-sdk-for-go/sdk/keyvault/azsecrets"
|
||||
awsconfig "github.com/aws/aws-sdk-go-v2/config"
|
||||
awssecretmanager "github.com/aws/aws-sdk-go-v2/service/secretsmanager"
|
||||
"github.com/edgelesssys/constellation/v2/debugd/internal/debugd/info"
|
||||
"github.com/edgelesssys/constellation/v2/internal/cloud/cloudprovider"
|
||||
gaxv2 "github.com/googleapis/gax-go/v2"
|
||||
)
|
||||
|
@ -41,7 +42,7 @@ type openseachCredsGetter interface {
|
|||
}
|
||||
|
||||
// NewCloudCredentialGetter returns a new CloudCredentialGetter for the given cloud provider.
|
||||
func newCloudCredentialGetter(ctx context.Context, provider cloudprovider.Provider) (*credentialGetter, error) {
|
||||
func newCloudCredentialGetter(ctx context.Context, provider cloudprovider.Provider, infoMap *info.Map) (*credentialGetter, error) {
|
||||
switch provider {
|
||||
case cloudprovider.GCP:
|
||||
getter, err := newGCPCloudCredentialGetter(ctx)
|
||||
|
@ -61,6 +62,12 @@ func newCloudCredentialGetter(ctx context.Context, provider cloudprovider.Provid
|
|||
return nil, fmt.Errorf("creating AWS cloud credential getter: %w", err)
|
||||
}
|
||||
return &credentialGetter{getter}, nil
|
||||
case cloudprovider.QEMU:
|
||||
getter, err := newQemuCloudCredentialGetter(infoMap)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("creating QEMU cloud credential getter: %w", err)
|
||||
}
|
||||
return &credentialGetter{getter}, nil
|
||||
default:
|
||||
return nil, fmt.Errorf("cloud provider not supported")
|
||||
}
|
||||
|
@ -213,3 +220,34 @@ type awsSecretManagerAPI interface {
|
|||
optFns ...func(*awssecretmanager.Options),
|
||||
) (*awssecretmanager.GetSecretValueOutput, error)
|
||||
}
|
||||
|
||||
type qemuCloudCredentialGetter struct {
|
||||
creds credentials
|
||||
}
|
||||
|
||||
func newQemuCloudCredentialGetter(infoMap *info.Map) (*qemuCloudCredentialGetter, error) {
|
||||
const username = "cluster-instance-qemu"
|
||||
|
||||
password, ok, err := infoMap.Get("qemu.opensearch-pw")
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("getting qemu.opensearch-pw from info: %w", err)
|
||||
}
|
||||
if !ok {
|
||||
return nil, errors.New("qemu.opensearch-pw not found in info")
|
||||
}
|
||||
|
||||
return &qemuCloudCredentialGetter{
|
||||
creds: credentials{
|
||||
Username: username,
|
||||
Password: password,
|
||||
},
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (q *qemuCloudCredentialGetter) GetOpensearchCredentials(ctx context.Context) (credentials, error) {
|
||||
return q.creds, nil
|
||||
}
|
||||
|
||||
func (q *qemuCloudCredentialGetter) Close() error {
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ func NewStartTrigger(ctx context.Context, wg *sync.WaitGroup, provider cloudprov
|
|||
return
|
||||
}
|
||||
|
||||
cerdsGetter, err := newCloudCredentialGetter(ctx, provider)
|
||||
cerdsGetter, err := newCloudCredentialGetter(ctx, provider, infoMap)
|
||||
if err != nil {
|
||||
logger.Errorf("Creating cloud credential getter: %v", err)
|
||||
return
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue