Repository navigation
Feature/version 11 - #178
Conversation
- Added IEventDispatcher for publishing integration events asynchronously. - Introduced IEventHandler and IEventHandlerLegacy for handling events. - Created IRejectedEvent and RejectedEvent to represent rejected events. - Defined IPagedFilter and PagedResult for paginated query results. - Introduced ITypeList and TypeList for managing type collections. - Added auditing interfaces: IAudited, ICreationAudited, IModificationAudited, IDeletionAudited, IFullAudited, IHasCreationTime, IHasDeletionTime, and IHasModificationTime. - Implemented IRepositoryOfEntity and ISupportsExplicitLoading for repository patterns. - Created IUnitOfWork for managing database transactions.
feat: Implement CQRS event handling and auditing interfaces - Added IEventDispatcher for publishing integration events asynchronously. - Introduced IEventHandler and IEventHandlerLegacy for handling events. - Created IRejectedEvent and RejectedEvent to represent rejected events. - Defined IPagedFilter and PagedResult for paginated query results. - Introduced ITypeList and TypeList for managing type collections. - Added auditing interfaces: IAudited, ICreationAudited, IModificationAudited, IDeletionAudited, IFullAudited, IHasCreationTime, IHasDeletionTime, and IHasModificationTime. - Implemented IRepositoryOfEntity and ISupportsExplicitLoading for repository patterns. - Created IUnitOfWork for managing database transactions.
…-library into feature/version_11
Updated Copilot instructions to include language, coding standards, tech stack, and architecture details.
- Removed all App.Metrics and InfluxDB code, builder extensions, and NuGet dependencies; Prometheus metrics support remains - Updated XML documentation for interfaces and utility methods - Changed MetricsOptions, PrometheusOptions, and RedisOptions properties to use internal setters - Commented out InfluxDB methods in IMetricsOptionsBuilder and MetricsOptionsBuilder - Updated dependency versions in .csproj files - Refactored Redis extension methods for clarity and improved documentation - Improved null/empty checks and error handling in Encryptor and Signer classes - Refactored demo contract classes for better serialization/deserialization - Added comments in demo handlers for business logic placement - Updated README_NUGET.md files to reflect new dependencies and remove outdated references - Updated startup code to remove App.Metrics usage and ensure only Prometheus metrics are used - Applied minor formatting and code style improvements throughout
…pdate Copilot instructions
Major overhaul of infrastructure-as-code: - Added production-ready Terraform for Azure: RG, ACR, App Service Plan, 2 container apps, App Insights, Log Analytics, autoscaling, managed identities, multi-env support, and secure defaults. - Introduced robust Makefile and cross-platform deploy scripts (Bash/Windows) for streamlined automation. - Added Helm chart for Kubernetes deployments with env/secret/ingress support. - Standardized Docker Compose for local/demo use; improved Prometheus config. - Replaced README with comprehensive docs and quickstart guide. - Added .gitignore, .env.example, backend.tf, and run.sh. - Cleaned up obsolete files. Enables rapid, secure, and repeatable Azure deployments with strong automation and developer experience.
Expanded README with test suite details and instructions. Bumped project version to 9.0.0-beta01. Removed PackageId and IsPublishable from .csproj files. Added Docker support properties to Host projects. Clarified InternalsVisibleTo usage for unit tests. Cleaned up acknowledgements and improved formatting.
- Introduced `tmp_collect_readme_data.sh` to gather README metadata from NuGet packages. - Added `tmp_generate_readme_patch.sh` to create patches for README files based on collected data. - Created `tmp_readme_data.tsv` to store extracted information including package names, descriptions, and entry points. - Generated `tmp_readme_modified_files.txt` to track modified README files. - Created `tmp_readme_no_entry_points.txt` to list packages without entry points. - Implemented `tmp_readme_patch.txt` to provide a structured patch for README updates.
- Renamed all "rabbitMq" config sections to "rabbitmq" for consistency - Disabled telemetry exporters and set Azure keys to placeholders - Made all JwtOptions properties publicly settable - Fixed HasPreviousPage logic in PagedResultBase (1-based index) - Enhanced ProductDto to include Name and Description - Removed unused "metrics" config sections and clarified logging settings - Replaced sensitive config values with placeholders
Changed the Position constant in RabbitMQOptions from "rabbitMq" to "rabbitmq" for consistency and to align with configuration naming conventions.
…QPublisher and ServiceBusMessageDispatcher for better cancellation token support, and update various project files for consistency and clarity.
Refactor: Rename, modernize, and add new Genocs packages Major refactor across Genocs library: - Renamed namespaces/packages for .NET consistency (e.g., MessageBrokers → Messaging, HTTP → Http, CQRS → Cqrs, Swagger → OpenApi, Vault → HashicorpKeyVault). - Removed deprecated legacy code and packages. - Introduced new messaging packages: Genocs.Messaging, Genocs.Messaging.RabbitMQ, Genocs.Messaging.Outbox, Genocs.Messaging.Outbox.MongoDB, Genocs.Messaging.AzureServiceBus. - Added Genocs.Secrets.HashicorpKeyVault for Vault integration and Genocs.WebApi.OpenApi for Swagger/OpenAPI support. - Updated documentation, README, and migration guides to reflect new structure. - Standardized configuration sections and improved naming/casing throughout. - Migration guide included for Azure Service Bus users. - All projects, demos, and infrastructure updated for consistency and modernization.
…tings for improved telemetry and logging
…pository management
- Created a new Helm chart for the HelloWorld application with deployment, service, ingress, and HPA configurations. - Added a new Helm chart for the Genocs library application with deployment and service configurations. - Included necessary templates and helper functions for both charts. - Added .helmignore files to ignore unnecessary files during packaging. - Created a repositories.txt file for managing Azure DevOps repositories. - Defined default values for both charts in values.yaml files, including image tags for various services.
|
| GitGuardian id | GitGuardian status | Secret | Commit | Filename | |
|---|---|---|---|---|---|
| 27609718 | Triggered | Generic High Entropy Secret | 13caf8d | src/demo/WebApi/appsettings.json | View secret |
🛠 Guidelines to remediate hardcoded secrets
- Understand the implications of revoking this secret by investigating where it is used in your code.
- Replace and store your secret safely. Learn here the best practices.
- Revoke and rotate this secret.
- If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.
To avoid such incidents in the future consider
- following these best practices for managing and storing secrets including API keys and other credentials
- install secret detection on pre-commit to catch secret before it leaves your machine and ease remediation.
🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.
There was a problem hiding this comment.
Pull request overview
This PR appears to upgrade the solution to the “v11” line by consolidating namespaces/packages (e.g., MessageBrokers.* → Messaging.*, Genocs.HTTP → Genocs.Http, CQRS abstractions moved into Genocs.Common), adding cancellation-token friendly APIs, modernizing NuGet package metadata/readmes, and introducing new infra/deployment assets (Terraform/Helm/K8s/Docker).
Changes:
- Consolidated/renamed libraries and namespaces across Messaging, Http, CQRS, and Common/Core packages; removed legacy
Genocs.MessageBrokers*artifacts. - Added/updated project files and APIs to support .NET 8/9/10, improved package metadata/readmes, and introduced cancellation token parameters on initializer/outbox APIs.
- Added infrastructure automation and deployment templates (Terraform, Helm chart, K8s manifests, Docker compose, scripts) and updated tooling configs (
global.json, solution structure).
Reviewed changes
Copilot reviewed 287 out of 811 changed files in this pull request and generated 11 comments.
Show a summary per file
| File | Description |
|---|---|
| src/Genocs.Messaging.RabbitMQ/Initializers/RabbitMqExchangeInitializer.cs | Namespace consolidation; initializer now supports CancellationToken and disposes channel with await using. |
| src/Genocs.Messaging.RabbitMQ/IRabbitMqSerializer.cs | Namespace moved to Genocs.Messaging.RabbitMQ. |
| src/Genocs.Messaging.RabbitMQ/IRabbitMqPluginsRegistry.cs | Namespace moved to Genocs.Messaging.RabbitMQ. |
| src/Genocs.Messaging.RabbitMQ/IRabbitMqPlugin.cs | Namespace moved to Genocs.Messaging.RabbitMQ. |
| src/Genocs.Messaging.RabbitMQ/IRabbitMqClient.cs | Namespace moved to Genocs.Messaging.RabbitMQ. |
| src/Genocs.Messaging.RabbitMQ/IExceptionToMessageMapper.cs | Namespace moved to Genocs.Messaging.RabbitMQ. |
| src/Genocs.Messaging.RabbitMQ/IExceptionToFailedMessageMapper.cs | Introduces failed-message mapper contract in the new Messaging.RabbitMQ namespace. |
| src/Genocs.Messaging.RabbitMQ/IConventionsRegistry.cs | Namespace moved; conventions getters now return nullable IConventions?. |
| src/Genocs.Messaging.RabbitMQ/IConventionsProvider.cs | Namespace moved to Genocs.Messaging.RabbitMQ. |
| src/Genocs.Messaging.RabbitMQ/IConventionsBuilder.cs | Namespace moved to Genocs.Messaging.RabbitMQ. |
| src/Genocs.Messaging.RabbitMQ/IConventions.cs | Namespace moved to Genocs.Messaging.RabbitMQ. |
| src/Genocs.Messaging.RabbitMQ/IContextProvider.cs | Namespace moved to Genocs.Messaging.RabbitMQ. |
| src/Genocs.Messaging.RabbitMQ/Genocs.Messaging.RabbitMQ.csproj | New/updated project definition for Genocs.Messaging.RabbitMQ with multi-targeting and updated dependencies. |
| src/Genocs.Messaging.RabbitMQ/FailedMessage.cs | Namespace moved to Genocs.Messaging.RabbitMQ. |
| src/Genocs.Messaging.RabbitMQ/Extensions.cs | Updated using statements and namespace to new Messaging.RabbitMQ layout. |
| src/Genocs.Messaging.RabbitMQ/ConventionsRegistry.cs | Namespace moved; conventions registry methods now return nullable conventions. |
| src/Genocs.Messaging.RabbitMQ/Conventions/MessageConventions.cs | Namespace moved to Genocs.Messaging.RabbitMQ.Conventions. |
| src/Genocs.Messaging.RabbitMQ/Conventions/ConventionsProvider.cs | Namespace moved to Genocs.Messaging.RabbitMQ.Conventions. |
| src/Genocs.Messaging.RabbitMQ/Conventions/ConventionsBuilder.cs | Namespace moved to Genocs.Messaging.RabbitMQ.Conventions. |
| src/Genocs.Messaging.RabbitMQ/Contexts/ContextProvider.cs | Namespace moved to Genocs.Messaging.RabbitMQ.Contexts. |
| src/Genocs.Messaging.RabbitMQ/ConsumerConnection.cs | Namespace moved to Genocs.Messaging.RabbitMQ. |
| src/Genocs.Messaging.RabbitMQ/Clients/RabbitMqClient.cs | Namespace moved to Genocs.Messaging.RabbitMQ.Clients. |
| src/Genocs.Messaging.Outbox/README_NUGET.md | New standardized NuGet readme for Outbox package. |
| src/Genocs.Messaging.Outbox/Processors/OutboxProcessor.cs | Namespace moved to Genocs.Messaging.Outbox.Processors; formatting improvements. |
| src/Genocs.Messaging.Outbox/Outbox/InMemoryMessageOutbox.cs | Namespace moved; outbox APIs now accept CancellationToken parameters. |
| src/Genocs.Messaging.Outbox/Messages/OutboxMessage.cs | Moves entity dependency to Genocs.Common.Domain.Entities; namespace moved. |
| src/Genocs.Messaging.Outbox/Messages/InboxMessage.cs | Moves entity dependency to Genocs.Common.Domain.Entities; namespace moved. |
| src/Genocs.Messaging.Outbox/IMessageOutboxConfigurator.cs | Namespace moved to Genocs.Messaging.Outbox; updated references. |
| src/Genocs.Messaging.Outbox/IMessageOutboxAccessor.cs | Namespace moved to Genocs.Messaging.Outbox; updated references. |
| src/Genocs.Messaging.Outbox/IMessageOutbox.cs | Namespace moved; outbox interface now supports CancellationToken in APIs. |
| src/Genocs.Messaging.Outbox/Genocs.Messaging.Outbox.csproj | New/updated project definition for Genocs.Messaging.Outbox. |
| src/Genocs.Messaging.Outbox/Extensions.cs | Updated using and namespace to new Genocs.Messaging.Outbox layout. |
| src/Genocs.Messaging.Outbox/Configurators/MessageOutboxConfigurator.cs | Namespace moved to Genocs.Messaging.Outbox.Configurators. |
| src/Genocs.Messaging.Outbox/Configurations/OutboxOptions.cs | Namespace moved to Genocs.Messaging.Outbox.Configurations. |
| src/Genocs.Messaging.Outbox.MongoDB/README_NUGET.md | New standardized NuGet readme for MongoDB outbox implementation. |
| src/Genocs.Messaging.Outbox.MongoDB/Internals/MongoOutboxInitializer.cs | Namespace moved; initializer now supports CancellationToken. |
| src/Genocs.Messaging.Outbox.MongoDB/Internals/MongoMessageOutbox.cs | Namespace moved; repository type updated; outbox APIs accept CancellationToken. |
| src/Genocs.Messaging.Outbox.MongoDB/Genocs.Messaging.Outbox.MongoDB.csproj | New/updated project definition for Genocs.Messaging.Outbox.MongoDB. |
| src/Genocs.Messaging.Outbox.MongoDB/Extensions.cs | Updated using and namespace for MongoDB outbox integration. |
| src/Genocs.Messaging.AzureServiceBus/Topics/SubscriptionInfo.cs | Introduces Topic subscription metadata helper. |
| src/Genocs.Messaging.AzureServiceBus/Topics/Interfaces/IAzureServiceBusTopic.cs | Adds Azure Service Bus Topic abstraction (publish/schedule/subscribe). |
| src/Genocs.Messaging.AzureServiceBus/README_NUGET.md | New standardized NuGet readme for Azure Service Bus package. |
| src/Genocs.Messaging.AzureServiceBus/Queues/Interfaces/IAzureServiceBusQueue.cs | Updates command dependency to Genocs.Common.CQRS.Commands and namespace to Genocs.Messaging.AzureServiceBus.*. |
| src/Genocs.Messaging.AzureServiceBus/Genocs.Messaging.AzureServiceBus.csproj | New/updated project definition and Service Bus dependencies. |
| src/Genocs.Messaging.AzureServiceBus/Configurations/AzureServiceBusTopicOptions.cs | Migrates legacy Microsoft.Azure.ServiceBus types to Azure.Messaging.ServiceBus. |
| src/Genocs.Messaging.AzureServiceBus/Configurations/AzureServiceBusQueueOptions.cs | Migrates legacy Microsoft.Azure.ServiceBus types to Azure.Messaging.ServiceBus. |
| src/Genocs.MessageBrokers/README_NUGET.md | Removes legacy MessageBrokers package documentation. |
| src/Genocs.MessageBrokers/Genocs.MessageBrokers.csproj | Removes legacy MessageBrokers project. |
| src/Genocs.MessageBrokers.RabbitMQ/README_NUGET.md | Removes legacy MessageBrokers.RabbitMQ documentation. |
| src/Genocs.MessageBrokers.RabbitMQ/IExceptionToFailedMessageMapper.cs | Removes legacy RabbitMQ failed-message mapping interface. |
| src/Genocs.MessageBrokers.RabbitMQ/Genocs.MessageBrokers.RabbitMQ.csproj | Removes legacy RabbitMQ MessageBrokers project. |
| src/Genocs.MessageBrokers.Outbox/README_NUGET.md | Removes legacy Outbox MessageBrokers documentation. |
| src/Genocs.MessageBrokers.Outbox/Genocs.MessageBrokers.Outbox.csproj | Removes legacy Outbox MessageBrokers project. |
| src/Genocs.MessageBrokers.Outbox.MongoDB/README_NUGET.md | Removes legacy MongoDB Outbox MessageBrokers documentation. |
| src/Genocs.MessageBrokers.Outbox.MongoDB/Genocs.MessageBrokers.Outbox.MongoDB.csproj | Removes legacy MongoDB Outbox MessageBrokers project. |
| src/Genocs.Logging/README_NUGET.md | Standardizes NuGet readme content and support links. |
| src/Genocs.Logging/Genocs.Logging.csproj | Updates package metadata and dependency versions (Release refs). |
| src/Genocs.Logging/Extensions.cs | Adjusts Loki sink defaults and comment casing. |
| src/Genocs.Logging/Configurations/MongoOptions.cs | Documentation casing: MongoDb → MongoDB. |
| src/Genocs.Logging/Configurations/LokiOptions.cs | Makes batch posting limit non-nullable with default. |
| src/Genocs.Logging/Configurations/LoggerOptions.cs | Documentation casing: MongoDb → MongoDB. |
| src/Genocs.Logging/Configurations/AzureOptions.cs | Removes tracing/metrics flags from Azure logging options. |
| src/Genocs.Logging/CQRS/Extensions.cs | Switches CQRS dependencies to Genocs.Common.CQRS.*. |
| src/Genocs.Logging/CQRS/Decorators/EventHandlerLoggingDecorator.cs | Adds Common event namespace import (CQRS refactor). |
| src/Genocs.Logging/CQRS/Decorators/CommandHandlerLoggingDecorator.cs | Switches to common command abstractions. |
| src/Genocs.LoadBalancing.Fabio/README_NUGET.md | Standardized NuGet readme. |
| src/Genocs.LoadBalancing.Fabio/IFabioHttpClient.cs | Switches from Genocs.HTTP to Genocs.Http; simplifies interface declaration. |
| src/Genocs.LoadBalancing.Fabio/Http/FabioHttpClient.cs | Updates Http abstraction namespace to Genocs.Http. |
| src/Genocs.LoadBalancing.Fabio/Genocs.LoadBalancing.Fabio.csproj | Updates package metadata/deps to 9.0.0-beta001 line. |
| src/Genocs.LoadBalancing.Fabio/Extensions.cs | Updates Http abstraction namespace and formatting. |
| src/Genocs.HTTP/SystemTextJsonHttpClientSerializer.cs | Moves to Genocs.Http; adds docs and CancellationToken to deserialize. |
| src/Genocs.HTTP/README_NUGET.md | Standardized NuGet readme and package naming (Genocs.Http). |
| src/Genocs.HTTP/IHttpClientSerializer.cs | Moves to Genocs.Http; expands docs; adds CancellationToken to deserialize. |
| src/Genocs.HTTP/ICorrelationIdFactory.cs | Moves to Genocs.Http; improves XML docs return value. |
| src/Genocs.HTTP/ICorrelationContextFactory.cs | Moves to Genocs.Http. |
| src/Genocs.HTTP/HttpResult.cs | Moves to Genocs.Http; allows nullable Result. |
| src/Genocs.HTTP/GenocsLoggingScopeHttpMessageHandler.cs | Moves to Genocs.Http; adjusts scope/message templates. |
| src/Genocs.HTTP/GenocsHttpLoggingFilter.cs | Moves to Genocs.Http. |
| src/Genocs.HTTP/Genocs.HTTP.csproj | Renames package/assembly/root namespace to Genocs.Http; updates dependencies. |
| src/Genocs.HTTP/Extensions.cs | Moves to Genocs.Http; improves XML docs and exception message casing. |
| src/Genocs.HTTP/EmptyCorrelationIdFactory.cs | Moves to Genocs.Http; adds XML docs. |
| src/Genocs.HTTP/EmptyCorrelationContextFactory.cs | Moves to Genocs.Http. |
| src/Genocs.HTTP/Configurations/HttpClientOptions.cs | Moves to Genocs.Http.Configurations. |
| src/Genocs.HTTP.RestEase/Serializers/QueryParamSerializer.cs | Moves to Genocs.Http.RestEase.* namespace. |
| src/Genocs.HTTP.RestEase/RestEaseServiceNotFoundException.cs | Moves to Genocs.Http.RestEase namespace. |
| src/Genocs.HTTP.RestEase/README_NUGET.md | Standardized NuGet readme and package naming (Genocs.Http.RestEase). |
| src/Genocs.HTTP.RestEase/IRestEaseServiceBuilder.cs | Updates namespaces and configuration references. |
| src/Genocs.HTTP.RestEase/Genocs.HTTP.RestEase.csproj | Renames package/assembly/root namespace to Genocs.Http.RestEase; updates deps. |
| src/Genocs.HTTP.RestEase/Extensions.cs | Switches to Genocs.Http.* dependencies and namespaces. |
| src/Genocs.HTTP.RestEase/Configurations/RestEaseOptions.cs | Moves to Genocs.Http.RestEase.Configurations. |
| src/Genocs.HTTP.RestEase/Configurations/IRestEaseOptionsBuilder.cs | Moves to Genocs.Http.RestEase.Configurations. |
| src/Genocs.HTTP.RestEase/Builders/RestEaseOptionsBuilder.cs | Moves to Genocs.Http.RestEase.Builders. |
| src/Genocs.Discovery.Consul/README_NUGET.md | Standardized NuGet readme. |
| src/Genocs.Discovery.Consul/Models/Upstream.cs | Makes DestinationName nullable. |
| src/Genocs.Discovery.Consul/Models/Proxy.cs | Makes Upstreams nullable. |
| src/Genocs.Discovery.Consul/IConsulHttpClient.cs | Switches to Genocs.Http; simplifies interface declaration. |
| src/Genocs.Discovery.Consul/Http/ConsulHttpClient.cs | Updates Http abstraction namespace to Genocs.Http. |
| src/Genocs.Discovery.Consul/Genocs.Discovery.Consul.csproj | Updates project reference/package reference from Genocs.HTTP to Genocs.Http. |
| src/Genocs.Discovery.Consul/Extensions.cs | Updates Http abstraction namespace and adds Genocs.Common.Builders. |
| src/Genocs.Discovery.Consul/Configurations/ConsulOptions.cs | Changes setters to internal set for options properties. |
| src/Genocs.Core/README_NUGET.md | Standardizes NuGet readme; adds getting-started snippets. |
| src/Genocs.Core/Genocs.Core.csproj | Updates metadata and replaces Figgle dependency with Spectre.Console. |
| src/Genocs.Core/Extensions/StringExtensions.cs | Uses GeneratedRegex, collection expressions, generic Enum.Parse, and MD5.HashData. |
| src/Genocs.Core/Extensions/ObjectExtensions.cs | Makes To return nullable and handles null/empty conversions. |
| src/Genocs.Core/Extensions/Encryption.cs | Formatting changes (no behavioral change apparent). |
| src/Genocs.Core/Exceptions/GenocsException.cs | Removes serialization ctor; improved XML doc param text. |
| src/Genocs.Core/Domain/Repositories/TableMappingAttribute.cs | Adds docs; introduces Version field and Name property doc improvements. |
| src/Genocs.Core/Domain/Repositories/RepositoryBase.cs | Adds Common entity/repository imports (CQRS/domain refactor alignment). |
| src/Genocs.Core/Domain/Repositories/IUnitOfWork.cs | Removes Core version (moved to Genocs.Common). |
| src/Genocs.Core/Domain/Repositories/IRepository.cs | Moves IEntity dependency to Genocs.Common.Domain.Entities. |
| src/Genocs.Core/Domain/Repositories/IDapperRepository.cs | Moves IEntity import to common entities. |
| src/Genocs.Core/Domain/Events/EntityUpdatedEvent.cs | Depends on Common entities; adds XML docs. |
| src/Genocs.Core/Domain/Events/EntityDeletedEvent.cs | Depends on Common entities; adds XML docs. |
| src/Genocs.Core/Domain/Events/EntityCreatedEvent.cs | Depends on Common entities; adds XML docs. |
| src/Genocs.Core/Domain/Entities/EntityNotFoundException.cs | Removes serialization ctor/default ctor; makes EntityType/Id non-nullable with private setters. |
| src/Genocs.Core/Domain/Entities/EntityExtensions.cs | Switches soft-delete interface to Common; simplifies logic. |
| src/Genocs.Core/Domain/Entities/Entity.cs | Adds Common IEntity import (domain refactor alignment). |
| src/Genocs.Core/Domain/Entities/DomainEvent.cs | Switches event abstraction dependency to Genocs.Common.CQRS.Events. |
| src/Genocs.Core/Domain/Entities/Auditing/IAuditService.cs | Adds CancellationToken optional parameter. |
| src/Genocs.Core/Domain/Entities/Auditing/FullAuditedEntity.cs | Switches auditing interfaces to Common; simplifies empty derived class syntax. |
| src/Genocs.Core/Domain/Entities/Auditing/FullAuditedAggregateRoot.cs | Switches auditing interfaces to Common. |
| src/Genocs.Core/Domain/Entities/Auditing/EntityAuditingHelper.cs | Switches auditing interfaces to Common; refactors type checks. |
| src/Genocs.Core/Domain/Entities/Auditing/CreationAuditedEntity.cs | Switches auditing interfaces to Common; minor cleanup. |
| src/Genocs.Core/Domain/Entities/Auditing/CreationAuditedAggregateRoot.cs | Switches auditing interfaces to Common; simplifies empty derived class syntax. |
| src/Genocs.Core/Domain/Entities/Auditing/AuditedEntity.cs | Switches auditing interfaces to Common; adds TODO note. |
| src/Genocs.Core/Domain/Entities/Auditing/AuditedAggregateRoot.cs | Switches auditing interfaces to Common; simplifies empty derived class; doc punctuation. |
| src/Genocs.Core/Domain/Entities/Auditing/AuditDto.cs | Implements IDto (common interface). |
| src/Genocs.Core/Domain/Entities/AggregateRoot.cs | Switches CQRS events/entities dependencies to Genocs.Common. |
| src/Genocs.Core/Collections/Extensions/ListExtensions.cs | Improves docs and adds notnull constraints for dependency sorting. |
| src/Genocs.Core/Collections/Extensions/DictionaryExtensions.cs | Refactors generics and defaults; uses discard _ for factory. |
| src/Genocs.Core/CQRS/Queries/Request.cs | Removes legacy SearchRequest types (moved to Genocs.Common). |
| src/Genocs.Core/CQRS/Queries/IQueryHandler.cs | Removes legacy query handler interface (moved to Genocs.Common). |
| src/Genocs.Core/CQRS/Queries/IQuery.cs | Removes legacy query interfaces (moved to Genocs.Common). |
| src/Genocs.Core/CQRS/Queries/IPagedFilter.cs | Removes legacy paged filter interface (moved to Genocs.Common). |
| src/Genocs.Core/CQRS/Queries/Extensions.cs | Updates to use common CQRS query abstractions; improves docs. |
| src/Genocs.Core/CQRS/Queries/Dispatchers/QueryDispatcher.cs | Updates to use common CQRS query abstractions; improves XML docs; changes reflection flow. |
| src/Genocs.Core/CQRS/Events/RejectedEvent.cs | Removes Core rejected-event implementation (moved to Genocs.Common). |
| src/Genocs.Core/CQRS/Events/IRejectedEvent.cs | Removes Core rejected-event interface (moved to Genocs.Common). |
| src/Genocs.Core/CQRS/Events/Extensions.cs | Switches to common CQRS event abstractions; improves docs. |
| src/Genocs.Core/CQRS/Events/Dispatchers/EventDispatcher.cs | Switches to common CQRS event abstraction. |
| src/Genocs.Core/CQRS/Commons/InMemoryDispatcher.cs | Switches to common CQRS dispatcher/message abstractions; refines return nullability. |
| src/Genocs.Core/CQRS/Commons/IDispatcher.cs | Removes Core dispatcher interface (moved to Genocs.Common). |
| src/Genocs.Core/CQRS/Commons/Extensions.cs | Switches to common CQRS abstractions; safer assembly filter predicate. |
| src/Genocs.Core/CQRS/Commands/ICommand.cs | Removes Core command marker interface (moved to Genocs.Common). |
| src/Genocs.Core/CQRS/Commands/Extensions.cs | Switches to common CQRS command abstractions. |
| src/Genocs.Core/CQRS/Commands/Dispatchers/CommandDispatcher.cs | Switches to common CQRS command abstraction. |
| src/Genocs.Core/Builders/StartupInitializer.cs | Adds CancellationToken support to startup initialization; minor collection init simplification. |
| src/Genocs.Core/Builders/ServiceId.cs | Removes Core ServiceId implementation (moved to Genocs.Common). |
| src/Genocs.Core/Builders/IGenocsBuilder.cs | Expands documentation and return descriptions. |
| src/Genocs.Core/Builders/Extensions.cs | Switches console banner to Spectre.Console; updates docs text. |
| src/Genocs.Common/Types/MessageAttribute.cs | Improves XML docs and parameter documentation. |
| src/Genocs.Common/Types/IInitializer.cs | Adds CancellationToken optional parameter. |
| src/Genocs.Common/Types/HiddenAttribute.cs | Simplifies empty attribute type syntax. |
| src/Genocs.Common/Types/Extensions.cs | Replaces FormatterServices with RuntimeHelpers.GetUninitializedObject; improves docs and collection init. |
| src/Genocs.Common/Types/DecoratorAttribute.cs | Simplifies empty attribute type syntax. |
| src/Genocs.Common/README_NUGET.md | Standardized NuGet readme content and support links. |
| src/Genocs.Common/Persistence/Initialization/IDatabaseInitializer.cs | Adds XML docs and default CancellationToken. |
| src/Genocs.Common/Persistence/Initialization/ICustomSeeder.cs | Adds XML docs and default CancellationToken. |
| src/Genocs.Common/Notifications/JobNotification.cs | Adds detailed XML docs for notification payload. |
| src/Genocs.Common/Notifications/INotificationMessage.cs | Adds XML docs for notification message marker interface. |
| src/Genocs.Common/Notifications/BasicNotification.cs | Adds XML docs for nested enum. |
| src/Genocs.Common/Interfaces/INotificationSender.cs | Adds default CancellationToken parameters for all send APIs. |
| src/Genocs.Common/Genocs.Common.csproj | Updates package metadata and centralizes common NuGet props usage. |
| src/Genocs.Common/Domain/Repositories/IUnitOfWork.cs | Adds new common IUnitOfWork contract. |
| src/Genocs.Common/Domain/Repositories/ISupportsExplicitLoading.cs | Moves namespace to Genocs.Common.Domain.Repositories and entity dependency to Genocs.Common.Domain.Entities. |
| src/Genocs.Common/Domain/Entities/ISoftDelete.cs | Moves namespace to Genocs.Common.Domain.Entities. |
| src/Genocs.Common/Domain/Entities/IEntityOfTPrimaryKey.cs | Moves namespace to Genocs.Common.Domain.Entities. |
| src/Genocs.Common/Domain/Entities/IEntity.cs | Moves namespace; doc fix. |
| src/Genocs.Common/Domain/Entities/IAggregateRoot.cs | Moves to common domain entities; adds docs for domain events list. |
| src/Genocs.Common/Domain/Entities/Auditing/IModificationAudited.cs | Moves namespace to common auditing entities. |
| src/Genocs.Common/Domain/Entities/Auditing/IHasModificationTime.cs | Moves namespace to common auditing entities. |
| src/Genocs.Common/Domain/Entities/Auditing/IHasDeletionTime.cs | Moves namespace to common auditing entities. |
| src/Genocs.Common/Domain/Entities/Auditing/IHasCreationTime.cs | Moves namespace to common auditing entities. |
| src/Genocs.Common/Domain/Entities/Auditing/IFullAudited.cs | Moves namespace to common auditing entities. |
| src/Genocs.Common/Domain/Entities/Auditing/IDeletionAudited.cs | Moves namespace to common auditing entities. |
| src/Genocs.Common/Domain/Entities/Auditing/ICreationAudited.cs | Moves namespace to common auditing entities; doc punctuation. |
| src/Genocs.Common/Domain/Entities/Auditing/IAudited.cs | Moves namespace to common auditing entities. |
| src/Genocs.Common/Domain/ConnectionString/IConnectionStringValidator.cs | Moves namespace to Genocs.Common.Domain.ConnectionString. |
| src/Genocs.Common/Domain/ConnectionString/IConnectionStringSecurer.cs | Moves namespace to Genocs.Common.Domain.ConnectionString; improves XML docs. |
| src/Genocs.Common/Dependency/ITransientDependency.cs | Moves namespace to Genocs.Common.Dependency; simplifies marker interface syntax. |
| src/Genocs.Common/Dependency/ISingletonDependency.cs | Moves namespace to Genocs.Common.Dependency; simplifies marker interface syntax. |
| src/Genocs.Common/Collections/TypeList.cs | Moves namespace to Genocs.Common.Collections; adds docs and cleanup. |
| src/Genocs.Common/Collections/ITypeList.cs | Moves namespace; simplifies empty derived interface syntax. |
| src/Genocs.Common/CQRS/Queries/SearchRequest.cs | Moves SearchRequest into Common CQRS queries. |
| src/Genocs.Common/CQRS/Queries/PagedResultBase.cs | Moves paging abstractions into Common; adjusts HasPreviousPage logic. |
| src/Genocs.Common/CQRS/Queries/PagedResult.cs | Moves paging abstractions into Common; improves docs. |
| src/Genocs.Common/CQRS/Queries/PagedQueryWithFilter.cs | Moves namespace to Common CQRS queries. |
| src/Genocs.Common/CQRS/Queries/PagedQueryBase.cs | Moves namespace to Common CQRS queries. |
| src/Genocs.Common/CQRS/Queries/ISearchRequest.cs | Adds Common CQRS ISearchRequest. |
| src/Genocs.Common/CQRS/Queries/IQueryHandler.cs | Adds Common CQRS IQueryHandler. |
| src/Genocs.Common/CQRS/Queries/IQueryDispatcher.cs | Moves namespace to Common CQRS queries. |
| src/Genocs.Common/CQRS/Queries/IQuery.cs | Adds Common CQRS query marker interfaces. |
| src/Genocs.Common/CQRS/Queries/IPagedQuery.cs | Moves namespace to Common CQRS queries. |
| src/Genocs.Common/CQRS/Queries/IPagedFilter.cs | Adds Common CQRS IPagedFilter. |
| src/Genocs.Common/CQRS/Events/RejectedEvent.cs | Moves rejected event into Common CQRS events. |
| src/Genocs.Common/CQRS/Events/IRejectedEvent.cs | Adds rejected event interface in Common CQRS events. |
| src/Genocs.Common/CQRS/Events/IEventHandler.cs | Moves event handler abstractions into Common/updates docs. |
| src/Genocs.Common/CQRS/Events/IEventDispatcher.cs | Moves event dispatcher abstraction into Common/updates docs. |
| src/Genocs.Common/CQRS/Events/IEvent.cs | Makes events implement a shared message marker (IMessage). |
| src/Genocs.Common/CQRS/Commons/IMessage.cs | Adds shared CQRS message marker interface. |
| src/Genocs.Common/CQRS/Commons/IDispatcher.cs | Adds shared CQRS dispatcher interface in Common. |
| src/Genocs.Common/CQRS/Commands/ICommandHandler.cs | Moves command handler abstraction into Common/updates docs. |
| src/Genocs.Common/CQRS/Commands/ICommandDispatcher.cs | Moves command dispatcher abstraction into Common. |
| src/Genocs.Common/CQRS/Commands/ICommand.cs | Adds Common command marker interface implementing IMessage. |
| src/Genocs.Common/Builders/ServiceId.cs | Moves ServiceId implementation into Common. |
| src/Genocs.Common/Builders/IServiceId.cs | Moves ServiceId abstraction into Common. |
| src/Genocs.Auth/Services/InMemoryAccessTokenService.cs | Ensures token parsing returns string.Empty for null split results. |
| src/Genocs.Auth/README_NUGET.md | Standardized NuGet readme with snippets/support links. |
| src/Genocs.Auth/JwtOrApiKeyAuthenticationMiddleware.cs | Minor XML doc punctuation cleanup. |
| src/Genocs.Auth/Genocs.Auth.csproj | Updates metadata and dependency versions (per TF). |
| src/Genocs.Auth/Extensions.cs | Improves XML docs return value on timestamp converter. |
| src/Genocs.Auth/DisabledAuthenticationPolicyEvaluator.cs | Adds more descriptive XML docs. |
| src/Genocs.Auth/Configurations/JwtOptions.cs | Adds detailed XML docs for JWT option properties. |
| src/Genocs.Auth/Configurations/IJwtOptionsBuilder.cs | Adds builder interface XML docs. |
| src/Genocs.Auth/Builders/JwtOptionsBuilder.cs | Adds class summary. |
| scripts/start.sh | Removes old start script pointing at removed/relocated demo project. |
| scripts/run-demo-webapi.sh | Adds updated demo WebApi run script. |
| scripts/repositories.txt | Adds sample repo list file for scripts. |
| scripts/git-tag-repositories.sh | Adds repository tagging automation script. |
| scripts/git-tag-release-and-generate-changelog.sh | Adds tagging + changelog generation automation script. |
| scripts/git-pull-repositories.sh | Minor cleanup in pull script comments. |
| scripts/git-generate-changelog-and-push-devops.sh | Adds changelog generation and DevOps push automation. |
| scripts/git-clone-repositories.sh | Adds GitHub org variable and uses it in clone URLs. |
| scripts/dotnet-pack-and-publish-nuget.sh | Fixes typo in MongoDB nuspec filename casing. |
| postman/Genocs Library Local.postman_environment.json | Renames identity-service-url key to identities-service-url. |
| postman/Genocs Library Docker.postman_environment.json | Renames identity-service-url key to identities-service-url. |
| infrastructure/terraform/terraform.tfvars.example | Adds example Terraform variables. |
| infrastructure/terraform/providers.tf | Adds Terraform providers config (AzureRM + random). |
| infrastructure/terraform/deploy.bat | Adds Windows Terraform deployment script. |
| infrastructure/terraform/backend.tf | Adds documented (commented) Azure backend state configuration. |
| infrastructure/terraform/.gitignore | Adds Terraform-focused gitignore rules. |
| infrastructure/k8s/demo-worker.yaml | Adds demo worker Deployment and Service manifest. |
| infrastructure/k8s/demo-webapi.yaml | Adds demo webapi Deployment and Service manifest. |
| infrastructure/k8s/demo-ingress.yaml | Adds demo ingress manifest (Application Gateway Ingress Controller annotations). |
| infrastructure/helm/charts/demo/values.yaml | Adds demo Helm chart values. |
| infrastructure/helm/charts/demo/templates/service.yaml | Adds Helm Service template. |
| infrastructure/helm/charts/demo/templates/secrets.yaml | Adds Helm Secret template rendering Values.secrets. |
| infrastructure/helm/charts/demo/templates/ingress.yaml | Adds Helm Ingress template (currently uses deprecated API selection). |
| infrastructure/helm/charts/demo/templates/deployment.yaml | Adds Helm Deployment template. |
| infrastructure/helm/charts/demo/templates/_helpers.tpl | Adds Helm naming helper templates. |
| infrastructure/helm/charts/demo/templates/NOTES.txt | Adds Helm post-install notes. |
| infrastructure/helm/charts/demo/Chart.yaml | Adds Helm chart descriptor. |
| infrastructure/helm/charts/demo/.helmignore | Adds default Helm ignore patterns. |
| infrastructure/docker/infrastructure.yml | Splits RabbitMQ volumes into data+logs; updates volume names. |
| infrastructure/docker/infrastructure-sqlserver.yml | Removes hard-coded SA password; reads from env var. |
| infrastructure/docker/infrastructure-security.yml | Removes hard-coded Vault token; reads from env var. |
| infrastructure/docker/infrastructure-oracle.yml | Removes hard-coded Oracle password; reads from env var. |
| infrastructure/docker/infrastructure-mysql.yml | Removes hard-coded MySQL password; reads from env var. |
| infrastructure/docker/infrastructure-monitoring.yml | Fixes port mapping and updates Jaeger/Seq images+ports/env var. |
| infrastructure/docker/infrastructure-elk.yml | Removes Kibana depends_on entries. |
| infrastructure/docker/demo/docker-compose.yml | Adds demo docker compose for WebApi/Worker images and build contexts. |
| infrastructure/docker/demo/docker-compose.override.yml | Adds local dev overrides for demo containers. |
| infrastructure/docker/.env.example | Adds env template for docker-compose secrets. |
| infrastructure/bicep/README.md | Replaces prior conversational content with concise resource notes. |
| global.json | Moves to .NET SDK 10.0.100 and adjusts roll-forward strategy. |
| genocs.slnx | Introduces new solution layout file pointing at the reorganized projects. |
| containers/local.env | Removes committed env template from old containers layout. |
| containers/demo-docker-compose.yml | Removes old demo compose file referencing old demo paths. |
| containers/.env | Removes committed .env containing plaintext password. |
| Makefile | Updates targets for infra paths and demo start; switches to docker compose. |
| Directory.Build.props | Centralizes more NuGet packaging props; bumps version; sets LangVersion to latest. |
| CHANGELOG.md | Adds Unreleased notes and updates some package naming references. |
| .github/instructions/solution_architect.md | Removes old GitHub instructions file. |
| .github/copilot-instructions.md | Expands Copilot guidance (terminology, standards, stack). |
| .github/agents/Code Reviewer.agent.md | Updates the tool identifiers list. |
| .env | Removes committed repo-level env file. |
| .codex/AGENTS.md | Adds codex agents instructions mirroring Copilot guidelines. |
|
return await (Task |
||
|
var method = handlerType.GetMethod(nameof(IQueryHandler |
||
|
|
||
|
return await (Task |
There was a problem hiding this comment.
method is guaranteed non-null due to the ?? throw, but the invocation still uses the null-conditional operator (method?.Invoke). That reintroduces a possible null result path and can lead to an invalid cast or runtime exceptions; call method.Invoke(...) directly (or remove ?.) to keep the null-safety consistent.
| return await (Task<TResult?>)method?.Invoke(handler, new object[] { query, cancellationToken }); | |
| return await (Task<TResult?>)method.Invoke(handler, new object[] { query, cancellationToken }); |
| public bool Enabled { get; internal set; } | ||
|
|
||
| public string? Url { get; set; } | ||
| public string? Service { get; set; } | ||
| public string? Address { get; set; } | ||
| public int Port { get; set; } | ||
| public bool PingEnabled { get; set; } | ||
| public string? PingEndpoint { get; set; } | ||
| public string? PingInterval { get; set; } | ||
| public string? RemoveAfterInterval { get; set; } | ||
|
public List |
||
|
public IDictionary |
||
| public bool EnableTagOverride { get; set; } | ||
| public bool SkipLocalhostDockerDnsReplace { get; set; } | ||
| public ConnectOptions? Connect { get; set; } | ||
| public string? Url { get; internal set; } | ||
| public string? Service { get; internal set; } |
There was a problem hiding this comment.
Changing option setters to internal set will typically prevent Microsoft.Extensions.Configuration binding from populating these values (the default binder sets public setters only unless explicitly configured). If these options are intended to be bound from appsettings.json/env vars, revert to public set/init or configure binding to allow non-public setters.
|
public IDictionary |
||
| public bool EnableTagOverride { get; internal set; } | ||
| public bool SkipLocalhostDockerDnsReplace { get; internal set; } | ||
| public ConnectOptions? Connect { get; internal set; } |
There was a problem hiding this comment.
Changing option setters to internal set will typically prevent Microsoft.Extensions.Configuration binding from populating these values (the default binder sets public setters only unless explicitly configured). If these options are intended to be bound from appsettings.json/env vars, revert to public set/init or configure binding to allow non-public setters.
| public class ConnectOptions | ||
| { | ||
| public bool Enabled { get; set; } | ||
| public bool Enabled { get; internal set; } |
There was a problem hiding this comment.
Changing option setters to internal set will typically prevent Microsoft.Extensions.Configuration binding from populating these values (the default binder sets public setters only unless explicitly configured). If these options are intended to be bound from appsettings.json/env vars, revert to public set/init or configure binding to allow non-public setters.
| /// Gets whether there are previous pages. | ||
| /// | ||
| public bool HasPreviousPage => CurrentPage > 0; | ||
| public bool HasPreviousPage => CurrentPage > 1; |
There was a problem hiding this comment.
HasPreviousPage now assumes CurrentPage is 1-based (> 1), but the XML docs state currentPage is zero-based. This is logically inconsistent and will produce incorrect results for one of the two conventions. Align the paging convention by either restoring > 0 for zero-based indexing or updating docs (and any related calculations) to consistently use 1-based indexing.
| public bool HasPreviousPage => CurrentPage > 1; | |
| public bool HasPreviousPage => CurrentPage > 0; |
| {{- if semverCompare ">=1.14-0" .Capabilities.KubeVersion.GitVersion -}} | ||
| apiVersion: networking.k8s.io/v1beta1 |
There was a problem hiding this comment.
The template selects networking.k8s.io/v1beta1 for modern clusters and uses the legacy serviceName/servicePort backend fields. v1beta1 is removed in Kubernetes v1.22+, and networking.k8s.io/v1 requires backend.service.name and backend.service.port. Update the chart to emit networking.k8s.io/v1 (with correct schema) for supported Kubernetes versions, and only fall back to beta APIs if you explicitly support very old clusters.
| - path: {{ $ingressPath }} | ||
| backend: | ||
| serviceName: {{ $fullName }} | ||
| servicePort: http |
There was a problem hiding this comment.
The template selects networking.k8s.io/v1beta1 for modern clusters and uses the legacy serviceName/servicePort backend fields. v1beta1 is removed in Kubernetes v1.22+, and networking.k8s.io/v1 requires backend.service.name and backend.service.port. Update the chart to emit networking.k8s.io/v1 (with correct schema) for supported Kubernetes versions, and only fall back to beta APIs if you explicitly support very old clusters.
| apiVersion: v1 | ||
| appVersion: "1.0" | ||
| description: A Helm chart for Kubernetes |
There was a problem hiding this comment.
apiVersion: v1 indicates a Helm 2 chart format. If this repository targets Helm 3 (common default now), the chart should use apiVersion: v2 and include the expected metadata fields for that format. Otherwise, installs/linting may fail or behave unexpectedly in Helm 3-only environments.
| apiVersion: v1 | |
| appVersion: "1.0" | |
| description: A Helm chart for Kubernetes | |
| apiVersion: v2 | |
| appVersion: "1.0" | |
| description: A Helm chart for Kubernetes | |
| type: application |
| public bool Enabled { get; } | ||
|
|
||
|
public async Task HandleAsync(string messageId, Func |
||
|
public async Task HandleAsync(string messageId, Func |
There was a problem hiding this comment.
These methods now accept a CancellationToken, but the token is not used in the implementation (at least in the shown diff). This can mislead callers into thinking operations can be cancelled. Consider honoring the token (e.g., ThrowIfCancellationRequested() at key points, or propagating it to any async work started inside), or avoid adding it where it cannot be respected.
|
IDictionary |
||
| CancellationToken cancellationToken = default) | ||
| where T : class | ||
| { |
There was a problem hiding this comment.
These methods now accept a CancellationToken, but the token is not used in the implementation (at least in the shown diff). This can mislead callers into thinking operations can be cancelled. Consider honoring the token (e.g., ThrowIfCancellationRequested() at key points, or propagating it to any async work started inside), or avoid adding it where it cannot be respected.
| { | |
| { | |
| if (cancellationToken.IsCancellationRequested) | |
| { | |
| return Task.FromCanceled(cancellationToken); | |
| } |
| @@ -0,0 +1,88 @@ | |||
|
|
|||
There was a problem hiding this comment.
CI workflow references deleted solution file
High Severity
The genocs.sln file is deleted and replaced by genocs.slnx, but .github/workflows/sonar-analysis.yml still references genocs.sln in its restore, build, and test steps. The .devcontainer/devcontainer.json also references genocs.sln for dotnet.defaultSolution and postStartCommand. These were not updated in this PR, so the Sonar CI pipeline will fail on every run and the dev container will fail to build on startup.
| Environment = var.environment | ||
| Project = var.project_name | ||
| ManagedBy = "Terraform" | ||
| CreatedDate = timestamp() |
There was a problem hiding this comment.
timestamp() in tags forces perpetual resource changes
Medium Severity
Using timestamp() in common_tags means every terraform plan will detect changes to the CreatedDate tag on every resource, making it impossible to get a clean "no changes" plan. Every terraform apply will unnecessarily update all tagged resources, complicating CI/CD pipelines and making drift detection unreliable. A static value or lifecycle ignore would be more appropriate for a creation timestamp.
| } | ||
|
|
||
| tags = local.common_tags | ||
| } |
There was a problem hiding this comment.
Missing autoscale configuration for second app service
Medium Severity
The azurerm_monitor_autoscale_setting resource is only defined for app1 (WebAPI), but not for app2 (Worker). The variables app2_min_instances and app2_max_instances are declared in variables.tf and documented in terraform.tfvars.example, but never referenced in main.tf. This means the second app service has no autoscaling despite the infrastructure clearly being designed to support it — the autoscale block for app2 was likely forgotten.
Additional Locations (1)
| image: genocs/demo-worker:2.0.0 | ||
| build: | ||
| context: ../ | ||
| dockerfile: ../../src/demo/Worker/Dockerfile |
There was a problem hiding this comment.
Docker compose references non-existent Dockerfiles for demo services
Low Severity
The build sections reference ../../src/demo/WebApi/Dockerfile and ../../src/demo/Worker/Dockerfile, but neither file exists. The src/demo/WebApi/ directory has no Dockerfile, and src/demo/Worker/ doesn't exist at all. Any attempt to build images with this compose file (e.g., docker compose build) will fail. Only pulling the pre-built genocs/demo-webapi:2.0.0 images would work.
| { | ||
|
return await _client.PostAsync |
||
| } | ||
| using var content = new StringContent(serializedRequest, System.Text.Encoding.UTF8, "application/json"); |
Check failure
Code scanning / CodeQL
Cross-site scripting High
Copilot Autofix
AI 7 months ago
Copilot could not generate an autofix suggestion
Copilot could not generate an autofix suggestion for this alert. Try pushing a new commit or if the problem persists contact support.
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
|
|
||
|
|
||
|
|
||
|
|
There was a problem hiding this comment.
GeneratePackageOnBuild breaks test projects missing IsPackable override
High Severity
The newly added GeneratePackageOnBuild=true and PackageReadmeFile=README_NUGET.md apply globally to all projects. Two test projects (Genocs.Core.UnitTests and Genocs.Persistence.MongoDB.ComponentTests) lack IsPackable=false and have no README_NUGET.md file, so every build attempt will try to pack them and fail because the required readme file doesn't exist. Other test/demo projects already have IsPackable=false and are unaffected.






What does this PR do?
Why is it important?
Related issues
Note
Medium Risk
Medium risk because it changes the solution entrypoint (
genocs.sln→genocs.slnx), global SDK/versioning defaults, and introduces new Terraform/Helm/K8s and Docker env handling that can affect build and deployment pipelines.Overview
Build/packaging is updated to use the new
genocs.slnxsolution: devcontainer and Sonar workflow now restore/build/testgenocs.slnx, the legacygenocs.slnis removed, andglobal.jsonmoves to .NET SDK10.0.100(with updated roll-forward).Directory.Build.propsbumps package version to9.0.0-beta01, setsLangVersiontolatest, and enables package generation on build with standardized NuGet metadata.Infrastructure and local ops are reworked/expanded:
.envis removed and ignored, a newinfrastructure/docker/.env.exampleis added, Docker compose files are updated to use env vars for secrets and improved service settings, and Makefile targets are repointed toinfrastructure/terraformand new demo compose paths. Adds a full Azure Terraform module (ACR + App Services + App Insights/Log Analytics + autoscale + scripts/docs), plus new demo Helm chart and K8s manifests.Docs/tooling cleanup: README/CHANGELOG and scripts documentation are refreshed, Postman env key is renamed, and Copilot/agent instruction files are standardized/added.
Written by Cursor Bugbot for commit a8e1f53. This will update automatically on new commits. Configure here.