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

feat: support store secret in env for auth plugin #8390

Merged
merged 12 commits into from
Nov 25, 2022

Conversation

soulbird
Copy link
Contributor

@soulbird soulbird commented Nov 24, 2022

Description

As part of #8319:

Step 1: Support the use of environment variables to manage keys. Information in the consumer configuration is more private, so we first used environment variables in the consumer to manage sensitive information.

Currently only test cases have been added for the key-auth plugin, the test cases for other plugins will be completed in a separate PR.

Checklist

  • I have explained the need for this PR and the problem it solves
  • I have explained the changes or the new features added to this PR
  • I have added tests corresponding to this change
  • I have updated the documentation to reflect this change
  • I have verified that this change is backward compatible (If not, please discuss on the APISIX mailing list first)

@soulbird soulbird requested review from tzssangglass, spacewander and membphis and removed request for tzssangglass and spacewander November 24, 2022 05:49
@soulbird soulbird marked this pull request as ready for review November 24, 2022 05:59
@soulbird soulbird requested a review from spacewander November 24, 2022 06:57
apisix/core/env.lua Show resolved Hide resolved
apisix/core/env.lua Show resolved Hide resolved
local function retrieve(refs)
log.info(string.format("retrieve secrets refs: %p", refs))

local new_refs = table.clone(refs)
Copy link
Member

Choose a reason for hiding this comment

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

Do we need to use deepcopy for the later recursive call?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Actually I'm not sure, but it seems safer to use deepcopy.

@soulbird soulbird requested a review from spacewander November 24, 2022 08:59
spacewander
spacewander previously approved these changes Nov 24, 2022
apisix/core/env.lua Show resolved Hide resolved
apisix/core/env.lua Show resolved Hide resolved
apisix/core/env.lua Outdated Show resolved Hide resolved
apisix/core/utils.lua Outdated Show resolved Hide resolved
apisix/core/env.lua Outdated Show resolved Hide resolved
apisix/core/env.lua Show resolved Hide resolved
apisix/core/env.lua Outdated Show resolved Hide resolved
apisix/core/env.lua Show resolved Hide resolved
apisix/core/env.lua Show resolved Hide resolved
t/core/env.t Outdated Show resolved Hide resolved
spacewander
spacewander previously approved these changes Nov 25, 2022
@soulbird soulbird requested a review from spacewander November 25, 2022 05:09
@spacewander spacewander merged commit e48b55f into apache:master Nov 25, 2022
hongbinhsu added a commit to fitphp/apix that referenced this pull request Dec 4, 2022
* upstream/master: (48 commits)
  fix(ai): remove BUILD_ROUTER event when ai module is unloaded (apache#8184)
  chore: add some comment for make_request_to_vault function (apache#8420)
  docs: update admin api English doc (apache#8227)
  ci: use fixed os version of ubuntu (apache#8438)
  feat: Support store secrets in secrets manager for auth plugin via kms components (apache#8421)
  feat: interact via gRPC in APISIX Admin API (apache#8411)
  fix: last_err can be nil when the reconnection is successful (apache#8377)
  feat: support global data encryption of secret information (apache#8403)
  refactor(env): rename funtion name (apache#8426)
  feat(admin): add kms admin api (apache#8394)
  docs: update consumer and upstream docs (apache#8223)
  ci: add cron job for GM (apache#8398)
  docs: add kms env doc (apache#8419)
  feat: Added log format support in syslog plugin. (apache#8279)
  feat: add vault common components (apache#8412)
  docs: update global-rule/plugin-config/plugin/ docs (apache#8262)
  docs: update consumer-group/router/service/script doc (apache#8332)
  feat: support store secret in env for auth plugin (apache#8390)
  docs: update Upgrade Guide CN version (apache#8392)
  docs: add GM plugin EN doc to make website display normally (apache#8393)
  ...
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.

5 participants