Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport of Support mlock and custom tmpdir for containerized plugins into release/1.15.x #23241

Conversation

hc-github-team-secure-vault-core
Copy link
Collaborator

Backport

This PR is auto-generated from #23215 to be assessed for backporting due to the inclusion of the label backport/1.15.x.

🚨

Warning automatic cherry-pick of commits failed. If the first commit failed,
you will see a blank no-op commit below. If at least one commit succeeded, you
will see the cherry-picked commits up to, not including, the commit where
the merge conflict occurred.

The person who merged in the original PR is:
@tomhjp
This person should manually cherry-pick the original PR into a new backport PR,
and close this one when the manual backport PR is merged in.

merge conflict error: POST https://api.github.com/repos/hashicorp/vault/merges: 409 Merge conflict []

The below text is copied from the body of the original PR.


When running containerised plugins within the context of our default systemd unit file (from the rpm repositories), I found a couple of issues I hadn't stumbled on previously:

  • Plugins need a capability to mlock if Vault is configured with mlock - previously they always inherited this from Vault as a sub-process, but now we need to explicitly set it for containers. It boils down to adding the IPC_LOCK capability to the container. Without it, we get an error on plugin startup because the mlock syscall fails. Library PR: plugincontainer: Support mlock go-secure-stdlib#94
  • If running with systemd's PrivateTmp setting, the container cannot see Vault's view of /tmp, so we need the ability to negotiate a separate directory that both sides can see. We could just use TMPDIR, but then that ruins the whole point of the setting. Instead, we introduce a new environment variable to use a different tmp dir in one very narrow use-case. Library PR: Add TempDir option to UnixSocketConfig go-plugin#282

Overview of commits

@hc-github-team-secure-vault-core hc-github-team-secure-vault-core force-pushed the backport/vault-18185/containerized-plugins-support-mlock-and-custom-tmpdir/moderately-dominant-wallaby branch from 3da3ed3 to 0f0d71c Compare September 22, 2023 11:14
@hashicorp-cla
Copy link

CLA assistant check

Thank you for your submission! We require that all contributors sign our Contributor License Agreement ("CLA") before we can accept the contribution. Read and sign the agreement

Learn more about why HashiCorp requires a CLA and what the CLA includes


temp seems not to be a GitHub user.
You need a GitHub account to be able to sign the CLA. If you already have a GitHub account, please add the email address used for this commit to your account.

Have you signed the CLA already but the status is still pending? Recheck it.

@github-actions github-actions bot added the hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed label Sep 22, 2023
@tomhjp tomhjp closed this Sep 22, 2023
@tomhjp tomhjp deleted the backport/vault-18185/containerized-plugins-support-mlock-and-custom-tmpdir/moderately-dominant-wallaby branch September 22, 2023 11:20
@github-actions
Copy link

CI Results:
All Go tests succeeded! ✅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
hashicorp-contributed-pr If the PR is HashiCorp (i.e. not-community) contributed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants