wso2 / wso2/docs-apim

Configuration mentioned at Hashicope Vault doc doesn't work

Open
#3,652 2 comments 0 reactions 1 assignee View on GitHub

@sajithaliyanage is already working on this.

Since Sep 9, 2021.

API-M-4.0.0 Type/Bug
Dominant language
CSS
Stars
99
Forks
708
Avg merge
1d 7h
Merged PRs (30d)
22

Description

Description:

Documentation contains below.

[[external_vault]]
name = "hashicorp"
address = "http://127.0.0.1:8200"
# If Static Token authentication is used, apply the rootToken:
rootToken = "ROOT_TOKEN"
# If AppRole Pull authentication is used, apply the roleId and secretId:
roleId = "ROLE_ID"
secretId = "SECRET_ID"
cachableDuration = 15000
engineVersion = 2
namespace = "NAMESPACE"
trustStoreFile = "${carbon.home}/repository/resources/security/client-truststore.jks"
keyStoreFile = "${carbon.home}/repository/resources/security/wso2carbon.jks"
keyStorePassword = "KEY_STORE_PASSWORD"

When applied got below error.

[2021-03-09 15:25:41,063] ERROR {SynapseXPath} - Evaluation of the XPath expression hashicorp:vault-lookup('ei-secrets/dev', 'test3') resulted in an error org.jaxen.FunctionCallException: Error while initializing the secure vault configs
	at org.wso2.micro.integrator.mediation.security.vault.external.hashicorp.HashiCorpVaultLookupFunction.call(HashiCorpVaultLookupFunction.java:101)
	at org.jaxen.expr.DefaultFunctionCallExpr.evaluate(DefaultFunctionCallExpr.java:181)
	at org.jaxen.expr.DefaultXPathExpr.asList(DefaultXPathExpr.java:102)
	at org.jaxen.BaseXPath.selectNodesForContext(BaseXPath.java:675)
	at org.jaxen.BaseXPath.selectNodes(BaseXPath.java:215)
	at org.jaxen.BaseXPath.evaluate(BaseXPath.java:175)
	at org.apache.synapse.util.xpath.SynapseXPath.stringValueOf(SynapseXPath.java:410)
	at org.apache.synapse.mediators.builtin.PropertyMediator.getResultValue(PropertyMediator.java:410)
	at org.apache.synapse.mediators.builtin.PropertyMediator.mediate(PropertyMediator.java:133)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:109)
	at org.apache.synapse.mediators.AbstractListMediator.mediate(AbstractListMediator.java:71)
	at org.apache.synapse.mediators.base.SequenceMediator.mediate(SequenceMediator.java:158)
	at org.apache.synapse.api.Resource.process(Resource.java:342)
	at org.apache.synapse.api.API.process(API.java:465)
	at org.apache.synapse.api.AbstractApiHandler.apiProcess(AbstractApiHandler.java:93)
	at org.apache.synapse.api.AbstractApiHandler.dispatchToAPI(AbstractApiHandler.java:71)
	at org.apache.synapse.api.rest.RestRequestHandler.dispatchToAPI(RestRequestHandler.java:75)
	at org.apache.synapse.api.rest.RestRequestHandler.process(RestRequestHandler.java:67)
	at org.apache.synapse.rest.RESTRequestHandler.process(RESTRequestHandler.java:54)
	at org.apache.synapse.core.axis2.Axis2SynapseEnvironment.injectMessage(Axis2SynapseEnvironment.java:344)
	at org.apache.synapse.core.axis2.SynapseMessageReceiver.receive(SynapseMessageReceiver.java:99)
	at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180)
	at org.apache.synapse.transport.passthru.ServerWorker.processNonEntityEnclosingRESTHandler(ServerWorker.java:369)
	at org.apache.synapse.transport.passthru.ServerWorker.processEntityEnclosingRequest(ServerWorker.java:428)
	at org.apache.synapse.transport.passthru.ServerWorker.run(ServerWorker.java:182)
	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:172)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.wso2.micro.integrator.mediation.security.vault.external.ExternalVaultException: Error while initializing the secure vault configs
	at org.wso2.micro.integrator.mediation.security.vault.external.hashicorp.HashiCorpVaultLookupHandlerImpl.<init>(HashiCorpVaultLookupHandlerImpl.java:76)
	at org.wso2.micro.integrator.mediation.security.vault.external.hashicorp.HashiCorpVaultLookupHandlerImpl.getDefaultSecurityService(HashiCorpVaultLookupHandlerImpl.java:82)
	at org.wso2.micro.integrator.mediation.security.vault.external.hashicorp.HashiCorpVaultLookupFunction.call(HashiCorpVaultLookupFunction.java:98)
	... 28 more
Caused by: org.wso2.micro.integrator.mediation.security.vault.external.ExternalVaultException: Required configurations of the hashicorp secure vault can not found
	at org.wso2.micro.integrator.mediation.security.vault.external.hashicorp.HashiCorpVaultLookupHandlerImpl.initialize(HashiCorpVaultLookupHandlerImpl.java:98)
	at org.wso2.micro.integrator.mediation.security.vault.external.hashicorp.HashiCorpVaultLookupHandlerImpl.<init>(HashiCorpVaultLookupHandlerImpl.java:74)
	... 30 more

Solution

Update below parameter as below.

cachableDuration = "15000"

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.