### Kubernetes: Test Lunar Proxy Installation Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Runs tests associated with the Lunar Proxy Helm release to verify the installation and configuration in Kubernetes. ```bash helm test lunar-proxy ``` -------------------------------- ### Run Python Application Source: https://github.com/thelunarcompany/lunar/blob/main/example-consumer-app/python/README.md Executes the main Python script to start the consumer application. This command should be run after all dependencies are installed and the environment variables are configured. ```bash python main.py ``` -------------------------------- ### Run the Lunar Example App Source: https://github.com/thelunarcompany/lunar/blob/main/example-consumer-app/nodejs/README.md Executes the main Node.js application file. This command should be run after setting the LUNAR_PROXY_HOST environment variable and installing dependencies. ```bash node main.js ``` -------------------------------- ### Install Python Dependencies Source: https://github.com/thelunarcompany/lunar/blob/main/example-consumer-app/python/README.md Installs all required Python packages from the `requirements.txt` file using pip. This command should be executed in the project's root directory to set up the application's environment. ```bash pip install -r requirements.txt ``` -------------------------------- ### Install and Run MCPX UI Source: https://github.com/thelunarcompany/lunar/blob/main/mcpx/packages/ui/README.md Installs project dependencies and starts the MCPX UI development server. Requires the MCPX server to be running with its webserver at http://localhost:9001. ```bash npm install\nnpm run dev ``` -------------------------------- ### Run Lunar Proxy Integration Tests Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Sets up the development environment and runs integration tests for the Lunar proxy using pipenv and Behave. This involves installing dependencies and executing the test suite. ```bash cd proxy/integration-tests pipenv install --dev pipenv run behave ``` -------------------------------- ### Kubernetes: Install Lunar Proxy Helm Chart Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Installs the Lunar Proxy using the Helm chart. Requires setting the 'tenantName' parameter to your organization's name and specifies the namespace. ```bash helm install lunar-proxy lunar/lunar-proxy --set tenantName= --namespace lunar-proxy --create-namespace ``` -------------------------------- ### Install Lunar Interceptor Source: https://github.com/thelunarcompany/lunar/blob/main/example-consumer-app/nodejs/README.md Installs the Lunar Interceptor package using npm. Requires Node.js and npm. Compatible with Node.js versions 10.x and newer. ```bash npm install lunar-interceptor@2.x.x ``` -------------------------------- ### Lunar Quota Configuration Example Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Defines a quota with ID 'MyQuota' that applies to requests targeting 'api.website.com/*'. It uses a fixed window strategy to allow a maximum of 100 requests per minute. ```yaml quotas: - id: MyQuota filter: url: api.website.com/* strategy: fixed_window: max: 100 interval: 1 interval_unit: minute ``` -------------------------------- ### Lunar Flow Configuration Example Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Defines a Lunar Flow named 'ClientSideLimitingFlow' that filters requests to 'api.website.com/*', applies a rate limiter with a specific quota ID, and generates a 'Quota Exceeded' response for blocked requests. ```yaml name: ClientSideLimitingFlow filter: url: api.website.com/* processors: Limiter: processor: Limiter parameters: - key: quota_id value: MyQuota GenerateResponseLimitExceeded: processor: GenerateResponse parameters: - key: status value: 429 - key: body value: "Quota Exceeded. Please try again later." - key: Content-Type value: text/plain flow: request: - from: stream: name: globalStream at: start to: processor: name: Limiter - from: processor: name: Limiter condition: block to: processor: name: GenerateResponseLimitExceeded - from: processor: name: Limiter condition: allow to: stream: name: globalStream at: end response: - from: processor: name: GenerateResponseLimitExceeded to: stream: name: globalStream at: end - from: stream: name: globalStream at: start to: processor: name: end ``` -------------------------------- ### Install and Run Hadolint Source: https://github.com/thelunarcompany/lunar/blob/main/readme-files/LINTING.md Installs Hadolint, a linter for Dockerfiles, using Homebrew. It then demonstrates how to run Hadolint on a specific Dockerfile. ```bash brew install hadolint hadolint Dockerfiles/amd64/Dockerfile ``` -------------------------------- ### Install Project Dependencies Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-java-interceptor/readme-files/LINTING.md Installs project dependencies, including prettier-java and its related tools. This command should be run in the root directory of the project. ```bash npm install ``` -------------------------------- ### Install Lunar Interceptor Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-java-interceptor/README.md Placeholder command for installing the Lunar Interceptor. This command needs to be updated with the actual installation procedure. ```Shell $ TODO ``` -------------------------------- ### Install and Run golangci-lint Source: https://github.com/thelunarcompany/lunar/blob/main/readme-files/LINTING.md Installs and upgrades the golangci-lint tool using Homebrew. It then shows how to run the linter on all Go modules in the project, with an option to automatically fix issues. ```bash brew install golangci-lint brew upgrade golangci-lint golangci-lint run ./... golangci-lint run ./... --fix ``` -------------------------------- ### Compile Java Application Source: https://github.com/thelunarcompany/lunar/blob/main/example-consumer-app/java/README.md Compiles the Main.java file, including the downloaded JAR files in the classpath. Replace '' with the actual directory containing the downloaded JARs. ```Bash javac -cp ".:/okhttp-3.14.9.jar:/okio-2.8.0.jar:/kotlin-stdlib-1.9.23.jar" Main.java ``` -------------------------------- ### Docker: Run Lunar Proxy Container Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Starts the Lunar Proxy in detached mode using Docker. It maps necessary ports and mounts the current directory for configuration. The TENANT_NAME environment variable is mandatory. ```bash docker run -d --rm -p 8000:8000 -p 8081:8081 -p 8040:8040 -e TENANT_NAME="ORGANIZATION" -v $(pwd):/etc/lunar-proxy --name lunar-proxy lunarapi/lunar-proxy:latest ``` -------------------------------- ### Download Dependencies and Lunar Interceptor Source: https://github.com/thelunarcompany/lunar/blob/main/example-consumer-app/java/README.md Downloads essential JAR files for OkHttp, Okio, Kotlin Standard Library, and the Lunar Interceptor using command-line tools. These are required for the Java application to function and integrate with Lunar. ```Bash curl -L -o okhttp-3.14.9.jar https://repo1.maven.org/maven2/com/squareup/okhttp3/okhttp/3.14.9/okhttp-3.14.9.jar ``` ```Bash curl -L -o okio-2.8.0.jar https://repo1.maven.org/maven2/com/squareup/okio/okio/2.8.0/okio-2.8.0.jar ``` ```Bash curl -L -o kotlin-stdlib-1.9.23.jar https://repo1.maven.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.9.23/kotlin-stdlib-1.9.23.jar ``` ```Bash wget -O lunarInterceptor.jar https://s01.oss.sonatype.org/content/repositories/releases/dev/lunar/interceptor/lunar-interceptor/0.1.1/lunar-interceptor-0.1.1.jar ``` -------------------------------- ### Discover Lunar Proxy Pod Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Executes the 'discover' command on a specified Lunar proxy pod using kubectl to check its status or configuration. ```kubectl kubectl exec -- discover ``` -------------------------------- ### Start MCPX UI Source: https://github.com/thelunarcompany/lunar/blob/main/mcpx/UI.md Starts the user interface for the MCPX Control Plane. This command launches the frontend application that users interact with. ```bash npm run start:ui ``` -------------------------------- ### Docker: Health Check Lunar Proxy Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Performs a health check on the Lunar Proxy by sending a GET request to the healthcheck endpoint. A successful response should be 'proxy is up'. ```bash curl http://localhost:8040/healthcheck ``` -------------------------------- ### Install MCPX Dependencies Source: https://github.com/thelunarcompany/lunar/blob/main/mcpx/UI.md Installs the necessary dependencies for the MCPX Control Plane. This involves running build scripts and then installing npm packages. ```bash npm run build:deps && npm install ``` -------------------------------- ### Lunar Flow Configuration (flow.yaml) Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Defines the request processing pipeline, including limiting and response generation for API flows. It specifies processors, conditions, and stream routing. ```yaml name: ClientSideLimitingFlow filter: url: api.website.com/* processors: Limiter: processor: Limiter parameters: - key: quota_id value: MyQuota GenerateResponseLimitExceeded: processor: GenerateResponse parameters: - key: status value: "429" - key: body value: "Quota Exceeded. Please try again later." - key: Content-Type value: text/plain flow: request: - from: stream: name: globalStream at: start to: processor: name: Limiter - from: processor: name: Limiter condition: block to: processor: name: GenerateResponseLimitExceeded - from: processor: name: Limiter condition: allow to: stream: name: globalStream at: end response: - from: processor: name: GenerateResponseLimitExceeded to: stream: name: globalStream at: end - from: stream: name: globalStream at: start to: processor: name: end ``` -------------------------------- ### Start MCPX Webserver Source: https://github.com/thelunarcompany/lunar/blob/main/mcpx/UI.md Starts the webserver that links the MCPX backend with the Control Plane UI. This is a crucial step for enabling communication between components. ```bash npm run start:webserver ``` -------------------------------- ### Install Lunar Interceptor Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-py-interceptor/README.md Command to install the Lunar Interceptor package using pip. It specifies an index URL for the package repository. ```shell pip3 install --upgrade lunar-aiohttp-interceptor --index-url "https://{key}:{password}@lunar.jfrog.io/artifactory/api/pypi/lunar-py-interceptor/simple" ``` -------------------------------- ### Kubernetes: Add and Update Lunar Helm Repository Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Configures the Helm package manager to use the Lunar proxy Helm chart repository and updates the local repository cache. ```bash helm repo add lunar https://thelunarcompany.github.io/proxy-helm-chart/ helm repo update ``` -------------------------------- ### Docker: Validate Requests with Discover Command Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Executes the 'discover' command within the running Lunar Proxy container to validate that API requests were successfully passed through the proxy. ```bash docker exec lunar-proxy discover ``` -------------------------------- ### Load Flows Command Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Executes the load_flows command within the lunar-proxy Docker container to apply configuration changes from flow.yaml and quota.yaml. ```docker docker exec lunar-proxy load_flows ``` -------------------------------- ### Install Lunar Interceptor Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-ts-interceptor/README.md Command to install the Lunar Interceptor package using npm. This is the primary method for integrating the interceptor into your project. ```shell $ npm i lunar-interceptor ``` -------------------------------- ### Install Development Dependencies Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/integration-tests/README.md Installs the necessary development dependencies for the project using pipenv, preparing the environment for running tests. ```shell pipenv install --dev ``` -------------------------------- ### Lunar Quota Configuration (quota.yaml) Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Specifies rate limiting strategies, such as fixed windows, for API requests. It defines quotas with IDs, filters, and strategy parameters like max requests and intervals. ```yaml quotas: - id: MyQuota filter: url: api.website.com/* strategy: fixed_window: max: 100 interval: 1 interval_unit: minute ``` -------------------------------- ### Configure Lunar Proxy Host Environment Variable Source: https://github.com/thelunarcompany/lunar/blob/main/example-consumer-app/python/README.md Sets the `LUNAR_PROXY_HOST` environment variable to specify the address and port of the running Lunar Proxy. This allows the application to direct its traffic through the proxy. ```bash export LUNAR_PROXY_HOST="localhost:8000" ``` -------------------------------- ### Kubernetes: Validate Requests with Discover Command Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Executes the 'discover' command within a Lunar Proxy pod in Kubernetes to validate that API requests were successfully passed through the proxy. ```bash kubectl exec -- discover ``` -------------------------------- ### Configure Lunar Proxy Host Source: https://github.com/thelunarcompany/lunar/blob/main/example-consumer-app/java/README.md Sets the LUNAR_PROXY_HOST environment variable, which tells the Java application where to find the running Lunar Proxy. The format should be 'host:port', e.g., 'localhost:8000'. ```Bash export LUNAR_PROXY_HOST="localhost:8000" ``` -------------------------------- ### Install golines for Auto Formatting Source: https://github.com/thelunarcompany/lunar/blob/main/readme-files/LINTING.md Installs the golines tool, which automatically formats Go code by breaking long lines. It's recommended to ensure your GOPATH is correctly set and added to your PATH. ```bash go install github.com/segmentio/golines@latest # Ensure GOPATH is set and in PATH (example for .zshrc): # export GOPATH="$HOME/go" # PATH="$GOPATH/bin:$PATH" ``` -------------------------------- ### Docker: Pass API Request Through Lunar Proxy Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Sends a sample API request through the Lunar Proxy to an external service (catfact.ninja). It uses custom headers to specify the target host and scheme. ```bash curl http://localhost:8000/fact -H "x-lunar-host: catfact.ninja" -H "x-lunar-scheme: https" ``` -------------------------------- ### Run Java Application with Lunar Interceptor Source: https://github.com/thelunarcompany/lunar/blob/main/example-consumer-app/java/README.md Executes the compiled Java application using the 'java' command. It includes the Lunar Interceptor as a Java agent (-javaagent) and specifies all necessary JARs in the classpath. ```Bash java -javaagent:/lunarInterceptor.jar -cp ".:/okhttp-3.14.9.jar:/okio-2.8.0.jar:/kotlin-stdlib-1.9.23.jar" Main ``` -------------------------------- ### Kubernetes: Pass API Request Through Lunar Proxy Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/README.md Sends a sample API request through the Lunar Proxy to an external service (catfact.ninja) using Kubernetes. It uses custom headers to specify the target host and scheme. ```bash curl http://localhost:8000/fact -H "x-lunar-host: catfact.ninja" -H "x-lunar-scheme: https" ``` -------------------------------- ### Configure Lunar Proxy Host Source: https://github.com/thelunarcompany/lunar/blob/main/example-consumer-app/nodejs/README.md Sets the LUNAR_PROXY_HOST environment variable to specify the address and port of the Lunar Proxy. This is crucial for the application to route traffic through the proxy. The format should be hostname:port, without an HTTP prefix. ```bash export LUNAR_PROXY_HOST="localhost:8000" ``` -------------------------------- ### Setup Lunar Interceptor Java Agent Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-java-interceptor/README.md Configures the Lunar Interceptor by setting the JAVA_TOOL_OPTIONS environment variable to include the Java agent JAR file. This allows the Interceptor to automatically manage requests from supported Java clients. ```shell export JAVA_TOOL_OPTIONS="-javaagent:PATH/TO/lunarInterceptor.jar" ``` ```shell java -javaagent:PATH/TO/lunarInterceptor.jar -jar PATH/TO/YOURS.jar ``` -------------------------------- ### Initialize Terraform Directory Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/deploy/aws-eks/README.md Initializes the Terraform working directory. This command downloads the necessary provider plugins and modules required for the deployment, preparing the environment for subsequent Terraform operations. ```bash terraform init ``` -------------------------------- ### Run MCPX Container Source: https://github.com/thelunarcompany/lunar/blob/main/mcpx/UI.md Launches a containerized instance of MCPX. It maps port 9000, enables the hub, and configures the webserver URL to point to the local development environment. ```docker docker run --rm --name mcpx -p 9000:9000 -e ENABLE_HUB=true -e WEBSERVER_URL="http://host.docker.internal:9001" us-central1-docker.pkg.dev/prj-common-442813/mcpx/mcpx:latest ``` -------------------------------- ### Import Lunar Interceptor Library Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-py-interceptor/README.md Demonstrates importing the lunar_aiohttp_interceptor library in Python, typically used for setting up the interceptor within an application. ```python import lunar_aiohttp_interceptor # imports ... # your code def main(): pass ``` -------------------------------- ### Golangci-lint VSCode Settings Source: https://github.com/thelunarcompany/lunar/blob/main/readme-files/LINTING.md Configures VSCode to use golangci-lint as the Go linting tool and to lint Go files automatically when saving. ```APIDOC VSCode Go Linting Configuration: Settings: - Go: Lint Tool Value: "golangci-lint" Description: Selects the linter to use for Go code. Ensure golangci-lint is installed. - Go: Lint On Save Value: "package" Description: Configures when linting is performed. 'package' means linting occurs on save for the current package. ``` -------------------------------- ### Plan Terraform Deployment Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/deploy/aws-eks/README.md Plans the Terraform deployment, showing what changes will be made to the infrastructure. It requires specific input variables like `input_eks_name` and `input_tenant_name`. Optional variables such as `aws_profile_name`, `helm_chart_repository`, `helm_chart_name`, `helm_chart_version`, `lunar_api_key`, `lunar_api_key_secret_name`, and `security_group_nlb_2_nodes` can also be provided to customize the deployment. ```bash terraform plan -input=true -var 'input_tenant_name=exampleTenant' ``` -------------------------------- ### Retrieve Terraform Outputs Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/deploy/aws-eks/README.md Fetches and displays the output values defined in the Terraform configuration. These outputs typically include information such as the service URI, which is essential for accessing the deployed Lunar.dev Proxy. ```bash terraform output ``` -------------------------------- ### Configure Block List Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-java-interceptor/README.md Sets the LUNAR_BLOCK_LIST environment variable with a comma-separated string of hosts or IPs. If the Allow List is empty, the Interceptor checks this list and bypasses the proxy for matching domains. ```shell export LUNAR_BLOCK_LIST = "do_not_use.com,do_not_use2.com,192.168.1.2" ``` -------------------------------- ### Open Pull Request Command Source: https://github.com/thelunarcompany/lunar/blob/main/CONTRIBUTING.md Command to open a pull request on GitHub for the current branch, facilitating code review and integration. ```sh gh pr create ``` -------------------------------- ### Format Java Code Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-java-interceptor/readme-files/LINTING.md Executes prettier-java with the --write flag to automatically format all Java files in the project according to the configured rules. This command helps maintain consistent code style. ```bash npm run format ``` -------------------------------- ### Apply Terraform Deployment Source: https://github.com/thelunarcompany/lunar/blob/main/proxy/deploy/aws-eks/README.md Applies the planned changes to deploy the Lunar.dev Proxy on EKS. This command executes the infrastructure modifications, including setting up the NLB, proxy service, and necessary security groups. Ensure all required variables are correctly set during the planning phase. ```bash terraform apply -input=true ``` -------------------------------- ### Configure Allow/Block Lists for Lunar Proxy Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-py-interceptor/README.md Defines lists of hosts or IPs to either exclusively forward traffic to (Allow List) or block from forwarding through the Lunar Proxy (Block List) using environment variables. If both are set, the Allow List takes precedence. ```shell export LUNAR_ALLOW_LIST = "use.com,use2.com,192.168.1.1" export LUNAR_BLOCK_LIST = "do_not_use.com,do_not_use2.com,192.168.1.2" ``` -------------------------------- ### Python Plugin Structure Source: https://github.com/thelunarcompany/lunar/blob/main/readme-files/SPOA.md Illustrates the basic structure of a Python plugin for the Lunar SPOA. Plugins inherit from a base class and implement specific methods to handle requests and responses. ```python from spoa_python.plugins import Plugin from spoa_python.plugin_runner.policy_configs import PolicyConfig class MyCustomPlugin(Plugin): def on_request(self, id: str, config: PolicyConfig, method: str, path: str, query: str, headers: str, body: str) -> Action: # Process request, return an Action pass def on_response(self, id: str, config: PolicyConfig, status: int, headers: str, body: str) -> Action: # Process response, return an Action pass # Example of Action usage (conceptual) # from spoa_python.plugin_runner.actions import EarlyResponseAction # return EarlyResponseAction(status=200, headers="Content-Type: application/json", body='{"message": "Hello"}') ``` -------------------------------- ### VSCode Auto Formatting with golines Source: https://github.com/thelunarcompany/lunar/blob/main/readme-files/LINTING.md Configures VSCode to automatically run golines on save for Go files. This ensures code adheres to line length limits and formatting standards. ```json // settings.json { // rest of config... "emeraldwalk.runonsave": { "commands": [ { "match": "\\.go$", "cmd": "golines ${file} -w -m 100" } ] } // rest of config... } ``` -------------------------------- ### Failsafe Mechanism Default Configuration Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-java-interceptor/README.md Displays the default environment variables used by the Failsafe Mechanism for connection attempt thresholds and cooldown periods. ```Shell LUNAR_ENTER_COOLDOWN_AFTER_ATTEMPTS="5" LUNAR_EXIT_COOLDOWN_AFTER_SEC="10" ``` -------------------------------- ### Check Java Code Linting Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-java-interceptor/readme-files/LINTING.md Runs prettier-java with the --check flag to verify that all Java files adhere to the project's linting rules. This command is useful for identifying formatting issues without modifying files. ```bash npm run lint ``` -------------------------------- ### Import Lunar Interceptor in JavaScript Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-ts-interceptor/README.md Demonstrates how to import the Lunar Interceptor library in a JavaScript project. This is the initial step to integrate Lunar's functionality into your application. ```js require("lunar-interceptor") // imports ... // your code ``` -------------------------------- ### Create New Branch Script Source: https://github.com/thelunarcompany/lunar/blob/main/CONTRIBUTING.md This script automates the process of creating a new feature or bug fix branch according to the project's naming convention. ```sh ./scripts/new_branch.sh ``` -------------------------------- ### Configure Failsafe Mechanism for Lunar Interceptor Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-py-interceptor/README.md Configures the Failsafe Mechanism by setting environment variables for the number of successive failed connection attempts before entering cooldown (LUNAR_ENTER_COOLDOWN_AFTER_ATTEMPTS) and the cooldown duration in seconds (LUNAR_EXIT_COOLDOWN_AFTER_SEC). ```shell export LUNAR_ENTER_COOLDOWN_AFTER_ATTEMPTS="10" export LUNAR_EXIT_COOLDOWN_AFTER_SEC="20" ``` -------------------------------- ### Configure Lunar Proxy Host Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-java-interceptor/README.md Sets the LUNAR_PROXY_HOST environment variable to specify the IP or DNS and port of the Lunar Proxy server. This directs all outgoing traffic through the proxy. ```Shell export LUNAR_PROXY_HOST="localhost:8000" ``` -------------------------------- ### Enable TLS Support for Proxy Communication Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-ts-interceptor/README.md Enables TLS communication between the interceptor and the Lunar Proxy. This requires the Lunar Proxy to have a valid certificate loaded. Set the value to '1' to enable. ```shell $ export LUNAR_PROXY_SUPPORT_TLS="1" ``` -------------------------------- ### Configure Allow List Source: https://github.com/thelunarcompany/lunar/blob/main/interceptors/lunar-java-interceptor/README.md Sets the LUNAR_ALLOW_LIST environment variable with a comma-separated string of hosts or IPs. When set, the Interceptor will only forward requests to domains present in this list. ```shell export LUNAR_ALLOW_LIST = "use.com,use2.com,192.168.1.1" ```