Skip to content

Conversation

@HamzaShili65
Copy link

@HamzaShili65 HamzaShili65 commented Jun 26, 2025

Overview

Feature branch to add enos tests for OpenLDAP Secrets Engine plugin

@fairclothjm fairclothjm self-assigned this Jun 30, 2025
Copy link
Contributor

@fairclothjm fairclothjm left a comment

Choose a reason for hiding this comment

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

Thanks @HamzaShili65! I know we plan to refactor/reuse some of this but I left a few comments. Looking great so far!

fairclothjm
fairclothjm previously approved these changes Jul 28, 2025
Copy link
Contributor

@fairclothjm fairclothjm left a comment

Choose a reason for hiding this comment

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

LGTM

@HamzaShili65 HamzaShili65 requested a review from ryancragun July 29, 2025 20:19
@HamzaShili65 HamzaShili65 marked this pull request as ready for review July 31, 2025 20:08
@HamzaShili65 HamzaShili65 requested a review from a team as a code owner July 31, 2025 20:08
@HamzaShili65 HamzaShili65 requested a review from fairclothjm July 31, 2025 21:12
fairclothjm
fairclothjm previously approved these changes Aug 1, 2025
Copy link
Contributor

@fairclothjm fairclothjm left a comment

Choose a reason for hiding this comment

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

LGTM! Feel free to address my comments in a follow-up PR if you prefer.

enos/README.md Outdated
> enos scenario ui run edition:oss
```
#### Manually
The UI tests can be run manually as follows:
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's remove anything in this README that doesn't apply to LDAP. You can do that in a follow-up PR if you prefer.

…LDAP server setup, and plugin configuration (#174)

* add environment setup and teardown srcipts and make targets for ldap server

* add terraform module for ldap server setup

* add terraform module for building, registering, enabling, and configuring the plugin

* add terraform module for bootstrapping vault cluster

* add enos modules

* add enos descriptions

* add ingress for ldap server and machine os and arch outputs

* add smoke scenario for openldap

* ignore the .enos dir

* fix formatting error

* removed copied modules from vault repo

* add remote references to tf modules borrowed from vault

* add variables for ldap ports and reference to remote module

* clean configure plugin module

* replace hardcoded variables with tf vars

* change name for LDAP_VERSION to IMAGE_TAG and remove PLUGIN_DEST_DIR

* remove unnecessary sudos

* remove PLUGIN_DEST_DIR

* renmae LDAP_VERSION to IMAGE TAG

* refactor out plugin setup module from plugin configure

* fmt

* remove consul storage backend related setup

* add cluster tag for ldap server target

* add module that builds plugin binary and bundles it from local branch

* wip: build_ldap step currently only supports local builds

* replace file copying logic with enos_bundle_install resource as it supports local build, releases, and artifactory

* wip: introduce build_ldap step

* change license to MPL-2.0 on scripts

* add build_ldap description

* fmt

* change license to MPL-2.0 on scripts

* make the ref configurable for all external tf modules

* remove references to unused modules

* remove unused qualities

* remove consul variable

* remove unused descriptions

* add suport for building ldap from artifactory and releases

* reference target_ec2_instances module from vault

* change artifact path in setup_plugin to be nonull only for local builds

* use same ldap image tag for mkae targets and enos

* update go.sum

* remove unused variables and update enos.vars.hcl with template enos vars setup for developer

* result of mod tidy

* change lease to MPL-2.0

---------

Co-authored-by: Hamza ElMokhtar Shili <[email protected]>
HamzaShili65 and others added 2 commits August 4, 2025 12:55
…crud with enos (#179)

* add environment setup and teardown srcipts and make targets for ldap server

* add terraform module for ldap server setup

* add terraform module for building, registering, enabling, and configuring the plugin

* add terraform module for bootstrapping vault cluster

* add enos modules

* add enos descriptions

* add ingress for ldap server and machine os and arch outputs

* add smoke scenario for openldap

* ignore the .enos dir

* fix formatting error

* install openldap clients to vault targets

* add ldap ip and port as outputs

* add module for testing static role crud api

* update static role crud api module and decription

* add step to test static role crud api

* fmt and add env vars checks

* add make target for static role api test

* fmt

* fmt

* fmt and remove unused modules

* use ldap server private ip for plugin configuration and static role api testing

* refactor ldap configuration variables

* change license to MPL-2.0

* add support for manual static-role rotation and root-rotation

* change ldap image tag to 1.3.0

* remove rotate-root check of initial root credential validity

* change ldap_tag to 1.3.0 in makefile

* move root credentials rotation to the begining of the script

---------

Co-authored-by: Hamza ElMokhtar Shili <[email protected]>
… crud with enos (#181)

* add environment setup and teardown srcipts and make targets for ldap server

* add terraform module for ldap server setup

* add terraform module for building, registering, enabling, and configuring the plugin

* add terraform module for bootstrapping vault cluster

* add enos modules

* add enos descriptions

* add ingress for ldap server and machine os and arch outputs

* add smoke scenario for openldap

* ignore the .enos dir

* fix formatting error

* install openldap clients to vault targets

* add ldap ip and port as outputs

* add module for testing static role crud api

* update static role crud api module and decription

* add step to test static role crud api

* add module for testing dynamic role api

* add dynamic role api test step

* add dynamic role api test module and description

* add make target for dynamic role api test

* change license to MPL-2.0

* removed unused tf modules and scripts

* added error handling for requesting dynamic credentials

* make input variables to the test_dynamic_role_crud_api step dynamic

---------

Co-authored-by: Hamza ElMokhtar Shili <[email protected]>
Copy link

@ryancragun ryancragun left a comment

Choose a reason for hiding this comment

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

Really good work! Love to see that the remote module sources work!

HamzaShili65 and others added 8 commits August 12, 2025 10:57
…t with enos (#188)

* add module to verify that vault is sealed

* move plugin dir clean up and copying plugin binary out of plugin registration logic

* add module references and descriptions for sealing and unsealing vault

* make plugin_dir in vault dynamic

* rename enos-scenario-openldap.hcl to enos-scenario-openldap-smoke.hcl

* add restart scenario
… with enos (#189)

* add module to verify that vault is sealed

* move plugin dir clean up and copying plugin binary out of plugin registration logic

* add module references and descriptions for sealing and unsealing vault

* make plugin_dir in vault dynamic

* rename enos-scenario-openldap.hcl to enos-scenario-openldap-smoke.hcl

* add restart scenario

* add module for testing library endpoint api

* add module refs and description for testing library crud api

* add steps to test library endpoint api for both smoke and restart scenarios

* add variables for the library endpoint test step

* fmt
…nge with enos (#191)

* add scenario for leader change case

* add modules refs, descriptions, and qualities for leader change case
…oint root rotation (#193)

* add scenario for leader change case

* add modules refs, descriptions, and qualities for leader change case

* add tf module for testing ldap secrets engine manual root_rotation

* add tf module for testing ldap secrets engine periodic root_rotation

* add tf module for testing ldap secrets engine scheduled root_rotation

* add setup for integrating root rotation modules

* fmt

* takeout root rotation from scripts

* integrate root rotation modules with smoke scenario
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants