Commit Graph

185 Commits

Author SHA1 Message Date
Lehel Balázs
c8f396a5df use lookup-self for token check instead of lookup (#98) (#99)
All checks were successful
CI / build-with-it (11, 1.2.0) (push) Successful in 54s
CI / build-with-it (11, 1.19.0) (push) Successful in 1m0s
CI / build-with-it (17, 1.2.0) (push) Successful in 53s
CI / build-with-it (17, 1.19.0) (push) Successful in 58s
CI / build-with-it (21, 1.2.0) (push) Successful in 48s
CI / build-with-it (true, 21, 1.19.0) (push) Successful in 55s
Using the /lookup-self to retrieve information about the current token
requires less permissions than the general /lookup API and yields the
same results, if accessible.
2025-05-28 18:09:08 +03:00
cc5ca13aeb refactor: use builder to instantiate ObjectMapper (#95)
All checks were successful
CI / build-with-it (11, 1.2.0) (push) Successful in 52s
CI / build-with-it (11, 1.19.0) (push) Successful in 58s
CI / build-with-it (17, 1.2.0) (push) Successful in 52s
CI / build-with-it (17, 1.19.0) (push) Successful in 57s
CI / build-with-it (21, 1.2.0) (push) Successful in 47s
CI / build-with-it (true, 21, 1.19.0) (push) Successful in 54s
Instead of applying configuration to a new ObjectMapper instance we use
the JsonMapper builder pattern to create our mapper.

The resulting mappers are not yet fully immutable, but the old way will
be removed in Jackson 3.0.
2025-04-13 10:49:42 +02:00
e9aeda9a55 style: trim multiline indentation to 4 spaces
All checks were successful
CI / build-with-it (11, 1.2.0) (push) Successful in 56s
CI / build-with-it (17, 1.2.0) (push) Successful in 56s
CI / build-with-it (21, 1.2.0) (push) Successful in 51s
CI / build-with-it (true, 21, 1.19.0) (push) Successful in 57s
CI / build-with-it (17, 1.19.0) (push) Successful in 49s
CI / build-with-it (11, 1.19.0) (push) Successful in 51s
2025-04-11 17:20:24 +02:00
ee2543e3ad reuse builder methods when initializing from environment
All checks were successful
CI / build-with-it (11, 1.2.0) (push) Successful in 51s
CI / build-with-it (17, 1.19.0) (push) Successful in 54s
CI / build-with-it (17, 1.2.0) (push) Successful in 51s
CI / build-with-it (21, 1.2.0) (push) Successful in 46s
CI / build-with-it (true, 21, 1.19.0) (push) Successful in 55s
CI / build-with-it (11, 1.19.0) (push) Successful in 48s
We can just pass the environment variable to other pre-existing methods
instead of parsing the URL twice. This also fixes URLs without explicit
ports where we should not store "-1" in this case.
2025-03-29 11:50:29 +01:00
dad35023eb replace deprecated java.net.URL usage with java.net.URI (#94)
Deprecated in Java 20. Migrate URL parsing to backward compatible URI.
2025-03-28 18:30:37 +01:00
0127cf30be feat: introduce methods for transit API interaction (#89)
All checks were successful
CI / build-with-it (11, 1.2.0) (push) Successful in 50s
CI / build-with-it (11, 1.19.0) (push) Successful in 55s
CI / build-with-it (17, 1.2.0) (push) Successful in 50s
CI / build-with-it (17, 1.19.0) (push) Successful in 56s
CI / build-with-it (21, 1.2.0) (push) Successful in 47s
CI / build-with-it (true, 21, 1.19.0) (push) Successful in 54s
Support hashing and de-/encryption using Vault's transit API.
2025-03-02 18:24:16 +01:00
ff6d2140cf feat: support PEM certificate string from VAULT_CACERT env var (#93)
All checks were successful
CI / build-with-it (11, 1.2.0) (push) Successful in 53s
CI / build-with-it (11, 1.19.0) (push) Successful in 1m0s
CI / build-with-it (17, 1.19.0) (push) Successful in 57s
CI / build-with-it (17, 1.2.0) (push) Successful in 52s
CI / build-with-it (21, 1.2.0) (push) Successful in 48s
CI / build-with-it (true, 21, 1.19.0) (push) Successful in 54s
Vault CLI and the connector up to 1.4 support providing a path to a CA
certificate file. Introduce support for providing PEM encoded content
directly which might be convenient in container environments to provide
a certificate e.g. from secrets without mounting it to some path.
2025-03-23 12:10:15 +01:00
076cd8b607 replace trim/isEmpty with isBlank
All checks were successful
CI / build-with-it (11, 1.2.0) (push) Successful in 53s
CI / build-with-it (11, 1.19.0) (push) Successful in 1m1s
CI / build-with-it (17, 1.2.0) (push) Successful in 53s
CI / build-with-it (21, 1.2.0) (push) Successful in 48s
CI / build-with-it (true, 21, 1.19.0) (push) Successful in 55s
CI / build-with-it (17, 1.19.0) (push) Successful in 49s
2025-03-22 18:39:39 +01:00
d329af2c67 deprecate default methods to read specific database credentials (#92)
All checks were successful
CI / build-with-it (11, 1.2.0) (push) Successful in 57s
CI / build-with-it (11, 1.19.0) (push) Successful in 1m3s
CI / build-with-it (17, 1.2.0) (push) Successful in 57s
CI / build-with-it (17, 1.19.0) (push) Successful in 1m4s
CI / build-with-it (21, 1.2.0) (push) Successful in 54s
CI / build-with-it (true, 21, 1.19.0) (push) Successful in 1m2s
The interface has some methods to read database credentials from
specific mountpoints like "mysql". While ann database mounts share
the same credential endpoints, the mount point itself can have any
name. Let's clean up some methods of low benefit and deprecate the
convenience methods.

Trivial replacement is `getDbCredentials()` with explicit mount point,
if it's actually mounted on that path.
2025-03-09 11:43:15 +01:00
e5dd207c8c update license headers to 2025 2025-01-07 17:35:54 +01:00
d4066c1829 drop support for deprecated App-ID auth backend (#61) (#78)
All checks were successful
continuous-integration/drone/push Build is passing
App-ID is deprecated since Vault 0.6 and was removed in 1.12.
Our compatibility methods are deprecated since Connector 0.4. It's time
to drop it for good.
2024-06-29 15:09:38 +02:00
498e46d94d remove deprecated get...TimeString() methods from model classes (#77)
All checks were successful
continuous-integration/drone/push Build is passing
2024-06-29 15:07:47 +02:00
15ee202167 refactor: add serialVersionUID field to exception classes
All checks were successful
continuous-integration/drone/push Build is passing
2024-06-29 10:51:39 +02:00
5f1f94f59c feat: add custom_metadata, cas_required and delete_version_after fields
All checks were successful
continuous-integration/drone/push Build is passing
2024-06-22 14:46:06 +02:00
e0711e6108 fix: rename enable_local_secret_id to local_secret_ids in AppRole model 2024-06-22 14:46:05 +02:00
a3393ae0cb feat: add auth attribute to common response model 2024-06-22 14:46:04 +02:00
8ec160a436 feat: add mount_type attribute to common response model 2024-06-22 14:46:02 +02:00
69da6b9f14 feat: add missing num_uses field to AuthData 2024-06-22 12:49:01 +02:00
936928a4fb feat: add Vault 1.16 and 1.17 flags to HealthResponse 2024-06-22 12:48:00 +02:00
4258489dba update copyright notice to 2024 2024-04-27 17:09:40 +02:00
e49216f611 docs: fix two typos in comments
All checks were successful
continuous-integration/drone/push Build is passing
2024-04-27 12:06:55 +02:00
dd5adf897a refactor: simplify JSON parsing in handleError()
Omit reading lines to String first and pass the reader directly to the
JSON mapper.
2024-04-27 12:04:44 +02:00
151b58dc82 model: add "build_date" to SealResponse (#73)
All checks were successful
continuous-integration/drone/push Build is passing
2023-12-03 15:11:10 +01:00
65fb01617d model: extend AuthMethod model and embedded config (#72)
Introduce MountConfig and UserLockoutConfig models and add some missing
fields to AuthMethod.
2023-12-03 15:09:45 +01:00
097cb5415a re-generate serial version of AuthData class
All checks were successful
continuous-integration/drone/push Build is passing
Fixes: 2dff8930b7
2023-12-03 15:09:12 +01:00
2dff8930b7 model: add MFA requirement data to auth response (#71)
All checks were successful
continuous-integration/drone/push Build is passing
2023-12-03 14:44:15 +01:00
52876ef3a4 close HTTPClient when running with JDK21 or newer (#70)
The Java HTTP client implements AutoCloseable since JDK 21. Closing the
client ensures that asynchronous operations and streams are properly
terminated.

As we support Java 11, we add any old school "finally" wrapper and
conditionally close the client when running on a modern platform.
2023-11-26 11:33:28 +01:00
7e5d193d1b parse timestamps as ZonedDateTime internally
All checks were successful
continuous-integration/drone/push Build is passing
Timestamps have been stored with their String representation from the
API with convenience methods to convert them into ZonedDateTime.
We now use the Jackson JavaTimeModule to parse them directly and swap
the real and convenience getters.
2023-06-15 17:50:47 +02:00
226b6ad6c4 split lines above 120 characters
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-17 15:17:06 +02:00
d81fc4e5af reorder members and elements to comply with language recommendations 2023-06-17 15:23:49 +02:00
1195b447a2 fix regression from redundant String mapping in SecretResponse getter
All checks were successful
continuous-integration/drone/push Build is passing
Mapping a JSON string into String using a JSON parser will fail, so we
should use the string directly instead of applying double conversion.

Fixes: f3e1f01e38
2023-06-16 18:18:55 +02:00
f3e1f01e38 fix type conversion in SecretResponse getter method (#67)
Some checks failed
continuous-integration/drone/push Build is failing
Converting the payload using toString() is not an appropriate way to
feed a JSON parser. We now use JSON roundtrip for type mapping and
introduce shortcuts of the type already matches the target type.
2023-06-16 17:43:30 +02:00
34322b389c fix timezone pattern in datetime parsing 2023-06-15 17:58:41 +02:00
d9dbdad75b use explicit utf-8 encoding for parsing responses
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-13 18:51:07 +02:00
70b7338f3e update copyright notice to 2023 2023-01-29 11:20:59 +01:00
909eab762c mark deprecated AppID components for removal
All checks were successful
continuous-integration/drone/push Build is passing
The AppID backend is no longer available in the latest Vault releases,
so we plan removal with a following major release.
2022-11-21 12:01:26 +01:00
712fab04e1 combine payload map creation into subroutines
We create payload maps with conditional argument sets in several
places. Combine the generation into subroutines, to keep the actual
endpoint calls short and clear.
2022-11-21 11:40:53 +01:00
39ac32a2f6 minor rework of internal path constants 2022-11-21 11:33:47 +01:00
64e55eddd8 model: add request ID to data response models
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-24 16:44:50 +02:00
feb6e147fe model: add support for (dis)allowed policy glob patterns in TokenRole
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-24 16:40:33 +02:00
b0d2b038eb model: add missing fields to AuthMethod model
All checks were successful
continuous-integration/drone/push Build is passing
2022-04-24 16:32:49 +02:00
4f3cb4b330 model: eliminate double-mapping of generic data in response classes
Explicitly declare mapping of the "data" field in response classes.
Therefore, the JSON setter setData() is no longer used. SecretResponse
is split into subclasses for secret with and without metadata.
2022-04-19 17:24:16 +02:00
021421a54c model: implement Serializable with model classes
implement equals() and hashCode()
2022-04-19 17:24:09 +02:00
bd0c5b08fe model: add wrap_info to data response model
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-06 18:11:31 +01:00
5f3a36e2c5 update copyright notice to 2022 2022-03-06 18:10:33 +01:00
f6180c4f90 model: add migration, recovery and storage type fields to seal status
All checks were successful
continuous-integration/drone/push Build is passing
2022-02-05 13:01:57 +01:00
dc4b62496a model: use correct "replication_performance_mode" JSON field
All checks were successful
continuous-integration/drone/push Build is passing
The official docs incorrectly state "replication_perf_mode" which was
renamed to "replication_performance_mode" way back in Vault 0.9. We now
use the correct field name that is emitted by the API.
2021-12-27 18:54:49 +01:00
6a73bc39d3 connector: remove unused DEFAULT_TLS_VERSION field
All checks were successful
continuous-integration/drone/push Build is passing
This constant was left over from the RequestHelper refactoring. It is
not used anywhere in our code and likely not used by any downstream
project, so we remove it now.
2021-10-26 20:05:37 +02:00
75561a0540 passthrough null as port number in builder (#56)
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-12 20:58:59 +02:00
1c31b7a5fe auto format JavaDocs
All checks were successful
continuous-integration/drone/push Build is passing
2021-10-02 15:04:00 +02:00