Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(observability)(WIP): allow custom latency distribution buckets #7646

Closed
wants to merge 54 commits into from

Conversation

jfreeland
Copy link

Description

Work In Progress.

This is intended to address #7641 and add support for users to provide an alternative list of distributions thresholds.

No tests. Not entirely sure this is the best approach. Not validated at all yet.

Issue reference

Please reference the issue this PR will close: #[issue number]

Checklist

Please make sure you've completed the relevant tasks for this PR, out of the following list:

@yaron2
Copy link
Member

yaron2 commented Apr 10, 2024

@jfreeland are you still working on this?

@jfreeland
Copy link
Author

@jfreeland are you still working on this?

my wedding, honeymoon, and day job have gotten in the way. i won't have time to revisit and test for the next couple weeks, unfortunately. if someone else has time and wants to make it happen elsewhere that'd be awesome. if not i'll revisit as soon as i can.

@jfreeland jfreeland changed the title feat(observability): allow custom latency distribution buckets feat(observability)(WIP): allow custom latency distribution buckets May 20, 2024
@jfreeland jfreeland marked this pull request as ready for review May 20, 2024 00:27
@jfreeland jfreeland requested review from a team as code owners May 20, 2024 00:27
@jfreeland
Copy link
Author

jfreeland commented May 20, 2024

I think there's still work to do here but I think this is 'closer'. I didn't get a chance to dig around the Makefile and reverse engineer the quickest path to building my own containers and pushing to my own registry so that I could test this out in my development environment.

I seem to recall a couple months ago that I regenerated the generated files myself but I didn't do that tonight. I don't recall seeing that I needed to in CONTRIBUTING.md, but maybe I wasn't looking in the right place.

It might be cool if there was some simple app that could be used for local testing with https://tilt.dev like https://github.com/hashicorp-demoapp/hashicups-setups.

I also spotted a little typo https://github.com/dapr/dapr/blob/master/pkg/diagnostics/grpc_monitoring.go#L57 healthProbeRoundripLatency should be Roundtrip along the way that bothered me enough to make a note. Probably worthy of a separate PR just to ensure consistency and searchability.

@jfreeland
Copy link
Author

I seem to recall a couple months ago that I regenerated the generated files myself but I didn't do that tonight. I don't recall seeing that I needed to in CONTRIBUTING.md, but maybe I wasn't looking in the right place.

I found @ItalyPaleAle 's reference to make code-generate and ran it again but there was no diff. I updated configuration.yaml by hand in this PR. That was probably not correct.

@jfreeland
Copy link
Author

Update...

Some of the unit test errors were because I was missing the new-ish statusKey. Maybe that's also related to integration test failures but I didn't quickly determine that.

I haven't yet tracked down what's causing the runtime/service_invocation/res_recv_latency_ms: cannot register view "runtime/service_invocation/res_recv_latency_ms"; a different view with the same name is already registered errors. I removed this from handler_test.go in d5c590a but that was actually probably the wrong thing to do. I believe there's something about these tests running in parallel that was working fine before but no longer is the case after the distribution bucket changes, which is not what I expected. Now that I've addressed the statusKey change I've got more cannot register view errors in e.g. https://github.com/jfreeland/dapr/blob/8519d226924000dab0793bdecbc8191cea10a0a5/pkg/diagnostics/resiliency_monitoring_test.go#L188.

jfreeland and others added 20 commits June 3, 2024 00:34
WIP

Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Before v1.12, Daprd's would connect to the sentry service on port 80. This
was changed to 443 in v1.12, but we kept the port 80 open for backwards
compatibility. This PR removes the port 80 from the sentry service.

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
* Refactor api/errors into builders

Refactors api/errors into functional builders. The current API for
api/errors is heavily string concatenation based with long parameter
arguments. This is fragile/error prone to the developer and difficult to
understand for the consumer.

This change should make it clearer to the reader/consumer what the
intended errors are and how to use them. Moving implementation details
of the error protocol codes into the error package also helps to clean
up API implementation code.

Signed-off-by: joshvanl <me@joshvanl.dev>

