### Example Helm Install with GCP Service Account and Customizations Source: https://docs.endorlabs.com/setup-deployment/_print.html This example demonstrates a full Helm install command including GCP service account configuration, custom API endpoint, namespace, and disabling Bazel remote cache. ```bash helm install endorlabsscheduler oci://endorcipublic.azurecr.io/charts/onprem-scheduler \ -n \ --set endorAPI=https://api.staging.endorlabs.com \ --set endorNamespace=nryn \ --set auth.gcpServiceAccountName=endor-scanner-sa@project-name-123456.iam.gserviceaccount.com \ --set scheduler.serviceAccount.annotations.iam.gke.io/gcp-service-account="endor-scanner-sa@project-name-123456.iam.gserviceaccount.com" \ --set endorctl.serviceAccount.annotations.iam.gke.io/gcp-service-account="endor-scanner-sa@project-name-123456.iam.gserviceaccount.com" \ --set bazelremote.install=false ``` -------------------------------- ### Example Helm Install with Azure Managed Identity and Build Tool Caching Source: https://docs.endorlabs.com/setup-deployment/_print.html This command shows an example of deploying Outpost with Azure managed identity authentication and build tool caching enabled. The annotations for Azure managed identity are automatically handled. ```bash helm install endorlabsscheduler oci://endorcipublic.azurecr.io/charts/onprem-scheduler \ -n endor \ --set endorAPI=https://api.endorlabs.com \ --set endorNamespace=endor \ --set auth.azureManagedIdentityClientID=12a34b56-7c89-0d1e-2f34-567g890h1234 \ --set bazelremote.install=true ``` -------------------------------- ### Configure .NET 5.0 Build Tool Source: https://docs.endorlabs.com/scan/_print.html Example configuration for adding a custom .NET 5.0 build tool, specifying OS, architecture, version, download URL, and SHA256 checksum. Use the Relative Toolchain Path for custom installation directories. ```text OS - Linux ARCHITECTURE - arm64 TOOLCHAINS - .NET NAME - 5.0.408 URL - https://builds.dotnet.microsoft.com/dotnet/Sdk/5.0.408/dotnet-sdk-5.0.408-linux-arm64.tar.gz SHA256 - da88dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ``` -------------------------------- ### Deploy Outpost with GCP Authentication Source: https://docs.endorlabs.com/setup-deployment/outpost/outpost-configuration/_print.html Example Helm installation command including specific GCP service account and API configurations. ```bash helm install endorlabsscheduler oci://endorcipublic.azurecr.io/charts/onprem-scheduler \ -n \ --set endorAPI=https://api.staging.endorlabs.com \ --set endorNamespace=nryn \ --set auth.gcpServiceAccountName=endor-scanner-sa@project-name-123456.iam.gserviceaccount.com \ --set scheduler.serviceAccount.annotations.iam.gke.io/gcp-service-account="endor-scanner-sa@project-name-123456.iam.gserviceaccount.com" \ --set endorctl.serviceAccount.annotations.iam.gke.io/gcp-service-account="endor-scanner-sa@project-name-123456.iam.gserviceaccount.com" \ --set bazelremote.install=false ``` -------------------------------- ### Install Maven Project Source: https://docs.endorlabs.com/scan/sca/java Build and install your Maven project. This ensures all artifacts are generated and dependencies are available. ```bash mvn install ``` -------------------------------- ### Implement rule metadata example Source: https://docs.endorlabs.com/scan/sast/manage-sast-rules/add-metadata-sast-rule/_print.html Example of a populated metadata section for a Python SSL version rule. ```yaml rules: - id: python_ssl_rule-ssl-no-version . . . metadata: explanation: | The application was found calling an SSL module with SSL or TLS protocols that have known deficiencies. It is strongly recommended that newer applications use TLS 1.2 or 1.3 and `SSLContext.wrap_socket`. remediation: | If using the `pyOpenSSL` module, please note that it has been deprecated and the Python Cryptographic Authority strongly suggests moving to use the [pyca/cryptography](https://github.com/pyca/cryptography) module instead. To remediate this issue for the `ssl` module, create a new TLS context and pass in `ssl.PROTOCOL_TLS_CLIENT` for clients or `ssl.PROTOCOL_TLS_SERVER` for servers to the `ssl.SSLContext(...)` `protocol=` argument. When converting the socket to a TLS socket, use the new `SSLContext.wrap_socket` method instead. . . . ``` -------------------------------- ### Install and manage endorctl with npm Source: https://docs.endorlabs.com/developers-api/cli/install-and-configure Install the CLI globally via npm and manage its path and updates. ```bash npm install -g endorctl ``` ```bash npm config get prefix ``` ```bash export PATH="/path/to/npm/global/bin:$PATH" ``` ```bash endorctl --version ``` ```bash npm update -g endorctl ``` -------------------------------- ### Scan an example repository Source: https://docs.endorlabs.com/setup-deployment/cli/scan-using-endorctl Steps to clone, build, and scan a sample Java repository. ```bash git clone https://github.com/OWASP-Benchmark/BenchmarkJava.git ``` ```bash cd BenchmarkJava ``` ```bash mvn clean install ``` ```bash endorctl scan ``` -------------------------------- ### Create a Policy Source: https://docs.endorlabs.com/developers-api/rest-api/using-the-rest-api/use-cases/_print.html Use these examples to create a new policy. Ensure the namespace and token variables are correctly set in your environment. ```bash endorctl api create --resource Policy \ --data '{ "meta": { "description": "Disable action policies for CVE-2020-7677", "kind": "Policy", "name": "Ignore CVE-2020-7677" }, "propagate": true, "spec": { "exception": { "reason": "EXCEPTION_REASON_RISK_ACCEPTED" }, "policy_type": "POLICY_TYPE_EXCEPTION", "query_statements": [ "data.exceptions.match_finding" ], "resource_kinds": [ "Finding" ], "rule": "package exceptions\n\nmatch_finding[result] {\n\tsome i\n data.resources.Finding[i].spec.finding_metadata.vulnerability.spec.aliases[_] = \"CVE-2020-7677\"\n result = { \"Endor\" : { \"Finding\" : data.resources.Finding[i].uuid } }\n}" }, "tenant_meta": { "namespace": "$ENDOR_NAMESPACE" } }' ``` ```bash curl --request POST \ --header "Authorization: Bearer $ENDOR_TOKEN" \ --compressed \ --url "https://api.endorlabs.com/v1/namespaces/$ENDOR_NAMESPACE/policies" \ --data '{ "meta": { "description": "Disable action policies for CVE-2020-7677", "kind": "Policy", "name": "Ignore CVE-2020-7677" }, "propagate": true, "spec": { "exception": { "reason": "EXCEPTION_REASON_RISK_ACCEPTED" }, "policy_type": "POLICY_TYPE_EXCEPTION", "query_statements": [ "data.exceptions.match_finding" ], "resource_kinds": [ "Finding" ], "rule": "package exceptions\n\nmatch_finding[result] {\n\tsome i\n data.resources.Finding[i].spec.finding_metadata.vulnerability.spec.aliases[_] = \"CVE-2020-7677\"\n result = { \"Endor\" : { \"Finding\" : data.resources.Finding[i].uuid } }\n}" }, "tenant_meta": { "namespace": "$ENDOR_NAMESPACE" } }' | jq '.' ``` ```http @baseUrl = https://api.endorlabs.com @token = @namespace = ### POST {{baseUrl}}/v1/namespaces/{{namespace}}/policies HTTP/1.1 Authorization: Bearer {{token}} { "meta": { "name": "Detect Apache-2.0 License", "description": "Raise findings for dependencies using the Apache-2.0 license" }, "spec": { "policy_type": "POLICY_TYPE_USER_FINDING", "finding_level": "FINDING_LEVEL_CRITICAL", "finding": { "explanation": "One or more of the licenses associated with this package or package dependency violates organizational license policy.", "external_name": "License Compliance Violation", "level": "FINDING_LEVEL_CRITICAL", "remediation": "Please consult with legal for further instructions or to request an exception.", "summary": "Package uses the \"Apache-2.0\" license." }, "query_statements": [ "data.license.match_license" ], "resource_kinds": [ "Metric", "PackageVersion" ], "rule": "package license\n\nmatch_license[result] {\n some i\n data.resources.Metric[i]\n data.resources.Metric[i].meta.name == \"pkg_version_info_for_license\"\n data.resources.Metric[i].meta.parent_kind == \"PackageVersion\"\n lower(data.resources.Metric[i].spec.metric_values.licenseInfoType.license_info.all_licenses[_].name) == lower(\"Apache-2.0\")\n data.resources.PackageVersion[_].uuid == data.resources.Metric[i].meta.parent_uuid\n\n result = {\n \"Endor\": {\n \"PackageVersion\": data.resources.Metric[i].meta.parent_uuid,\n }\n }\n}" }, "tenant_meta": { "namespace": "{{namespace}}" } } ``` -------------------------------- ### Verify npx Installation Source: https://docs.endorlabs.com/secure-ai-coding/mcp-server/gemini/_print.html Run this command to check if npx is installed. A version number indicates a successful setup, allowing the MCP server to use npx for endorctl. ```bash npx --version ``` -------------------------------- ### Get Scan Results API Source: https://docs.endorlabs.com/rest-api/using-the-rest-api/use-cases This section provides an example of how to retrieve scan results for a given namespace. ```APIDOC ## GET /v1/namespaces/{namespace}/scan-results ### Description Retrieves a list of scan results for a specified namespace, with options for pagination and sorting. ### Method GET ### Endpoint /v1/namespaces/{namespace}/scan-results ### Query Parameters - **list_parameters.sort.order** (string) - Optional - The order for sorting results (e.g., `SORT_ENTRY_ORDER_DESC`). - **list_parameters.sort.path** (string) - Optional - The field to sort by (e.g., `meta.create_time`). - **list_parameters.page_size** (integer) - Optional - The number of results per page. ### Request Example (HTTP) ```http GET {{baseUrl}}/v1/namespaces/{{namespace}}/scan-results?list_parameters.sort.order=SORT_ENTRY_ORDER_DESC&list_parameters.sort.path=meta.create_time&list_parameters.page_size=1 HTTP/1.1 Authorization: Bearer {{token}} ``` ### Response #### Success Response (200) - **scan_results** (array) - A list of scan results. - **next_page_token** (string) - Token for the next page of results. #### Response Example ```json { "scan_results": [ { "uuid": "scan-result-uuid-1", "create_time": "2023-10-27T10:00:00Z", "status": "COMPLETED", "findings_count": 15 } ], "next_page_token": "next-page-token-abc" } ``` ``` -------------------------------- ### Deploy Outpost with GCP Authentication Source: https://docs.endorlabs.com/setup-deployment/outpost/outpost-configuration Example Helm installation command configured for GCP service account authentication. ```bash helm install endorlabsscheduler oci://endorcipublic.azurecr.io/charts/onprem-scheduler \ -n \ --set endorAPI=https://api.staging.endorlabs.com \ --set endorNamespace=nryn \ --set auth.gcpServiceAccountName=endor-scanner-sa@project-name-123456.iam.gserviceaccount.com \ --set scheduler.serviceAccount.annotations.iam.gke.io/gcp-service-account="endor-scanner-sa@project-name-123456.iam.gserviceaccount.com" \ --set endorctl.serviceAccount.annotations.iam.gke.io/gcp-service-account="endor-scanner-sa@project-name-123456.iam.gserviceaccount.com" \ --set bazelremote.install=false ``` -------------------------------- ### Create Example Scan Workflow with Specific Profiles Source: https://docs.endorlabs.com/scan/scan-profiles/configure-scan-workflow-through-api/_print.html An example demonstrating the creation of a scan workflow named 'demo-workflow' with specific 'Java' and 'Python' scan profiles, including their respective UUIDs. ```bash endorctl api create -r ScanWorkflow -d'{ "meta": { "name":"demo-workflow", "kind": "ScanWorkflow", "parent_kind":"Project", "parent_uuid":"68369123e4a717bd735c24bc" }, "spec": { "steps": [ { "title":"java", "scan_profile_uuid":"68450261ec0014616fa6c0c3" }, { "title":"python", "scan_profile_uuid":"6845023bbe385224df4a0526" } ] } }' ``` -------------------------------- ### Postman Collection Example for API Calls Source: https://docs.endorlabs.com/developers-api/rest-api/using-the-rest-api/use-cases/_print.html This snippet provides examples of API requests in a format suitable for Postman collections. It includes requests to get PackageVersion details and associated metrics, using environment variables for base URL and token. ```http @baseUrl = https://api.endorlabs.com @token = ### GET {{baseUrl}}/v1/namespaces/oss/package-versions?list_parameters.filter=meta.name==mvn://ch.qos.logback:logback-core@1.3.3 HTTP/1.1 Authorization: Bearer {{token}} ### GET {{baseUrl}}/v1/namespaces/oss/metrics?list_parameters.filter=meta.name==package_version_scorecard and meta.parent_uuid== HTTP/1.1 Authorization: Bearer {{token}} ``` -------------------------------- ### Retrieve Specific Resources Source: https://docs.endorlabs.com/developers-api/cli/commands/api Examples for retrieving specific project or package version details. ```bash endorctl api get -r Project --uuid ``` ```bash endorctl api get --resource "PackageVersion" --name "://@" ``` -------------------------------- ### Build and Install Maven Project Source: https://docs.endorlabs.com/scan/sca/kotlin/_print.html Execute this command to build and install your Maven project. Ensure the build is successful. For faster builds, you can skip tests using the -DskipTests flag. ```bash mvn install ``` ```bash mvn install -DskipTests ``` -------------------------------- ### Authenticate with endorctl init Source: https://docs.endorlabs.com/setup-deployment/_print.html Initialize authentication using various providers. Use headless mode for environments without a browser. ```bash endorctl init --auth-mode=google ``` ```bash endorctl init --auth-mode=github ``` ```bash endorctl init --auth-mode=gitlab ``` ```bash endorctl init --auth-email= ``` ```bash endorctl init --auth-mode=sso --auth-tenant= ``` ```bash endorctl init --auth-mode=google --headless-mode ``` ```bash endorctl init --auth-mode=github --headless-mode ``` ```bash endorctl init --auth-mode=gitlab --headless-mode ``` ```bash endorctl init --auth-email= --headless-mode ``` ```bash endorctl init --auth-mode=sso --auth-tenant= --headless-mode ``` -------------------------------- ### Deploy Outpost with Azure Authentication Source: https://docs.endorlabs.com/setup-deployment/outpost/outpost-configuration/_print.html Example Helm installation command for Azure managed identity authentication with build tool caching enabled. ```bash helm install endorlabsscheduler oci://endorcipublic.azurecr.io/charts/onprem-scheduler \ -n endor \ --set endorAPI=https://api.endorlabs.com \ --set endorNamespace=endor \ --set auth.azureManagedIdentityClientID=12a34b56-7c89-0d1e-2f34-567g890h1234 \ --set bazelremote.install=true ``` -------------------------------- ### Example .csproj File Source: https://docs.endorlabs.com/scan/sca/dotnet A standard .csproj file for a .NET project, including target frameworks and package references. ```xml net8 ``` -------------------------------- ### Deploy Outpost with Azure Managed Identity Source: https://docs.endorlabs.com/setup-deployment/outpost/outpost-configuration Example Helm installation command configured for Azure managed identity authentication and build tool caching. ```bash helm install endorlabsscheduler oci://endorcipublic.azurecr.io/charts/onprem-scheduler \ -n endor \ --set endorAPI=https://api.endorlabs.com \ --set endorNamespace=endor \ --set auth.azureManagedIdentityClientID=12a34b56-7c89-0d1e-2f34-567g890h1234 \ --set bazelremote.install=true ``` -------------------------------- ### Example ScanProfile Configuration Source: https://docs.endorlabs.com/scan/scan-profiles/configure-scanprofile-api Defines a ScanProfile for installing Java 8 and Maven 3.9.4 on Linux and macOS. This configuration includes automated scan parameters and toolchain specifications. ```yaml meta: name: "demo" spec: automated_scan_parameters: languages: - java additional_environment_variables: - ENDOR_LOG_VERBOSE=true - ENDOR_LOG_LEVEL=debug enable_automated_pr_scans: true enable_pr_comments: true enable_sast_scan: true disable_code_snippet_storage: true bazel_configuration: bazel_show_internal_targets: true bazel_workspace_path: "go-bazel-repo/" bazel_include_targets: - "//cmd:cmd" toolchain_profile: os: linux: arch: amd64: java_tool_chain: version: name: "1.8.412" urls: - "https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u412-b08/openlogic-openjdk-8u412-b08-linux-x64.tar.gz" relative_tool_chain_path: "openlogic-openjdk-8u412-b08-linux-x64/" sha256_sum: "eb06c9d62e031e3290f499a828cae66d4fadbf62eb8f490c63c8406b1a80172e" maven_version: name: "3.9.4" urls: - "https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.9.4/apache-maven-3.9.4-bin.tar.gz" relative_tool_chain_path: "apache-maven-3.9.4" sha256_sum: "ff66b70c830a38d331d44f6c25a37b582471def9a161c93902bac7bea3098319" darwin: arch: arm64: java_tool_chain: version: name: "1.8.412" urls: - "https://builds.openlogic.com/downloadJDK/openlogic-openjdk/8u412-b08/openlogic-openjdk-8u412-b08-mac-x64.zip" relative_tool_chain_path: "openlogic-openjdk-8u412-b08-mac-x64/jdk1.8.0_412.jdk/Contents/Home" sha256_sum: "a16d297418f6800dfc5abfd4dfd8a16c0504d7e1f3b6fc9051cf2460f14a955e" maven_version: name: "3.9.4" urls: - "https://repo1.maven.org/maven2/org/apache/maven/apache-maven/3.9.4/apache-maven-3.9.4-bin.tar.gz" relative_tool_chain_path: "apache-maven-3.9.4" sha256_sum: "ff66b70c830a38d331d44f6c25a37b582471def9a161c93902bac7bea3098319" ``` -------------------------------- ### Build sbt project for quick scan Source: https://docs.endorlabs.com/scan/_print.html Compile the project and list projects to ensure the environment is ready for a quick scan. ```bash sbt compile ``` ```bash sbt projects ``` -------------------------------- ### Perform a Quick Scan for Kotlin Projects Source: https://docs.endorlabs.com/releasenotes/previous-releases/release-1-6-137 Use this command for a rapid assessment of software composition in Kotlin projects. No additional setup is required beyond having endorctl installed. ```bash endorctl scan --quick-scan ``` -------------------------------- ### Verify Node.js and npm Setup on Windows Source: https://docs.endorlabs.com/setup-deployment/mcp/codex/_print.html After installing Node.js, verify that the npm global bin directory is in your system's PATH. This is a prerequisite for the MCP server to use npx. ```bash npm config get prefix ``` ```bash npx --version ``` -------------------------------- ### Build Maven project Source: https://docs.endorlabs.com/scan/sca/kotlin Builds and installs the project, with an optional flag to skip tests. ```bash mvn install ``` ```bash mvn install -DskipTests ``` -------------------------------- ### Full GitLab Pipeline Configuration for Endor Labs Source: https://docs.endorlabs.com/scan/sca/scanning-strategies/_print.html A complete example of a GitLab CI job configuration that installs the endorctl binary, sets environment variables, and executes a scan with detached reference handling. ```yaml Endor Labs Dependency Scan: stage: Scan image: node # Modify this image to align with the build tools necessary to build your software packages dependencies: [] variables: ENDOR_ENABLED: "true" ENDOR_ALLOW_FAILURE: "true" ENDOR_NAMESPACE: "demo" ENDOR_SCAN_PATH: "." ENDOR_ARGS: | --show-progress=false --detached-ref-name=$CI_COMMIT_REF_NAME --output-type=summary --exit-on-policy-warning --dependencies --secrets --git-logs before_script: - npm install yarn script: - curl https://api.endorlabs.com/download/latest/endorctl_linux_amd64 -o endorctl; - echo "$(curl -s https://api.endorlabs.com/sha/latest/endorctl_linux_amd64) endorctl" | sha256sum -c; if [ $? -ne 0 ]; then echo "Integrity check failed"; exit 1; fi - chmod +x ./endorctl - if [ "$DEBUG" == "true" ]; then export ENDOR_LOG_VERBOSE=true; export ENDOR_LOG_LEVEL=debug; fi - if [ "$CI_COMMIT_REF_NAME" == "$CI_DEFAULT_BRANCH" ]; then export ENDOR_SCAN_AS_DEFAULT_BRANCH=true; export ENDOR_SCAN_DETACHED_REF_NAME="$CI_COMMIT_REF_NAME"; else export ENDOR_SCAN_PR=true; fi - ./endorctl scan ${ENDOR_ARGS} rules: - if: $ENDOR_ENABLED != "true" when: never - if: $CI_COMMIT_TAG when: never - if: $CI_COMMIT_REF_NAME != $CI_DEFAULT_BRANCH && $ENDOR_FEATURE_BRANCH_ENABLED != "true" when: never - if: $ENDOR_ALLOW_FAILURE == "true" allow_failure: true - if: $ENDOR_ALLOW_FAILURE != "true" allow_failure: false ``` -------------------------------- ### Initialize endorctl with authentication provider Source: https://docs.endorlabs.com/developers-api/cli/install-and-configure/_print.html Use these commands to initiate the authentication flow with a specific provider. The browser will open automatically to complete the process. ```bash endorctl init --auth-mode=google ``` ```bash endorctl init --auth-mode=github ``` ```bash endorctl init --auth-mode=gitlab ``` ```bash endorctl init --auth-email= ``` ```bash endorctl init --auth-mode=sso --auth-tenant= ``` -------------------------------- ### List Findings Request Definition Source: https://docs.endorlabs.com/developers-api/rest-api/using-the-rest-api/getting-started This example shows how to define a GET request to list findings using a request definition language, likely for tools like Postman or Insomnia. Replace placeholders for access token and namespace. ```http @baseUrl = https://api.endorlabs.com @token = @namespace = ### GET {{baseUrl}}/v1/namespaces/{{namespace}}/findings?spec.finding_tags contains FINDING_TAGS_REACHABLE_FUNCTION HTTP/1.1 Authorization: Bearer {{token}} ``` -------------------------------- ### Prepare sbt for quick scan Source: https://docs.endorlabs.com/scan/sca/scala Commands to compile and list projects before running a quick scan. ```bash sbt compile ``` ```bash sbt projects ``` -------------------------------- ### Extract License Text from Finding Source: https://docs.endorlabs.com/developers-api/rest-api/using-the-rest-api/use-cases/_print.html This example demonstrates how to retrieve the license text for a dependency. It first finds a license-related finding, extracts the target PackageVersion name, gets its UUID, and then fetches the `pkg_version_info_for_license` metric to extract the license information. ```bash # Get the target dependency PackageVersion name from a license-related finding NAME=$(endorctl api list --resource Finding \ --filter "spec.finding_categories contains [FINDING_CATEGORY_LICENSE_RISK] and spec.finding_tags not contains [FINDING_TAGS_SELF]" \ --page-size 1 \ | jq '.list.objects[].spec.target_dependency_package_name') # Get the target dependency PackageVersion uuid UUID=$(endorctl api list --resource PackageVersion \ --namespace oss \ --filter "meta.name==$NAME" \ | jq '.list.objects[].uuid') ``` -------------------------------- ### Get PackageVersion UUID and Metric Scores using curl Source: https://docs.endorlabs.com/developers-api/rest-api/using-the-rest-api/use-cases/_print.html This example shows how to fetch a PackageVersion's UUID and then use it to retrieve metric scores using `curl` commands. It requires an `ENDOR_TOKEN` and uses `jq` for JSON processing. ```bash # Get the PackageVersion and extract the uuid UUID=$(curl --get \ --header "Authorization: Bearer $ENDOR_TOKEN" \ --compressed \ --data-urlencode "list_parameters.filter=meta.name==mvn://ch.qos.logback:logback-core@1.3.3" \ https://api.endorlabs.com/v1/namespaces/oss/package-versions \ | jq '.list.objects[].uuid') # Get the Metric and extract the Endor Labs scores curl --get \ --header "Authorization: Bearer $ENDOR_TOKEN" \ --compressed \ --data-urlencode "list_parameters.filter=meta.name==package_version_scorecard and meta.parent_uuid==$UUID" \ https://api.endorlabs.com/v1/namespaces/oss/metrics \ | jq '.list.objects[].spec.metric_values.scorecard.score_card.category_scores' ``` -------------------------------- ### Install Outpost via Helm Source: https://docs.endorlabs.com/setup-deployment/outpost/outpost-configuration/_print.html Deploy the Outpost configuration using the updated values file. ```bash helm install endorlabsscheduler oci://endorcipublic.azurecr.io/charts/onprem-scheduler \ -n \ -f endor-outpost-values.yaml ``` -------------------------------- ### Verify tsserver Installation Source: https://docs.endorlabs.com/scan/sca/javascript Run this command to verify that `tsserver` has been installed correctly. This is automatically installed with TypeScript. ```bash which tsserver ``` -------------------------------- ### View Toolchains Help Source: https://docs.endorlabs.com/developers-api/cli/commands/toolchains Displays available options and arguments for the toolchains command. ```bash endorctl toolchains --help ``` -------------------------------- ### Clone and navigate to repository Source: https://docs.endorlabs.com/setup-deployment/cli Download a Git repository and change the working directory to the project folder. ```bash git clone https://github.com/username/repo-name.git ``` ```bash cd ```