Files
Alex ShtinandGitHub 8e8f1b0f7c Remove license header from every file (#7689)
## What changed?
<!-- Describe what has changed in this PR -->
Remove license header from every file. Because it is really hard to
follow in this PR here is the summary:
1. License header is removed from all `.go` and `.proto` files
:fireworks::fireworks:🎆.
2. `LICENSE` file in the root directory has only Temporal and Uber
copyrights.
3. 5 other `LICENSE` files added to the packages which have copyrights
different from Temporal and Uber: Datadog, Xargin, "Mat Ryer, Tyler
Bunnell and contributors".
4. `license_file` flag is removed from all code generation tools.
5. `copyright_file` flag is removed from `go:generate mockgen`
directive.
6. All copyright related targets are removed from `Makefile`.
7. Updated Temporal copyright year to 2025 everywhere.

## Why?
<!-- Tell your future self why have you made these changes -->
I double checked with legal department that it is not needed to have
license header in every file. One file per repo is enough. I put all
copyrights to the root `LICENSE` file and removed header from all other
files. Also updated tools and `Makefile`.
2025-05-01 18:50:21 -07:00

142 lines
6.0 KiB
Go

package deletenamespace
import (
"context"
sdkworker "go.temporal.io/sdk/worker"
"go.temporal.io/sdk/workflow"
"go.temporal.io/server/common/cluster"
"go.temporal.io/server/common/dynamicconfig"
"go.temporal.io/server/common/headers"
"go.temporal.io/server/common/log"
"go.temporal.io/server/common/metrics"
"go.temporal.io/server/common/persistence"
"go.temporal.io/server/common/persistence/visibility/manager"
"go.temporal.io/server/common/primitives"
"go.temporal.io/server/common/resource"
workercommon "go.temporal.io/server/service/worker/common"
"go.temporal.io/server/service/worker/deletenamespace/deleteexecutions"
"go.temporal.io/server/service/worker/deletenamespace/reclaimresources"
"go.uber.org/fx"
)
type (
// deleteNamespaceComponent represent background work needed for delete namespace.
deleteNamespaceComponent struct {
atWorkerCfg sdkworker.Options
visibilityManager manager.VisibilityManager
metadataManager persistence.MetadataManager
clusterMetadata cluster.Metadata
nexusEndpointManager persistence.NexusEndpointManager
historyClient resource.HistoryClient
metricsHandler metrics.Handler
logger log.Logger
protectedNamespaces dynamicconfig.TypedPropertyFn[[]string]
allowDeleteNamespaceIfNexusEndpointTarget dynamicconfig.BoolPropertyFn
nexusEndpointListDefaultPageSize dynamicconfig.IntPropertyFn
deleteActivityRPS dynamicconfig.TypedSubscribable[int]
namespaceCacheRefreshInterval dynamicconfig.DurationPropertyFn
}
componentParams struct {
fx.In
DynamicCollection *dynamicconfig.Collection
VisibilityManager manager.VisibilityManager
MetadataManager persistence.MetadataManager
ClusterMetadata cluster.Metadata
NexusEndpointManager persistence.NexusEndpointManager
HistoryClient resource.HistoryClient
MetricsHandler metrics.Handler
Logger log.Logger
}
)
var Module = workercommon.AnnotateWorkerComponentProvider(newComponent)
func newComponent(
params componentParams,
) workercommon.WorkerComponent {
return &deleteNamespaceComponent{
atWorkerCfg: dynamicconfig.WorkerDeleteNamespaceActivityLimits.Get(params.DynamicCollection)(),
visibilityManager: params.VisibilityManager,
metadataManager: params.MetadataManager,
clusterMetadata: params.ClusterMetadata,
nexusEndpointManager: params.NexusEndpointManager,
historyClient: params.HistoryClient,
metricsHandler: params.MetricsHandler,
logger: params.Logger,
protectedNamespaces: dynamicconfig.ProtectedNamespaces.Get(params.DynamicCollection),
allowDeleteNamespaceIfNexusEndpointTarget: dynamicconfig.AllowDeleteNamespaceIfNexusEndpointTarget.Get(params.DynamicCollection),
nexusEndpointListDefaultPageSize: dynamicconfig.NexusEndpointListDefaultPageSize.Get(params.DynamicCollection),
deleteActivityRPS: dynamicconfig.DeleteNamespaceDeleteActivityRPS.Subscribe(params.DynamicCollection),
namespaceCacheRefreshInterval: dynamicconfig.NamespaceCacheRefreshInterval.Get(params.DynamicCollection),
}
}
func (wc *deleteNamespaceComponent) RegisterWorkflow(registry sdkworker.Registry) {
registry.RegisterWorkflowWithOptions(DeleteNamespaceWorkflow, workflow.RegisterOptions{Name: WorkflowName})
registry.RegisterActivity(wc.deleteNamespaceLocalActivities())
registry.RegisterWorkflowWithOptions(reclaimresources.ReclaimResourcesWorkflow, workflow.RegisterOptions{Name: reclaimresources.WorkflowName})
registry.RegisterActivity(wc.reclaimResourcesLocalActivities())
registry.RegisterWorkflowWithOptions(deleteexecutions.DeleteExecutionsWorkflow, workflow.RegisterOptions{Name: deleteexecutions.WorkflowName})
registry.RegisterActivity(wc.deleteExecutionsLocalActivities())
}
func (wc *deleteNamespaceComponent) DedicatedWorkflowWorkerOptions() *workercommon.DedicatedWorkerOptions {
// use default worker
return nil
}
func (wc *deleteNamespaceComponent) RegisterActivities(registry sdkworker.Registry) {
registry.RegisterActivity(wc.reclaimResourcesActivities())
registry.RegisterActivity(wc.deleteExecutionsActivities())
}
func (wc *deleteNamespaceComponent) DedicatedActivityWorkerOptions() *workercommon.DedicatedWorkerOptions {
return &workercommon.DedicatedWorkerOptions{
TaskQueue: primitives.DeleteNamespaceActivityTQ,
Options: sdkworker.Options{
BackgroundActivityContext: headers.SetCallerType(context.Background(), headers.CallerTypePreemptable),
MaxConcurrentActivityExecutionSize: wc.atWorkerCfg.MaxConcurrentActivityExecutionSize,
TaskQueueActivitiesPerSecond: wc.atWorkerCfg.TaskQueueActivitiesPerSecond,
WorkerActivitiesPerSecond: wc.atWorkerCfg.WorkerActivitiesPerSecond,
MaxConcurrentActivityTaskPollers: wc.atWorkerCfg.MaxConcurrentActivityTaskPollers,
},
}
}
func (wc *deleteNamespaceComponent) deleteNamespaceLocalActivities() *localActivities {
return newLocalActivities(
wc.metadataManager,
wc.clusterMetadata,
wc.nexusEndpointManager,
wc.logger,
wc.protectedNamespaces,
wc.allowDeleteNamespaceIfNexusEndpointTarget,
wc.nexusEndpointListDefaultPageSize)
}
func (wc *deleteNamespaceComponent) reclaimResourcesActivities() *reclaimresources.Activities {
return reclaimresources.NewActivities(wc.visibilityManager, wc.logger)
}
func (wc *deleteNamespaceComponent) reclaimResourcesLocalActivities() *reclaimresources.LocalActivities {
return reclaimresources.NewLocalActivities(wc.visibilityManager, wc.metadataManager, wc.namespaceCacheRefreshInterval, wc.logger)
}
func (wc *deleteNamespaceComponent) deleteExecutionsActivities() *deleteexecutions.Activities {
return deleteexecutions.NewActivities(
wc.visibilityManager,
wc.historyClient,
wc.deleteActivityRPS,
wc.metricsHandler,
wc.logger,
)
}
func (wc *deleteNamespaceComponent) deleteExecutionsLocalActivities() *deleteexecutions.LocalActivities {
return deleteexecutions.NewLocalActivities(wc.visibilityManager, wc.metricsHandler, wc.logger)
}