* Remove use of `stderror` `errors` alias

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
* Test Integration: reserve ports in ordered blocks

Dapr opens a lot of ports. Integration tests use upwards of a 1000 ports
through a run. Tests are run in parallel and ports are reserved on
demand through port 0 then being released before being used by a test.
There was a high chance that a port would attempted to be used by
multiple tests/processes at the same time causing conflict errors and
false test failures.

To prevent these conflicts, the ports utils has been moved to a process
which will reserve 300 blocks of ports to be used by tests. These ports
are reserved by incrementing through port ranges 1024 to 65535 in a
ring. This always prevents conflicts on this test runner, and should
also decrease port conflicts across multiple simultaneous test runners.

Signed-off-by: joshvanl <me@joshvanl.dev>

* Rename intPort to port

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Loong Dai <long.dai@intel.com>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Adds youtube link to a talk about the integration tests which might be
useful for developers to learn more.

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
* Runtime Manifest Loader Refactor

The current implementation of Component and HTTPEndpoint disk &
Kubernetes manifest loader spanned across disjointed packages with semi
generic functionality. PR continues the existing generic manifest loader
pattern with a shared internal package. Moves both Component and
HTTPEndpont loader implementations into shared internal generic package.

Existing Subscription, Configuration, and Resiliency loaders are left
as-is but should will be brought into this shared generic loader in
future PRs.

Signed-off-by: joshvanl <me@joshvanl.dev>

* Adds namespace filter to disk manifest loader

Signed-off-by: joshvanl <me@joshvanl.dev>

* Fix disk loader unit test

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
It is sometimes the case that Dapr services are suspended for a period
of time, for example when developer closes their laptop over night,
before being resumed after a significant period of time. Due to the
renewal timer being a Go Timer, it will also be suspended during this
time and only resume after the process is resumed.

Because X.509 certificates expiration validity follow wall-clock time
and the renewal timer follows process up-time time, it is possible for
a Dapr identity certificates to expire and not be renewed until enough
observed time has passed for the renewal timer to trigger.

This commit introduces a safety check whereby the renewal timer will
always trigger either every minute or at renewal time, whichever is
sooner. Once ticked, the renew loop will check to ensure whether the
renewal time has actually been reached before renewing.

This change helps out developers by not needing to restart the Dapr
cluster when they suspend their Dapr clusters for a period of time.
While it is not expected that this change be useful in production, it is
possible users are suspending and resuming virtual machines in
production.

Adds a renewal integration test to ensure Dapr identity certificate is
renewed based on expiration.

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Co-authored-by: Loong Dai <long.dai@intel.com>
Signed-off-by: Joey Freeland <joey@free.land>
Adds support for injector process in integration tests.

Adds basic healthz & ports tests for injector.

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Use correct free port import and interface in injector integration test
process.

Signed-off-by: joshvanl <me@joshvanl.dev>
Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: mikeee <hey@mike.ee>
Co-authored-by: Josh van Leeuwen <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
…IRE TLS clients and servers. (#7037)

* Removes legacy SPIFFE TLS clients and servers in favour of the new SPIRE TLS clients and servers.

Signed-off-by: joshvanl <me@joshvanl.dev>

* Fix sentry int tests, and adds test to ensure legacy ID is not longer
accepted

Signed-off-by: joshvanl <me@joshvanl.dev>

* String match on sentry Kubernetes validator longname test

Signed-off-by: joshvanl <me@joshvanl.dev>

* Fix namespace of sentry in operator tests

Signed-off-by: joshvanl <me@joshvanl.dev>

* Linting

Signed-off-by: joshvanl <me@joshvanl.dev>

* Update integration kubernetes process to use leaf certificate with
cluster.local

Signed-off-by: joshvanl <me@joshvanl.dev>

* Fix setting correct control plane trust domain on daprd

Signed-off-by: joshvanl <me@joshvanl.dev>

* Remove SENTRY_LOCAL_IDENTITY form expected env var

Signed-off-by: joshvanl <me@joshvanl.dev>

* Fix control plane trust domain setting in test

Signed-off-by: joshvanl <me@joshvanl.dev>

* Fixes int version skew tests using legacy client/server

Signed-off-by: joshvanl <me@joshvanl.dev>

* Fix int version-skew patch on v1.13.0

Signed-off-by: joshvanl <me@joshvanl.dev>

* Use correct namespace for sentry in injector integration tests

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
Signed-off-by: Joey Freeland <joey@free.land>
…7657)

