mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-08 04:27:38 +00:00
Merge pull request #2433 from Infisical/daniel/aws-sm-secrets-prefix
feat(integrations): aws secrets manager secrets prefixing support
This commit is contained in:
@@ -242,37 +242,12 @@ const getAppsGithub = async ({ accessToken }: { accessToken: string }) => {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const octokit = new Octokit({
|
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
||||||
|
const repos = (await new Octokit({
|
||||||
auth: accessToken
|
auth: accessToken
|
||||||
});
|
}).paginate("GET /user/repos{?visibility,affiliation,type,sort,direction,per_page,page,since,before}", {
|
||||||
|
per_page: 100
|
||||||
const getAllRepos = async () => {
|
})) as GitHubApp[];
|
||||||
let repos: GitHubApp[] = [];
|
|
||||||
let page = 1;
|
|
||||||
const perPage = 100;
|
|
||||||
let hasMore = true;
|
|
||||||
|
|
||||||
while (hasMore) {
|
|
||||||
const response = await octokit.request(
|
|
||||||
"GET /user/repos{?visibility,affiliation,type,sort,direction,per_page,page,since,before}",
|
|
||||||
{
|
|
||||||
per_page: perPage,
|
|
||||||
page
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
if ((response.data as GitHubApp[]).length > 0) {
|
|
||||||
repos = repos.concat(response.data as GitHubApp[]);
|
|
||||||
page += 1;
|
|
||||||
} else {
|
|
||||||
hasMore = false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return repos;
|
|
||||||
};
|
|
||||||
|
|
||||||
const repos = await getAllRepos();
|
|
||||||
|
|
||||||
const apps = repos
|
const apps = repos
|
||||||
.filter((a: GitHubApp) => a.permissions.admin === true)
|
.filter((a: GitHubApp) => a.permissions.admin === true)
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ export default function AWSSecretManagerCreateIntegrationPage() {
|
|||||||
const [tagKey, setTagKey] = useState("");
|
const [tagKey, setTagKey] = useState("");
|
||||||
const [tagValue, setTagValue] = useState("");
|
const [tagValue, setTagValue] = useState("");
|
||||||
const [kmsKeyId, setKmsKeyId] = useState("");
|
const [kmsKeyId, setKmsKeyId] = useState("");
|
||||||
|
const [secretPrefix, setSecretPrefix] = useState("");
|
||||||
|
|
||||||
// const [path, setPath] = useState('');
|
// const [path, setPath] = useState('');
|
||||||
// const [pathErrorText, setPathErrorText] = useState('');
|
// const [pathErrorText, setPathErrorText] = useState('');
|
||||||
@@ -165,6 +166,7 @@ export default function AWSSecretManagerCreateIntegrationPage() {
|
|||||||
]
|
]
|
||||||
}
|
}
|
||||||
: {}),
|
: {}),
|
||||||
|
...(secretPrefix && { secretPrefix }),
|
||||||
...(kmsKeyId && { kmsKeyId }),
|
...(kmsKeyId && { kmsKeyId }),
|
||||||
mappingBehavior: selectedMappingBehavior
|
mappingBehavior: selectedMappingBehavior
|
||||||
}
|
}
|
||||||
@@ -325,7 +327,7 @@ export default function AWSSecretManagerCreateIntegrationPage() {
|
|||||||
</Switch>
|
</Switch>
|
||||||
</div>
|
</div>
|
||||||
{shouldTag && (
|
{shouldTag && (
|
||||||
<div className="mt-4">
|
<div className="mt-4 flex justify-between">
|
||||||
<FormControl label="Tag Key">
|
<FormControl label="Tag Key">
|
||||||
<Input
|
<Input
|
||||||
placeholder="managed-by"
|
placeholder="managed-by"
|
||||||
@@ -342,10 +344,20 @@ export default function AWSSecretManagerCreateIntegrationPage() {
|
|||||||
</FormControl>
|
</FormControl>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
||||||
|
<FormControl label="Secret Prefix" className="mt-4">
|
||||||
|
<Input
|
||||||
|
value={secretPrefix}
|
||||||
|
onChange={(e) => setSecretPrefix(e.target.value)}
|
||||||
|
placeholder="INFISICAL_"
|
||||||
|
/>
|
||||||
|
</FormControl>
|
||||||
|
|
||||||
<FormControl label="Encryption Key" className="mt-4">
|
<FormControl label="Encryption Key" className="mt-4">
|
||||||
<Select
|
<Select
|
||||||
value={kmsKeyId}
|
value={kmsKeyId}
|
||||||
onValueChange={(e) => {
|
onValueChange={(e) => {
|
||||||
|
if (e === "no-keys") return;
|
||||||
setKmsKeyId(e);
|
setKmsKeyId(e);
|
||||||
}}
|
}}
|
||||||
className="w-full border border-mineshaft-500"
|
className="w-full border border-mineshaft-500"
|
||||||
@@ -363,7 +375,9 @@ export default function AWSSecretManagerCreateIntegrationPage() {
|
|||||||
);
|
);
|
||||||
})
|
})
|
||||||
) : (
|
) : (
|
||||||
<div />
|
<SelectItem isDisabled value="no-keys" key="no-keys">
|
||||||
|
No KMS keys available
|
||||||
|
</SelectItem>
|
||||||
)}
|
)}
|
||||||
</Select>
|
</Select>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
|
|||||||
Reference in New Issue
Block a user