Skip to content

Conversation

@codepitbull
Copy link
Contributor

@codepitbull codepitbull commented Oct 30, 2025

Motivation

Resolves #37845 and #37976

Changes

  • allow skipping certificate validation
  • The lifecycle of OPC UA was incomplete which could lead to a scenario where if the connection wasn't established during startup we wouldn't retry

@cla-bot cla-bot bot added the cla-signed label Oct 30, 2025
Copy link
Member

@caoccao caoccao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@codepitbull codepitbull force-pushed the feature/disable-cert-validation branch from 7146b85 to a22f84d Compare November 4, 2025 14:00
@codepitbull codepitbull marked this pull request as ready for review November 4, 2025 14:41
Copy link
Member

@caoccao caoccao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have some questions.

@codepitbull codepitbull requested a review from Copilot November 5, 2025 13:28
@codepitbull codepitbull changed the title Allowed to deactivate certificate validation More finegrained configuration and handling of TLS and reconnection features. Nov 5, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR enhances the OPC UA adapter with configurable connection timeouts, automatic reconnection, health monitoring, and TLS certificate validation controls. The changes improve connection reliability and provide better control over certificate validation behavior.

  • Added ConnectionOptions for configurable timeouts (session, request, keep-alive, connection, health check, retry) and automatic reconnection
  • Introduced TlsChecks enum to control certificate validation levels (NONE, STANDARD, ALL)
  • Implemented health monitoring with automatic reconnection on connection failures
  • Added connection retry logic with configurable intervals

Reviewed Changes

Copilot reviewed 21 out of 21 changed files in this pull request and generated 13 comments.

Show a summary per file
File Description
ConnectionOptions.java New configuration class for connection timeout and retry settings
TlsChecks.java New enum defining certificate validation levels
Tls.java Added tlsChecks field and default factory method
OpcUaSpecificAdapterConfig.java Added connectionOptions field and updated defaults
BidirectionalOpcUaSpecificAdapterConfig.java Updated constructor to pass connectionOptions
OpcUaProtocolAdapter.java Implemented health monitoring, reconnection logic, and retry scheduling
OpcUaClientConnection.java Added connection timeout and health check functionality
OpcUaClientConfigurator.java Applied timeout configurations from ConnectionOptions
ParsedConfig.java Added TLS validation check selection based on TlsChecks
OpcUaSubscriptionLifecycleHandler.java Added keep-alive health monitoring
Test files Updated to accommodate new constructor parameters and configuration fields

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Member

@caoccao caoccao left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants