3_auth_config
tl;dr Configurations for request authorization and deployment.
Example Configuration
Helm Values File Location (Local Development)
In development mode, the config file must be located at:
./local/path/.values.yamlTilt's hot reload feature is enabled by default in the Helm chart. This means that when the .values.yaml file is updated, Tilt will automatically redeploy the PATH Gateway stack with the new values.
Default Values
The .values.yaml file is used to configure a PATH deployment by overriding the default values in the Helm chart.
By default PATH is configured as follows:
Services:
shannon
anvil
-
shannon
eth
eth, eth-mainnet
shannon
polygon
polygon, polygon-mainnet
API Keys:
test_api_key
Customizing Default Values
If you wish to customize the default values, you can copy the template file to the local directory and modify it.
make configs_copy_values_yamlGUARD Configuration
auth.apiKey Section
auth.apiKey SectionDefault test_api_key
By default a single default API key value of test_api_key is provided. This should be overridden in the .values.yaml file.
This section configures the list of allowed API keys for the PATH gateway. Any request without a valid API key will be rejected.
The API key is specified per-request as the Authorization header.
enabled
boolean
Yes
true
Whether to enforce API key authentication
apiKeys
array[string]
Yes
[test_api_key]
List of API keys authorized to access the gateway
💡 See Envoy Gateway's API Key Authentication documentation for more information.
services Section
This section configures the list of services that are allowed to access the PATH gateway.
Each service must be assigned a unique serviceId and may have multiple aliases which map to the same service.
The service ID is specified per-request as the Target-Service-Id header; either the serviceId or any of the aliases will be accepted. See examples below for more details.
services
array[object]
Yes
-
List of services
services[].serviceId
string
Yes
-
The unique identifier for the service
services[].aliases
array[string]
Yes
-
List of aliases for the service
Example Requests
The above .values.yaml files will allow the following requests to PATH.
Request to the polygon service using the service ID using API key test_api_key_1:
curl http://localhost:3070/v1 \
-H "Target-Service-Id: polygon" \
-H "Authorization: test_api_key_1" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "eth_blockNumber" }'Request to the polygon service using the alias using API key test_api_key_2:
curl http://localhost:3070/v1 \
-H "Target-Service-Id: polygon" \
-H "Authorization: test_api_key_2" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "eth_blockNumber" }'Request to the "eth" service using an alias using API key test_api_key_3:
curl http://localhost:3070/v1 \
-H "Target-Service-Id: eth" \
-H "Authorization: test_api_key_3" \
-d '{"jsonrpc": "2.0", "id": 1, "method": "eth_blockNumber" }'Was this helpful?
