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

feature/resource reporter #39

Draft
wants to merge 23 commits into
base: main
Choose a base branch
from
Draft

Conversation

kiapanahi
Copy link
Owner

  • chore: run dotnet format and some code cleanups

  • Update version to 0.5.0
    Adding a Resource Reporter is not a breaking change but its a major
    change in the current state of the project. Hence the bump in the minor
    portion of the version number.

  • [WIP] adding resource reporter

  • Add ExtensibilityGlobals section to solution file
    This commit introduces a new global section labeled ExtensibilityGlobals
    in the Aspire.ResourceService.Standalone.sln file, which includes a
    SolutionGuid entry. This addition indicates support for
    extensibility features or plugins, while retaining the existing global
    sections to enhance the solution's metadata.

  • Make DockerResourceProviderTests sealed
    Changed DockerResourceProviderTests from public class to public sealed
    class to prevent inheritance and enhance design integrity.

  • Refactor method signatures in DockerResourceProvider
    Standardized whitespace around the CancellationToken parameter
    in the UpdateStream and GetResourceLogs methods for improved
    readability and consistency without changing functionality.

  • Add ChannelExtensions with GetBatchesAsync method
    Introduces a new static class ChannelExtensions
    This method efficiently reads batches of messages from a Channel<T>
    with support for a minimum read interval and a cancellation token.

  • Add licensing comments and refactor snapshots
    Removes the EnvironmentVariableSnapshot record and comments out several
    properties in ResourceSnapshot.cs, indicating they are no at the moment
    required and temporarily disabled. Additionally, the health state computation
    line has been commented out.

  • Add async helpers for tests

  • [WIP] basic implementation for resource reporter

Adding a Resource Reporter is not a breaking change but its a major
change in the current state of the project. Hence the bump in the minor
portion of the version number.
This commit introduces a new global section labeled `ExtensibilityGlobals`
in the `Aspire.ResourceService.Standalone.sln` file, which includes a
`SolutionGuid` entry. This addition indicates support for
extensibility features or plugins, while retaining the existing global
sections to enhance the solution's metadata.
Changed DockerResourceProviderTests from public class to public sealed
class to prevent inheritance and enhance design integrity.
Standardized whitespace around the CancellationToken parameter
in the UpdateStream and GetResourceLogs methods for improved
readability and consistency without changing functionality.
Introduces a new static class `ChannelExtensions`
This method efficiently reads batches of messages from a `Channel<T>`
with support for a minimum read interval and a cancellation token.
Removes the `EnvironmentVariableSnapshot` record and comments out several
properties in `ResourceSnapshot.cs`, indicating they are no at the moment
required and temporarily disabled. Additionally, the health state computation
line has been commented out.
@kiapanahi
Copy link
Owner Author

When merged, closes #38

@kiapanahi kiapanahi linked an issue Mar 3, 2025 that may be closed by this pull request
kiapanahi added 13 commits March 4, 2025 11:27
Adds test for the streaming section of the resource reporter.
Remove commented code in ResourceReporter tests
The tests ensure that resource reporter is
first: registered
second: is registered as singleton
after using the corresponding DI registration method
The file is directly copied over from Aspire's original source
code and includes some of the words that are not defined
in dictionaries but have meaning in the context.
The interface represents the behaviors of any Resource Reporter
and is injected in any resource provider that want to report
its resource state to the resource reporter
This change facilitates using implementations of `ResourceSnapshot` when
createing snapshots for `IResourceReporter` in different implementations of
`IResourceProvider`.
Update compose file and remove Aspire Dashboard from the test compose file.
Add separate powershell and bash scripts to start a standalone Aspire Dashboard.
The script first tries to stop any running container before starting the
dashboard. This is to prevent the dashboard from failing to start if the
container is already running.
Move dev env resource provider configs to `appsettings.Development.json`
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.

Fetch resources from multiple providers
1 participant