feat(ui): add Oracle Cloud Infrastructure (OCI) provider support (#8984)

This commit is contained in:
Sergio Garcia
2025-10-28 17:30:12 -04:00
committed by GitHub
parent dad100b87a
commit 0ca059b45b
30 changed files with 374 additions and 10 deletions

View File

@@ -248,13 +248,23 @@ export type KubernetesCredentials = {
[ProviderCredentialFields.PROVIDER_ID]: string;
};
export type OCICredentials = {
[ProviderCredentialFields.OCI_USER]: string;
[ProviderCredentialFields.OCI_FINGERPRINT]: string;
[ProviderCredentialFields.OCI_KEY_CONTENT]: string;
[ProviderCredentialFields.OCI_REGION]: string;
[ProviderCredentialFields.OCI_PASS_PHRASE]?: string;
[ProviderCredentialFields.PROVIDER_ID]: string;
};
export type CredentialsFormSchema =
| AWSCredentials
| AzureCredentials
| GCPDefaultCredentials
| GCPServiceAccountKey
| KubernetesCredentials
| M365Credentials;
| M365Credentials
| OCICredentials;
export interface SearchParamsProps {
[key: string]: string | string[] | undefined;

View File

@@ -110,6 +110,11 @@ export const addProviderFormSchema = z
[ProviderCredentialFields.PROVIDER_ALIAS]: z.string(),
providerUid: z.string(),
}),
z.object({
providerType: z.literal("oci"),
[ProviderCredentialFields.PROVIDER_ALIAS]: z.string(),
providerUid: z.string(),
}),
]),
);
@@ -191,7 +196,25 @@ export const addCredentialsFormSchema = (
.string()
.optional(),
}
: {}),
: providerType === "oci"
? {
[ProviderCredentialFields.OCI_USER]: z
.string()
.min(1, "User OCID is required"),
[ProviderCredentialFields.OCI_FINGERPRINT]: z
.string()
.min(1, "Fingerprint is required"),
[ProviderCredentialFields.OCI_KEY_CONTENT]: z
.string()
.min(1, "Private Key Content is required"),
[ProviderCredentialFields.OCI_REGION]: z
.string()
.min(1, "Region is required"),
[ProviderCredentialFields.OCI_PASS_PHRASE]: z
.union([z.string(), z.literal("")])
.optional(),
}
: {}),
})
.superRefine((data: Record<string, any>, ctx) => {
if (providerType === "m365") {

View File

@@ -5,6 +5,7 @@ export const PROVIDER_TYPES = [
"kubernetes",
"m365",
"github",
"oci",
] as const;
export type ProviderType = (typeof PROVIDER_TYPES)[number];