Skip to content

Commit

Permalink
Rename "data-ingest" to "metadata-enrichment" (#2967)
Browse files Browse the repository at this point in the history
  • Loading branch information
0sewa0 authored Apr 8, 2024
1 parent bbb96f4 commit f3eba0f
Show file tree
Hide file tree
Showing 58 changed files with 378 additions and 380 deletions.
8 changes: 4 additions & 4 deletions cmd/webhook/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ import (
"github.com/Dynatrace/dynatrace-operator/pkg/util/kubesystem"
"github.com/Dynatrace/dynatrace-operator/pkg/version"
"github.com/Dynatrace/dynatrace-operator/pkg/webhook"
"github.com/Dynatrace/dynatrace-operator/pkg/webhook/mutation/namespace_mutator"
"github.com/Dynatrace/dynatrace-operator/pkg/webhook/mutation/pod_mutator"
namespacemutator "github.com/Dynatrace/dynatrace-operator/pkg/webhook/mutation/namespace"
podmutator "github.com/Dynatrace/dynatrace-operator/pkg/webhook/mutation/pod"
dynakubevalidationhook "github.com/Dynatrace/dynatrace-operator/pkg/webhook/validation/dynakube"
edgeconnectvalidationhook "github.com/Dynatrace/dynatrace-operator/pkg/webhook/validation/edgeconnect"
"github.com/pkg/errors"
Expand Down Expand Up @@ -143,12 +143,12 @@ func (builder CommandBuilder) buildRun() func(*cobra.Command, []string) error {
return err
}

err = namespace_mutator.AddNamespaceMutationWebhookToManager(webhookManager, builder.namespace)
err = namespacemutator.AddWebhookToManager(webhookManager, builder.namespace)
if err != nil {
return err
}

err = pod_mutator.AddPodMutationWebhookToManager(webhookManager, builder.namespace)
err = podmutator.AddWebhookToManager(webhookManager, builder.namespace)
if err != nil {
return err
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ rules:
- secrets
resourceNames:
- dynatrace-dynakube-config
- dynatrace-data-ingest-endpoint
- dynatrace-metadata-enrichment-endpoint
- dynatrace-internal-proxy
verbs:
- get
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,13 @@ rules:
- secrets
resourceNames:
- dynatrace-dynakube-config
- dynatrace-data-ingest-endpoint
- dynatrace-metadata-enrichment-endpoint
verbs:
- get
- list
- watch
- update
# data-ingest workload owner lookup
# metadata-enrichment workload owner lookup
- apiGroups:
- ""
resources:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ tests:
- ""
resourceNames:
- dynatrace-dynakube-config
- dynatrace-data-ingest-endpoint
- dynatrace-metadata-enrichment-endpoint
resources:
- secrets
verbs:
Expand Down
14 changes: 7 additions & 7 deletions hack/make/tests/e2e.mk
Original file line number Diff line number Diff line change
Expand Up @@ -95,9 +95,9 @@ test/e2e/cloudnative/switchmodes: manifests/crd/helm
test/e2e/cloudnative/upgrade: manifests/crd/helm
go test -v -tags "$(shell ./hack/build/create_go_build_tags.sh true)" -timeout 20m -count=1 ./test/scenarios/release -args --labels "name=cloudnative-upgrade" $(SKIPCLEANUP)

## Runs Application Monitoring data-ingest e2e test only
test/e2e/applicationmonitoring/dataingest: manifests/crd/helm
go test -v -tags "$(shell ./hack/build/create_go_build_tags.sh true)" -timeout 20m -count=1 ./test/scenarios/standard -args --labels "name=app-data-ingest" $(SKIPCLEANUP)
## Runs Application Monitoring metadata-enrichment e2e test only
test/e2e/applicationmonitoring/metadataenrichment: manifests/crd/helm
go test -v -tags "$(shell ./hack/build/create_go_build_tags.sh true)" -timeout 20m -count=1 ./test/scenarios/standard -args --labels "name=app-metadata-enrichment" $(SKIPCLEANUP)

## Runs Application Monitoring label versio detection e2e test only
test/e2e/applicationmonitoring/labelversion: manifests/crd/helm
Expand Down Expand Up @@ -125,11 +125,11 @@ test/e2e/edgeconnect: manifests/crd/helm

## Runs e2e tests on gke-autopilot
test/e2e/gke-autopilot: manifests/kubernetes/gke-autopilot
go test -v -tags "$(shell ./hack/build/create_go_build_tags.sh true)" -timeout 20m -count=1 ./test/scenarios/standard -args --labels "name=app-data-ingest,name=app-read-only-csi-volume,name=app-read-only-csi-volume,name=app-without-csi,name=activegate-default" $(SKIPCLEANUP)
go test -v -tags "$(shell ./hack/build/create_go_build_tags.sh true)" -timeout 20m -count=1 ./test/scenarios/standard -args --labels "name=app-metadata-enrichment,name=app-read-only-csi-volume,name=app-read-only-csi-volume,name=app-without-csi,name=activegate-default" $(SKIPCLEANUP)

## Runs Application Monitoring data-ingest e2e test only on gke-autopilot
test/e2e/gke-autopilot/applicationmonitoring/dataingest: manifests/kubernetes/gke-autopilot
go test -v -tags "$(shell ./hack/build/create_go_build_tags.sh true)" -timeout 20m -count=1 ./test/scenarios/standard -args --labels "name=app-data-ingest" $(SKIPCLEANUP)
## Runs Application Monitoring metadata-enrichment e2e test only on gke-autopilot
test/e2e/gke-autopilot/applicationmonitoring/metadataenrichment: manifests/kubernetes/gke-autopilot
go test -v -tags "$(shell ./hack/build/create_go_build_tags.sh true)" -timeout 20m -count=1 ./test/scenarios/standard -args --labels "name=app-metadata-enrichment" $(SKIPCLEANUP)

## Runs Application Monitoring label versio detection e2e test only on gke-autopilot
test/e2e/gke-autopilot/applicationmonitoring/labelversion: manifests/kubernetes/gke-autopilot
Expand Down
4 changes: 2 additions & 2 deletions pkg/consts/enrichment_injection.go
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package consts

const (
EnrichmentEndpointSecretName = "dynatrace-data-ingest-endpoint"
EnrichmentEndpointSecretName = "dynatrace-metadata-enrichment-endpoint"
EnrichmentFilenameTemplate = "dt_metadata.%s"
EnrichmentInjectedEnv = "DATA_INGEST_INJECTED"
EnrichmentInjectedEnv = "METADATA_ENRICHMENT_INJECTED"
EnrichmentWorkloadKindEnv = "DT_WORKLOAD_KIND"
EnrichmentWorkloadNameEnv = "DT_WORKLOAD_NAME"
EnrichmentUnknownWorkload = "UNKNOWN"
Expand Down
8 changes: 4 additions & 4 deletions pkg/controllers/dynakube/injection/reconciler.go
Original file line number Diff line number Diff line change
Expand Up @@ -130,11 +130,11 @@ func (r *reconciler) removeAppInjection(ctx context.Context) (err error) {
return err
}

endpointSecretGenerator := ingestendpoint.NewEndpointSecretGenerator(r.client, r.apiReader, r.dynakube.Namespace)
endpointSecretGenerator := ingestendpoint.NewSecretGenerator(r.client, r.apiReader, r.dynakube.Namespace)

err = endpointSecretGenerator.RemoveEndpointSecrets(ctx, namespaces)
if err != nil {
log.Info("could not remove data-ingest secret")
log.Info("could not remove metadata-enrichment secret")

return err
}
Expand Down Expand Up @@ -174,11 +174,11 @@ func (r *reconciler) setupEnrichmentInjection(ctx context.Context) error {
return nil
}

endpointSecretGenerator := ingestendpoint.NewEndpointSecretGenerator(r.client, r.apiReader, r.dynakube.Namespace)
endpointSecretGenerator := ingestendpoint.NewSecretGenerator(r.client, r.apiReader, r.dynakube.Namespace)

err := endpointSecretGenerator.GenerateForDynakube(ctx, r.dynakube)
if err != nil {
log.Info("failed to generate data-ingest secret")
log.Info("failed to generate the metadata-enrichment secret")

return err
}
Expand Down
36 changes: 18 additions & 18 deletions pkg/injection/namespace/ingestendpoint/secret.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,25 +27,25 @@ const (
configFile = "endpoint.properties"
)

// EndpointSecretGenerator manages the mint endpoint secret generation for the user namespaces.
type EndpointSecretGenerator struct {
// SecretGenerator manages the mint endpoint secret generation for the user namespaces.
type SecretGenerator struct {
client client.Client
apiReader client.Reader
namespace string
}

func NewEndpointSecretGenerator(client client.Client, apiReader client.Reader, ns string) *EndpointSecretGenerator {
return &EndpointSecretGenerator{
func NewSecretGenerator(client client.Client, apiReader client.Reader, ns string) *SecretGenerator {
return &SecretGenerator{
client: client,
apiReader: apiReader,
namespace: ns,
}
}

// GenerateForNamespace creates the data-ingest-endpoint secret for namespace while only having the name of the corresponding dynakube
// GenerateForNamespace creates the metadata-enrichment-endpoint secret for namespace while only having the name of the corresponding dynakube
// Used by the podInjection webhook in case the namespace lacks the secret.
func (g *EndpointSecretGenerator) GenerateForNamespace(ctx context.Context, dkName, targetNs string) error {
log.Info("reconciling data-ingest endpoint secret for", "namespace", targetNs)
func (g *SecretGenerator) GenerateForNamespace(ctx context.Context, dkName, targetNs string) error {
log.Info("reconciling metadata-enrichment endpoint secret for", "namespace", targetNs)

var dk dynatracev1beta1.DynaKube
if err := g.client.Get(ctx, client.ObjectKey{Name: dkName, Namespace: g.namespace}, &dk); err != nil {
Expand Down Expand Up @@ -75,10 +75,10 @@ func (g *EndpointSecretGenerator) GenerateForNamespace(ctx context.Context, dkNa
return errors.WithStack(err)
}

// GenerateForDynakube creates/updates the data-ingest-endpoint secret for EVERY namespace for the given dynakube.
// GenerateForDynakube creates/updates the metadata-enrichment-endpoint secret for EVERY namespace for the given dynakube.
// Used by the dynakube controller during reconcile.
func (g *EndpointSecretGenerator) GenerateForDynakube(ctx context.Context, dk *dynatracev1beta1.DynaKube) error {
log.Info("reconciling data-ingest endpoint secret for", "dynakube", dk.Name)
func (g *SecretGenerator) GenerateForDynakube(ctx context.Context, dk *dynatracev1beta1.DynaKube) error {
log.Info("reconciling metadata-enrichment endpoint secret for", "dynakube", dk.Name)

data, err := g.prepare(ctx, dk)
if err != nil {
Expand Down Expand Up @@ -108,12 +108,12 @@ func (g *EndpointSecretGenerator) GenerateForDynakube(ctx context.Context, dk *d
return err
}

log.Info("done updating data-ingest endpoint secrets")
log.Info("done updating metadata-enrichment endpoint secrets")

return nil
}

func (g *EndpointSecretGenerator) RemoveEndpointSecrets(ctx context.Context, namespaces []corev1.Namespace) error {
func (g *SecretGenerator) RemoveEndpointSecrets(ctx context.Context, namespaces []corev1.Namespace) error {
for _, targetNs := range namespaces {
endpointSecret := &corev1.Secret{
ObjectMeta: metav1.ObjectMeta{
Expand All @@ -129,7 +129,7 @@ func (g *EndpointSecretGenerator) RemoveEndpointSecrets(ctx context.Context, nam
return nil
}

func (g *EndpointSecretGenerator) prepare(ctx context.Context, dk *dynatracev1beta1.DynaKube) (map[string][]byte, error) {
func (g *SecretGenerator) prepare(ctx context.Context, dk *dynatracev1beta1.DynaKube) (map[string][]byte, error) {
fields, err := g.PrepareFields(ctx, dk)
if err != nil {
return nil, errors.WithStack(err)
Expand All @@ -154,7 +154,7 @@ func (g *EndpointSecretGenerator) prepare(ctx context.Context, dk *dynatracev1be
return data, nil
}

func (g *EndpointSecretGenerator) PrepareFields(ctx context.Context, dk *dynatracev1beta1.DynaKube) (map[string]string, error) {
func (g *SecretGenerator) PrepareFields(ctx context.Context, dk *dynatracev1beta1.DynaKube) (map[string]string, error) {
fields := make(map[string]string)

var tokens corev1.Secret
Expand All @@ -167,24 +167,24 @@ func (g *EndpointSecretGenerator) PrepareFields(ctx context.Context, dk *dynatra
fields[MetricsTokenSecretField] = string(token)
}

if dataIngestUrl, err := dataIngestUrlFor(dk); err != nil {
if ingestUrl, err := ingestUrlFor(dk); err != nil {
return nil, err
} else {
fields[MetricsUrlSecretField] = dataIngestUrl
fields[MetricsUrlSecretField] = ingestUrl
}
}

return fields, nil
}

func dataIngestUrlFor(dk *dynatracev1beta1.DynaKube) (string, error) {
func ingestUrlFor(dk *dynatracev1beta1.DynaKube) (string, error) {
switch {
case dk.IsActiveGateMode(dynatracev1beta1.MetricsIngestCapability.DisplayName):
return metricsIngestUrlForClusterActiveGate(dk)
case len(dk.Spec.APIURL) > 0:
return metricsIngestUrlForDynatraceActiveGate(dk)
default:
return "", errors.New("failed to create data-ingest endpoint, DynaKube.spec.apiUrl is empty")
return "", errors.New("failed to create metadata-enrichment endpoint, DynaKube.spec.apiUrl is empty")
}
}

Expand Down
Loading

0 comments on commit f3eba0f

Please sign in to comment.