When block shutdown is enabled, Dapr will block the shutdown sequence
for a configurable amount of time or until the app becomes unhealthy.
During this time the out-bound Dapr APIs remain available but all
in-bound requests are blocked. Currently, in-flight PubSub messages are
canceled when Dapr receives a SIGTERM, which can result in lost
messages.

Patch updates the pubsub subscribe message handler policy runner to
execute sending the message to the app channel in a background context.
This ensures that when Dapr cancels the Subscription due to a blocking
shutdown, the in-flight message is not effected.

Enables the `dapr_component_pubsub_egress_bulk_count` and
`dapr_component_pubsub_egress_bulk_latency` metrics for bulk pubsub
egress which were previously not enabled, as they are used to test that
an in-flight message is correctly sent after Dapr has begun to shutdown.

Signed-off-by: joshvanl <me@joshvanl.dev>
momantech and others added 23 commits June 3, 2024 00:36
Signed-off-by: momantech <cuimoman@qq.com>
Signed-off-by: Joey Freeland <joey@free.land>
The current fuzz generator for the state and secret fuzz Component names
can sometimes produce invalid names, making those tests flaky.

Update name generation to always output a valid name.

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
* Hot Reload: Subscription

Adds support for Subscription Hot Reloading.

If the Hot Reloading preview feature is enabled, create, update and
delete events to declarative Subscriptions will be reflected in the
Subscriptions runtime without needing to restart the Dapr runtime. Works
in both self-hosted and Kubernetes modes.

Note that, because topic routes and not indexed by Subscription
resources, all Subscriptions will be cancelled and topic routes re-built
and re-subscribed when a Subscription event occurs. A possible
improvement would to only cancel all topic route subscriptions which are
related to the Subscription pubsub or include an index of the
Subscription which a topic is routed for, however this is out of scope
of this change. Support for per topic route cancellation will be needed
for on-demand bi-directional subscriptions.

In-flight messages are not effected by Subscription hot reloading.

Branched from #7582

Closes #7139

Signed-off-by: joshvanl <me@joshvanl.dev>

* Load all Subscriptions before reloading on boot

Signed-off-by: joshvanl <me@joshvanl.dev>

* Adds unit tests for subscription client side scope filtering

Signed-off-by: joshvanl <me@joshvanl.dev>

