Skip to content

Conversation

@stklcode
Copy link
Owner

The connector interface has grown quite big and does not even cover all potential APIs. We now extract functionality into submodules and group them to handle each area in separate interfaces. Provide fluent access, strip prefixes from methods and preserve a 1:1 migration path.

Examples:

before after
connector.seal() connector.sys().seal()
connector.unseal() connector.sys().unseal()
connector.readSecretVersion() connector.kv2().readVersion()
connector.createToken() connector.token().create()
connector.lookupAppRole() connector.appRole().lookup()
connector.transitHash() connector.transit().hash()

@stklcode stklcode added this to the 2.0.0 milestone Sep 17, 2025
@stklcode stklcode self-assigned this Sep 17, 2025
stklcode added a commit that referenced this pull request Oct 14, 2025
The connector interface has grown quite big and does not even cover all
potential APIs. We now extract functionality into submodules and group
them to handle each area in separate interfaces. Provide fluent access,
strip prefixes from methods and preserve a 1:1 migration path.

Examples:

* connector.unseal() => connector.sys().unseal()
* connector.readSecretVersion() => connector.kv2().readVersion()
* connector.createToken() => connector.token().create()
* connector.lookupAppRole() => connector.appRole().lookup()
* connector.transitHash() => connector.transit().hash()
@stklcode stklcode marked this pull request as ready for review October 14, 2025 15:41
@stklcode stklcode changed the base branch from develop to main October 14, 2025 15:41
stklcode added a commit that referenced this pull request Oct 14, 2025
The connector interface has grown quite big and does not even cover all
potential APIs. We now extract functionality into submodules and group
them to handle each area in separate interfaces. Provide fluent access,
strip prefixes from methods and preserve a 1:1 migration path.

Examples:

* connector.unseal() => connector.sys().unseal()
* connector.readSecretVersion() => connector.kv2().readVersion()
* connector.createToken() => connector.token().create()
* connector.lookupAppRole() => connector.appRole().lookup()
* connector.transitHash() => connector.transit().hash()
The connector interface has grown quite big and does not even cover all
potential APIs. We now extract functionality into submodules and group
them to handle each area in separate interfaces. Provide fluent access,
strip prefixes from methods and preserve a 1:1 migration path.

Examples:

* connector.unseal() => connector.sys().unseal()
* connector.readSecretVersion() => connector.kv2().readVersion()
* connector.createToken() => connector.token().create()
* connector.lookupAppRole() => connector.appRole().lookup()
* connector.transitHash() => connector.transit().hash()
@sonarqubecloud
Copy link

@stklcode stklcode merged commit c0eb5b5 into main Oct 14, 2025
10 checks passed
@stklcode stklcode deleted the feat/split-clients branch October 14, 2025 18:00
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.

2 participants