mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-07 15:27:46 +00:00
implemented blockLocalAndPrivateIpAddresses
This commit is contained in:
@@ -3,6 +3,7 @@ import { AxiosError } from "axios";
|
|||||||
import { request } from "@app/lib/config/request";
|
import { request } from "@app/lib/config/request";
|
||||||
import { BadRequestError } from "@app/lib/errors";
|
import { BadRequestError } from "@app/lib/errors";
|
||||||
import { removeTrailingSlash } from "@app/lib/fn";
|
import { removeTrailingSlash } from "@app/lib/fn";
|
||||||
|
import { blockLocalAndPrivateIpAddresses } from "@app/lib/validator";
|
||||||
import { AppConnection } from "@app/services/app-connection/app-connection-enums";
|
import { AppConnection } from "@app/services/app-connection/app-connection-enums";
|
||||||
|
|
||||||
import { HCVaultConnectionMethod } from "./hc-vault-connection-enums";
|
import { HCVaultConnectionMethod } from "./hc-vault-connection-enums";
|
||||||
@@ -13,6 +14,14 @@ import {
|
|||||||
TValidateHCVaultConnectionCredentials
|
TValidateHCVaultConnectionCredentials
|
||||||
} from "./hc-vault-connection-types";
|
} from "./hc-vault-connection-types";
|
||||||
|
|
||||||
|
export const getHCVaultInstanceUrl = async (config: THCVaultConnectionConfig) => {
|
||||||
|
const instanceUrl = removeTrailingSlash(config.credentials.instanceUrl);
|
||||||
|
|
||||||
|
await blockLocalAndPrivateIpAddresses(instanceUrl);
|
||||||
|
|
||||||
|
return instanceUrl;
|
||||||
|
};
|
||||||
|
|
||||||
export const getHCVaultConnectionListItem = () => ({
|
export const getHCVaultConnectionListItem = () => ({
|
||||||
name: "HCVault" as const,
|
name: "HCVault" as const,
|
||||||
app: AppConnection.HCVault as const,
|
app: AppConnection.HCVault as const,
|
||||||
@@ -58,7 +67,7 @@ export const getHCVaultAccessToken = async (connection: TValidateHCVaultConnecti
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const validateHCVaultConnectionCredentials = async (config: THCVaultConnectionConfig) => {
|
export const validateHCVaultConnectionCredentials = async (config: THCVaultConnectionConfig) => {
|
||||||
const instanceUrl = removeTrailingSlash(config.credentials.instanceUrl);
|
const instanceUrl = await getHCVaultInstanceUrl(config);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const accessToken = await getHCVaultAccessToken(config);
|
const accessToken = await getHCVaultAccessToken(config);
|
||||||
@@ -82,7 +91,7 @@ export const validateHCVaultConnectionCredentials = async (config: THCVaultConne
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const listHCVaultMounts = async (appConnection: THCVaultConnection) => {
|
export const listHCVaultMounts = async (appConnection: THCVaultConnection) => {
|
||||||
const instanceUrl = removeTrailingSlash(appConnection.credentials.instanceUrl);
|
const instanceUrl = await getHCVaultInstanceUrl(appConnection);
|
||||||
const accessToken = await getHCVaultAccessToken(appConnection);
|
const accessToken = await getHCVaultAccessToken(appConnection);
|
||||||
|
|
||||||
const { data } = await request.get<THCVaultMountResponse>(`${instanceUrl}/v1/sys/mounts`, {
|
const { data } = await request.get<THCVaultMountResponse>(`${instanceUrl}/v1/sys/mounts`, {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import { request } from "@app/lib/config/request";
|
import { request } from "@app/lib/config/request";
|
||||||
import { removeTrailingSlash } from "@app/lib/fn";
|
import { removeTrailingSlash } from "@app/lib/fn";
|
||||||
import { getHCVaultAccessToken } from "@app/services/app-connection/hc-vault";
|
import { getHCVaultAccessToken, getHCVaultInstanceUrl } from "@app/services/app-connection/hc-vault";
|
||||||
import {
|
import {
|
||||||
THCVaultListVariables,
|
THCVaultListVariables,
|
||||||
THCVaultListVariablesResponse,
|
THCVaultListVariablesResponse,
|
||||||
@@ -47,7 +47,7 @@ export const HCVaultSyncFns = {
|
|||||||
} = secretSync;
|
} = secretSync;
|
||||||
|
|
||||||
const accessToken = await getHCVaultAccessToken(connection);
|
const accessToken = await getHCVaultAccessToken(connection);
|
||||||
const { instanceUrl } = connection.credentials;
|
const instanceUrl = await getHCVaultInstanceUrl(connection);
|
||||||
|
|
||||||
const variables = await listHCVaultVariables({ instanceUrl, accessToken, mount, path });
|
const variables = await listHCVaultVariables({ instanceUrl, accessToken, mount, path });
|
||||||
let tainted = false;
|
let tainted = false;
|
||||||
@@ -87,7 +87,7 @@ export const HCVaultSyncFns = {
|
|||||||
} = secretSync;
|
} = secretSync;
|
||||||
|
|
||||||
const accessToken = await getHCVaultAccessToken(connection);
|
const accessToken = await getHCVaultAccessToken(connection);
|
||||||
const { instanceUrl } = connection.credentials;
|
const instanceUrl = await getHCVaultInstanceUrl(connection);
|
||||||
|
|
||||||
const variables = await listHCVaultVariables({ instanceUrl, accessToken, mount, path });
|
const variables = await listHCVaultVariables({ instanceUrl, accessToken, mount, path });
|
||||||
|
|
||||||
@@ -112,7 +112,7 @@ export const HCVaultSyncFns = {
|
|||||||
} = secretSync;
|
} = secretSync;
|
||||||
|
|
||||||
const accessToken = await getHCVaultAccessToken(connection);
|
const accessToken = await getHCVaultAccessToken(connection);
|
||||||
const { instanceUrl } = connection.credentials;
|
const instanceUrl = await getHCVaultInstanceUrl(connection);
|
||||||
|
|
||||||
const variables = await listHCVaultVariables({
|
const variables = await listHCVaultVariables({
|
||||||
instanceUrl,
|
instanceUrl,
|
||||||
|
|||||||
Reference in New Issue
Block a user