* Linting

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
…actors (#7337)

* Allow canceling recurring reminders after execution for non-internal actors

Internal actors have the ability to cancel a recurring reminder by responding to an execution with the special error `ErrReminderCanceled` after a reminder is executed.

However, the capability was never exposed to "external" actors.

This PR adds the ability for an actor to stop recurring reminders (and timers) after they are executed also for "external" actors. This is possible by including the header `X-DaprReminderCancel` with a truthy value in the response when a reminder or timer is executed.

This will require support in SDKs, but it allows something that is particularly helpful (and today can be buggy, see #6666)

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* Lint

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

* Lint

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>

---------

Signed-off-by: ItalyPaleAle <43508+ItalyPaleAle@users.noreply.github.com>
Co-authored-by: Mukundan Sundararajan <65565396+mukundansundar@users.noreply.github.com>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: yaron2 <schneider.yaron@live.com>
Co-authored-by: Mike Nguyen <hey@mike.ee>
Co-authored-by: Josh van Leeuwen <me@joshvanl.dev>
Co-authored-by: Artur Souza <asouza.pro@gmail.com>
Signed-off-by: Joey Freeland <joey@free.land>
* add additional status properties for pub/sub metrics

Signed-off-by: Kun Chang <curtis@mail.ustc.edu.cn>

* fix integration test

Signed-off-by: Kun Chang <curtis@mail.ustc.edu.cn>

---------

Signed-off-by: Kun Chang <curtis@mail.ustc.edu.cn>
…et (#7451)

* Prioritized value of OTEL_SERVICE_NAME envvar over configuration, if set, to resolve #5942 for Aspire tracing support.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit test for new function - passing

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Prioritized value of OTEL_SERVICE_NAME envvar over configuration, if set, to resolve #5942 for Aspire tracing support.

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Added unit test for new function - passing

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Update pkg/runtime/runtime_test.go

Co-authored-by: Josh van Leeuwen <me@joshvanl.dev>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Update pkg/runtime/runtime_test.go

Co-authored-by: Josh van Leeuwen <me@joshvanl.dev>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Update pkg/runtime/runtime_test.go

Co-authored-by: Josh van Leeuwen <me@joshvanl.dev>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Missing func keyword

Co-authored-by: Alessandro (Ale) Segala <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Update pkg/runtime/runtime.go

Co-authored-by: Alessandro (Ale) Segala <43508+ItalyPaleAle@users.noreply.github.com>
Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

* Fixed linter errors

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>

---------

Signed-off-by: Whit Waldo <whit.waldo@innovian.net>
Co-authored-by: Josh van Leeuwen <me@joshvanl.dev>
Co-authored-by: Alessandro (Ale) Segala <43508+ItalyPaleAle@users.noreply.github.com>
Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
Signed-off-by: Joey Freeland <joey@free.land>
Adds Hot Reloading integration test to ensure that the Hot Reloading
reconciler correctly updates/creates/deletes Components when they have
scopes defined.

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
* add data extension fields to outbox

Signed-off-by: yaron2 <schneider.yaron@live.com>

* fix typo

Signed-off-by: yaron2 <schneider.yaron@live.com>

* add pubsub field to finalized cloudevent

Signed-off-by: yaron2 <schneider.yaron@live.com>

* add non-overridable fields and tests

Signed-off-by: yaron2 <schneider.yaron@live.com>

* add validation of correct cloud events to intg test

Signed-off-by: yaron2 <schneider.yaron@live.com>

---------

Signed-off-by: yaron2 <schneider.yaron@live.com>
Signed-off-by: Joey Freeland <joey@free.land>
* Operator: Component server side scope filtering

Today, daprd's will receive Component from the operator, regardless of
whether they are scoped for that Component or not. This means that
clients do receive components (including its associated secrets) that
they are not scoped for.

Updates Operator API ComponentUpdate to perform service side Component
Scope filtering based on the authenticated client App ID. When a
Component is de-scoped, daprd will receive a DELETE for the previous
Component manifest. When a Component is scoped-in, daprd will receive an
CREATE for the new Component manifest.

Updates Operator API ListComponents to perform service side Component
Scope filtering based on the authenticated client App ID.

Uses updated events batcher which ensures queue items are sent in order.

Signed-off-by: joshvanl <me@joshvanl.dev>

* Add 2 daprds for operator informer tests

Signed-off-by: joshvanl <me@joshvanl.dev>

* Fix control plane trust domain

Signed-off-by: joshvanl <me@joshvanl.dev>

* Update github.com/dapr/kit to master

Signed-off-by: joshvanl <me@joshvanl.dev>

* go mod tidy

Signed-off-by: joshvanl <me@joshvanl.dev>

* Fix incorrect pointer manifest compare

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
Signed-off-by: Joey Freeland <joey@free.land>
* Disk Loader: Scope filtering

Adds scope filtering to the disk manifest loader.

Though this doesn't have any security benefits, it does mean manifests
are filtered much sooner in the runtime when running in self-hosted mode
and prevents logging/errors downstream in modules like the hot reloading
reconciler.

Signed-off-by: joshvanl <me@joshvanl.dev>

* Update internal disk loader unit test with Options param

Signed-off-by: joshvanl <me@joshvanl.dev>

* Pass appID to hotreload disk loader for scope filtering

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Signed-off-by: Joey Freeland <joey@free.land>
* first commit

Signed-off-by: yaron2 <schneider.yaron@live.com>

* add tests

Signed-off-by: yaron2 <schneider.yaron@live.com>

* linter

Signed-off-by: yaron2 <schneider.yaron@live.com>

---------

Signed-off-by: yaron2 <schneider.yaron@live.com>
Signed-off-by: Joey Freeland <joey@free.land>
* Pin latest contrib with Go 1.22

Signed-off-by: Bernd Verst <github@bernd.dev>

* Fix mysterious linter issue

Signed-off-by: Bernd Verst <github@bernd.dev>

* Downgrade cosmosdb

Signed-off-by: Bernd Verst <github@bernd.dev>

* Update go.mod

Signed-off-by: Bernd Verst <github@bernd.dev>

* Fix CosmosDB for latest API version

Signed-off-by: Bernd Verst <github@bernd.dev>

* Install gotestsum in Makefile

Signed-off-by: Bernd Verst <github@bernd.dev>

* Pin Go 1.22.2

Signed-off-by: Bernd Verst <github@bernd.dev>

* Fix makefile

Signed-off-by: Bernd Verst <github@bernd.dev>

* revert makefile changes

Signed-off-by: Bernd Verst <github@bernd.dev>

* Update all go.mod/Makefile/Dockerfile for `1.22`. Remove `{}` chars from
HTTP route fuzz generations.

Signed-off-by: joshvanl <me@joshvanl.dev>

* Makefile: export `go/bin` to PATH for darwin

Exports the `go/bin/darwin_$(arch)` directory to the PATH environment
variable when running on Darwin. This ensures that binaries installed by
`go install` are available in the Makefile exec path.

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: Bernd Verst <github@bernd.dev>
Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: joshvanl <me@joshvanl.dev>
Signed-off-by: Joey Freeland <joey@free.land>
* Refactor SPIFFE from `pkg/security` to `kit`

Updates the `pkg/security` package to move the SPIFFE implementation to
a new kit package. This new kit package is more modulated and fuller
test coverage. This package has been moved so that it can be both
imported by dapr & components-contrib, as well as making the package
more suitable for further development to support X.509 Component auth.

dapr/proposals#51

Also moves in test/utils from dapr to crypto/test for shared usage.

Part of dapr/proposals#51

Uses go mod fork of dapr/kit#92

Signed-off-by: joshvanl <me@joshvanl.dev>

* Include SVID context with `Init`ing Component

Signed-off-by: joshvanl <me@joshvanl.dev>

* Adds security to processor options

Signed-off-by: joshvanl <me@joshvanl.dev>

* Update github.com/dapr/dapr to master

Signed-off-by: joshvanl <me@joshvanl.dev>

* Update `util` to new `test` package import

Signed-off-by: joshvanl <me@joshvanl.dev>

* Update go.sum

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Signed-off-by: Joey Freeland <joey@free.land>
* Adds `listen-address` CLI flags for all services servers.

Address corresponding `--listen-address` CLI flags for all services
servers. This sets the listening address for these TCP servers.

This is added to allow users to both bind the address to localhost to
prevent access to a particular server on the network, as well as for
integration testing as it is more correct to bind to localhost and
prevents triggering MacOS firewall popups.

Signed-off-by: joshvanl <me@joshvanl.dev>

* Report localhost to nameresolver when internal grpc listen address is
localhost

Signed-off-by: joshvanl <me@joshvanl.dev>

* Use localhost host for placement report when internal gRPC address is
localhost

Signed-off-by: joshvanl <me@joshvanl.dev>

* Change default listen-address from `0.0.0.0` to empty string to allow
for default ipv6 support and keep backwards compat.

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: Joey Freeland <joey@free.land>
* Update README.md

Signed-off-by: Martin Oehlert <mo1987@gmx.net>

* Update README.md

Signed-off-by: Martin Oehlert <mo1987@gmx.net>

---------

Signed-off-by: Martin Oehlert <mo1987@gmx.net>
Signed-off-by: Joey Freeland <joey@free.land>
* api token fix

---------

Signed-off-by: Elena Kolevska <elena@kolevska.com>
Signed-off-by: Artur Souza <asouza.pro@gmail.com>
Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Artur Souza <asouza.pro@gmail.com>
Co-authored-by: Elena Kolevska <elena@kolevska.com>
Co-authored-by: Dapr Bot <56698301+dapr-bot@users.noreply.github.com>
Signed-off-by: Joey Freeland <joey@free.land>
…ut (#7754)

* Test Integration: increase daprd process healthz and total test timeout

Increases daped processes healthz check timeout from 10s to 30s, and
increases the total test timeout from 30s to 45s.

Our integration tests run multiple tests concurrently, involving
executing multiple processes & network listeners etc. Because our
Windows and MacOS CI runners are slow, the daprd healthz checker can
timeout before the daprd process on the host has had a chance to boot
up and become ready to serve. This leads to false positives flakes to
our integration test runs. Change should reduce integration test
flakes.

Signed-off-by: joshvanl <me@joshvanl.dev>

* Assert httpendpoint int test resp body with eventually

Signed-off-by: joshvanl <me@joshvanl.dev>

* Wait until daprd2 is running in hotreload operator informer component
int test

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Artur Souza <asouza.pro@gmail.com>
Signed-off-by: Joey Freeland <joey@free.land>
* Subscriptions: bi-directional subscription & publish streaming.

Adds SubscribeTopicEvents proto API which dynamically subscribes to
pubsub topics based on dapr/proposals#52.

This is a basic gRPC implementation of the API whereby, like
Subscription hot-reloading today, subscribing to a topic will reload
_every_ active subscription for the current daprd. In a future PR,
reloading of Subscriptions will be granular to the specific pubsub
topic.

Stream subscriptions are also only active once daprd declares the
application as both present and ready. Dynamic stream subscriptions
should be active both whether a app is running or not, as well as
whether it is ready or not. This will be addressed in a future PR.

Signed-off-by: joshvanl <me@joshvanl.dev>

* Updates go.mod go version to 1.22.3 in e2e apps

Signed-off-by: joshvanl <me@joshvanl.dev>

* Remove small context timeout on httpserver int tests

Signed-off-by: joshvanl <me@joshvanl.dev>

* Wait for daprd2 to be ready before calling meta endpoint in
hot-op-inf-comp test

Signed-off-by: joshvanl <me@joshvanl.dev>

* Increase int test daprd wait until ready timeout to 30s

Signed-off-by: joshvanl <me@joshvanl.dev>

* Assert httpendpoint int test resp body with eventually

Signed-off-by: joshvanl <me@joshvanl.dev>

* Set subscription APIs Alpha1

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Co-authored-by: Yaron Schneider <schneider.yaron@live.com>
Signed-off-by: Joey Freeland <joey@free.land>
* Update controller-tools to 0.15.0

Signed-off-by: joshvanl <me@joshvanl.dev>

* Updates github.com/grafana/k6-operator to v0.0.14

Signed-off-by: joshvanl <me@joshvanl.dev>

* Adds `controller-gen` dependency to `k6-operator` Makefile targets

Signed-off-by: joshvanl <me@joshvanl.dev>

* Removes Azure perf test report

Signed-off-by: joshvanl <me@joshvanl.dev>

---------

Signed-off-by: joshvanl <me@joshvanl.dev>
Signed-off-by: Joey Freeland <joey@free.land>
* Partial revert "Update controller-tools to 0.15.0 (#7775)"

This partially reverts commit 24a3846.
Revert changes to:
 - go.mod
 - go.sum
 - tests/runner/loadtest/k6.go

Signed-off-by: mikeee <hey@mike.ee>

* chore: revert to k6-operator 0.0.8 and adds a hack to modify the CRDs

Signed-off-by: mikeee <hey@mike.ee>

* test: lower actor_reminder expected QPS

Signed-off-by: mikeee <hey@mike.ee>

---------

Signed-off-by: mikeee <hey@mike.ee>
Signed-off-by: Joey Freeland <joey@free.land>
Signed-off-by: Joey Freeland <joey@free.land>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet