Skip to content

Releases: LF-Decentralized-Trust-labs/chaindeploy

v0.0.2-beta6

23 May 09:44
Compare
Choose a tag to compare
Update plugin handling and enhance file input functionality

- Added validation for existing plugins during updates to ensure they exist before proceeding, improving error handling and user feedback.
- Preserved deployment status when updating plugins to maintain consistency in their configurations.
- Introduced a new `FileValue` struct for handling file-based x-source values, including validation and volume mount configurations.
- Enhanced the `DeploymentModal` to support file input, allowing users to upload or paste file contents directly, improving usability.
- Updated Swagger documentation to reflect changes in API endpoints and request structures.

These changes enhance the overall functionality and user experience when managing plugins and file inputs within the application.

Signed-off-by: dviejokfs <dviejo@kfs.es>

v0.0.2-beta5

22 May 18:15
9a98269
Compare
Choose a tag to compare
Monitoring of nodes using prometheus (#13)

* Refactor install command and enhance network configuration handling

- Updated the `installCmd` struct to support multiple network configuration files, improving flexibility for organization-specific setups.
- Implemented detailed logging for installation parameters, including chaincode, channel, organizations, and network configurations, enhancing debugging capabilities.
- Introduced a new helper function `readPEMOrPath` to streamline the processing of user certificates and keys from either PEM strings or file paths.
- Enhanced the `LoadFromFile` function in the network configuration parser to automatically read and populate user certificates and keys, improving usability.
- Updated the `UserCert`, `UserKey`, and `TLSCACerts` structs to include optional file path fields for better configuration management.

These changes improve the overall functionality and maintainability of the installation process, ensuring better handling of network configurations and user credentials.

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Refactor Fabric network service methods and enhance API functionality

- Updated HTTP handler methods to utilize new service methods for retrieving Fabric network configurations, improving code clarity and maintainability.
- Renamed service methods for consistency, such as `GetChannelConfig` to `GetFabricChannelConfig`, aligning with the new naming conventions.
- Introduced new service methods for managing Fabric network operations, including `ImportFabricNetworkWithOrg`, `GetFabricCurrentChannelConfig`, and `GetFabricChainInfo`, enhancing the service layer's capabilities.
- Enhanced error handling and logging across the updated methods to ensure robust interactions and better debugging.
- Updated Swagger documentation to reflect the changes in API endpoints and response structures, improving API usability.

These changes enhance the overall functionality and maintainability of the Fabric network service, ensuring better management of network configurations and operations.

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Add feedback URL

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Fix events

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Initial backend implementation for metrics with prometheus

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Implement custom Prometheus query endpoint and enhance metrics handling

- Added a new API endpoint `/api/v1/metrics/node/{id}/query` to execute custom Prometheus queries with optional time range.
- Introduced `CustomQueryRequest` struct for handling query parameters, including start, end, and step.
- Enhanced the `Query` and `QueryRange` methods in the service layer to support custom queries for specific nodes.
- Updated Swagger documentation to reflect the new endpoint and request/response structures.
- Improved error handling in the metrics client to provide detailed responses for unexpected status codes.
- Added new UI components for displaying metrics data, including `MetricsCard` and `MetricsGrid`.

These changes improve the flexibility and usability of the metrics API, allowing users to perform custom queries and visualize the results effectively.

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Checkpoint

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Fix tests

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Implement audit logging functionality

- Introduced a new audit logging service to track and manage audit events within the application.
- Created HTTP handlers for listing and retrieving audit logs, including pagination and filtering options.
- Added middleware for logging HTTP requests and responses, capturing relevant details for audit purposes.
- Defined database models and SQL queries for storing and retrieving audit logs.
- Updated Swagger documentation to include new endpoints for audit log management.
- Enhanced the frontend with new pages for displaying audit logs and details.

These changes improve the application's ability to monitor and audit actions, ensuring better compliance and traceability.

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Enhance audit logging with session ID support

- Added a new `sessionId` field to the audit log structure, allowing tracking of user sessions in audit events.
- Updated Swagger documentation and generated files to reflect the inclusion of `sessionId`.
- Modified middleware to capture and log session IDs during HTTP requests.
- Enhanced database models and SQL queries to accommodate the new `sessionId` field.
- Updated frontend components to display session IDs in audit logs.

These changes improve the audit logging capabilities, providing better traceability and context for logged events.

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Start e2e tests

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update tests

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Fix tests

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Refactor API availability checks in workflows and update Playwright configuration

- Simplified API availability checks in `api-e2e-tests.yaml` and `ui-e2e-tests.yaml` by removing unnecessary lines.
- Updated Playwright configuration to take screenshots only on test failures.
- Removed unused browser configurations for Firefox and WebKit from Playwright setup.
- Added deployment mode selection for Docker in the `create-node.spec.ts` test.

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Fix tests

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update tests

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Merge e2e tests

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Add Playwright tests for creating Fabric nodes and user management

- Implemented `create-node-fabric-peer-logic.ts` for creating Fabric nodes via UI.
- Added `create-node-fabric-peer.spec.ts` to test the workflow of logging in, creating an organization, and creating a Fabric node.
- Introduced `create-user.spec.ts` to validate user creation, logout, and login functionality.
- Updated `Sidebar.tsx` to include an ID for the user menu trigger.
- Modified `fabric-node-form.tsx` to add a name attribute to the organization select field for better form handling.

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Add testnet command and organization pagination support

- Introduced a new `testnet` command to manage testnets for different blockchain networks.
- Implemented subcommands for Besu and Fabric testnets.
- Added pagination support for listing organizations, including query parameters for limit and offset.
- Updated organization-related API responses to include pagination details.
- Refactored organization listing components to utilize the new paginated response structure.

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Implement key management and Besu network creation in Go

- Added `keymanagement.go` for creating and retrieving cryptographic keys via API.
- Introduced `CreateBesuNetwork` function in `networks.go` to create Besu networks with proper error handling and response parsing.
- Enhanced `BesuTestnetRunner` in `besu.go` to manage the creation of Besu testnets, including key generation and node setup.
- Updated `FabricTestnetRunner` to allow dynamic node mode configuration.

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Enhance Besu and Fabric testnet runners with additional configurations

- Updated `BesuTestnetRunner` in `besu.go` to include new configuration parameters such as GasLimit, Difficulty, MixHash, Coinbase, Timestamp, and Nonce for Besu nodes.
- Added dynamic metrics port allocation for Besu nodes to improve flexibility.
- Enhanced `FabricTestnetRunner` in `fabric.go` to enforce a minimum of three orderers for consenters, ensuring proper network configuration.

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Enhance E2E testing and Besu node configuration

- Updated the E2E test workflow to include new testnet creation steps for Besu and Fabric, ensuring proper setup before running API tests.
- Added versioning support for Besu nodes in the `create.go` command, allowing specification of the Besu version during node creation.
- Refactored node response handling to utilize a new HTTP types package for better separation of concerns.
- Introduced external IP retrieval functionality to improve network configuration for Besu testnets.

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* ci/cd

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Cache build

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* ci/cd

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* ci/cd

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* ci/cd

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* ci/cd

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* ci/cd

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* ci/cd

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Enhance CI/CD workflow and implement Docker support for orderer and peer nodes

- Updated e2e-tests.yaml to include Docker mode for chainlaunch.
- Refactored orderer.go to build Docker environment variables and start the orderer in a Docker container.
- Implemented Docker container management in orderer service.
- Enhanced peer.go to support Docker container creation and management.

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* ci/cd

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Enhance e2e-tests.yaml to improve error handling in block retrieval

- Updated the block retrieval command to capture and check the HTTP status code.
- Added error handling to log the response body if the status code is not 200.
- Ensured successful retrieval of a block from the channel is logged with the correct status code.

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Refactor logging and enhance error handling in various components

- Removed excessive logging in install.go to streamline output.
- Implemented external IP detection in fabric.go for improved network configuration.
- Added validation for x-source parameters in plugin deployment to ensure correctness.
- Enhanced error handling in plugin.go for better feedback during deployment failures.
- Introduced new types and methods for managing x-source fields and options in plugin types.

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Refactor plugin management and enhance x-source handling

- Updated the plugin manager to accept additional services and improve initialization.
- Enhanced x-source parameter validation and processing for better error handling.
- Introduced new x-source types and handlers for fabric keys and peers.
- Improved organization response structure to include additional key IDs.
- Updated Swagger documentation to reflect changes in API response structures.

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Improve error handling and UI enhancements in plugin pages

- Updated error handling in the plugin deployment process to provide more detailed feedback.
- Enhanced the layout of the plugins page for better responsiveness and visual clarity.
- Added a description field to the plugin cards for improved information display.
- Refactored the DeploymentModal to support new data structures and improve form handling.

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Enhance Fabric network joining process and improve plugins page layout

- Added functionality to join all peers and orderers to the Fabric network, with error handling for any failures during the process.
- Improved the layout of the plugins page to ensure better responsiveness and visual clarity by adjusting the grid column spans.

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

* Update

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Update documentation structure and enhance plugin metadata

- Added new types for Documentation, Example, and TroubleshootingItem to improve API documentation clarity.
- Updated the Metadata structure to include author, license, repository, and tags for better plugin information.
- Enhanced the PluginDetailPage to display documentation and metadata in a tabbed interface for improved user experience.
- Refactored YamlViewer component to integrate with the new structure and provide a dialog for YAML viewing.

Signed-off-by: dviejokfs <dviejo@kfs.es>

* Add Prometheus status endpoint and chaincode retrieval for Fabric peers

- Introduced a new API endpoint to retrieve the current status of the Prometheus instance, including version, port, and configuration details.
- Implemented functionality to fetch committed chaincodes for specific channels on Fabric peer nodes.
- Updated the Swagger documentation to reflect the new API endpoints and their responses.
- Enhanced the frontend to display analytics and committed chaincodes, improving user experience and accessibility of metrics.

Signed-off-by: dviejokfs <dviejo@kfs.es>

---------

Signed-off-by: dviejokfs <dviejo@kfs.es>
Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

v0.0.2-beta4

13 May 09:37
Compare
Choose a tag to compare
Enhance audit logging with session ID support

- Added a new `sessionId` field to the audit log structure, allowing tracking of user sessions in audit events.
- Updated Swagger documentation and generated files to reflect the inclusion of `sessionId`.
- Modified middleware to capture and log session IDs during HTTP requests.
- Enhanced database models and SQL queries to accommodate the new `sessionId` field.
- Updated frontend components to display session IDs in audit logs.

These changes improve the audit logging capabilities, providing better traceability and context for logged events.

Signed-off-by: dviejokfs <dviejo@kfs.es>

v0.0.2-beta3

13 May 09:17
Compare
Choose a tag to compare
Implement audit logging functionality

- Introduced a new audit logging service to track and manage audit events within the application.
- Created HTTP handlers for listing and retrieving audit logs, including pagination and filtering options.
- Added middleware for logging HTTP requests and responses, capturing relevant details for audit purposes.
- Defined database models and SQL queries for storing and retrieving audit logs.
- Updated Swagger documentation to include new endpoints for audit log management.
- Enhanced the frontend with new pages for displaying audit logs and details.

These changes improve the application's ability to monitor and audit actions, ensuring better compliance and traceability.

Signed-off-by: dviejokfs <dviejo@kfs.es>

v0.0.2-beta2

12 May 21:15
Compare
Choose a tag to compare
Fix tests

Signed-off-by: David VIEJO <dviejo@kungfusoftware.es>

v0.0.2-beta1

11 May 11:53
Compare
Choose a tag to compare
Add feedback URL

Signed-off-by: dviejokfs <dviejo@kfs.es>

v0.0.1-beta28

07 May 09:10
Compare
Choose a tag to compare
Update Swagger documentation and enhance block-related API responses

- Updated the Swagger documentation to reference structured response models for error handling, ensuring consistency across API endpoints.
- Modified the block-related API responses to utilize the new `block.Block` struct, improving data representation and clarity.
- Enhanced the `BlockListResponse`, `BlockTransactionsResponse`, and `TransactionResponse` types to align with the new block structure.
- Removed deprecated block and transaction types from the service layer, streamlining the codebase and improving maintainability.

These changes enhance the overall functionality and usability of the block-related APIs, providing clearer and more structured responses for users.

Signed-off-by: dviejokfs <dviejo@kfs.es>

v0.0.1-beta27

07 May 08:40
Compare
Choose a tag to compare
Fix bulk create step to preselect keys created in besu

Signed-off-by: dviejokfs <dviejo@kfs.es>

v0.0.1

07 May 15:38
Compare
Choose a tag to compare
Enhance Besu network configuration with initial account balances

- Added support for optional initial account balances in the Besu network configuration, allowing users to specify account allocations during network creation.
- Updated Swagger documentation and generated files to reflect the new `alloc` field, which includes account addresses and their corresponding balances in hex format.
- Modified the `CreateBesuNetworkRequest` and related services to handle the new allocation structure, ensuring proper processing of account balances during network setup.

These changes improve the flexibility and usability of the Besu network creation process, enabling better initial fund distribution for accounts.

Signed-off-by: dviejokfs <dviejo@kfs.es>

v0.0.1-beta26

06 May 19:44
Compare
Choose a tag to compare
Enhance block retrieval functionality and UI components

- Updated the `GetBlock` and `GetBlockTransactions` methods in the LocalPeer service to utilize cancellable contexts, improving responsiveness and error handling during block retrieval.
- Implemented timeout handling for block retrieval operations, ensuring that requests do not hang indefinitely.
- Enhanced the block details UI component to display block information more accurately, including block hash, previous block hash, and transaction count.
- Improved layout consistency in the UI by adding padding to loading states.

These changes enhance the overall functionality and user experience when interacting with blockchain data.

Signed-off-by: dviejokfs <dviejo@kfs.es>