Do not allow PKI-KMS workers to have names updated via API This would cause their public IDs to change, which we do not want. Descriptions are also disallowed, since those come from the config file. This also adds logic to allow upgrading from old KMS method to new, with a test. Co-authored-by: Irena Rindos <irenarindos@users.noreply.github.com>
33 lines
941 B
Go
33 lines
941 B
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package server
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/hashicorp/boundary/globals"
|
|
"github.com/hashicorp/boundary/internal/db"
|
|
"github.com/hashicorp/boundary/internal/errors"
|
|
)
|
|
|
|
func newWorkerId(ctx context.Context) (string, error) {
|
|
id, err := db.NewPublicId(globals.WorkerPrefix)
|
|
if err != nil {
|
|
return "", errors.Wrap(ctx, err, "server.newWorkerId")
|
|
}
|
|
return id, nil
|
|
}
|
|
|
|
// NewWorkerIdFromScopeAndName generates a predictable public id based on the
|
|
// scope and the worker name. This should only be used on kms workers at
|
|
// upsert time.
|
|
func NewWorkerIdFromScopeAndName(ctx context.Context, scope, name string) (string, error) {
|
|
const op = "server.NewWorkerIdFromScopeAndName"
|
|
id, err := db.NewPublicId(globals.WorkerPrefix, db.WithPrngValues([]string{scope, name}))
|
|
if err != nil {
|
|
return "", errors.Wrap(ctx, err, "server.newWorkerId")
|
|
}
|
|
return id, nil
|
|
}
|