From 16c06dacfe77b2fd0b412208995a5c2b8a97db92 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Wed, 19 Nov 2025 14:09:28 +0530 Subject: [PATCH 001/109] fix: orgid in routing --- .../src/components/navigation/NavHeader.tsx | 14 +- .../SecretDashboardPathBreadcrumb.tsx | 5 +- frontend/src/const/routes.ts | 324 +- frontend/src/helpers/project.ts | 16 +- frontend/src/layouts/KmsLayout/KmsLayout.tsx | 18 +- .../components/NavBar/Navbar.tsx | 25 +- .../components/OrgNavBar/OrgNavBar.tsx | 28 +- frontend/src/layouts/PamLayout/PamLayout.tsx | 21 +- .../PkiManagerLayout/PkiManagerLayout.tsx | 33 +- .../SecretManagerLayout.tsx | 27 +- .../SecretScanningLayout.tsx | 20 +- frontend/src/layouts/SshLayout/SshLayout.tsx | 17 +- .../src/pages/auth/LoginPage/Login.utils.tsx | 10 +- .../components/PkiCollectionModal.tsx | 6 +- .../components/PkiCollectionTable.tsx | 11 +- .../pages/cert-manager/AlertingPage/route.tsx | 2 +- .../CertAuthDetailsByIDPage.tsx | 14 +- .../CertAuthDetailsByIDPage/route.tsx | 5 +- .../components/CaTable.tsx | 11 +- .../CertificateAuthoritiesPage/route.tsx | 2 +- .../IntegrationsListPage/route.tsx | 2 +- .../PkiCollectionDetailsByIDPage.tsx | 14 +- .../PkiCollectionDetailsByIDPage/routes.tsx | 5 +- .../PkiSubscriberDetailsByIDPage.tsx | 8 +- .../PkiSubscriberDetailsByIDPage/route.tsx | 5 +- .../components/PkiSubscribersTable.tsx | 5 +- .../cert-manager/PkiSubscribersPage/route.tsx | 2 +- .../PkiSyncDetailsByIDPage/route.tsx | 4 +- .../PkiTemplateListPage/route.tsx | 2 +- .../pages/cert-manager/PoliciesPage/route.tsx | 2 +- .../pages/cert-manager/SettingsPage/route.tsx | 2 +- frontend/src/pages/cert-manager/layout.tsx | 2 +- frontend/src/pages/kms/KmipPage/route.tsx | 2 +- frontend/src/pages/kms/OverviewPage/route.tsx | 2 +- frontend/src/pages/kms/SettingsPage/route.tsx | 2 +- frontend/src/pages/kms/layout.tsx | 2 +- .../pages/middlewares/inject-org-details.tsx | 11 +- .../middlewares/restrict-login-signup.tsx | 3 +- .../AccessManagementPage/route.tsx | 2 +- .../components/AppConnectionRow.tsx | 4 +- .../AppConnectionsPage/route.tsx | 2 +- .../OauthCallbackPage/route.tsx | 2 +- .../organization/AuditLogsPage/route.tsx | 2 +- .../pages/organization/BillingPage/route.tsx | 7 +- .../GroupDetailsByIDPage/route.tsx | 2 +- .../IdentityProjectRow.tsx | 3 + .../IdentityDetailsByIDPage/route.tsx | 2 +- .../organization/NetworkingPage/route.tsx | 2 +- .../ProjectsPage/ProjectsPage.tsx | 16 + .../components/AllProjectView.tsx | 5 +- .../ProjectsPage/components/MyProjectView.tsx | 2 + .../pages/organization/ProjectsPage/route.tsx | 2 +- .../pages/organization/RoleByIDPage/route.tsx | 9 +- .../organization/SecretSharingPage/route.tsx | 2 +- .../SettingsPage/OauthCallbackPage/route.tsx | 2 +- .../pages/organization/SettingsPage/route.tsx | 2 +- .../UserProjectsSection/UserProjectRow.tsx | 3 + .../UserDetailsByIDPage/route.tsx | 2 +- .../components/FolderBreadCrumbs.tsx | 2 +- .../src/pages/pam/PamAccountsPage/route.tsx | 6 +- .../src/pages/pam/PamResourcesPage/route.tsx | 2 +- .../PamSessionByIDPage.tsx | 6 +- .../pages/pam/PamSessionsByIDPage/route.tsx | 4 +- .../src/pages/pam/PamSessionsPage/route.tsx | 2 +- frontend/src/pages/pam/SettingsPage/route.tsx | 2 +- frontend/src/pages/pam/layout.tsx | 2 +- .../AccessControlPage/route-cert-manager.tsx | 2 +- .../project/AccessControlPage/route-kms.tsx | 2 +- .../project/AccessControlPage/route-pam.tsx | 2 +- .../route-secret-manager.tsx | 2 +- .../route-secret-scanning.tsx | 2 +- .../project/AccessControlPage/route-ssh.tsx | 2 +- .../AppConnectionsPage/route-cert-manager.tsx | 2 +- .../route-secret-manager.tsx | 2 +- .../route-secret-scanning.tsx | 2 +- .../AuditLogsPage/route-cert-manager.tsx | 2 +- .../pages/project/AuditLogsPage/route-kms.tsx | 2 +- .../pages/project/AuditLogsPage/route-pam.tsx | 2 +- .../AuditLogsPage/route-secret-manager.tsx | 2 +- .../AuditLogsPage/route-secret-scanning.tsx | 2 +- .../pages/project/AuditLogsPage/route-ssh.tsx | 2 +- .../route-cert-manager.tsx | 5 +- .../GroupDetailsByIDPage/route-kms.tsx | 5 +- .../GroupDetailsByIDPage/route-pam.tsx | 5 +- .../route-secret-manager.tsx | 5 +- .../route-secret-scanning.tsx | 5 +- .../GroupDetailsByIDPage/route-ssh.tsx | 5 +- .../route-cert-manager.tsx | 5 +- .../IdentityDetailsByIDPage/route-kms.tsx | 5 +- .../IdentityDetailsByIDPage/route-pam.tsx | 5 +- .../route-secret-manager.tsx | 5 +- .../route-secret-scanning.tsx | 5 +- .../IdentityDetailsByIDPage/route-ssh.tsx | 5 +- .../route-cert-manager.tsx | 5 +- .../MemberDetailsByIDPage/route-kms.tsx | 5 +- .../MemberDetailsByIDPage/route-pam.tsx | 5 +- .../route-secret-manager.tsx | 5 +- .../route-secret-scanning.tsx | 5 +- .../MemberDetailsByIDPage/route-ssh.tsx | 5 +- .../route-cert-manager.tsx | 5 +- .../RoleDetailsBySlugPage/route-kms.tsx | 5 +- .../RoleDetailsBySlugPage/route-pam.tsx | 5 +- .../route-secret-manager.tsx | 5 +- .../route-secret-scanning.tsx | 5 +- .../RoleDetailsBySlugPage/route-ssh.tsx | 5 +- .../CommitDetailsPage/CommitDetailsPage.tsx | 14 +- .../RollbackPreviewTab/RollbackPreviewTab.tsx | 6 +- .../components/RollbackPreviewTab/route.tsx | 11 +- .../CommitDetailsPage/route.tsx | 8 +- .../CommitsPage/CommitsPage.tsx | 12 +- .../secret-manager/CommitsPage/route.tsx | 8 +- .../secret-manager/IPAllowlistPage/route.tsx | 2 +- .../IntegrationsDetailsByIDPage/route.tsx | 4 +- .../IntegrationsListPage.utils.tsx | 91 +- .../NativeIntegrationsTab/IntegrationRow.tsx | 11 +- .../NativeIntegrationsTab.tsx | 5 +- .../IntegrationsListPage/route.tsx | 25 +- .../OverviewPage/OverviewPage.tsx | 13 +- .../FolderBreadCrumbs/FolderBreadCrumbs.tsx | 2 +- .../QuickSearchDynamicSecretItem.tsx | 2 +- .../components/QuickSearchFolderItem.tsx | 2 +- .../components/QuickSearchSecretItem.tsx | 4 +- .../QuickSearchSecretRotationItem.tsx | 2 +- .../secret-manager/OverviewPage/route.tsx | 4 +- .../SecretApprovalsPage/route.tsx | 2 +- .../SecretDashboardPage.tsx | 11 +- .../FolderBreadCrumbs/FolderBreadCrumbs.tsx | 2 +- .../SecretDashboardPage/route.tsx | 16 +- .../SecretRotationPage/SecretRotationPage.tsx | 14 +- .../SecretRotationPage/route.tsx | 2 +- .../SecretSyncDetailsByIDPage/route.tsx | 4 +- .../secret-manager/SettingsPage/route.tsx | 2 +- .../AwsParameterStoreAuthorizePage.tsx | 6 +- .../AwsParameterStoreAuthorizePage/route.tsx | 4 +- .../AwsParamterStoreConfigurePage.tsx | 7 +- .../AwsParameterStoreConfigurePage/route.tsx | 4 +- .../AwsSecretManagerAuthorizePage.tsx | 7 +- .../AwsSecretManagerAuthorizePage/route.tsx | 4 +- .../AwsSecretManagerConfigurePage.tsx | 6 +- .../AwsSecretManagerConfigurePage/route.tsx | 4 +- .../AzureAppConfigurationConfigurePage.tsx | 7 +- .../route.tsx | 4 +- ...AzureAppConfigurationOauthCallbackPage.tsx | 7 +- .../route.tsx | 4 +- .../AzureDevopsAuthorizePage.tsx | 7 +- .../AzureDevopsAuthorizePage/route.tsx | 4 +- .../AzureDevopsConfigurePage.tsx | 7 +- .../AzureDevopsConfigurePage/route.tsx | 4 +- .../AzureKeyVaultAuthorizePage/route.tsx | 4 +- .../AzureKeyVaultConfigurePage.tsx | 7 +- .../AzureKeyVaultConfigurePage/route.tsx | 4 +- .../AzureKeyVaultOauthCallback.tsx | 7 +- .../AzureKeyVaultOauthCallbackPage/route.tsx | 4 +- .../BitbucketConfigurePage.tsx | 7 +- .../BitbucketConfigurePage/route.tsx | 4 +- .../BitbucketOauthCallbackPage.tsx | 6 +- .../BitbucketOauthCallbackPage/route.tsx | 4 +- .../ChecklyAuthorizePage.tsx | 6 +- .../ChecklyAuthorizePage/route.tsx | 4 +- .../ChecklyConfigurePage.tsx | 7 +- .../ChecklyConfigurePage/route.tsx | 4 +- .../CircleCIAuthorizePage.tsx | 7 +- .../CircleCIAuthorizePage/route.tsx | 4 +- .../CircleCIConfigurePage.tsx | 7 +- .../CircleCIConfigurePage/route.tsx | 4 +- .../Cloud66AuthorizePage.tsx | 7 +- .../Cloud66AuthorizePage/route.tsx | 4 +- .../Cloud66ConfigurePage.tsx | 7 +- .../Cloud66ConfigurePage/route.tsx | 4 +- .../CloudflarePagesAuthorizePage.tsx | 7 +- .../CloudflarePagesAuthorizePage/route.tsx | 4 +- .../CloudflarePagesConfigurePage.tsx | 7 +- .../CloudflarePagesConfigurePage/route.tsx | 4 +- .../CloudflareWorkersAuthorizePage.tsx | 7 +- .../CloudflareWorkersAuthorizePage/route.tsx | 4 +- .../CloudflareWorkersConfigurePage.tsx | 7 +- .../CloudflareWorkersConfigurePage/route.tsx | 4 +- .../CodefreshAuthorizePage.tsx | 7 +- .../CodefreshAuthorizePage/route.tsx | 4 +- .../CodefreshConfigurePage.tsx | 7 +- .../CodefreshConfigurePage/route.tsx | 4 +- .../DatabricksAuthorizePage.tsx | 7 +- .../DatabricksAuthorizePage/route.tsx | 4 +- .../DatabricksConfigurePage.tsx | 7 +- .../DatabricksConfigurePage/route.tsx | 4 +- .../DigitalOceanAppPlatformAuthorizePage.tsx | 7 +- .../route.tsx | 4 +- .../DigitalOceanAppPlatformConfigurePage.tsx | 7 +- .../route.tsx | 4 +- .../FlyioAuthorizePage/FlyioAuthorizePage.tsx | 7 +- .../integrations/FlyioAuthorizePage/route.tsx | 4 +- .../FlyioConfigurePage/FlyioConfigurePage.tsx | 7 +- .../integrations/FlyioConfigurePage/route.tsx | 4 +- .../GcpSecretManagerAuthorizePage.tsx | 7 +- .../GcpSecretManagerAuthorizePage/route.tsx | 4 +- .../GcpSecretManagerConfigurePage.tsx | 7 +- .../GcpSecretManagerConfigurePage/route.tsx | 4 +- .../GcpSecretManagerOauthCallbackPage.tsx | 7 +- .../route.tsx | 4 +- .../GithubAuthorizePage.tsx | 7 +- .../GithubAuthorizePage/route.tsx | 4 +- .../GithubConfigurePage.tsx | 7 +- .../GithubConfigurePage/route.tsx | 4 +- .../GithubOauthCallbackPage.tsx | 7 +- .../GithubOauthCallbackPage/route.tsx | 4 +- .../GitlabAuthorizePage/route.tsx | 4 +- .../GitlabConfigurePage.tsx | 7 +- .../GitlabConfigurePage/route.tsx | 4 +- .../GitlabOauthCallbackPage/route.tsx | 4 +- .../HashicorpVaultAuthorizePage.tsx | 7 +- .../HashicorpVaultAuthorizePage/route.tsx | 4 +- .../HashicorpVaultConfigurePage.tsx | 7 +- .../HashicorpVaultConfigurePage/route.tsx | 4 +- .../HasuraCloudAuthorizePage.tsx | 7 +- .../HasuraCloudAuthorizePage/route.tsx | 4 +- .../HasuraCloudConfigurePage.tsx | 7 +- .../HasuraCloudConfigurePage/route.tsx | 4 +- .../HerokuConfigurePage.tsx | 7 +- .../HerokuConfigurePage/route.tsx | 4 +- .../HerokuOauthCallbackPage/route.tsx | 4 +- .../LaravelForgeAuthorizePage.tsx | 6 +- .../LaravelForgeAuthorizePage/route.tsx | 4 +- .../LaravelForgeConfigurePage.tsx | 7 +- .../LaravelForgeConfigurePage/route.tsx | 4 +- .../NetlifyConfigurePage.tsx | 7 +- .../NetlifyConfigurePage/route.tsx | 4 +- .../NetlifyOauthCallbackPage.tsx | 7 +- .../NetlifyOauthCallbackPage/route.tsx | 4 +- .../NorthflankAuthorizePage.tsx | 7 +- .../NorthflankAuthorizePage/route.tsx | 4 +- .../NorthflankConfigurePage.tsx | 7 +- .../NorthflankConfigurePage/route.tsx | 4 +- .../OctopusDeployAuthorizePage.tsx | 7 +- .../OctopusDeployAuthorizePage/route.tsx | 4 +- .../OctopusDeployConfigurePage.tsx | 7 +- .../OctopusDeployConfigurePage/route.tsx | 4 +- .../QoveryAuthorizePage.tsx | 7 +- .../QoveryAuthorizePage/route.tsx | 4 +- .../QoveryConfigurePage.tsx | 7 +- .../QoveryConfigurePage/route.tsx | 4 +- .../RailwayAuthorizePage.tsx | 7 +- .../RailwayAuthorizePage/route.tsx | 4 +- .../RailwayConfigurePage.tsx | 6 +- .../RailwayConfigurePage/route.tsx | 4 +- .../RenderAuthorizePage.tsx | 7 +- .../RenderAuthorizePage/route.tsx | 4 +- .../RenderConfigurePage.tsx | 7 +- .../RenderConfigurePage/route.tsx | 4 +- .../RundeckAuthorizePage.tsx | 6 +- .../RundeckAuthorizePage/route.tsx | 4 +- .../RundeckConfigurePage.tsx | 6 +- .../RundeckConfigurePage/route.tsx | 4 +- .../SelectIntegrationAuthPage.tsx | 6 +- .../SelectIntegrationAuthPage/route.tsx | 4 +- .../SupabaseAuthorizePage.tsx | 6 +- .../SupabaseAuthorizePage/route.tsx | 4 +- .../SupabaseConfigurePage.tsx | 6 +- .../SupabaseConfigurePage/route.tsx | 4 +- .../TeamcityAuthorizePage.tsx | 6 +- .../TeamcityAuthorizePage/route.tsx | 4 +- .../TeamcityConfigurePage.tsx | 7 +- .../TeamcityConfigurePage/route.tsx | 4 +- .../TerraformCloudAuthorizePage.tsx | 7 +- .../TerraformCloudAuthorizePage/route.tsx | 4 +- .../TerraformCloudConfigurePage.tsx | 6 +- .../TerraformCloudConfigurePage/route.tsx | 4 +- .../TravisCIAuthorizePage.tsx | 6 +- .../TravisCIAuthorizePage/route.tsx | 4 +- .../TravisCIConfigurePage.tsx | 6 +- .../TravisCIConfigurePage/route.tsx | 4 +- .../VercelConfigurePage.tsx | 7 +- .../VercelConfigurePage/route.tsx | 4 +- .../VercelOauthCallbackPage.tsx | 7 +- .../VercelOauthCallbackPage/route.tsx | 4 +- .../WindmillAuthorizePage.tsx | 6 +- .../WindmillAuthorizePage/route.tsx | 4 +- .../WindmillConfigurePage.tsx | 7 +- .../WindmillConfigurePage/route.tsx | 4 +- ...zure-app-configurations-oauth-redirect.tsx | 13 +- .../route-azure-key-vault-oauth-redirect.tsx | 13 +- .../route-bitbucket-oauth-redirect.tsx | 13 +- .../integrations/route-gcp-oauth-redirect.tsx | 13 +- .../route-github-oauth-redirect.tsx | 13 +- .../route-gitlab-oauth-redirect.tsx | 13 +- .../route-heroku-oauth-redirect.tsx | 13 +- .../route-netlify-oauth-redirect.tsx | 13 +- .../route-vercel-oauth-redirect.tsx | 13 +- frontend/src/pages/secret-manager/layout.tsx | 2 +- .../redirects/redirect-approval-page.tsx | 4 +- .../SecretScanningDataSourceByIdPage.tsx | 5 +- .../components/SecretScanningResourceRow.tsx | 5 +- .../components/SecretScanningScanRow.tsx | 6 +- .../route.tsx | 4 +- .../SecretScanningDataSourceRow.tsx | 7 +- .../SecretScanningDataSourcesPage/route.tsx | 2 +- .../SecretScanningFindingsPage/route.tsx | 2 +- .../secret-scanning/SettingsPage/route.tsx | 2 +- frontend/src/pages/secret-scanning/layout.tsx | 2 +- frontend/src/pages/ssh/SettingsPage/route.tsx | 2 +- .../pages/ssh/SshCaByIDPage/SshCaByIDPage.tsx | 15 +- .../src/pages/ssh/SshCaByIDPage/route.tsx | 4 +- .../ssh/SshCasPage/components/SshCaModal.tsx | 6 +- .../ssh/SshCasPage/components/SshCaTable.tsx | 11 +- frontend/src/pages/ssh/SshCasPage/route.tsx | 4 +- frontend/src/pages/ssh/SshCertsPage/route.tsx | 2 +- .../SshHostGroupDetailsByIDPage.tsx | 14 +- .../ssh/SshHostGroupDetailsByIDPage/route.tsx | 4 +- .../components/SshHostGroupsTable.tsx | 14 +- frontend/src/pages/ssh/SshHostsPage/route.tsx | 2 +- frontend/src/pages/ssh/layout.tsx | 2 +- frontend/src/routeTree.gen.ts | 6805 +++++++++-------- frontend/src/routes.ts | 64 +- 312 files changed, 4776 insertions(+), 4324 deletions(-) diff --git a/frontend/src/components/navigation/NavHeader.tsx b/frontend/src/components/navigation/NavHeader.tsx index a912980f1a..837fae807f 100644 --- a/frontend/src/components/navigation/NavHeader.tsx +++ b/frontend/src/components/navigation/NavHeader.tsx @@ -70,7 +70,8 @@ export default function NavHeader({ {currentOrg?.name?.charAt(0)} {currentOrg?.name} @@ -90,8 +91,8 @@ export default function NavHeader({ {pageName === "Secrets" ? ( {pageName} @@ -126,8 +127,8 @@ export default function NavHeader({
{userAvailableEnvs?.find(({ slug }) => slug === currentEnv)?.name} @@ -188,8 +189,9 @@ export default function NavHeader({
) : ( { + const { currentOrg } = useOrganization(); const [, isCopying, setIsCopying] = useTimedReset({ initialState: false }); @@ -69,8 +71,9 @@ export const SecretDashboardPathBreadcrumb = ({ ) : ( { switch (type) { case ProjectType.SecretManager: - return "/projects/secret-management/$projectId"; + return "/organizations/$orgId/projects/secret-management/$projectId"; case ProjectType.CertificateManager: - return "/projects/cert-management/$projectId"; + return "/organizations/$orgId/projects/cert-management/$projectId"; default: - return `/projects/${type}/$projectId` as const; + return `/organizations/$orgId/projects/${type}/$projectId` as const; } }; @@ -77,15 +77,15 @@ export const getProjectBaseURL = (type: ProjectType) => { export const getProjectHomePage = (type: ProjectType, environments: ProjectEnv[]) => { switch (type) { case ProjectType.SecretManager: - return "/projects/secret-management/$projectId/overview" as const; + return "/organizations/$orgId/projects/secret-management/$projectId/overview" as const; case ProjectType.CertificateManager: - return "/projects/cert-management/$projectId/policies" as const; + return "/organizations/$orgId/projects/cert-management/$projectId/policies" as const; case ProjectType.SecretScanning: - return `/projects/${type}/$projectId/data-sources` as const; + return `/organizations/$orgId/projects/${type}/$projectId/data-sources` as const; case ProjectType.PAM: - return `/projects/${type}/$projectId/accounts` as const; + return `/organizations/$orgId/projects/${type}/$projectId/accounts` as const; default: - return `/projects/${type}/$projectId/overview` as const; + return `/organizations/$orgId/projects/${type}/$projectId/overview` as const; } }; diff --git a/frontend/src/layouts/KmsLayout/KmsLayout.tsx b/frontend/src/layouts/KmsLayout/KmsLayout.tsx index eef78000a4..9a5dc5aeeb 100644 --- a/frontend/src/layouts/KmsLayout/KmsLayout.tsx +++ b/frontend/src/layouts/KmsLayout/KmsLayout.tsx @@ -2,12 +2,13 @@ import { Link, Outlet, useLocation } from "@tanstack/react-router"; import { motion } from "framer-motion"; import { Tab, TabList, Tabs } from "@app/components/v2"; -import { useProject, useProjectPermission } from "@app/context"; +import { useOrganization, useProject, useProjectPermission } from "@app/context"; import { AssumePrivilegeModeBanner } from "../ProjectLayout/components/AssumePrivilegeModeBanner"; export const KmsLayout = () => { const { currentProject } = useProject(); + const { currentOrg } = useOrganization(); const { assumedPrivilegeDetails } = useProjectPermission(); const location = useLocation(); @@ -27,24 +28,27 @@ export const KmsLayout = () => { {({ isActive }) => Overview} {({ isActive }) => KMIP} @@ -62,16 +66,18 @@ export const KmsLayout = () => { )} {({ isActive }) => Audit Logs} diff --git a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx index 6be963e2bc..499465f0a1 100644 --- a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx @@ -282,7 +282,7 @@ export const Navbar = () => {
- + infisical logo
@@ -322,7 +322,8 @@ export const Navbar = () => { type="button" onClick={async () => { navigate({ - to: "/organization/projects", + to: "/organizations/$orgId/projects", + params: { orgId: currentOrg.id }, search: (search) => ({ ...search, subOrganization: undefined }) }); if (isSubOrganization) { @@ -407,7 +408,8 @@ export const Navbar = () => { { navigate({ - to: "/organization/projects", + to: "/organizations/$orgId/projects", + params: { orgId: currentOrg.id }, search: (prev) => ({ ...prev, subOrganization: subOrg.name }) }); await router.invalidate({ sync: true }).catch(() => null); @@ -481,7 +483,7 @@ export const Navbar = () => { "min-w-6 bg-transparent text-mineshaft-200 hover:!bg-transparent hover:underline [&>svg]:!text-sub-org" )} > - + {currentOrg.subOrganization.name} @@ -511,7 +513,8 @@ export const Navbar = () => { { navigate({ - to: "/organization/projects", + to: "/organizations/$orgId/projects", + params: { orgId: currentOrg.id }, search: (prev) => ({ ...prev, subOrganization: subOrg.name }) }); await router.invalidate({ sync: true }).catch(() => null); @@ -593,7 +596,8 @@ export const Navbar = () => { isAllowed ? ( { {(isAllowed) => isAllowed ? ( {
- +
diff --git a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx index 3ce5b40623..c3d850c6b9 100644 --- a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx @@ -32,7 +32,12 @@ import { Tooltip, Tr } from "@app/components/v2"; -import { ProjectPermissionActions, ProjectPermissionSub, useProject } from "@app/context"; +import { + ProjectPermissionActions, + ProjectPermissionSub, + useOrganization, + useProject +} from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { getUserTablePreference, @@ -61,6 +66,7 @@ enum GroupsOrderBy { } export const GroupTable = ({ handlePopUpOpen }: Props) => { + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); const navigate = useNavigate(); @@ -161,6 +167,7 @@ export const GroupTable = ({ handlePopUpOpen }: Props) => { navigate({ to: `${getProjectBaseURL(currentProject.type)}/groups/$groupId` as const, params: { + orgId: currentOrg.id, projectId: currentProject.id, groupId: id } @@ -171,6 +178,7 @@ export const GroupTable = ({ handlePopUpOpen }: Props) => { navigate({ to: `${getProjectBaseURL(currentProject.type)}/groups/$groupId` as const, params: { + orgId: currentOrg.id, projectId: currentProject.id, groupId: id } diff --git a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx index e98633368a..72bae83f22 100644 --- a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx @@ -277,6 +277,7 @@ export const IdentityTab = withProjectPermission( navigate({ to: `${getProjectBaseURL(currentProject.type)}/identities/$identityId` as const, params: { + orgId: currentOrg.id, projectId: currentProject.id, identityId: id } @@ -287,6 +288,7 @@ export const IdentityTab = withProjectPermission( navigate({ to: `${getProjectBaseURL(currentProject.type)}/identities/$identityId` as const, params: { + orgId: currentOrg.id, projectId: currentProject.id, identityId: id } diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRoleForm.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRoleForm.tsx index 187e1813a0..aa5e9efb10 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRoleForm.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MemberRoleForm/MemberRoleForm.tsx @@ -1,7 +1,7 @@ import { Link } from "@tanstack/react-router"; import { Alert, AlertDescription } from "@app/components/v2"; -import { useProject } from "@app/context"; +import { useOrganization, useProject } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { TWorkspaceUser } from "@app/hooks/api/types"; @@ -12,6 +12,7 @@ type Props = { onOpenUpgradeModal: (title: string) => void; }; export const MemberRoleForm = ({ projectMember, onOpenUpgradeModal }: Props) => { + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); return (
@@ -24,6 +25,7 @@ export const MemberRoleForm = ({ projectMember, onOpenUpgradeModal }: Props) => { select: (el) => el.groupId as string }); + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); const { data: groupMembership, isPending } = useGetWorkspaceGroupMembershipDetails( @@ -42,7 +48,8 @@ const Page = () => { { navigate({ to: `${getProjectBaseURL(currentProject.type)}/access-management` as const, params: { - projectId + projectId, + orgId: currentOrg.id }, search: { selectedTab: "identities" @@ -137,7 +138,8 @@ const Page = () => { { {(isAllowed) => isAllowed ? ( diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx index 2c578ea4f9..8064f070d9 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx @@ -95,7 +95,8 @@ export const Page = () => { navigate({ to: `${getProjectBaseURL(currentProject.type)}/access-management` as const, params: { - projectId: currentProject.id + projectId: currentProject.id, + orgId: currentOrg.id } }); handlePopUpClose("removeMember"); @@ -116,7 +117,8 @@ export const Page = () => { { select: (el) => el.roleSlug as string }); const { currentProject } = useProject(); + const { currentOrg } = useOrganization(); const projectId = currentProject?.id || ""; + const orgId = currentOrg?.id || ""; const { data } = useGetProjectRoleBySlug(projectId, roleSlug as string); @@ -68,7 +75,8 @@ const Page = () => { navigate({ to: `${getProjectBaseURL(currentProject.type)}/access-management` as const, params: { - projectId + projectId, + orgId }, search: { selectedTab: ProjectAccessControlTabs.Roles @@ -87,7 +95,8 @@ const Page = () => { { resolver: zodResolver(schema) }); + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); const createRole = useCreateProjectRole(); @@ -83,6 +84,7 @@ const Content = ({ role, onClose }: ContentProps) => { navigate({ to: `${getProjectBaseURL(currentProject.type)}/roles/$roleSlug` as const, params: { + orgId: currentOrg.id, roleSlug: newRole.slug, projectId: currentProject.id } diff --git a/frontend/src/pages/project/RoleDetailsBySlugPage/components/RoleModal.tsx b/frontend/src/pages/project/RoleDetailsBySlugPage/components/RoleModal.tsx index 03525eac51..4fcb246ef2 100644 --- a/frontend/src/pages/project/RoleDetailsBySlugPage/components/RoleModal.tsx +++ b/frontend/src/pages/project/RoleDetailsBySlugPage/components/RoleModal.tsx @@ -6,7 +6,7 @@ import { z } from "zod"; import { createNotification } from "@app/components/notifications"; import { Button, FormControl, Input, Modal, ModalContent } from "@app/components/v2"; -import { useProject } from "@app/context"; +import { useOrganization, useProject } from "@app/context"; import { getProjectBaseURL } from "@app/helpers/project"; import { useCreateProjectRole, @@ -38,6 +38,9 @@ export const RoleModal = ({ popUp, handlePopUpToggle }: Props) => { roleSlug: string; }; + const { currentOrg } = useOrganization(); + const orgId = currentOrg?.id || ""; + const { currentProject } = useProject(); const projectId = currentProject?.id || ""; @@ -93,6 +96,7 @@ export const RoleModal = ({ popUp, handlePopUpToggle }: Props) => { navigate({ to: `${getProjectBaseURL(currentProject.type)}/roles/$roleSlug` as const, params: { + orgId, roleSlug: slug, projectId } @@ -111,6 +115,7 @@ export const RoleModal = ({ popUp, handlePopUpToggle }: Props) => { navigate({ to: `${getProjectBaseURL(currentProject.type)}/roles/$roleSlug` as const, params: { + orgId, roleSlug: newRole.slug, projectId } diff --git a/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx b/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx index 705ea26630..90688778ba 100644 --- a/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx +++ b/frontend/src/pages/secret-manager/CommitDetailsPage/CommitDetailsPage.tsx @@ -45,7 +45,7 @@ export const CommitDetailsPage = () => { folderId, environment: envSlug }, - search: (query: Record) => ({ + search: (query) => ({ ...query, secretPath }) @@ -62,7 +62,7 @@ export const CommitDetailsPage = () => { environment: envSlug, commitId: selectedCommitId }, - search: (query: Record) => ({ + search: (query) => ({ ...query, secretPath }) diff --git a/frontend/src/pages/secret-manager/CommitsPage/CommitsPage.tsx b/frontend/src/pages/secret-manager/CommitsPage/CommitsPage.tsx index e22b7c2128..36e5c20158 100644 --- a/frontend/src/pages/secret-manager/CommitsPage/CommitsPage.tsx +++ b/frontend/src/pages/secret-manager/CommitsPage/CommitsPage.tsx @@ -46,7 +46,7 @@ export const CommitsPage = () => { environment: envSlug, commitId }, - search: (query: Record) => ({ + search: (query) => ({ ...query, secretPath }) diff --git a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx index fcd080e657..fc0e31245b 100644 --- a/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsDetailsByIDPage/components/IntegrationAuditLogsSection.tsx @@ -1,7 +1,7 @@ import { Link } from "@tanstack/react-router"; import { EmptyState } from "@app/components/v2"; -import { useProject, useSubscription } from "@app/context"; +import { useOrganization, useProject, useSubscription } from "@app/context"; import { EventType } from "@app/hooks/api/auditLogs/enums"; import { TIntegrationWithEnv } from "@app/hooks/api/integrations/types"; import { LogsSection } from "@app/pages/organization/AuditLogsPage/components/LogsSection"; @@ -15,6 +15,7 @@ type Props = { export const IntegrationAuditLogsSection = ({ integration }: Props) => { const { subscription } = useSubscription(); + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); const auditLogsRetentionDays = subscription?.auditLogsRetentionDays ?? 30; @@ -53,7 +54,12 @@ export const IntegrationAuditLogsSection = ({ integration }: Props) => {

Please{" "} {subscription && subscription.slug !== null ? ( - + { const navigate = useNavigate(); + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); const { t } = useTranslation(); @@ -33,7 +39,8 @@ export const IntegrationsListPage = () => { selectedTab: tab as IntegrationsListPageTabs }, params: { - projectId: currentProject.id + projectId: currentProject.id, + orgId: currentOrg.id } }); }; diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx index 9a6db9defc..ff92f9f413 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/CloudIntegrationSection/CloudIntegrationSection.tsx @@ -24,6 +24,7 @@ import { ROUTE_PATHS } from "@app/const/routes"; import { ProjectPermissionActions, ProjectPermissionSub, + useOrganization, useProject, useProjectPermission } from "@app/context"; @@ -60,6 +61,7 @@ export const CloudIntegrationSection = ({ "deleteConfirmation" ] as const); const { permission } = useProjectPermission(); + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); const navigate = useNavigate(); @@ -138,6 +140,7 @@ export const CloudIntegrationSection = ({ navigate({ to: ROUTE_PATHS.SecretManager.IntegrationsListPage.path, params: { + orgId: currentOrg.id, projectId: currentProject.id }, search: { diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncTable/SecretSyncRow.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncTable/SecretSyncRow.tsx index 0e04281a45..5e00d62afd 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncTable/SecretSyncRow.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncTable/SecretSyncRow.tsx @@ -40,7 +40,7 @@ import { } from "@app/components/v2"; import { Badge } from "@app/components/v3"; import { ROUTE_PATHS } from "@app/const/routes"; -import { ProjectPermissionSub } from "@app/context"; +import { ProjectPermissionSub, useOrganization } from "@app/context"; import { ProjectPermissionSecretSyncActions } from "@app/context/ProjectPermissionContext/types"; import { SECRET_SYNC_MAP } from "@app/helpers/secretSyncs"; import { useToggle } from "@app/hooks"; @@ -81,6 +81,7 @@ export const SecretSyncRow = ({ projectId } = secretSync; + const { currentOrg } = useOrganization(); const { syncOption } = useSecretSyncOption(destination); const destinationName = SECRET_SYNC_MAP[destination].name; @@ -134,7 +135,8 @@ export const SecretSyncRow = ({ params: { syncId: id, destination, - projectId + projectId, + orgId: currentOrg.id } }) } diff --git a/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx b/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx index 24fba3b64b..e584a73f7b 100644 --- a/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx +++ b/frontend/src/pages/secret-manager/IntegrationsListPage/components/SecretSyncsTab/SecretSyncsTab.tsx @@ -9,7 +9,7 @@ import { TSecretSyncForm } from "@app/components/secret-syncs/forms/schemas"; import { Button, Spinner } from "@app/components/v2"; import { DocumentationLinkBadge } from "@app/components/v3"; import { ROUTE_PATHS } from "@app/const/routes"; -import { ProjectPermissionSub, useProject } from "@app/context"; +import { ProjectPermissionSub, useOrganization, useProject } from "@app/context"; import { ProjectPermissionSecretSyncActions } from "@app/context/ProjectPermissionContext/types"; import { usePopUp } from "@app/hooks"; import { useListSecretSyncs } from "@app/hooks/api/secretSyncs"; @@ -26,6 +26,7 @@ export const SecretSyncsTab = () => { const navigate = useNavigate(); + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); useEffect(() => { @@ -35,7 +36,8 @@ export const SecretSyncsTab = () => { navigate({ to: ROUTE_PATHS.SecretManager.IntegrationsListPage.path, params: { - projectId: currentProject.id + projectId: currentProject.id, + orgId: currentOrg.id }, search }); @@ -66,6 +68,7 @@ export const SecretSyncsTab = () => { navigate({ to: ROUTE_PATHS.SecretManager.IntegrationsListPage.path, params: { + orgId: currentOrg.id, projectId: currentProject.id }, search diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/EnvironmentTabs/EnvironmentTabs.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/EnvironmentTabs/EnvironmentTabs.tsx index f8a201717d..ed8a5ae881 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/EnvironmentTabs/EnvironmentTabs.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/EnvironmentTabs/EnvironmentTabs.tsx @@ -24,6 +24,7 @@ import { ROUTE_PATHS } from "@app/const/routes"; import { ProjectPermissionActions, ProjectPermissionSub, + useOrganization, useProject, useSubscription } from "@app/context"; @@ -45,6 +46,7 @@ type Props = { const TABS_TO_SHOW = 5; export const EnvironmentTabs = ({ secretPath }: Props) => { + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); const currentEnv = useParams({ from: ROUTE_PATHS.SecretManager.SecretDashboardPage.id, @@ -96,7 +98,8 @@ export const EnvironmentTabs = ({ secretPath }: Props) => { to: ROUTE_PATHS.SecretManager.SecretDashboardPage.path, params: { envSlug, - projectId: currentProject.id + projectId: currentProject.id, + orgId: currentOrg.id }, search: (prev) => prev }); diff --git a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretDetailSidebar.tsx b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretDetailSidebar.tsx index 3cb2a59ca8..5a9b522a32 100644 --- a/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretDetailSidebar.tsx +++ b/frontend/src/pages/secret-manager/SecretDashboardPage/components/SecretListView/SecretDetailSidebar.tsx @@ -46,6 +46,7 @@ import { InfisicalSecretInput } from "@app/components/v2/InfisicalSecretInput"; import { ProjectPermissionActions, ProjectPermissionSub, + useOrganization, useProject, useProjectPermission, useSubscription @@ -98,6 +99,7 @@ export const SecretDetailSidebar = ({ secretPath, handleSecretShare }: Props) => { + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); const [isFieldFocused, setIsFieldFocused] = useToggle(); const queryClient = useQueryClient(); @@ -776,6 +778,7 @@ export const SecretDetailSidebar = ({ `${getProjectBaseURL(currentProject.type)}/identities/$identityId` as const } params={{ + orgId: currentOrg.id, projectId: currentProject.id, identityId: identity.id }} @@ -806,8 +809,9 @@ export const SecretDetailSidebar = ({ className="z-100" > { const navigate = useNavigate(); - const { destination, syncId, projectId } = useParams({ + const { destination, syncId, projectId, orgId } = useParams({ from: ROUTE_PATHS.SecretManager.SecretSyncDetailsByIDPage.id, select: (params) => ({ ...params, @@ -82,6 +82,7 @@ const PageContent = () => { navigate({ to: ROUTE_PATHS.SecretManager.IntegrationsListPage.path, params: { + orgId, projectId }, search: { diff --git a/frontend/src/pages/secret-manager/SecretSyncDetailsByIDPage/components/SecretSyncActionTriggers.tsx b/frontend/src/pages/secret-manager/SecretSyncDetailsByIDPage/components/SecretSyncActionTriggers.tsx index ad82460eb4..517d1cc7ca 100644 --- a/frontend/src/pages/secret-manager/SecretSyncDetailsByIDPage/components/SecretSyncActionTriggers.tsx +++ b/frontend/src/pages/secret-manager/SecretSyncDetailsByIDPage/components/SecretSyncActionTriggers.tsx @@ -36,7 +36,7 @@ import { } from "@app/components/v2"; import { Badge } from "@app/components/v3"; import { ROUTE_PATHS } from "@app/const/routes"; -import { ProjectPermissionSub } from "@app/context"; +import { ProjectPermissionSub, useOrganization } from "@app/context"; import { ProjectPermissionSecretSyncActions } from "@app/context/ProjectPermissionContext/types"; import { SECRET_SYNC_MAP } from "@app/helpers/secretSyncs"; import { usePopUp, useToggle } from "@app/hooks"; @@ -65,6 +65,7 @@ export const SecretSyncActionTriggers = ({ secretSync }: Props) => { const updateSync = useUpdateSecretSync(); const { destination, environment, folder } = secretSync; + const { currentOrg } = useOrganization(); const destinationName = SECRET_SYNC_MAP[destination].name; const { syncOption } = useSecretSyncOption(destination); @@ -291,6 +292,7 @@ export const SecretSyncActionTriggers = ({ secretSync }: Props) => { navigate({ to: ROUTE_PATHS.SecretManager.IntegrationsListPage.path, params: { + orgId: currentOrg.id, projectId: secretSync.projectId }, search: { diff --git a/frontend/src/pages/secret-manager/SecretSyncDetailsByIDPage/components/SecretSyncAuditLogsSection.tsx b/frontend/src/pages/secret-manager/SecretSyncDetailsByIDPage/components/SecretSyncAuditLogsSection.tsx index a08d88139e..74011228b2 100644 --- a/frontend/src/pages/secret-manager/SecretSyncDetailsByIDPage/components/SecretSyncAuditLogsSection.tsx +++ b/frontend/src/pages/secret-manager/SecretSyncDetailsByIDPage/components/SecretSyncAuditLogsSection.tsx @@ -2,7 +2,7 @@ import { faFingerprint } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Link } from "@tanstack/react-router"; -import { useProject, useSubscription } from "@app/context"; +import { useOrganization, useProject, useSubscription } from "@app/context"; import { EventType } from "@app/hooks/api/auditLogs/enums"; import { TSecretSync } from "@app/hooks/api/secretSyncs"; import { LogsSection } from "@app/pages/organization/AuditLogsPage/components/LogsSection"; @@ -19,6 +19,7 @@ type Props = { export const SecretSyncAuditLogsSection = ({ secretSync }: Props) => { const { subscription } = useSubscription(); + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); const auditLogsRetentionDays = subscription?.auditLogsRetentionDays ?? 30; @@ -53,7 +54,12 @@ export const SecretSyncAuditLogsSection = ({ secretSync }: Props) => {

Please{" "} {subscription && subscription.slug !== null ? ( - + { const { code, state } = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.GitlabOauthCallbackPage.id }); + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); useEffect(() => { @@ -25,7 +26,8 @@ export const GitLabOAuthCallbackPage = () => { if (csrfToken !== storedState) { console.error("CSRF token mismatch"); navigate({ - to: "/organization/app-connections", + to: "/organizations/$orgId/app-connections", + params: { orgId: currentOrg.id }, search: { error: "invalid_state" } }); return; @@ -37,7 +39,8 @@ export const GitLabOAuthCallbackPage = () => { if (!storedFormData) { console.error("No stored form data found"); navigate({ - to: "/organization/app-connections", + to: "/organizations/$orgId/app-connections", + params: { orgId: currentOrg.id }, search: { error: "missing_form_data" } }); return; @@ -73,7 +76,8 @@ export const GitLabOAuthCallbackPage = () => { // Navigate to success page or app connections list navigate({ - to: "/organization/app-connections", + to: "/organizations/$orgId/app-connections", + params: { orgId: currentOrg.id }, search: { success: formData.isUpdate ? "connection_updated" : "connection_created", connectionId: appConnection.id @@ -82,12 +86,21 @@ export const GitLabOAuthCallbackPage = () => { } catch (err) { console.error("Error handling GitLab OAuth callback:", err); navigate({ - to: "/organization/app-connections", + to: "/organizations/$orgId/app-connections", + params: { orgId: currentOrg.id }, search: { error: "connection_failed" } }); } })(); - }, [code, state, navigate, createAppConnection, updateAppConnection, currentProject.id]); + }, [ + code, + state, + navigate, + createAppConnection, + updateAppConnection, + currentProject.id, + currentOrg.id + ]); return (

diff --git a/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/HerokuOauthCallbackPage.tsx b/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/HerokuOauthCallbackPage.tsx index 91e2b9d88b..e2ed60d4e8 100644 --- a/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/HerokuOauthCallbackPage.tsx +++ b/frontend/src/pages/secret-manager/integrations/HerokuOauthCallbackPage/HerokuOauthCallbackPage.tsx @@ -2,7 +2,7 @@ import { useEffect } from "react"; import { useNavigate, useSearch } from "@tanstack/react-router"; import { ROUTE_PATHS } from "@app/const/routes"; -import { useProject } from "@app/context"; +import { useOrganization, useProject } from "@app/context"; import { useCreateAppConnection, useUpdateAppConnection } from "@app/hooks/api/appConnections"; import { HerokuConnectionMethod } from "@app/hooks/api/appConnections/types/heroku-connection"; @@ -14,7 +14,7 @@ export const HerokuOAuthCallbackPage = () => { const { code, state } = useSearch({ from: ROUTE_PATHS.SecretManager.Integratons.HerokuOauthCallbackPage.id }); - + const { currentOrg } = useOrganization(); const { currentProject } = useProject(); useEffect(() => { @@ -25,7 +25,8 @@ export const HerokuOAuthCallbackPage = () => { if (state !== storedState) { console.error("CSRF token mismatch"); navigate({ - to: "/organization/app-connections", + to: "/organizations/$orgId/app-connections", + params: { orgId: currentOrg.id }, search: { error: "invalid_state" } }); return; @@ -39,7 +40,8 @@ export const HerokuOAuthCallbackPage = () => { if (!storedFormData) { console.error("No stored form data found"); navigate({ - to: "/organization/app-connections", + to: "/organizations/$orgId/app-connections", + params: { orgId: currentOrg.id }, search: { error: "missing_form_data" } }); return; @@ -74,7 +76,8 @@ export const HerokuOAuthCallbackPage = () => { // Navigate to success page or app connections list navigate({ - to: "/organization/app-connections", + to: "/organizations/$orgId/app-connections", + params: { orgId: currentOrg.id }, search: { success: formData.isUpdate ? "connection_updated" : "connection_created", connectionId: appConnection.id @@ -83,7 +86,8 @@ export const HerokuOAuthCallbackPage = () => { } catch (err) { console.error("Error handling Heroku OAuth callback:", err); navigate({ - to: "/organization/app-connections", + to: "/organizations/$orgId/app-connections", + params: { orgId: currentOrg.id }, search: { error: "connection_failed" } }); } diff --git a/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/components/SecretScanningDataSourceRow.tsx b/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/components/SecretScanningDataSourceRow.tsx index baeb143daf..fc721e384a 100644 --- a/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/components/SecretScanningDataSourceRow.tsx +++ b/frontend/src/pages/secret-scanning/SecretScanningDataSourcesPage/components/SecretScanningDataSourceRow.tsx @@ -102,6 +102,7 @@ export const SecretScanningDataSourceRow = ({ navigate({ to: ROUTE_PATHS.SecretScanning.DataSourceByIdPage.path, params: { + orgId: currentOrg.id, dataSourceId: id, type, projectId From 1702766391b2700f270ac7fe01397c00df114f38 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Wed, 19 Nov 2025 20:44:02 +0530 Subject: [PATCH 004/109] fix: greptile review comments --- frontend/src/components/navigation/NavHeader.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/navigation/NavHeader.tsx b/frontend/src/components/navigation/NavHeader.tsx index 837fae807f..127b1066e5 100644 --- a/frontend/src/components/navigation/NavHeader.tsx +++ b/frontend/src/components/navigation/NavHeader.tsx @@ -71,7 +71,7 @@ export default function NavHeader({
{currentOrg?.name} From efd424f1a65985ce3016522c017642c53bb21d26 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Wed, 19 Nov 2025 20:44:52 +0530 Subject: [PATCH 005/109] fix: greptile review comments --- .../src/components/navigation/SecretDashboardPathBreadcrumb.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/navigation/SecretDashboardPathBreadcrumb.tsx b/frontend/src/components/navigation/SecretDashboardPathBreadcrumb.tsx index 07cf26e415..62f219da91 100644 --- a/frontend/src/components/navigation/SecretDashboardPathBreadcrumb.tsx +++ b/frontend/src/components/navigation/SecretDashboardPathBreadcrumb.tsx @@ -73,7 +73,7 @@ export const SecretDashboardPathBreadcrumb = ({ Date: Wed, 19 Nov 2025 20:57:22 +0530 Subject: [PATCH 006/109] fix: navbar suborgs navigation --- .../OrganizationLayout/components/NavBar/Navbar.tsx | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx index 499465f0a1..36c4e24600 100644 --- a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx @@ -323,8 +323,7 @@ export const Navbar = () => { onClick={async () => { navigate({ to: "/organizations/$orgId/projects", - params: { orgId: currentOrg.id }, - search: (search) => ({ ...search, subOrganization: undefined }) + params: { orgId: currentOrg.id } }); if (isSubOrganization) { await router.invalidate({ sync: true }).catch(() => null); @@ -409,8 +408,7 @@ export const Navbar = () => { onClick={async () => { navigate({ to: "/organizations/$orgId/projects", - params: { orgId: currentOrg.id }, - search: (prev) => ({ ...prev, subOrganization: subOrg.name }) + params: { orgId: subOrg.id } }); await router.invalidate({ sync: true }).catch(() => null); }} @@ -514,8 +512,7 @@ export const Navbar = () => { onClick={async () => { navigate({ to: "/organizations/$orgId/projects", - params: { orgId: currentOrg.id }, - search: (prev) => ({ ...prev, subOrganization: subOrg.name }) + params: { orgId: subOrg.id } }); await router.invalidate({ sync: true }).catch(() => null); }} From 49cf710122497887d45f013fde8c0947ef027541 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Thu, 20 Nov 2025 01:46:40 +0530 Subject: [PATCH 007/109] fix: add orgId to OrgAdminBreakglassAccess email template and update link --- backend/src/services/auth/auth-login-service.ts | 3 ++- .../smtp/emails/OrgAdminBreakglassAccessTemplate.tsx | 7 +++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/backend/src/services/auth/auth-login-service.ts b/backend/src/services/auth/auth-login-service.ts index e2f0f5f165..8e0f654a3c 100644 --- a/backend/src/services/auth/auth-login-service.ts +++ b/backend/src/services/auth/auth-login-service.ts @@ -663,7 +663,8 @@ export const authLoginServiceFactory = ({ timestamp: new Date().toISOString(), ip: ipAddress, userAgent, - siteUrl: removeTrailingSlash(cfg.SITE_URL || "https://app.infisical.com") + siteUrl: removeTrailingSlash(cfg.SITE_URL || "https://app.infisical.com"), + orgId: organizationId }, template: SmtpTemplates.OrgAdminBreakglassAccess }); diff --git a/backend/src/services/smtp/emails/OrgAdminBreakglassAccessTemplate.tsx b/backend/src/services/smtp/emails/OrgAdminBreakglassAccessTemplate.tsx index ee09574b60..97ce9b522a 100644 --- a/backend/src/services/smtp/emails/OrgAdminBreakglassAccessTemplate.tsx +++ b/backend/src/services/smtp/emails/OrgAdminBreakglassAccessTemplate.tsx @@ -7,6 +7,7 @@ import { BaseLink } from "./BaseLink"; interface OrgAdminBreakglassAccessTemplateProps extends Omit { email: string; timestamp: string; + orgId: string; ip: string; userAgent: string; } @@ -15,6 +16,7 @@ export const OrgAdminBreakglassAccessTemplate = ({ email, siteUrl, timestamp, + orgId, ip, userAgent }: OrgAdminBreakglassAccessTemplateProps) => { @@ -36,7 +38,7 @@ export const OrgAdminBreakglassAccessTemplate = ({ {userAgent} If you'd like to disable Admin SSO Bypass, please visit{" "} - Organization Security Settings. + Organization Security Settings. @@ -51,5 +53,6 @@ OrgAdminBreakglassAccessTemplate.PreviewProps = { "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/18.3.1 Safari/605.1.15", timestamp: "Tue Apr 29 2025 23:03:27 GMT+0000 (Coordinated Universal Time)", siteUrl: "https://infisical.com", - email: "august@infisical.com" + email: "august@infisical.com", + orgId: "123" } as OrgAdminBreakglassAccessTemplateProps; From 16df96ac60b16384528423aaa97887a59f8e8394 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Thu, 20 Nov 2025 19:46:06 +0530 Subject: [PATCH 008/109] fix: server redirects to new routing --- .../access-approval-request-service.ts | 6 +-- .../ee/services/license/license-service.ts | 6 +-- .../secret-approval-request-fns.ts | 4 +- .../secret-approval-request-service.ts | 6 +-- .../secret-rotation-v2-queue.ts | 2 +- .../secret-scanning-v2-queue.ts | 4 +- .../org/org-membership-user-factory.ts | 2 +- .../microsoft-teams/microsoft-teams-fns.ts | 7 +-- .../microsoft-teams-service.ts | 2 +- .../src/services/project/project-service.ts | 2 +- .../secret-sharing/secret-sharing-service.ts | 2 +- .../services/secret-sync/secret-sync-queue.ts | 2 +- backend/src/services/secret/secret-queue.ts | 2 +- .../service-token/service-token-dal.ts | 51 +++++++++++-------- .../service-token/service-token-service.ts | 2 +- 15 files changed, 54 insertions(+), 46 deletions(-) diff --git a/backend/src/ee/services/access-approval-request/access-approval-request-service.ts b/backend/src/ee/services/access-approval-request/access-approval-request-service.ts index 4b2608c249..6d97e3b9eb 100644 --- a/backend/src/ee/services/access-approval-request/access-approval-request-service.ts +++ b/backend/src/ee/services/access-approval-request/access-approval-request-service.ts @@ -243,7 +243,7 @@ export const accessApprovalRequestServiceFactory = ({ ); const requesterFullName = `${requestedByUser.firstName} ${requestedByUser.lastName}`; - const projectPath = `/projects/secret-management/${project.id}`; + const projectPath = `/organizations/${project.orgId}/projects/secret-management/${project.id}`; const approvalPath = `${projectPath}/approval`; const approvalUrl = `${cfg.SITE_URL}${approvalPath}`; @@ -399,7 +399,7 @@ export const accessApprovalRequestServiceFactory = ({ const requesterFullName = `${requestedByUser.firstName} ${requestedByUser.lastName}`; const editorFullName = `${editedByUser.firstName} ${editedByUser.lastName}`; - const projectPath = `/projects/secret-management/${project.id}`; + const projectPath = `/organizations/${project.orgId}/projects/secret-management/${project.id}`; const approvalPath = `${projectPath}/approval`; const approvalUrl = `${cfg.SITE_URL}${approvalPath}`; @@ -766,7 +766,7 @@ export const accessApprovalRequestServiceFactory = ({ .map((appUser) => appUser.email) .filter((email): email is string => !!email); - const approvalPath = `/projects/secret-management/${project.id}/approval`; + const approvalPath = `/organizations/${project.orgId}/projects/secret-management/${project.id}/approval`; const approvalUrl = `${cfg.SITE_URL}${approvalPath}`; await notificationService.createUserNotifications( diff --git a/backend/src/ee/services/license/license-service.ts b/backend/src/ee/services/license/license-service.ts index bbd6147ed3..93770ce648 100644 --- a/backend/src/ee/services/license/license-service.ts +++ b/backend/src/ee/services/license/license-service.ts @@ -445,8 +445,8 @@ export const licenseServiceFactory = ({ } = await licenseServerCloudApi.request.post( `/api/license-server/v1/customers/${organization.customerId}/billing-details/payment-methods`, { - success_url: `${envConfig.SITE_URL}/organization/billing`, - cancel_url: `${envConfig.SITE_URL}/organization/billing` + success_url: `${envConfig.SITE_URL}/organizations/${orgId}/billing`, + cancel_url: `${envConfig.SITE_URL}/organizations/${orgId}/billing` } ); @@ -459,7 +459,7 @@ export const licenseServiceFactory = ({ } = await licenseServerCloudApi.request.post( `/api/license-server/v1/customers/${organization.customerId}/billing-details/billing-portal`, { - return_url: `${envConfig.SITE_URL}/organization/billing` + return_url: `${envConfig.SITE_URL}/organizations/${orgId}/billing` } ); diff --git a/backend/src/ee/services/secret-approval-request/secret-approval-request-fns.ts b/backend/src/ee/services/secret-approval-request/secret-approval-request-fns.ts index 8f1c3d060a..69d36e66f7 100644 --- a/backend/src/ee/services/secret-approval-request/secret-approval-request-fns.ts +++ b/backend/src/ee/services/secret-approval-request/secret-approval-request-fns.ts @@ -37,7 +37,7 @@ export const sendApprovalEmailsFn = async ({ type: NotificationType.SECRET_CHANGE_REQUEST, title: "Secret Change Request", body: `You have a new secret change request pending your review for the project **${project.name}** in the organization **${project.organization.name}**.`, - link: `/projects/secret-management/${project.id}/approval` + link: `/organizations/${project.orgId}/projects/secret-management/${project.id}/approval` })) ); @@ -51,7 +51,7 @@ export const sendApprovalEmailsFn = async ({ firstName: reviewerUser.firstName, projectName: project.name, organizationName: project.organization.name, - approvalUrl: `${cfg.SITE_URL}/projects/secret-management/${project.id}/approval}` + approvalUrl: `${cfg.SITE_URL}/organizations/${project.orgId}/projects/secret-management/${project.id}/approval}` }, template: SmtpTemplates.SecretApprovalRequestNeedsReview }); diff --git a/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts b/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts index e6455c113d..6b0f7e0ede 100644 --- a/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts +++ b/backend/src/ee/services/secret-approval-request/secret-approval-request-service.ts @@ -1037,7 +1037,7 @@ export const secretApprovalRequestServiceFactory = ({ bypassReason, secretPath: policy.secretPath, environment: env.name, - approvalUrl: `${cfg.SITE_URL}/projects/secret-management/${project.id}/approval` + approvalUrl: `${cfg.SITE_URL}/organizations/${project.orgId}/projects/secret-management/${project.id}/approval` }, template: SmtpTemplates.AccessSecretRequestBypassed }); @@ -1416,7 +1416,7 @@ export const secretApprovalRequestServiceFactory = ({ const env = await projectEnvDAL.findOne({ id: policy.envId }); const user = await userDAL.findById(actorId); - const projectPath = `/projects/secret-management/${projectId}`; + const projectPath = `/organizations/${actorOrgId}/projects/secret-management/${projectId}`; const approvalPath = `${projectPath}/approval`; const cfg = getConfig(); const approvalUrl = `${cfg.SITE_URL}${approvalPath}`; @@ -1792,7 +1792,7 @@ export const secretApprovalRequestServiceFactory = ({ const user = await userDAL.findById(actorId); const env = await projectEnvDAL.findOne({ id: policy.envId }); - const projectPath = `/projects/secret-management/${project.id}`; + const projectPath = `/organizations/${actorOrgId}/projects/secret-management/${project.id}`; const approvalPath = `${projectPath}/approval`; const cfg = getConfig(); const approvalUrl = `${cfg.SITE_URL}${approvalPath}`; diff --git a/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-queue.ts b/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-queue.ts index f653802b68..3c902e1126 100644 --- a/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-queue.ts +++ b/backend/src/ee/services/secret-rotation-v2/secret-rotation-v2-queue.ts @@ -156,7 +156,7 @@ export const secretRotationV2QueueServiceFactory = async ({ const rotationType = SECRET_ROTATION_NAME_MAP[type as SecretRotation]; - const rotationPath = `/projects/secret-management/${projectId}/secrets/${environment.slug}`; + const rotationPath = `/organizations/${project.orgId}/projects/secret-management/${projectId}/secrets/${environment.slug}`; await notificationService.createUserNotifications( projectAdmins.map((admin) => ({ diff --git a/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-queue.ts b/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-queue.ts index 406c25e037..2b6ab6a207 100644 --- a/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-queue.ts +++ b/backend/src/ee/services/secret-scanning-v2/secret-scanning-v2-queue.ts @@ -637,7 +637,7 @@ export const secretScanningV2QueueServiceFactory = async ({ numberOfSecrets: payload.numberOfSecrets, isDiffScan: payload.isDiffScan, url: encodeURI( - `${appCfg.SITE_URL}/projects/secret-scanning/${projectId}/findings?search=scanId:${payload.scanId}` + `${appCfg.SITE_URL}/organizations/${project.orgId}/projects/secret-scanning/${projectId}/findings?search=scanId:${payload.scanId}` ), timestamp } @@ -648,7 +648,7 @@ export const secretScanningV2QueueServiceFactory = async ({ timestamp, errorMessage: payload.errorMessage, url: encodeURI( - `${appCfg.SITE_URL}/projects/secret-scanning/${projectId}/data-sources/${dataSource.type}/${dataSource.id}` + `${appCfg.SITE_URL}/organizations/${project.orgId}/projects/secret-scanning/${projectId}/data-sources/${dataSource.type}/${dataSource.id}` ) } }); diff --git a/backend/src/services/membership-user/org/org-membership-user-factory.ts b/backend/src/services/membership-user/org/org-membership-user-factory.ts index d21b27b698..deb819c7a8 100644 --- a/backend/src/services/membership-user/org/org-membership-user-factory.ts +++ b/backend/src/services/membership-user/org/org-membership-user-factory.ts @@ -129,7 +129,7 @@ export const newOrgMembershipUserFactory = ({ recipients: emails as string[], substitutions: { subOrganizationName: orgDetails.slug, - callback_url: `${appCfg.SITE_URL}/organization/projects?subOrganization=${orgDetails.slug}` + callback_url: `${appCfg.SITE_URL}/organizations/${dto.permission.orgId}/projects?subOrganization=${orgDetails.slug}` } }); } else { diff --git a/backend/src/services/microsoft-teams/microsoft-teams-fns.ts b/backend/src/services/microsoft-teams/microsoft-teams-fns.ts index e940fda544..0fcfbbe01c 100644 --- a/backend/src/services/microsoft-teams/microsoft-teams-fns.ts +++ b/backend/src/services/microsoft-teams/microsoft-teams-fns.ts @@ -357,7 +357,7 @@ export const isBotInstalledInTenant = async ( } }; -export const buildTeamsPayload = (notification: TNotification) => { +export const buildTeamsPayload = (orgId: string, notification: TNotification) => { const appCfg = getConfig(); switch (notification.type) { @@ -402,7 +402,7 @@ export const buildTeamsPayload = (notification: TNotification) => { { type: "Action.OpenUrl", title: "View request in Infisical", - url: `${appCfg.SITE_URL}/projects/secret-management/${payload.projectId}/approval?requestId=${payload.requestId}` + url: `${appCfg.SITE_URL}/organizations/${orgId}/projects/secret-management/${payload.projectId}/approval?requestId=${payload.requestId}` } ] }; @@ -590,10 +590,11 @@ export class TeamsBot extends TeamsActivityHandler { tenantId: string, channelId: string, teamId: string, + orgId: string, notification: TNotification ) { try { - const { adaptiveCard } = buildTeamsPayload(notification); + const { adaptiveCard } = buildTeamsPayload(orgId, notification); const adaptiveCardActivity = { type: "message", diff --git a/backend/src/services/microsoft-teams/microsoft-teams-service.ts b/backend/src/services/microsoft-teams/microsoft-teams-service.ts index ff17daa755..a9d1af8404 100644 --- a/backend/src/services/microsoft-teams/microsoft-teams-service.ts +++ b/backend/src/services/microsoft-teams/microsoft-teams-service.ts @@ -759,7 +759,7 @@ export const microsoftTeamsServiceFactory = ({ }); for await (const channelId of target.channelIds) { - await teamsBot.sendMessageToChannel(botAccessToken, tenantId, channelId, target.teamId, notification); + await teamsBot.sendMessageToChannel(botAccessToken, tenantId, channelId, target.teamId, orgId, notification); } }; diff --git a/backend/src/services/project/project-service.ts b/backend/src/services/project/project-service.ts index 188c985fb7..d30462e9b3 100644 --- a/backend/src/services/project/project-service.ts +++ b/backend/src/services/project/project-service.ts @@ -1984,7 +1984,7 @@ export const projectServiceFactory = ({ projectTypeUrl = "cert-management"; } - const callbackPath = `/projects/${projectTypeUrl}/${project.id}/access-management?selectedTab=members&requesterEmail=${userDetails.email}`; + const callbackPath = `/organizations/${project.orgId}/projects/${projectTypeUrl}/${project.id}/access-management?selectedTab=members&requesterEmail=${userDetails.email}`; await notificationService.createUserNotifications( projectMembers diff --git a/backend/src/services/secret-sharing/secret-sharing-service.ts b/backend/src/services/secret-sharing/secret-sharing-service.ts index 87dd207f13..67170e5f66 100644 --- a/backend/src/services/secret-sharing/secret-sharing-service.ts +++ b/backend/src/services/secret-sharing/secret-sharing-service.ts @@ -391,7 +391,7 @@ export const secretSharingServiceFactory = ({ substitutions: { name: secretRequest.name, respondentUsername, - secretRequestUrl: `${appCfg.SITE_URL}/organization/secret-sharing?selectedTab=request-secret` + secretRequestUrl: `${appCfg.SITE_URL}/organizations/${secretRequest.orgId}/secret-sharing?selectedTab=request-secret` }, template: SmtpTemplates.SecretRequestCompleted }); diff --git a/backend/src/services/secret-sync/secret-sync-queue.ts b/backend/src/services/secret-sync/secret-sync-queue.ts index f6e23ddedd..fd15dc0299 100644 --- a/backend/src/services/secret-sync/secret-sync-queue.ts +++ b/backend/src/services/secret-sync/secret-sync-queue.ts @@ -932,7 +932,7 @@ export const secretSyncQueueFactory = ({ break; } - const baseProjectPath = `/projects/secret-management/${projectId}`; + const baseProjectPath = `/organizations/${project.orgId}/projects/secret-management/${projectId}`; const overviewPath = `${baseProjectPath}/overview`; const syncPath = `${baseProjectPath}/integrations/secret-syncs/${destination}/${secretSync.id}`; diff --git a/backend/src/services/secret/secret-queue.ts b/backend/src/services/secret/secret-queue.ts index 61507d1275..eefa0764f3 100644 --- a/backend/src/services/secret/secret-queue.ts +++ b/backend/src/services/secret/secret-queue.ts @@ -742,7 +742,7 @@ export const secretQueueFactory = ({ environment: jobPayload.environmentName, count: jobPayload.count, projectName: project.name, - integrationUrl: `${appCfg.SITE_URL}/projects/secret-management/${project.id}/integrations?selectedTab=native-integrations` + integrationUrl: `${appCfg.SITE_URL}/organizations/${project.orgId}/projects/secret-management/${project.id}/integrations?selectedTab=native-integrations` } }); } diff --git a/backend/src/services/service-token/service-token-dal.ts b/backend/src/services/service-token/service-token-dal.ts index adb2f325a3..ae2cd35747 100644 --- a/backend/src/services/service-token/service-token-dal.ts +++ b/backend/src/services/service-token/service-token-dal.ts @@ -30,28 +30,35 @@ export const serviceTokenDALFactory = (db: TDbClient) => { const findExpiringTokens = async (tx?: Knex, batchSize = 500, offset = 0) => { try { - const batch: { name: string; projectName: string; createdByEmail: string; id: string; projectId: string }[] = - await (tx || db.replicaNode())(TableName.ServiceToken) - .leftJoin( - TableName.Users, - `${TableName.Users}.id`, - db.raw(`${TableName.ServiceToken}."createdBy"::uuid`) - ) - .join(TableName.Project, `${TableName.Project}.id`, `${TableName.ServiceToken}.projectId`) - .whereRaw( - `${TableName.ServiceToken}."expiresAt" < NOW() + INTERVAL '1 day' AND ${TableName.ServiceToken}."expiryNotificationSent" = false` - ) - .whereNotNull(`${TableName.Users}.email`) - .select( - db.ref("id").withSchema(TableName.ServiceToken), - db.ref("name").withSchema(TableName.ServiceToken), - db.ref("projectId").withSchema(TableName.ServiceToken), - db.ref("createdBy").withSchema(TableName.ServiceToken), - db.ref("email").withSchema(TableName.Users).as("createdByEmail"), - db.ref("name").withSchema(TableName.Project).as("projectName") - ) - .limit(batchSize) - .offset(offset); + const batch: { + name: string; + projectName: string; + createdByEmail: string; + id: string; + projectId: string; + orgId: string; + }[] = await (tx || db.replicaNode())(TableName.ServiceToken) + .leftJoin( + TableName.Users, + `${TableName.Users}.id`, + db.raw(`${TableName.ServiceToken}."createdBy"::uuid`) + ) + .join(TableName.Project, `${TableName.Project}.id`, `${TableName.ServiceToken}.projectId`) + .whereRaw( + `${TableName.ServiceToken}."expiresAt" < NOW() + INTERVAL '1 day' AND ${TableName.ServiceToken}."expiryNotificationSent" = false` + ) + .whereNotNull(`${TableName.Users}.email`) + .select( + db.ref("id").withSchema(TableName.ServiceToken), + db.ref("name").withSchema(TableName.ServiceToken), + db.ref("projectId").withSchema(TableName.ServiceToken), + db.ref("createdBy").withSchema(TableName.ServiceToken), + db.ref("email").withSchema(TableName.Users).as("createdByEmail"), + db.ref("name").withSchema(TableName.Project).as("projectName"), + db.ref("orgId").withSchema(TableName.Project).as("orgId") + ) + .limit(batchSize) + .offset(offset); return batch; } catch (err) { diff --git a/backend/src/services/service-token/service-token-service.ts b/backend/src/services/service-token/service-token-service.ts index 081b99208f..de759eb9af 100644 --- a/backend/src/services/service-token/service-token-service.ts +++ b/backend/src/services/service-token/service-token-service.ts @@ -225,7 +225,7 @@ export const serviceTokenServiceFactory = ({ substitutions: { tokenName: token.name, projectName: token.projectName, - url: `${appCfg.SITE_URL}/projects/secret-management/${token.projectId}/access-management?selectedTab=service-tokens` + url: `${appCfg.SITE_URL}/organizations/${token.orgId}/projects/secret-management/${token.projectId}/access-management?selectedTab=service-tokens` } }); await serviceTokenDAL.update({ id: token.id }, { expiryNotificationSent: true }); From e022f730eafb5aafc159a24638b23bdf15151cd8 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Thu, 20 Nov 2025 20:24:19 +0530 Subject: [PATCH 009/109] fix: added routes --- .../src/pages/auth/LoginPage/Login.utils.tsx | 2 +- .../auth/SelectOrgPage/SelectOrgSection.tsx | 2 +- .../src/pages/middlewares/authenticate.tsx | 2 +- .../pages/organization/NoOrgPage/route.tsx | 2 +- .../pages/redirects/organization-redirect.tsx | 22 + .../src/pages/redirects/project-redirect.tsx | 32 + ...zure-app-configurations-oauth-redirect.tsx | 9 +- .../route-azure-key-vault-oauth-redirect.tsx | 9 +- .../route-bitbucket-oauth-redirect.tsx | 9 +- .../integrations/route-gcp-oauth-redirect.tsx | 9 +- .../route-github-oauth-redirect.tsx | 9 +- .../route-gitlab-oauth-redirect.tsx | 9 +- .../route-heroku-oauth-redirect.tsx | 9 +- .../route-netlify-oauth-redirect.tsx | 9 +- .../route-vercel-oauth-redirect.tsx | 9 +- frontend/src/routeTree.gen.ts | 723 ++++++++++-------- frontend/src/routes.ts | 6 +- 17 files changed, 494 insertions(+), 378 deletions(-) create mode 100644 frontend/src/pages/redirects/organization-redirect.tsx create mode 100644 frontend/src/pages/redirects/project-redirect.tsx diff --git a/frontend/src/pages/auth/LoginPage/Login.utils.tsx b/frontend/src/pages/auth/LoginPage/Login.utils.tsx index 34032bd6dc..06a897b5a9 100644 --- a/frontend/src/pages/auth/LoginPage/Login.utils.tsx +++ b/frontend/src/pages/auth/LoginPage/Login.utils.tsx @@ -30,7 +30,7 @@ export const navigateUserToOrg = async (navigate: NavigateFn, organizationId?: s } else { // user is not part of any non-auth enforced orgs localStorage.removeItem("orgData.id"); - navigate({ to: "/organization/none" }); + navigate({ to: "/organizations/none" }); } }; diff --git a/frontend/src/pages/auth/SelectOrgPage/SelectOrgSection.tsx b/frontend/src/pages/auth/SelectOrgPage/SelectOrgSection.tsx index 4a7ef739e4..2a3e9c5543 100644 --- a/frontend/src/pages/auth/SelectOrgPage/SelectOrgSection.tsx +++ b/frontend/src/pages/auth/SelectOrgPage/SelectOrgSection.tsx @@ -222,7 +222,7 @@ export const SelectOrganizationSection = () => { // Case: User has no organizations. // This can happen if the user was previously a member, but the organization was deleted or the user was removed. if (organizations.data.length === 0) { - navigate({ to: "/organization/none" }); + navigate({ to: "/organizations/none" }); } else if (organizations.data.length === 1) { if (callbackPort) { handleCliRedirect(); diff --git a/frontend/src/pages/middlewares/authenticate.tsx b/frontend/src/pages/middlewares/authenticate.tsx index 03005ce05a..3998dde637 100644 --- a/frontend/src/pages/middlewares/authenticate.tsx +++ b/frontend/src/pages/middlewares/authenticate.tsx @@ -44,7 +44,7 @@ export const Route = createFileRoute("/_authenticate")({ if ( !data.organizationId && location.pathname !== ROUTE_PATHS.Auth.PasswordSetupPage.path && - location.pathname !== "/organization/none" + location.pathname !== "/organizations/none" ) { throw redirect({ to: "/login/select-organization" }); } diff --git a/frontend/src/pages/organization/NoOrgPage/route.tsx b/frontend/src/pages/organization/NoOrgPage/route.tsx index 5d34fed939..597fcc9311 100644 --- a/frontend/src/pages/organization/NoOrgPage/route.tsx +++ b/frontend/src/pages/organization/NoOrgPage/route.tsx @@ -2,6 +2,6 @@ import { createFileRoute } from "@tanstack/react-router"; import { NoOrgPage } from "./NoOrgPage"; -export const Route = createFileRoute("/_authenticate/organization/none")({ +export const Route = createFileRoute("/_authenticate/organizations/none")({ component: NoOrgPage }); diff --git a/frontend/src/pages/redirects/organization-redirect.tsx b/frontend/src/pages/redirects/organization-redirect.tsx new file mode 100644 index 0000000000..d13cc69b8d --- /dev/null +++ b/frontend/src/pages/redirects/organization-redirect.tsx @@ -0,0 +1,22 @@ +import { createFileRoute, redirect } from "@tanstack/react-router"; + +export const Route = createFileRoute("/_authenticate/_inject-org-details/organization/$")({ + beforeLoad: ({ context, params, search }) => { + const orgId = context.organizationId; + + if (!orgId) { + throw redirect({ + to: "/login/select-organization" + }); + } + + // eslint-disable-next-line no-underscore-dangle + const remainingPath = params._splat || ""; + + throw redirect({ + to: `/organizations/$orgId/${remainingPath}` as const, + params: { orgId }, + search + }); + } +}); diff --git a/frontend/src/pages/redirects/project-redirect.tsx b/frontend/src/pages/redirects/project-redirect.tsx new file mode 100644 index 0000000000..a893dc1313 --- /dev/null +++ b/frontend/src/pages/redirects/project-redirect.tsx @@ -0,0 +1,32 @@ +import { createFileRoute, redirect } from "@tanstack/react-router"; + +import { localStorageService } from "@app/helpers/localStorage"; + +export const Route = createFileRoute("/_authenticate/_inject-org-details/projects/$")({ + beforeLoad: ({ context, params, search }) => { + const orgId = context.organizationId; + + if (!orgId) { + throw redirect({ + to: "/login/select-organization" + }); + } + + // eslint-disable-next-line no-underscore-dangle + const remainingPath = params._splat || ""; + const projectId = localStorageService.getIintegrationProjectId(); + + if (!projectId) { + throw redirect({ + to: "/organizations/$orgId/projects", + params: { orgId } + }); + } + + throw redirect({ + to: `/organizations/$orgId/projects/${remainingPath}` as const, + params: { orgId, projectId }, + search + }); + } +}); diff --git a/frontend/src/pages/secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx index a353f267e3..aadb0ee090 100644 --- a/frontend/src/pages/secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx @@ -7,10 +7,11 @@ import { localStorageService } from "@app/helpers/localStorage"; import { AzureAppConfigurationOauthCallbackPageQueryParamsSchema } from "./AzureAppConfigurationOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback" )({ validateSearch: zodValidator(AzureAppConfigurationOauthCallbackPageQueryParamsSchema), - beforeLoad: ({ search, params }) => { + beforeLoad: ({ context, search }) => { + const orgId = context.organizationId; const projectId = localStorageService.getIintegrationProjectId(); if (!projectId) { createNotification({ @@ -20,12 +21,12 @@ export const Route = createFileRoute( }); throw redirect({ to: "/organizations/$orgId/projects", - params: { orgId: params.orgId } + params: { orgId } }); } throw redirect({ to: "/organizations/$orgId/projects/secret-management/$projectId/integrations/azure-app-configuration/oauth2/callback", - params: { orgId: params.orgId, projectId }, + params: { orgId, projectId }, search }); } diff --git a/frontend/src/pages/secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx index 6dd5ba9a3d..70ac057f6c 100644 --- a/frontend/src/pages/secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx @@ -7,10 +7,11 @@ import { localStorageService } from "@app/helpers/localStorage"; import { AzureKeyVaultOauthCallbackQueryParamsSchema } from "./AzureKeyVaultOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-key-vault/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback" )({ validateSearch: zodValidator(AzureKeyVaultOauthCallbackQueryParamsSchema), - beforeLoad: ({ search, params }) => { + beforeLoad: ({ context, search }) => { + const orgId = context.organizationId; const projectId = localStorageService.getIintegrationProjectId(); if (!projectId) { createNotification({ @@ -20,12 +21,12 @@ export const Route = createFileRoute( }); throw redirect({ to: "/organizations/$orgId/projects", - params: { orgId: params.orgId } + params: { orgId } }); } throw redirect({ to: "/organizations/$orgId/projects/secret-management/$projectId/integrations/azure-key-vault/oauth2/callback", - params: { orgId: params.orgId, projectId }, + params: { orgId, projectId }, search }); } diff --git a/frontend/src/pages/secret-manager/integrations/route-bitbucket-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-bitbucket-oauth-redirect.tsx index 1f13a902cd..4eef0cc1de 100644 --- a/frontend/src/pages/secret-manager/integrations/route-bitbucket-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-bitbucket-oauth-redirect.tsx @@ -7,10 +7,11 @@ import { localStorageService } from "@app/helpers/localStorage"; import { BitbucketOauthCallbackQueryParamsSchema } from "./BitbucketOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/bitbucket/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback" )({ validateSearch: zodValidator(BitbucketOauthCallbackQueryParamsSchema), - beforeLoad: ({ search, params }) => { + beforeLoad: ({ context, search }) => { + const orgId = context.organizationId; const projectId = localStorageService.getIintegrationProjectId(); if (!projectId) { createNotification({ @@ -20,12 +21,12 @@ export const Route = createFileRoute( }); throw redirect({ to: "/organizations/$orgId/projects", - params: { orgId: params.orgId } + params: { orgId } }); } throw redirect({ to: "/organizations/$orgId/projects/secret-management/$projectId/integrations/bitbucket/oauth2/callback", - params: { orgId: params.orgId, projectId }, + params: { orgId, projectId }, search }); } diff --git a/frontend/src/pages/secret-manager/integrations/route-gcp-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-gcp-oauth-redirect.tsx index b84bbc817c..3cf8707c92 100644 --- a/frontend/src/pages/secret-manager/integrations/route-gcp-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-gcp-oauth-redirect.tsx @@ -7,10 +7,11 @@ import { localStorageService } from "@app/helpers/localStorage"; import { GcpSecretManagerOAuthCallbackPageQueryParamsSchema } from "./GcpSecretManagerOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback" )({ validateSearch: zodValidator(GcpSecretManagerOAuthCallbackPageQueryParamsSchema), - beforeLoad: ({ search, params }) => { + beforeLoad: ({ context, search }) => { + const orgId = context.organizationId; const projectId = localStorageService.getIintegrationProjectId(); if (!projectId) { createNotification({ @@ -20,12 +21,12 @@ export const Route = createFileRoute( }); throw redirect({ to: "/organizations/$orgId/projects", - params: { orgId: params.orgId } + params: { orgId } }); } throw redirect({ to: "/organizations/$orgId/projects/secret-management/$projectId/integrations/gcp-secret-manager/oauth2/callback", - params: { orgId: params.orgId, projectId }, + params: { orgId, projectId }, search }); } diff --git a/frontend/src/pages/secret-manager/integrations/route-github-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-github-oauth-redirect.tsx index c72a0886e2..809047952a 100644 --- a/frontend/src/pages/secret-manager/integrations/route-github-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-github-oauth-redirect.tsx @@ -7,10 +7,11 @@ import { localStorageService } from "@app/helpers/localStorage"; import { GithubOAuthCallbackPageQueryParamsSchema } from "./GithubOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/github/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback" )({ validateSearch: zodValidator(GithubOAuthCallbackPageQueryParamsSchema), - beforeLoad: ({ search, params }) => { + beforeLoad: ({ context, search }) => { + const orgId = context.organizationId; const projectId = localStorageService.getIintegrationProjectId(); if (!projectId) { createNotification({ @@ -20,12 +21,12 @@ export const Route = createFileRoute( }); throw redirect({ to: "/organizations/$orgId/projects", - params: { orgId: params.orgId } + params: { orgId } }); } throw redirect({ to: "/organizations/$orgId/projects/secret-management/$projectId/integrations/github/oauth2/callback", - params: { orgId: params.orgId, projectId }, + params: { orgId, projectId }, search }); } diff --git a/frontend/src/pages/secret-manager/integrations/route-gitlab-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-gitlab-oauth-redirect.tsx index ab5fca5606..ae7dac3f4c 100644 --- a/frontend/src/pages/secret-manager/integrations/route-gitlab-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-gitlab-oauth-redirect.tsx @@ -7,10 +7,11 @@ import { localStorageService } from "@app/helpers/localStorage"; import { GitlabOAuthCallbackPageQueryParamsSchema } from "./GitlabOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gitlab/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback" )({ validateSearch: zodValidator(GitlabOAuthCallbackPageQueryParamsSchema), - beforeLoad: ({ search, params }) => { + beforeLoad: ({ context, search }) => { + const orgId = context.organizationId; const projectId = localStorageService.getIintegrationProjectId(); if (!projectId) { createNotification({ @@ -20,12 +21,12 @@ export const Route = createFileRoute( }); throw redirect({ to: "/organizations/$orgId/projects", - params: { orgId: params.orgId } + params: { orgId } }); } throw redirect({ to: "/organizations/$orgId/projects/secret-management/$projectId/integrations/gitlab/oauth2/callback", - params: { orgId: params.orgId, projectId }, + params: { orgId, projectId }, search }); } diff --git a/frontend/src/pages/secret-manager/integrations/route-heroku-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-heroku-oauth-redirect.tsx index 84f35b686f..aeb2de8763 100644 --- a/frontend/src/pages/secret-manager/integrations/route-heroku-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-heroku-oauth-redirect.tsx @@ -7,10 +7,11 @@ import { localStorageService } from "@app/helpers/localStorage"; import { HerokuOAuthCallbackPageQueryParamsSchema } from "./HerokuOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/heroku/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback" )({ validateSearch: zodValidator(HerokuOAuthCallbackPageQueryParamsSchema), - beforeLoad: ({ search, params }) => { + beforeLoad: ({ context, search }) => { + const orgId = context.organizationId; const projectId = localStorageService.getIintegrationProjectId(); if (!projectId) { createNotification({ @@ -20,12 +21,12 @@ export const Route = createFileRoute( }); throw redirect({ to: "/organizations/$orgId/projects", - params: { orgId: params.orgId } + params: { orgId } }); } throw redirect({ to: "/organizations/$orgId/projects/secret-management/$projectId/integrations/heroku/oauth2/callback", - params: { orgId: params.orgId, projectId }, + params: { orgId, projectId }, search }); } diff --git a/frontend/src/pages/secret-manager/integrations/route-netlify-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-netlify-oauth-redirect.tsx index 5b9f316ff1..8df73914dc 100644 --- a/frontend/src/pages/secret-manager/integrations/route-netlify-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-netlify-oauth-redirect.tsx @@ -7,10 +7,11 @@ import { localStorageService } from "@app/helpers/localStorage"; import { NetlifyOAuthCallbackPageQueryParamsSchema } from "./NetlifyOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/netlify/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback" )({ validateSearch: zodValidator(NetlifyOAuthCallbackPageQueryParamsSchema), - beforeLoad: ({ search, params }) => { + beforeLoad: ({ context, search }) => { + const orgId = context.organizationId; const projectId = localStorageService.getIintegrationProjectId(); if (!projectId) { createNotification({ @@ -20,12 +21,12 @@ export const Route = createFileRoute( }); throw redirect({ to: "/organizations/$orgId/projects", - params: { orgId: params.orgId } + params: { orgId } }); } throw redirect({ to: "/organizations/$orgId/projects/secret-management/$projectId/integrations/netlify/oauth2/callback", - params: { orgId: params.orgId, projectId }, + params: { orgId, projectId }, search }); } diff --git a/frontend/src/pages/secret-manager/integrations/route-vercel-oauth-redirect.tsx b/frontend/src/pages/secret-manager/integrations/route-vercel-oauth-redirect.tsx index 3889cf98db..55c3facb53 100644 --- a/frontend/src/pages/secret-manager/integrations/route-vercel-oauth-redirect.tsx +++ b/frontend/src/pages/secret-manager/integrations/route-vercel-oauth-redirect.tsx @@ -7,10 +7,11 @@ import { localStorageService } from "@app/helpers/localStorage"; import { VercelOAuthCallbackPageQueryParamsSchema } from "./VercelOauthCallbackPage/route"; export const Route = createFileRoute( - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/vercel/oauth2/callback" + "/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback" )({ validateSearch: zodValidator(VercelOAuthCallbackPageQueryParamsSchema), - beforeLoad: ({ search, params }) => { + beforeLoad: ({ context, search }) => { + const orgId = context.organizationId; const projectId = localStorageService.getIintegrationProjectId(); if (!projectId) { createNotification({ @@ -20,12 +21,12 @@ export const Route = createFileRoute( }); throw redirect({ to: "/organizations/$orgId/projects", - params: { orgId: params.orgId } + params: { orgId } }); } throw redirect({ to: "/organizations/$orgId/projects/secret-management/$projectId/integrations/vercel/oauth2/callback", - params: { orgId: params.orgId, projectId }, + params: { orgId, projectId }, search }); } diff --git a/frontend/src/routeTree.gen.ts b/frontend/src/routeTree.gen.ts index acf4afc334..1c89619ad5 100644 --- a/frontend/src/routeTree.gen.ts +++ b/frontend/src/routeTree.gen.ts @@ -39,6 +39,8 @@ import { Route as adminSignUpPageRouteImport } from './pages/admin/SignUpPage/ro import { Route as organizationNoOrgPageRouteImport } from './pages/organization/NoOrgPage/route' import { Route as authSignUpPageRouteImport } from './pages/auth/SignUpPage/route' import { Route as authLoginPageRouteImport } from './pages/auth/LoginPage/route' +import { Route as redirectsProjectRedirectImport } from './pages/redirects/project-redirect' +import { Route as redirectsOrganizationRedirectImport } from './pages/redirects/organization-redirect' import { Route as adminLayoutImport } from './pages/admin/layout' import { Route as authProviderSuccessPageRouteImport } from './pages/auth/ProviderSuccessPage/route' import { Route as authProviderErrorPageRouteImport } from './pages/auth/ProviderErrorPage/route' @@ -56,6 +58,15 @@ import { Route as organizationNetworkingPageRouteImport } from './pages/organiza import { Route as organizationBillingPageRouteImport } from './pages/organization/BillingPage/route' import { Route as organizationAuditLogsPageRouteImport } from './pages/organization/AuditLogsPage/route' import { Route as organizationAccessManagementPageRouteImport } from './pages/organization/AccessManagementPage/route' +import { Route as secretManagerIntegrationsRouteVercelOauthRedirectImport } from './pages/secret-manager/integrations/route-vercel-oauth-redirect' +import { Route as secretManagerIntegrationsRouteNetlifyOauthRedirectImport } from './pages/secret-manager/integrations/route-netlify-oauth-redirect' +import { Route as secretManagerIntegrationsRouteHerokuOauthRedirectImport } from './pages/secret-manager/integrations/route-heroku-oauth-redirect' +import { Route as secretManagerIntegrationsRouteGitlabOauthRedirectImport } from './pages/secret-manager/integrations/route-gitlab-oauth-redirect' +import { Route as secretManagerIntegrationsRouteGithubOauthRedirectImport } from './pages/secret-manager/integrations/route-github-oauth-redirect' +import { Route as secretManagerIntegrationsRouteGcpOauthRedirectImport } from './pages/secret-manager/integrations/route-gcp-oauth-redirect' +import { Route as secretManagerIntegrationsRouteBitbucketOauthRedirectImport } from './pages/secret-manager/integrations/route-bitbucket-oauth-redirect' +import { Route as secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectImport } from './pages/secret-manager/integrations/route-azure-key-vault-oauth-redirect' +import { Route as secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectImport } from './pages/secret-manager/integrations/route-azure-app-configurations-oauth-redirect' import { Route as organizationRoleByIDPageRouteImport } from './pages/organization/RoleByIDPage/route' import { Route as organizationUserDetailsByIDPageRouteImport } from './pages/organization/UserDetailsByIDPage/route' import { Route as organizationIdentityDetailsByIDPageRouteImport } from './pages/organization/IdentityDetailsByIDPage/route' @@ -71,15 +82,6 @@ import { Route as secretManagerLayoutImport } from './pages/secret-manager/layou import { Route as pamLayoutImport } from './pages/pam/layout' import { Route as kmsLayoutImport } from './pages/kms/layout' import { Route as certManagerLayoutImport } from './pages/cert-manager/layout' -import { Route as secretManagerIntegrationsRouteVercelOauthRedirectImport } from './pages/secret-manager/integrations/route-vercel-oauth-redirect' -import { Route as secretManagerIntegrationsRouteNetlifyOauthRedirectImport } from './pages/secret-manager/integrations/route-netlify-oauth-redirect' -import { Route as secretManagerIntegrationsRouteHerokuOauthRedirectImport } from './pages/secret-manager/integrations/route-heroku-oauth-redirect' -import { Route as secretManagerIntegrationsRouteGitlabOauthRedirectImport } from './pages/secret-manager/integrations/route-gitlab-oauth-redirect' -import { Route as secretManagerIntegrationsRouteGithubOauthRedirectImport } from './pages/secret-manager/integrations/route-github-oauth-redirect' -import { Route as secretManagerIntegrationsRouteGcpOauthRedirectImport } from './pages/secret-manager/integrations/route-gcp-oauth-redirect' -import { Route as secretManagerIntegrationsRouteBitbucketOauthRedirectImport } from './pages/secret-manager/integrations/route-bitbucket-oauth-redirect' -import { Route as secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectImport } from './pages/secret-manager/integrations/route-azure-key-vault-oauth-redirect' -import { Route as secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectImport } from './pages/secret-manager/integrations/route-azure-app-configurations-oauth-redirect' import { Route as organizationAppConnectionsOauthCallbackPageRouteImport } from './pages/organization/AppConnections/OauthCallbackPage/route' import { Route as projectAuditLogsPageRouteSshImport } from './pages/project/AuditLogsPage/route-ssh' import { Route as projectAccessControlPageRouteSshImport } from './pages/project/AccessControlPage/route-ssh' @@ -251,6 +253,9 @@ const AuthenticatePersonalSettingsImport = createFileRoute( const AuthenticateInjectOrgDetailsAdminImport = createFileRoute( '/_authenticate/_inject-org-details/admin', )() +const AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport = createFileRoute( + '/_authenticate/_inject-org-details/_org-layout/integrations', +)() const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdImport = createFileRoute( '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId', @@ -263,10 +268,6 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingImport createFileRoute( '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-sharing', )() -const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport = - createFileRoute( - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations', - )() const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsImport = createFileRoute( '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections', @@ -509,8 +510,8 @@ const adminSignUpPageRouteRoute = adminSignUpPageRouteImport.update({ const organizationNoOrgPageRouteRoute = organizationNoOrgPageRouteImport.update( { - id: '/organization/none', - path: '/organization/none', + id: '/organizations/none', + path: '/organizations/none', getParentRoute: () => middlewaresAuthenticateRoute, } as any, ) @@ -527,11 +528,31 @@ const authLoginPageRouteRoute = authLoginPageRouteImport.update({ getParentRoute: () => RestrictLoginSignupLoginRoute, } as any) +const redirectsProjectRedirectRoute = redirectsProjectRedirectImport.update({ + id: '/projects/$', + path: '/projects/$', + getParentRoute: () => middlewaresInjectOrgDetailsRoute, +} as any) + +const redirectsOrganizationRedirectRoute = + redirectsOrganizationRedirectImport.update({ + id: '/organization/$', + path: '/organization/$', + getParentRoute: () => middlewaresInjectOrgDetailsRoute, + } as any) + const adminLayoutRoute = adminLayoutImport.update({ id: '/_admin-layout', getParentRoute: () => AuthenticateInjectOrgDetailsAdminRoute, } as any) +const AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute = + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport.update({ + id: '/integrations', + path: '/integrations', + getParentRoute: () => organizationLayoutRoute, + } as any) + const authProviderSuccessPageRouteRoute = authProviderSuccessPageRouteImport.update({ id: '/provider/success', @@ -625,16 +646,6 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRoute } as any, ) -const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute = - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport.update( - { - id: '/integrations', - path: '/integrations', - getParentRoute: () => - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdRoute, - } as any, - ) - const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRoute = AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsImport.update( { @@ -702,6 +713,80 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretManagerProjec } as any, ) +const secretManagerIntegrationsRouteVercelOauthRedirectRoute = + secretManagerIntegrationsRouteVercelOauthRedirectImport.update({ + id: '/vercel/oauth2/callback', + path: '/vercel/oauth2/callback', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, + } as any) + +const secretManagerIntegrationsRouteNetlifyOauthRedirectRoute = + secretManagerIntegrationsRouteNetlifyOauthRedirectImport.update({ + id: '/netlify/oauth2/callback', + path: '/netlify/oauth2/callback', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, + } as any) + +const secretManagerIntegrationsRouteHerokuOauthRedirectRoute = + secretManagerIntegrationsRouteHerokuOauthRedirectImport.update({ + id: '/heroku/oauth2/callback', + path: '/heroku/oauth2/callback', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, + } as any) + +const secretManagerIntegrationsRouteGitlabOauthRedirectRoute = + secretManagerIntegrationsRouteGitlabOauthRedirectImport.update({ + id: '/gitlab/oauth2/callback', + path: '/gitlab/oauth2/callback', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, + } as any) + +const secretManagerIntegrationsRouteGithubOauthRedirectRoute = + secretManagerIntegrationsRouteGithubOauthRedirectImport.update({ + id: '/github/oauth2/callback', + path: '/github/oauth2/callback', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, + } as any) + +const secretManagerIntegrationsRouteGcpOauthRedirectRoute = + secretManagerIntegrationsRouteGcpOauthRedirectImport.update({ + id: '/gcp-secret-manager/oauth2/callback', + path: '/gcp-secret-manager/oauth2/callback', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, + } as any) + +const secretManagerIntegrationsRouteBitbucketOauthRedirectRoute = + secretManagerIntegrationsRouteBitbucketOauthRedirectImport.update({ + id: '/bitbucket/oauth2/callback', + path: '/bitbucket/oauth2/callback', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, + } as any) + +const secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute = + secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectImport.update({ + id: '/azure-key-vault/oauth2/callback', + path: '/azure-key-vault/oauth2/callback', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, + } as any) + +const secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute = + secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectImport.update( + { + id: '/azure-app-configuration/oauth2/callback', + path: '/azure-app-configuration/oauth2/callback', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute, + } as any, + ) + const organizationRoleByIDPageRouteRoute = organizationRoleByIDPageRouteImport.update({ id: '/roles/$roleId', @@ -864,80 +949,6 @@ const certManagerLayoutRoute = certManagerLayoutImport.update({ AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsCertManagementProjectIdRoute, } as any) -const secretManagerIntegrationsRouteVercelOauthRedirectRoute = - secretManagerIntegrationsRouteVercelOauthRedirectImport.update({ - id: '/vercel/oauth2/callback', - path: '/vercel/oauth2/callback', - getParentRoute: () => - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute, - } as any) - -const secretManagerIntegrationsRouteNetlifyOauthRedirectRoute = - secretManagerIntegrationsRouteNetlifyOauthRedirectImport.update({ - id: '/netlify/oauth2/callback', - path: '/netlify/oauth2/callback', - getParentRoute: () => - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute, - } as any) - -const secretManagerIntegrationsRouteHerokuOauthRedirectRoute = - secretManagerIntegrationsRouteHerokuOauthRedirectImport.update({ - id: '/heroku/oauth2/callback', - path: '/heroku/oauth2/callback', - getParentRoute: () => - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute, - } as any) - -const secretManagerIntegrationsRouteGitlabOauthRedirectRoute = - secretManagerIntegrationsRouteGitlabOauthRedirectImport.update({ - id: '/gitlab/oauth2/callback', - path: '/gitlab/oauth2/callback', - getParentRoute: () => - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute, - } as any) - -const secretManagerIntegrationsRouteGithubOauthRedirectRoute = - secretManagerIntegrationsRouteGithubOauthRedirectImport.update({ - id: '/github/oauth2/callback', - path: '/github/oauth2/callback', - getParentRoute: () => - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute, - } as any) - -const secretManagerIntegrationsRouteGcpOauthRedirectRoute = - secretManagerIntegrationsRouteGcpOauthRedirectImport.update({ - id: '/gcp-secret-manager/oauth2/callback', - path: '/gcp-secret-manager/oauth2/callback', - getParentRoute: () => - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute, - } as any) - -const secretManagerIntegrationsRouteBitbucketOauthRedirectRoute = - secretManagerIntegrationsRouteBitbucketOauthRedirectImport.update({ - id: '/bitbucket/oauth2/callback', - path: '/bitbucket/oauth2/callback', - getParentRoute: () => - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute, - } as any) - -const secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute = - secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectImport.update({ - id: '/azure-key-vault/oauth2/callback', - path: '/azure-key-vault/oauth2/callback', - getParentRoute: () => - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute, - } as any) - -const secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute = - secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectImport.update( - { - id: '/azure-app-configuration/oauth2/callback', - path: '/azure-app-configuration/oauth2/callback', - getParentRoute: () => - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute, - } as any, - ) - const organizationAppConnectionsOauthCallbackPageRouteRoute = organizationAppConnectionsOauthCallbackPageRouteImport.update({ id: '/$appConnection/oauth/callback', @@ -2320,10 +2331,10 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof authSignUpPageRouteImport parentRoute: typeof RestrictLoginSignupSignupImport } - '/_authenticate/organization/none': { - id: '/_authenticate/organization/none' - path: '/organization/none' - fullPath: '/organization/none' + '/_authenticate/organizations/none': { + id: '/_authenticate/organizations/none' + path: '/organizations/none' + fullPath: '/organizations/none' preLoaderRoute: typeof organizationNoOrgPageRouteImport parentRoute: typeof middlewaresAuthenticateImport } @@ -2425,6 +2436,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof authProviderSuccessPageRouteImport parentRoute: typeof RestrictLoginSignupLoginImport } + '/_authenticate/_inject-org-details/_org-layout/integrations': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations' + path: '/integrations' + fullPath: '/integrations' + preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport + parentRoute: typeof organizationLayoutImport + } '/_authenticate/_inject-org-details/admin/_admin-layout': { id: '/_authenticate/_inject-org-details/admin/_admin-layout' path: '' @@ -2432,6 +2450,20 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof adminLayoutImport parentRoute: typeof AuthenticateInjectOrgDetailsAdminImport } + '/_authenticate/_inject-org-details/organization/$': { + id: '/_authenticate/_inject-org-details/organization/$' + path: '/organization/$' + fullPath: '/organization/$' + preLoaderRoute: typeof redirectsOrganizationRedirectImport + parentRoute: typeof middlewaresInjectOrgDetailsImport + } + '/_authenticate/_inject-org-details/projects/$': { + id: '/_authenticate/_inject-org-details/projects/$' + path: '/projects/$' + fullPath: '/projects/$' + preLoaderRoute: typeof redirectsProjectRedirectImport + parentRoute: typeof middlewaresInjectOrgDetailsImport + } '/_authenticate/_inject-org-details/admin/_admin-layout/': { id: '/_authenticate/_inject-org-details/admin/_admin-layout/' path: '/' @@ -2537,13 +2569,6 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsImport parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdImport } - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations': { - id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations' - path: '/integrations' - fullPath: '/organizations/$orgId/integrations' - preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport - parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdImport - } '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-sharing': { id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-sharing' path: '/secret-sharing' @@ -2607,6 +2632,69 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof organizationRoleByIDPageRouteImport parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdImport } + '/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback' + path: '/azure-app-configuration/oauth2/callback' + fullPath: '/integrations/azure-app-configuration/oauth2/callback' + preLoaderRoute: typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport + } + '/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback' + path: '/azure-key-vault/oauth2/callback' + fullPath: '/integrations/azure-key-vault/oauth2/callback' + preLoaderRoute: typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport + } + '/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback' + path: '/bitbucket/oauth2/callback' + fullPath: '/integrations/bitbucket/oauth2/callback' + preLoaderRoute: typeof secretManagerIntegrationsRouteBitbucketOauthRedirectImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport + } + '/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback' + path: '/gcp-secret-manager/oauth2/callback' + fullPath: '/integrations/gcp-secret-manager/oauth2/callback' + preLoaderRoute: typeof secretManagerIntegrationsRouteGcpOauthRedirectImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport + } + '/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback' + path: '/github/oauth2/callback' + fullPath: '/integrations/github/oauth2/callback' + preLoaderRoute: typeof secretManagerIntegrationsRouteGithubOauthRedirectImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport + } + '/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback' + path: '/gitlab/oauth2/callback' + fullPath: '/integrations/gitlab/oauth2/callback' + preLoaderRoute: typeof secretManagerIntegrationsRouteGitlabOauthRedirectImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport + } + '/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback' + path: '/heroku/oauth2/callback' + fullPath: '/integrations/heroku/oauth2/callback' + preLoaderRoute: typeof secretManagerIntegrationsRouteHerokuOauthRedirectImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport + } + '/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback' + path: '/netlify/oauth2/callback' + fullPath: '/integrations/netlify/oauth2/callback' + preLoaderRoute: typeof secretManagerIntegrationsRouteNetlifyOauthRedirectImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport + } + '/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback': { + id: '/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback' + path: '/vercel/oauth2/callback' + fullPath: '/integrations/vercel/oauth2/callback' + preLoaderRoute: typeof secretManagerIntegrationsRouteVercelOauthRedirectImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport + } '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId': { id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId' path: '/secret-manager/$projectId' @@ -2677,69 +2765,6 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof organizationAppConnectionsOauthCallbackPageRouteImport parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsImport } - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback': { - id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback' - path: '/azure-app-configuration/oauth2/callback' - fullPath: '/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback' - preLoaderRoute: typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport - } - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-key-vault/oauth2/callback': { - id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-key-vault/oauth2/callback' - path: '/azure-key-vault/oauth2/callback' - fullPath: '/organizations/$orgId/integrations/azure-key-vault/oauth2/callback' - preLoaderRoute: typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport - } - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/bitbucket/oauth2/callback': { - id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/bitbucket/oauth2/callback' - path: '/bitbucket/oauth2/callback' - fullPath: '/organizations/$orgId/integrations/bitbucket/oauth2/callback' - preLoaderRoute: typeof secretManagerIntegrationsRouteBitbucketOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport - } - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback': { - id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback' - path: '/gcp-secret-manager/oauth2/callback' - fullPath: '/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback' - preLoaderRoute: typeof secretManagerIntegrationsRouteGcpOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport - } - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/github/oauth2/callback': { - id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/github/oauth2/callback' - path: '/github/oauth2/callback' - fullPath: '/organizations/$orgId/integrations/github/oauth2/callback' - preLoaderRoute: typeof secretManagerIntegrationsRouteGithubOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport - } - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gitlab/oauth2/callback': { - id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gitlab/oauth2/callback' - path: '/gitlab/oauth2/callback' - fullPath: '/organizations/$orgId/integrations/gitlab/oauth2/callback' - preLoaderRoute: typeof secretManagerIntegrationsRouteGitlabOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport - } - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/heroku/oauth2/callback': { - id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/heroku/oauth2/callback' - path: '/heroku/oauth2/callback' - fullPath: '/organizations/$orgId/integrations/heroku/oauth2/callback' - preLoaderRoute: typeof secretManagerIntegrationsRouteHerokuOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport - } - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/netlify/oauth2/callback': { - id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/netlify/oauth2/callback' - path: '/netlify/oauth2/callback' - fullPath: '/organizations/$orgId/integrations/netlify/oauth2/callback' - preLoaderRoute: typeof secretManagerIntegrationsRouteNetlifyOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport - } - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/vercel/oauth2/callback': { - id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/vercel/oauth2/callback' - path: '/vercel/oauth2/callback' - fullPath: '/organizations/$orgId/integrations/vercel/oauth2/callback' - preLoaderRoute: typeof secretManagerIntegrationsRouteVercelOauthRedirectImport - parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsImport - } '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/cert-management/$projectId/_cert-manager-layout': { id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/cert-management/$projectId/_cert-manager-layout' path: '' @@ -3928,6 +3953,45 @@ declare module '@tanstack/react-router' { // Create and export the route tree +interface AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteChildren { + secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute: typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute + secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute: typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute + secretManagerIntegrationsRouteBitbucketOauthRedirectRoute: typeof secretManagerIntegrationsRouteBitbucketOauthRedirectRoute + secretManagerIntegrationsRouteGcpOauthRedirectRoute: typeof secretManagerIntegrationsRouteGcpOauthRedirectRoute + secretManagerIntegrationsRouteGithubOauthRedirectRoute: typeof secretManagerIntegrationsRouteGithubOauthRedirectRoute + secretManagerIntegrationsRouteGitlabOauthRedirectRoute: typeof secretManagerIntegrationsRouteGitlabOauthRedirectRoute + secretManagerIntegrationsRouteHerokuOauthRedirectRoute: typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute + secretManagerIntegrationsRouteNetlifyOauthRedirectRoute: typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute + secretManagerIntegrationsRouteVercelOauthRedirectRoute: typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute +} + +const AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteChildren = + { + secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute: + secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute, + secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute: + secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute, + secretManagerIntegrationsRouteBitbucketOauthRedirectRoute: + secretManagerIntegrationsRouteBitbucketOauthRedirectRoute, + secretManagerIntegrationsRouteGcpOauthRedirectRoute: + secretManagerIntegrationsRouteGcpOauthRedirectRoute, + secretManagerIntegrationsRouteGithubOauthRedirectRoute: + secretManagerIntegrationsRouteGithubOauthRedirectRoute, + secretManagerIntegrationsRouteGitlabOauthRedirectRoute: + secretManagerIntegrationsRouteGitlabOauthRedirectRoute, + secretManagerIntegrationsRouteHerokuOauthRedirectRoute: + secretManagerIntegrationsRouteHerokuOauthRedirectRoute, + secretManagerIntegrationsRouteNetlifyOauthRedirectRoute: + secretManagerIntegrationsRouteNetlifyOauthRedirectRoute, + secretManagerIntegrationsRouteVercelOauthRedirectRoute: + secretManagerIntegrationsRouteVercelOauthRedirectRoute, + } + +const AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren = + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute._addFileChildren( + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteChildren, + ) + interface AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsCertManagementProjectIdCertManagerLayoutCertificateTemplatesRouteChildren { certManagerPkiTemplateListPageRouteRoute: typeof certManagerPkiTemplateListPageRouteRoute } @@ -4676,45 +4740,6 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRoute AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRouteChildren, ) -interface AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRouteChildren { - secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute: typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute - secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute: typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute - secretManagerIntegrationsRouteBitbucketOauthRedirectRoute: typeof secretManagerIntegrationsRouteBitbucketOauthRedirectRoute - secretManagerIntegrationsRouteGcpOauthRedirectRoute: typeof secretManagerIntegrationsRouteGcpOauthRedirectRoute - secretManagerIntegrationsRouteGithubOauthRedirectRoute: typeof secretManagerIntegrationsRouteGithubOauthRedirectRoute - secretManagerIntegrationsRouteGitlabOauthRedirectRoute: typeof secretManagerIntegrationsRouteGitlabOauthRedirectRoute - secretManagerIntegrationsRouteHerokuOauthRedirectRoute: typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute - secretManagerIntegrationsRouteNetlifyOauthRedirectRoute: typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute - secretManagerIntegrationsRouteVercelOauthRedirectRoute: typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute -} - -const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRouteChildren = - { - secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute: - secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute, - secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute: - secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute, - secretManagerIntegrationsRouteBitbucketOauthRedirectRoute: - secretManagerIntegrationsRouteBitbucketOauthRedirectRoute, - secretManagerIntegrationsRouteGcpOauthRedirectRoute: - secretManagerIntegrationsRouteGcpOauthRedirectRoute, - secretManagerIntegrationsRouteGithubOauthRedirectRoute: - secretManagerIntegrationsRouteGithubOauthRedirectRoute, - secretManagerIntegrationsRouteGitlabOauthRedirectRoute: - secretManagerIntegrationsRouteGitlabOauthRedirectRoute, - secretManagerIntegrationsRouteHerokuOauthRedirectRoute: - secretManagerIntegrationsRouteHerokuOauthRedirectRoute, - secretManagerIntegrationsRouteNetlifyOauthRedirectRoute: - secretManagerIntegrationsRouteNetlifyOauthRedirectRoute, - secretManagerIntegrationsRouteVercelOauthRedirectRoute: - secretManagerIntegrationsRouteVercelOauthRedirectRoute, - } - -const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRouteWithChildren = - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute._addFileChildren( - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRouteChildren, - ) - interface AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRouteChildren { organizationSecretSharingPageRouteRoute: typeof organizationSecretSharingPageRouteRoute } @@ -4769,7 +4794,6 @@ interface AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdRouteChildren { organizationNetworkingPageRouteRoute: typeof organizationNetworkingPageRouteRoute organizationProjectsPageRouteRoute: typeof organizationProjectsPageRouteRouteWithChildren AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRouteWithChildren - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRouteWithChildren AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRouteWithChildren AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSettingsRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSettingsRouteWithChildren organizationGroupDetailsByIDPageRouteRoute: typeof organizationGroupDetailsByIDPageRouteRoute @@ -4790,8 +4814,6 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdRouteChildren: Auth organizationProjectsPageRouteRouteWithChildren, AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRoute: AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRouteWithChildren, - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRoute: - AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRouteWithChildren, AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRoute: AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRouteWithChildren, AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSettingsRoute: @@ -4813,10 +4835,13 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdRouteWithChildren = ) interface organizationLayoutRouteChildren { + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdRouteWithChildren } const organizationLayoutRouteChildren: organizationLayoutRouteChildren = { + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRoute: + AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren, AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdRoute: AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdRouteWithChildren, } @@ -4867,6 +4892,8 @@ const AuthenticateInjectOrgDetailsAdminRouteWithChildren = interface middlewaresInjectOrgDetailsRouteChildren { organizationLayoutRoute: typeof organizationLayoutRouteWithChildren AuthenticateInjectOrgDetailsAdminRoute: typeof AuthenticateInjectOrgDetailsAdminRouteWithChildren + redirectsOrganizationRedirectRoute: typeof redirectsOrganizationRedirectRoute + redirectsProjectRedirectRoute: typeof redirectsProjectRedirectRoute } const middlewaresInjectOrgDetailsRouteChildren: middlewaresInjectOrgDetailsRouteChildren = @@ -4874,6 +4901,8 @@ const middlewaresInjectOrgDetailsRouteChildren: middlewaresInjectOrgDetailsRoute organizationLayoutRoute: organizationLayoutRouteWithChildren, AuthenticateInjectOrgDetailsAdminRoute: AuthenticateInjectOrgDetailsAdminRouteWithChildren, + redirectsOrganizationRedirectRoute: redirectsOrganizationRedirectRoute, + redirectsProjectRedirectRoute: redirectsProjectRedirectRoute, } const middlewaresInjectOrgDetailsRouteWithChildren = @@ -5016,7 +5045,7 @@ export interface FileRoutesByFullPath { '/signup': typeof RestrictLoginSignupSignupRouteWithChildren '/login/': typeof authLoginPageRouteRoute '/signup/': typeof authSignUpPageRouteRoute - '/organization/none': typeof organizationNoOrgPageRouteRoute + '/organizations/none': typeof organizationNoOrgPageRouteRoute '/admin/signup': typeof adminSignUpPageRouteRoute '/login/admin': typeof authAdminLoginPageRouteRoute '/login/ldap': typeof authLoginLdapPageRouteRoute @@ -5029,6 +5058,9 @@ export interface FileRoutesByFullPath { '/personal-settings/': typeof userPersonalSettingsPageRouteRoute '/login/provider/error': typeof authProviderErrorPageRouteRoute '/login/provider/success': typeof authProviderSuccessPageRouteRoute + '/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren + '/organization/$': typeof redirectsOrganizationRedirectRoute + '/projects/$': typeof redirectsProjectRedirectRoute '/admin/': typeof adminGeneralPageRouteRoute '/admin/access-management': typeof adminAccessManagementPageRouteRoute '/admin/authentication': typeof adminAuthenticationPageRouteRoute @@ -5044,7 +5076,6 @@ export interface FileRoutesByFullPath { '/organizations/$orgId/projects': typeof organizationProjectsPageRouteRouteWithChildren '/admin/resources/overview': typeof adminResourceOverviewPageRouteRoute '/organizations/$orgId/app-connections': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRouteWithChildren - '/organizations/$orgId/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRouteWithChildren '/organizations/$orgId/secret-sharing': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRouteWithChildren '/organizations/$orgId/settings': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSettingsRouteWithChildren '/organizations/$orgId/app-connections/': typeof organizationAppConnectionsAppConnectionsPageRouteRoute @@ -5054,6 +5085,15 @@ export interface FileRoutesByFullPath { '/organizations/$orgId/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute '/organizations/$orgId/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute '/organizations/$orgId/roles/$roleId': typeof organizationRoleByIDPageRouteRoute + '/integrations/azure-app-configuration/oauth2/callback': typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute + '/integrations/azure-key-vault/oauth2/callback': typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute + '/integrations/bitbucket/oauth2/callback': typeof secretManagerIntegrationsRouteBitbucketOauthRedirectRoute + '/integrations/gcp-secret-manager/oauth2/callback': typeof secretManagerIntegrationsRouteGcpOauthRedirectRoute + '/integrations/github/oauth2/callback': typeof secretManagerIntegrationsRouteGithubOauthRedirectRoute + '/integrations/gitlab/oauth2/callback': typeof secretManagerIntegrationsRouteGitlabOauthRedirectRoute + '/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute + '/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute + '/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute '/organizations/$orgId/secret-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretManagerProjectIdRouteWithChildren '/organizations/$orgId/settings/oauth/callback': typeof organizationSettingsPageOauthCallbackPageRouteRoute '/organizations/$orgId/projects/cert-management/$projectId': typeof certManagerLayoutRouteWithChildren @@ -5064,15 +5104,6 @@ export interface FileRoutesByFullPath { '/organizations/$orgId/projects/ssh/$projectId': typeof sshLayoutRouteWithChildren '/organizations/$orgId/secret-manager/$projectId/approval': typeof secretManagerRedirectsRedirectApprovalPageRoute '/organizations/$orgId/app-connections/$appConnection/oauth/callback': typeof organizationAppConnectionsOauthCallbackPageRouteRoute - '/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback': typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute - '/organizations/$orgId/integrations/azure-key-vault/oauth2/callback': typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute - '/organizations/$orgId/integrations/bitbucket/oauth2/callback': typeof secretManagerIntegrationsRouteBitbucketOauthRedirectRoute - '/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback': typeof secretManagerIntegrationsRouteGcpOauthRedirectRoute - '/organizations/$orgId/integrations/github/oauth2/callback': typeof secretManagerIntegrationsRouteGithubOauthRedirectRoute - '/organizations/$orgId/integrations/gitlab/oauth2/callback': typeof secretManagerIntegrationsRouteGitlabOauthRedirectRoute - '/organizations/$orgId/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute - '/organizations/$orgId/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute - '/organizations/$orgId/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute '/organizations/$orgId/projects/cert-management/$projectId/alerting': typeof certManagerAlertingPageRouteRoute '/organizations/$orgId/projects/cert-management/$projectId/certificate-authorities': typeof certManagerCertificateAuthoritiesPageRouteRoute '/organizations/$orgId/projects/cert-management/$projectId/policies': typeof certManagerPoliciesPageRouteRoute @@ -5253,7 +5284,7 @@ export interface FileRoutesByTo { '/personal-settings': typeof userPersonalSettingsPageRouteRoute '/login': typeof authLoginPageRouteRoute '/signup': typeof authSignUpPageRouteRoute - '/organization/none': typeof organizationNoOrgPageRouteRoute + '/organizations/none': typeof organizationNoOrgPageRouteRoute '/admin/signup': typeof adminSignUpPageRouteRoute '/login/admin': typeof authAdminLoginPageRouteRoute '/login/ldap': typeof authLoginLdapPageRouteRoute @@ -5265,6 +5296,9 @@ export interface FileRoutesByTo { '/admin': typeof adminGeneralPageRouteRoute '/login/provider/error': typeof authProviderErrorPageRouteRoute '/login/provider/success': typeof authProviderSuccessPageRouteRoute + '/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren + '/organization/$': typeof redirectsOrganizationRedirectRoute + '/projects/$': typeof redirectsProjectRedirectRoute '/admin/access-management': typeof adminAccessManagementPageRouteRoute '/admin/authentication': typeof adminAuthenticationPageRouteRoute '/admin/caching': typeof adminCachingPageRouteRoute @@ -5278,7 +5312,6 @@ export interface FileRoutesByTo { '/organizations/$orgId/networking': typeof organizationNetworkingPageRouteRoute '/organizations/$orgId/projects': typeof organizationProjectsPageRouteRouteWithChildren '/admin/resources/overview': typeof adminResourceOverviewPageRouteRoute - '/organizations/$orgId/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRouteWithChildren '/organizations/$orgId/app-connections': typeof organizationAppConnectionsAppConnectionsPageRouteRoute '/organizations/$orgId/secret-sharing': typeof organizationSecretSharingPageRouteRoute '/organizations/$orgId/settings': typeof organizationSettingsPageRouteRoute @@ -5286,6 +5319,15 @@ export interface FileRoutesByTo { '/organizations/$orgId/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute '/organizations/$orgId/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute '/organizations/$orgId/roles/$roleId': typeof organizationRoleByIDPageRouteRoute + '/integrations/azure-app-configuration/oauth2/callback': typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute + '/integrations/azure-key-vault/oauth2/callback': typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute + '/integrations/bitbucket/oauth2/callback': typeof secretManagerIntegrationsRouteBitbucketOauthRedirectRoute + '/integrations/gcp-secret-manager/oauth2/callback': typeof secretManagerIntegrationsRouteGcpOauthRedirectRoute + '/integrations/github/oauth2/callback': typeof secretManagerIntegrationsRouteGithubOauthRedirectRoute + '/integrations/gitlab/oauth2/callback': typeof secretManagerIntegrationsRouteGitlabOauthRedirectRoute + '/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute + '/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute + '/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute '/organizations/$orgId/secret-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretManagerProjectIdRouteWithChildren '/organizations/$orgId/settings/oauth/callback': typeof organizationSettingsPageOauthCallbackPageRouteRoute '/organizations/$orgId/projects/cert-management/$projectId': typeof certManagerLayoutRouteWithChildren @@ -5296,15 +5338,6 @@ export interface FileRoutesByTo { '/organizations/$orgId/projects/ssh/$projectId': typeof sshLayoutRouteWithChildren '/organizations/$orgId/secret-manager/$projectId/approval': typeof secretManagerRedirectsRedirectApprovalPageRoute '/organizations/$orgId/app-connections/$appConnection/oauth/callback': typeof organizationAppConnectionsOauthCallbackPageRouteRoute - '/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback': typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute - '/organizations/$orgId/integrations/azure-key-vault/oauth2/callback': typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute - '/organizations/$orgId/integrations/bitbucket/oauth2/callback': typeof secretManagerIntegrationsRouteBitbucketOauthRedirectRoute - '/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback': typeof secretManagerIntegrationsRouteGcpOauthRedirectRoute - '/organizations/$orgId/integrations/github/oauth2/callback': typeof secretManagerIntegrationsRouteGithubOauthRedirectRoute - '/organizations/$orgId/integrations/gitlab/oauth2/callback': typeof secretManagerIntegrationsRouteGitlabOauthRedirectRoute - '/organizations/$orgId/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute - '/organizations/$orgId/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute - '/organizations/$orgId/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute '/organizations/$orgId/projects/cert-management/$projectId/alerting': typeof certManagerAlertingPageRouteRoute '/organizations/$orgId/projects/cert-management/$projectId/certificate-authorities': typeof certManagerCertificateAuthoritiesPageRouteRoute '/organizations/$orgId/projects/cert-management/$projectId/policies': typeof certManagerPoliciesPageRouteRoute @@ -5482,7 +5515,7 @@ export interface FileRoutesById { '/_restrict-login-signup/signup': typeof RestrictLoginSignupSignupRouteWithChildren '/_restrict-login-signup/login/': typeof authLoginPageRouteRoute '/_restrict-login-signup/signup/': typeof authSignUpPageRouteRoute - '/_authenticate/organization/none': typeof organizationNoOrgPageRouteRoute + '/_authenticate/organizations/none': typeof organizationNoOrgPageRouteRoute '/_restrict-login-signup/admin/signup': typeof adminSignUpPageRouteRoute '/_restrict-login-signup/login/admin': typeof authAdminLoginPageRouteRoute '/_restrict-login-signup/login/ldap': typeof authLoginLdapPageRouteRoute @@ -5497,7 +5530,10 @@ export interface FileRoutesById { '/_authenticate/personal-settings/_layout/': typeof userPersonalSettingsPageRouteRoute '/_restrict-login-signup/login/provider/error': typeof authProviderErrorPageRouteRoute '/_restrict-login-signup/login/provider/success': typeof authProviderSuccessPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsRouteWithChildren '/_authenticate/_inject-org-details/admin/_admin-layout': typeof adminLayoutRouteWithChildren + '/_authenticate/_inject-org-details/organization/$': typeof redirectsOrganizationRedirectRoute + '/_authenticate/_inject-org-details/projects/$': typeof redirectsProjectRedirectRoute '/_authenticate/_inject-org-details/admin/_admin-layout/': typeof adminGeneralPageRouteRoute '/_authenticate/_inject-org-details/admin/_admin-layout/access-management': typeof adminAccessManagementPageRouteRoute '/_authenticate/_inject-org-details/admin/_admin-layout/authentication': typeof adminAuthenticationPageRouteRoute @@ -5513,7 +5549,6 @@ export interface FileRoutesById { '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects': typeof organizationProjectsPageRouteRouteWithChildren '/_authenticate/_inject-org-details/admin/_admin-layout/resources/overview': typeof adminResourceOverviewPageRouteRoute '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRouteWithChildren - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdIntegrationsRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-sharing': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/settings': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSettingsRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections/': typeof organizationAppConnectionsAppConnectionsPageRouteRoute @@ -5523,6 +5558,15 @@ export interface FileRoutesById { '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/roles/$roleId': typeof organizationRoleByIDPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback': typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback': typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback': typeof secretManagerIntegrationsRouteBitbucketOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback': typeof secretManagerIntegrationsRouteGcpOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback': typeof secretManagerIntegrationsRouteGithubOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback': typeof secretManagerIntegrationsRouteGitlabOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretManagerProjectIdRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/settings/oauth/callback': typeof organizationSettingsPageOauthCallbackPageRouteRoute '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/cert-management/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsCertManagementProjectIdRouteWithChildren @@ -5533,15 +5577,6 @@ export interface FileRoutesById { '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/ssh/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSshProjectIdRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId/approval': typeof secretManagerRedirectsRedirectApprovalPageRoute '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections/$appConnection/oauth/callback': typeof organizationAppConnectionsOauthCallbackPageRouteRoute - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback': typeof secretManagerIntegrationsRouteAzureAppConfigurationsOauthRedirectRoute - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-key-vault/oauth2/callback': typeof secretManagerIntegrationsRouteAzureKeyVaultOauthRedirectRoute - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/bitbucket/oauth2/callback': typeof secretManagerIntegrationsRouteBitbucketOauthRedirectRoute - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback': typeof secretManagerIntegrationsRouteGcpOauthRedirectRoute - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/github/oauth2/callback': typeof secretManagerIntegrationsRouteGithubOauthRedirectRoute - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gitlab/oauth2/callback': typeof secretManagerIntegrationsRouteGitlabOauthRedirectRoute - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute - '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/cert-management/$projectId/_cert-manager-layout': typeof certManagerLayoutRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/kms/$projectId/_kms-layout': typeof kmsLayoutRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/pam/$projectId/_pam-layout': typeof pamLayoutRouteWithChildren @@ -5732,7 +5767,7 @@ export interface FileRouteTypes { | '/signup' | '/login/' | '/signup/' - | '/organization/none' + | '/organizations/none' | '/admin/signup' | '/login/admin' | '/login/ldap' @@ -5745,6 +5780,9 @@ export interface FileRouteTypes { | '/personal-settings/' | '/login/provider/error' | '/login/provider/success' + | '/integrations' + | '/organization/$' + | '/projects/$' | '/admin/' | '/admin/access-management' | '/admin/authentication' @@ -5760,7 +5798,6 @@ export interface FileRouteTypes { | '/organizations/$orgId/projects' | '/admin/resources/overview' | '/organizations/$orgId/app-connections' - | '/organizations/$orgId/integrations' | '/organizations/$orgId/secret-sharing' | '/organizations/$orgId/settings' | '/organizations/$orgId/app-connections/' @@ -5770,6 +5807,15 @@ export interface FileRouteTypes { | '/organizations/$orgId/identities/$identityId' | '/organizations/$orgId/members/$membershipId' | '/organizations/$orgId/roles/$roleId' + | '/integrations/azure-app-configuration/oauth2/callback' + | '/integrations/azure-key-vault/oauth2/callback' + | '/integrations/bitbucket/oauth2/callback' + | '/integrations/gcp-secret-manager/oauth2/callback' + | '/integrations/github/oauth2/callback' + | '/integrations/gitlab/oauth2/callback' + | '/integrations/heroku/oauth2/callback' + | '/integrations/netlify/oauth2/callback' + | '/integrations/vercel/oauth2/callback' | '/organizations/$orgId/secret-manager/$projectId' | '/organizations/$orgId/settings/oauth/callback' | '/organizations/$orgId/projects/cert-management/$projectId' @@ -5780,15 +5826,6 @@ export interface FileRouteTypes { | '/organizations/$orgId/projects/ssh/$projectId' | '/organizations/$orgId/secret-manager/$projectId/approval' | '/organizations/$orgId/app-connections/$appConnection/oauth/callback' - | '/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback' - | '/organizations/$orgId/integrations/azure-key-vault/oauth2/callback' - | '/organizations/$orgId/integrations/bitbucket/oauth2/callback' - | '/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback' - | '/organizations/$orgId/integrations/github/oauth2/callback' - | '/organizations/$orgId/integrations/gitlab/oauth2/callback' - | '/organizations/$orgId/integrations/heroku/oauth2/callback' - | '/organizations/$orgId/integrations/netlify/oauth2/callback' - | '/organizations/$orgId/integrations/vercel/oauth2/callback' | '/organizations/$orgId/projects/cert-management/$projectId/alerting' | '/organizations/$orgId/projects/cert-management/$projectId/certificate-authorities' | '/organizations/$orgId/projects/cert-management/$projectId/policies' @@ -5968,7 +6005,7 @@ export interface FileRouteTypes { | '/personal-settings' | '/login' | '/signup' - | '/organization/none' + | '/organizations/none' | '/admin/signup' | '/login/admin' | '/login/ldap' @@ -5980,6 +6017,9 @@ export interface FileRouteTypes { | '/admin' | '/login/provider/error' | '/login/provider/success' + | '/integrations' + | '/organization/$' + | '/projects/$' | '/admin/access-management' | '/admin/authentication' | '/admin/caching' @@ -5993,7 +6033,6 @@ export interface FileRouteTypes { | '/organizations/$orgId/networking' | '/organizations/$orgId/projects' | '/admin/resources/overview' - | '/organizations/$orgId/integrations' | '/organizations/$orgId/app-connections' | '/organizations/$orgId/secret-sharing' | '/organizations/$orgId/settings' @@ -6001,6 +6040,15 @@ export interface FileRouteTypes { | '/organizations/$orgId/identities/$identityId' | '/organizations/$orgId/members/$membershipId' | '/organizations/$orgId/roles/$roleId' + | '/integrations/azure-app-configuration/oauth2/callback' + | '/integrations/azure-key-vault/oauth2/callback' + | '/integrations/bitbucket/oauth2/callback' + | '/integrations/gcp-secret-manager/oauth2/callback' + | '/integrations/github/oauth2/callback' + | '/integrations/gitlab/oauth2/callback' + | '/integrations/heroku/oauth2/callback' + | '/integrations/netlify/oauth2/callback' + | '/integrations/vercel/oauth2/callback' | '/organizations/$orgId/secret-manager/$projectId' | '/organizations/$orgId/settings/oauth/callback' | '/organizations/$orgId/projects/cert-management/$projectId' @@ -6011,15 +6059,6 @@ export interface FileRouteTypes { | '/organizations/$orgId/projects/ssh/$projectId' | '/organizations/$orgId/secret-manager/$projectId/approval' | '/organizations/$orgId/app-connections/$appConnection/oauth/callback' - | '/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback' - | '/organizations/$orgId/integrations/azure-key-vault/oauth2/callback' - | '/organizations/$orgId/integrations/bitbucket/oauth2/callback' - | '/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback' - | '/organizations/$orgId/integrations/github/oauth2/callback' - | '/organizations/$orgId/integrations/gitlab/oauth2/callback' - | '/organizations/$orgId/integrations/heroku/oauth2/callback' - | '/organizations/$orgId/integrations/netlify/oauth2/callback' - | '/organizations/$orgId/integrations/vercel/oauth2/callback' | '/organizations/$orgId/projects/cert-management/$projectId/alerting' | '/organizations/$orgId/projects/cert-management/$projectId/certificate-authorities' | '/organizations/$orgId/projects/cert-management/$projectId/policies' @@ -6195,7 +6234,7 @@ export interface FileRouteTypes { | '/_restrict-login-signup/signup' | '/_restrict-login-signup/login/' | '/_restrict-login-signup/signup/' - | '/_authenticate/organization/none' + | '/_authenticate/organizations/none' | '/_restrict-login-signup/admin/signup' | '/_restrict-login-signup/login/admin' | '/_restrict-login-signup/login/ldap' @@ -6210,7 +6249,10 @@ export interface FileRouteTypes { | '/_authenticate/personal-settings/_layout/' | '/_restrict-login-signup/login/provider/error' | '/_restrict-login-signup/login/provider/success' + | '/_authenticate/_inject-org-details/_org-layout/integrations' | '/_authenticate/_inject-org-details/admin/_admin-layout' + | '/_authenticate/_inject-org-details/organization/$' + | '/_authenticate/_inject-org-details/projects/$' | '/_authenticate/_inject-org-details/admin/_admin-layout/' | '/_authenticate/_inject-org-details/admin/_admin-layout/access-management' | '/_authenticate/_inject-org-details/admin/_admin-layout/authentication' @@ -6226,7 +6268,6 @@ export interface FileRouteTypes { | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects' | '/_authenticate/_inject-org-details/admin/_admin-layout/resources/overview' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections' - | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-sharing' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/settings' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections/' @@ -6236,6 +6277,15 @@ export interface FileRouteTypes { | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/identities/$identityId' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/members/$membershipId' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/roles/$roleId' + | '/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/settings/oauth/callback' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/cert-management/$projectId' @@ -6246,15 +6296,6 @@ export interface FileRouteTypes { | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/ssh/$projectId' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId/approval' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections/$appConnection/oauth/callback' - | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback' - | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-key-vault/oauth2/callback' - | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/bitbucket/oauth2/callback' - | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback' - | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/github/oauth2/callback' - | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gitlab/oauth2/callback' - | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/heroku/oauth2/callback' - | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/netlify/oauth2/callback' - | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/vercel/oauth2/callback' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/cert-management/$projectId/_cert-manager-layout' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/kms/$projectId/_kms-layout' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/pam/$projectId/_pam-layout' @@ -6490,7 +6531,7 @@ export const routeTree = rootRoute "/_authenticate/password-setup", "/_authenticate/_inject-org-details", "/_authenticate/personal-settings", - "/_authenticate/organization/none" + "/_authenticate/organizations/none" ] }, "/_restrict-login-signup": { @@ -6535,7 +6576,9 @@ export const routeTree = rootRoute "parent": "/_authenticate", "children": [ "/_authenticate/_inject-org-details/_org-layout", - "/_authenticate/_inject-org-details/admin" + "/_authenticate/_inject-org-details/admin", + "/_authenticate/_inject-org-details/organization/$", + "/_authenticate/_inject-org-details/projects/$" ] }, "/_authenticate/personal-settings": { @@ -6574,7 +6617,7 @@ export const routeTree = rootRoute "filePath": "auth/SignUpPage/route.tsx", "parent": "/_restrict-login-signup/signup" }, - "/_authenticate/organization/none": { + "/_authenticate/organizations/none": { "filePath": "organization/NoOrgPage/route.tsx", "parent": "/_authenticate" }, @@ -6612,6 +6655,7 @@ export const routeTree = rootRoute "filePath": "organization/layout.tsx", "parent": "/_authenticate/_inject-org-details", "children": [ + "/_authenticate/_inject-org-details/_org-layout/integrations", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId" ] }, @@ -6641,6 +6685,21 @@ export const routeTree = rootRoute "filePath": "auth/ProviderSuccessPage/route.tsx", "parent": "/_restrict-login-signup/login" }, + "/_authenticate/_inject-org-details/_org-layout/integrations": { + "filePath": "", + "parent": "/_authenticate/_inject-org-details/_org-layout", + "children": [ + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback", + "/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback" + ] + }, "/_authenticate/_inject-org-details/admin/_admin-layout": { "filePath": "admin/layout.tsx", "parent": "/_authenticate/_inject-org-details/admin", @@ -6655,6 +6714,14 @@ export const routeTree = rootRoute "/_authenticate/_inject-org-details/admin/_admin-layout/resources/overview" ] }, + "/_authenticate/_inject-org-details/organization/$": { + "filePath": "redirects/organization-redirect.tsx", + "parent": "/_authenticate/_inject-org-details" + }, + "/_authenticate/_inject-org-details/projects/$": { + "filePath": "redirects/project-redirect.tsx", + "parent": "/_authenticate/_inject-org-details" + }, "/_authenticate/_inject-org-details/admin/_admin-layout/": { "filePath": "admin/GeneralPage/route.tsx", "parent": "/_authenticate/_inject-org-details/admin/_admin-layout" @@ -6693,7 +6760,6 @@ export const routeTree = rootRoute "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/networking", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections", - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-sharing", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/settings", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/groups/$groupId", @@ -6743,21 +6809,6 @@ export const routeTree = rootRoute "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections/$appConnection/oauth/callback" ] }, - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations": { - "filePath": "", - "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId", - "children": [ - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback", - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-key-vault/oauth2/callback", - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/bitbucket/oauth2/callback", - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback", - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/github/oauth2/callback", - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gitlab/oauth2/callback", - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/heroku/oauth2/callback", - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/netlify/oauth2/callback", - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/vercel/oauth2/callback" - ] - }, "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-sharing": { "filePath": "", "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId", @@ -6801,6 +6852,42 @@ export const routeTree = rootRoute "filePath": "organization/RoleByIDPage/route.tsx", "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId" }, + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-app-configuration/oauth2/callback": { + "filePath": "secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/azure-key-vault/oauth2/callback": { + "filePath": "secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/bitbucket/oauth2/callback": { + "filePath": "secret-manager/integrations/route-bitbucket-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/gcp-secret-manager/oauth2/callback": { + "filePath": "secret-manager/integrations/route-gcp-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/github/oauth2/callback": { + "filePath": "secret-manager/integrations/route-github-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/gitlab/oauth2/callback": { + "filePath": "secret-manager/integrations/route-gitlab-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback": { + "filePath": "secret-manager/integrations/route-heroku-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback": { + "filePath": "secret-manager/integrations/route-netlify-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, + "/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback": { + "filePath": "secret-manager/integrations/route-vercel-oauth-redirect.tsx", + "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" + }, "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId": { "filePath": "", "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId", @@ -6862,42 +6949,6 @@ export const routeTree = rootRoute "filePath": "organization/AppConnections/OauthCallbackPage/route.tsx", "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections" }, - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-app-configuration/oauth2/callback": { - "filePath": "secret-manager/integrations/route-azure-app-configurations-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations" - }, - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/azure-key-vault/oauth2/callback": { - "filePath": "secret-manager/integrations/route-azure-key-vault-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations" - }, - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/bitbucket/oauth2/callback": { - "filePath": "secret-manager/integrations/route-bitbucket-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations" - }, - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gcp-secret-manager/oauth2/callback": { - "filePath": "secret-manager/integrations/route-gcp-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations" - }, - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/github/oauth2/callback": { - "filePath": "secret-manager/integrations/route-github-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations" - }, - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/gitlab/oauth2/callback": { - "filePath": "secret-manager/integrations/route-gitlab-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations" - }, - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/heroku/oauth2/callback": { - "filePath": "secret-manager/integrations/route-heroku-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations" - }, - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/netlify/oauth2/callback": { - "filePath": "secret-manager/integrations/route-netlify-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations" - }, - "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations/vercel/oauth2/callback": { - "filePath": "secret-manager/integrations/route-vercel-oauth-redirect.tsx", - "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/integrations" - }, "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/cert-management/$projectId/_cert-manager-layout": { "filePath": "cert-manager/layout.tsx", "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/cert-management/$projectId", diff --git a/frontend/src/routes.ts b/frontend/src/routes.ts index 9474900d77..432b85f0d9 100644 --- a/frontend/src/routes.ts +++ b/frontend/src/routes.ts @@ -248,7 +248,7 @@ const secretManagerRoutes = route("/organizations/$orgId/projects/secret-managem ]) ]); -const secretManagerIntegrationsRedirect = route("/organizations/$orgId/integrations", [ +const secretManagerIntegrationsRedirect = route("/integrations", [ route("/heroku/oauth2/callback", "secret-manager/integrations/route-heroku-oauth-redirect.tsx"), route( "/gcp-secret-manager/oauth2/callback", @@ -425,8 +425,10 @@ export const routes = rootRoute("root.tsx", [ route("/personal-settings", [ layout("user/layout.tsx", [index("user/PersonalSettingsPage/route.tsx")]) ]), - route("/organization/none", "organization/NoOrgPage/route.tsx"), + route("/organizations/none", "organization/NoOrgPage/route.tsx"), middleware("inject-org-details.tsx", [ + route("/organization/$", "redirects/organization-redirect.tsx"), + route("/projects/$", "redirects/project-redirect.tsx"), adminRoute, layout("org-layout", "organization/layout.tsx", [ organizationRoutes, From 14019b54379592f34c274714fd8b37ee0f86ce66 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Thu, 20 Nov 2025 20:46:25 +0530 Subject: [PATCH 010/109] fix: added routing redirects with splat --- .../pages/redirects/organization-redirect.tsx | 7 +- .../src/pages/redirects/project-redirect.tsx | 14 +--- frontend/src/routeTree.gen.ts | 67 +++++++++++++++++++ frontend/src/routes.ts | 4 +- 4 files changed, 77 insertions(+), 15 deletions(-) diff --git a/frontend/src/pages/redirects/organization-redirect.tsx b/frontend/src/pages/redirects/organization-redirect.tsx index d13cc69b8d..ea84c1e701 100644 --- a/frontend/src/pages/redirects/organization-redirect.tsx +++ b/frontend/src/pages/redirects/organization-redirect.tsx @@ -14,8 +14,11 @@ export const Route = createFileRoute("/_authenticate/_inject-org-details/organiz const remainingPath = params._splat || ""; throw redirect({ - to: `/organizations/$orgId/${remainingPath}` as const, - params: { orgId }, + to: "/organizations/$orgId/$", + params: { + orgId, + _splat: remainingPath ?? "" + }, search }); } diff --git a/frontend/src/pages/redirects/project-redirect.tsx b/frontend/src/pages/redirects/project-redirect.tsx index a893dc1313..fc2a81db33 100644 --- a/frontend/src/pages/redirects/project-redirect.tsx +++ b/frontend/src/pages/redirects/project-redirect.tsx @@ -1,7 +1,5 @@ import { createFileRoute, redirect } from "@tanstack/react-router"; -import { localStorageService } from "@app/helpers/localStorage"; - export const Route = createFileRoute("/_authenticate/_inject-org-details/projects/$")({ beforeLoad: ({ context, params, search }) => { const orgId = context.organizationId; @@ -14,18 +12,10 @@ export const Route = createFileRoute("/_authenticate/_inject-org-details/project // eslint-disable-next-line no-underscore-dangle const remainingPath = params._splat || ""; - const projectId = localStorageService.getIintegrationProjectId(); - - if (!projectId) { - throw redirect({ - to: "/organizations/$orgId/projects", - params: { orgId } - }); - } throw redirect({ - to: `/organizations/$orgId/projects/${remainingPath}` as const, - params: { orgId, projectId }, + to: "/organizations/$orgId/projects/$" as const, + params: { orgId, _splat: remainingPath }, search }); } diff --git a/frontend/src/routeTree.gen.ts b/frontend/src/routeTree.gen.ts index 1c89619ad5..f2954f03c7 100644 --- a/frontend/src/routeTree.gen.ts +++ b/frontend/src/routeTree.gen.ts @@ -272,10 +272,18 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsImpor createFileRoute( '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections', )() +const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSplatImport = + createFileRoute( + '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/$', + )() const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretManagerProjectIdImport = createFileRoute( '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId', )() +const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSplatImport = + createFileRoute( + '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/$', + )() const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSshProjectIdImport = createFileRoute( '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/ssh/$projectId', @@ -656,6 +664,14 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRoute } as any, ) +const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSplatRoute = + AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSplatImport.update({ + id: '/$', + path: '/$', + getParentRoute: () => + AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdRoute, + } as any) + const adminResourceOverviewPageRouteRoute = adminResourceOverviewPageRouteImport.update({ id: '/resources/overview', @@ -713,6 +729,15 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretManagerProjec } as any, ) +const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSplatRoute = + AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSplatImport.update( + { + id: '/$', + path: '/$', + getParentRoute: () => organizationProjectsPageRouteRoute, + } as any, + ) + const secretManagerIntegrationsRouteVercelOauthRedirectRoute = secretManagerIntegrationsRouteVercelOauthRedirectImport.update({ id: '/vercel/oauth2/callback', @@ -2562,6 +2587,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof adminResourceOverviewPageRouteImport parentRoute: typeof adminLayoutImport } + '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/$': { + id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/$' + path: '/$' + fullPath: '/organizations/$orgId/$' + preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSplatImport + parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdImport + } '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections': { id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections' path: '/app-connections' @@ -2695,6 +2727,13 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof secretManagerIntegrationsRouteVercelOauthRedirectImport parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutIntegrationsImport } + '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/$': { + id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/$' + path: '/$' + fullPath: '/organizations/$orgId/projects/$' + preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSplatImport + parentRoute: typeof organizationProjectsPageRouteImport + } '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId': { id: '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId' path: '/secret-manager/$projectId' @@ -4693,6 +4732,7 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSshProjectI ) interface organizationProjectsPageRouteRouteChildren { + AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSplatRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSplatRoute AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsCertManagementProjectIdRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsCertManagementProjectIdRouteWithChildren AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsKmsProjectIdRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsKmsProjectIdRouteWithChildren AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsPamProjectIdRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsPamProjectIdRouteWithChildren @@ -4703,6 +4743,8 @@ interface organizationProjectsPageRouteRouteChildren { const organizationProjectsPageRouteRouteChildren: organizationProjectsPageRouteRouteChildren = { + AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSplatRoute: + AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSplatRoute, AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsCertManagementProjectIdRoute: AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsCertManagementProjectIdRouteWithChildren, AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsKmsProjectIdRoute: @@ -4793,6 +4835,7 @@ interface AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdRouteChildren { organizationBillingPageRouteRoute: typeof organizationBillingPageRouteRoute organizationNetworkingPageRouteRoute: typeof organizationNetworkingPageRouteRoute organizationProjectsPageRouteRoute: typeof organizationProjectsPageRouteRouteWithChildren + AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSplatRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSplatRoute AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRouteWithChildren AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRouteWithChildren AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSettingsRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSettingsRouteWithChildren @@ -4812,6 +4855,8 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdRouteChildren: Auth organizationNetworkingPageRouteRoute: organizationNetworkingPageRouteRoute, organizationProjectsPageRouteRoute: organizationProjectsPageRouteRouteWithChildren, + AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSplatRoute: + AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSplatRoute, AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRoute: AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRouteWithChildren, AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRoute: @@ -5075,6 +5120,7 @@ export interface FileRoutesByFullPath { '/organizations/$orgId/networking': typeof organizationNetworkingPageRouteRoute '/organizations/$orgId/projects': typeof organizationProjectsPageRouteRouteWithChildren '/admin/resources/overview': typeof adminResourceOverviewPageRouteRoute + '/organizations/$orgId/$': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSplatRoute '/organizations/$orgId/app-connections': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRouteWithChildren '/organizations/$orgId/secret-sharing': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRouteWithChildren '/organizations/$orgId/settings': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSettingsRouteWithChildren @@ -5094,6 +5140,7 @@ export interface FileRoutesByFullPath { '/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute '/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute '/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute + '/organizations/$orgId/projects/$': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSplatRoute '/organizations/$orgId/secret-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretManagerProjectIdRouteWithChildren '/organizations/$orgId/settings/oauth/callback': typeof organizationSettingsPageOauthCallbackPageRouteRoute '/organizations/$orgId/projects/cert-management/$projectId': typeof certManagerLayoutRouteWithChildren @@ -5312,6 +5359,7 @@ export interface FileRoutesByTo { '/organizations/$orgId/networking': typeof organizationNetworkingPageRouteRoute '/organizations/$orgId/projects': typeof organizationProjectsPageRouteRouteWithChildren '/admin/resources/overview': typeof adminResourceOverviewPageRouteRoute + '/organizations/$orgId/$': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSplatRoute '/organizations/$orgId/app-connections': typeof organizationAppConnectionsAppConnectionsPageRouteRoute '/organizations/$orgId/secret-sharing': typeof organizationSecretSharingPageRouteRoute '/organizations/$orgId/settings': typeof organizationSettingsPageRouteRoute @@ -5328,6 +5376,7 @@ export interface FileRoutesByTo { '/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute '/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute '/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute + '/organizations/$orgId/projects/$': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSplatRoute '/organizations/$orgId/secret-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretManagerProjectIdRouteWithChildren '/organizations/$orgId/settings/oauth/callback': typeof organizationSettingsPageOauthCallbackPageRouteRoute '/organizations/$orgId/projects/cert-management/$projectId': typeof certManagerLayoutRouteWithChildren @@ -5548,6 +5597,7 @@ export interface FileRoutesById { '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/networking': typeof organizationNetworkingPageRouteRoute '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects': typeof organizationProjectsPageRouteRouteWithChildren '/_authenticate/_inject-org-details/admin/_admin-layout/resources/overview': typeof adminResourceOverviewPageRouteRoute + '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/$': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSplatRoute '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdAppConnectionsRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-sharing': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretSharingRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/settings': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSettingsRouteWithChildren @@ -5567,6 +5617,7 @@ export interface FileRoutesById { '/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback': typeof secretManagerIntegrationsRouteHerokuOauthRedirectRoute '/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback': typeof secretManagerIntegrationsRouteNetlifyOauthRedirectRoute '/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback': typeof secretManagerIntegrationsRouteVercelOauthRedirectRoute + '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/$': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsSplatRoute '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdSecretManagerProjectIdRouteWithChildren '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/settings/oauth/callback': typeof organizationSettingsPageOauthCallbackPageRouteRoute '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/cert-management/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationsOrgIdProjectsCertManagementProjectIdRouteWithChildren @@ -5797,6 +5848,7 @@ export interface FileRouteTypes { | '/organizations/$orgId/networking' | '/organizations/$orgId/projects' | '/admin/resources/overview' + | '/organizations/$orgId/$' | '/organizations/$orgId/app-connections' | '/organizations/$orgId/secret-sharing' | '/organizations/$orgId/settings' @@ -5816,6 +5868,7 @@ export interface FileRouteTypes { | '/integrations/heroku/oauth2/callback' | '/integrations/netlify/oauth2/callback' | '/integrations/vercel/oauth2/callback' + | '/organizations/$orgId/projects/$' | '/organizations/$orgId/secret-manager/$projectId' | '/organizations/$orgId/settings/oauth/callback' | '/organizations/$orgId/projects/cert-management/$projectId' @@ -6033,6 +6086,7 @@ export interface FileRouteTypes { | '/organizations/$orgId/networking' | '/organizations/$orgId/projects' | '/admin/resources/overview' + | '/organizations/$orgId/$' | '/organizations/$orgId/app-connections' | '/organizations/$orgId/secret-sharing' | '/organizations/$orgId/settings' @@ -6049,6 +6103,7 @@ export interface FileRouteTypes { | '/integrations/heroku/oauth2/callback' | '/integrations/netlify/oauth2/callback' | '/integrations/vercel/oauth2/callback' + | '/organizations/$orgId/projects/$' | '/organizations/$orgId/secret-manager/$projectId' | '/organizations/$orgId/settings/oauth/callback' | '/organizations/$orgId/projects/cert-management/$projectId' @@ -6267,6 +6322,7 @@ export interface FileRouteTypes { | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/networking' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects' | '/_authenticate/_inject-org-details/admin/_admin-layout/resources/overview' + | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/$' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-sharing' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/settings' @@ -6286,6 +6342,7 @@ export interface FileRouteTypes { | '/_authenticate/_inject-org-details/_org-layout/integrations/heroku/oauth2/callback' | '/_authenticate/_inject-org-details/_org-layout/integrations/netlify/oauth2/callback' | '/_authenticate/_inject-org-details/_org-layout/integrations/vercel/oauth2/callback' + | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/$' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/settings/oauth/callback' | '/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/cert-management/$projectId' @@ -6759,6 +6816,7 @@ export const routeTree = rootRoute "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/billing", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/networking", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects", + "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/$", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-sharing", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/settings", @@ -6789,6 +6847,7 @@ export const routeTree = rootRoute "filePath": "organization/ProjectsPage/route.tsx", "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId", "children": [ + "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/$", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/cert-management/$projectId", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/kms/$projectId", "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/pam/$projectId", @@ -6801,6 +6860,10 @@ export const routeTree = rootRoute "filePath": "admin/ResourceOverviewPage/route.tsx", "parent": "/_authenticate/_inject-org-details/admin/_admin-layout" }, + "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/$": { + "filePath": "", + "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId" + }, "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/app-connections": { "filePath": "", "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId", @@ -6888,6 +6951,10 @@ export const routeTree = rootRoute "filePath": "secret-manager/integrations/route-vercel-oauth-redirect.tsx", "parent": "/_authenticate/_inject-org-details/_org-layout/integrations" }, + "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects/$": { + "filePath": "", + "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/projects" + }, "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId/secret-manager/$projectId": { "filePath": "", "parent": "/_authenticate/_inject-org-details/_org-layout/organizations/$orgId", diff --git a/frontend/src/routes.ts b/frontend/src/routes.ts index 432b85f0d9..4e1ba0169d 100644 --- a/frontend/src/routes.ts +++ b/frontend/src/routes.ts @@ -389,7 +389,9 @@ const organizationRoutes = route("/organizations/$orgId", [ "organization/AppConnections/OauthCallbackPage/route.tsx" ) ]), - route("/networking", "organization/NetworkingPage/route.tsx") + route("/networking", "organization/NetworkingPage/route.tsx"), + route("/projects/$", ""), + route("/$", "") ]); export const routes = rootRoute("root.tsx", [ From 7fd9dc0aa54f6676ee72fadf13704b320f7a3441 Mon Sep 17 00:00:00 2001 From: x032205 Date: Fri, 21 Nov 2025 03:22:24 -0500 Subject: [PATCH 011/109] add --domain flag to access modal --- .../PamAccountsPage/components/PamAccessAccountModal.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx b/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx index 704c13eba5..fd1f215c53 100644 --- a/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx +++ b/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx @@ -15,6 +15,10 @@ type Props = { }; export const PamAccessAccountModal = ({ isOpen, onOpenChange, account }: Props) => { + const { protocol, hostname, port } = window.location; + const portSuffix = port && port !== "80" ? `:${port}` : ""; + const siteURL = `${protocol}//${hostname}${portSuffix}`; + const [duration, setDuration] = useState("4h"); const isDurationValid = useMemo(() => duration && ms(duration || "1s") > 0, [duration]); @@ -64,9 +68,9 @@ export const PamAccessAccountModal = ({ isOpen, onOpenChange, account }: Props) switch (account.resource.resourceType) { case PamResourceType.Postgres: case PamResourceType.MySQL: - return `infisical pam db access-account ${account.id} --duration ${cliDuration}`; + return `infisical pam db access-account ${account.id} --duration ${cliDuration} --domain ${siteURL}`; case PamResourceType.SSH: - return `infisical pam ssh access-account ${account.id} --duration ${cliDuration}`; + return `infisical pam ssh access-account ${account.id} --duration ${cliDuration} --domain ${siteURL}`; default: return ""; } From 7b00ab1d99e6a1440e045015e375ef491ee4abdc Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Fri, 21 Nov 2025 19:14:04 +0530 Subject: [PATCH 012/109] fix: review comments --- frontend/src/components/auth/TeamInviteStep.tsx | 9 +++++++-- .../AssumePrivilegeModeBanner.tsx | 4 +++- .../components/ProjectSelect/ProjectSelect.tsx | 2 +- .../components/GroupMembersSection/GroupMembersTable.tsx | 4 +++- .../IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx | 4 +++- .../MemberDetailsByIDPage/MemberDetailsByIDPage.tsx | 4 +++- 6 files changed, 20 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/auth/TeamInviteStep.tsx b/frontend/src/components/auth/TeamInviteStep.tsx index 57397d2086..c03229a33c 100644 --- a/frontend/src/components/auth/TeamInviteStep.tsx +++ b/frontend/src/components/auth/TeamInviteStep.tsx @@ -20,9 +20,14 @@ export default function TeamInviteStep(): JSX.Element { const { mutateAsync } = useAddUsersToOrg(); const { handlePopUpToggle, popUp, handlePopUpOpen } = usePopUp(["setUpEmail"] as const); + const orgId = String(localStorage.getItem("orgData.id")); + // Redirect user to the getting started page const redirectToHome = async () => { - navigate({ to: "/" as const }); + navigate({ + to: orgId ? ("/organizations/$orgId/projects" as const) : "/", + params: { orgId } + }); }; const inviteUsers = async ({ emails: inviteEmails }: { emails: string }) => { @@ -32,7 +37,7 @@ export default function TeamInviteStep(): JSX.Element { .map(async (email) => { mutateAsync({ inviteeEmails: [email], - organizationId: String(localStorage.getItem("orgData.id")), + organizationId: orgId, organizationRoleSlug: "member" }); }); diff --git a/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx b/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx index 6afdc2c98c..4c9feccc38 100644 --- a/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx +++ b/frontend/src/layouts/ProjectLayout/components/AssumePrivilegeModeBanner/AssumePrivilegeModeBanner.tsx @@ -38,7 +38,9 @@ export const AssumePrivilegeModeBanner = () => { { onSuccess: () => { const url = `${getProjectHomePage(currentProject.type, currentProject.environments)}${isSubOrganization ? `?subOrganization=${currentOrg.slug}` : ""}`; - window.location.href = url.replace("$projectId", currentProject.id); + window.location.assign( + url.replace("$orgId", currentOrg.id).replace("$projectId", currentProject.id) + ); } } ); diff --git a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx index 976bda52ae..12df6684a6 100644 --- a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx +++ b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx @@ -163,7 +163,7 @@ export const ProjectSelect = () => { } }); const urlInstance = new URL( - `${window.location.origin}/${url.to.replaceAll("$projectId", workspace.id)}` + `${window.location.origin}${url.to.replaceAll("$orgId", url.params.orgId).replaceAll("$projectId", url.params.projectId)}` ); if (currentOrg?.subOrganization) { urlInstance.searchParams.set( diff --git a/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupMembersSection/GroupMembersTable.tsx b/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupMembersSection/GroupMembersTable.tsx index e717a56227..aa025ec239 100644 --- a/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupMembersSection/GroupMembersTable.tsx +++ b/frontend/src/pages/project/GroupDetailsByIDPage/components/GroupMembersSection/GroupMembersTable.tsx @@ -155,7 +155,9 @@ export const GroupMembersTable = ({ groupMembership }: Props) => { }); const url = `${getProjectHomePage(currentProject.type, currentProject.environments)}${isSubOrganization ? `?subOrganization=${currentOrg.slug}` : ""}`; - window.location.href = url.replace("$projectId", currentProject.id); + window.location.assign( + url.replace("$orgId", currentOrg.id).replace("$projectId", currentProject.id) + ); } } ); diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx index d346e8bfb9..dbbec5ab52 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx @@ -95,7 +95,9 @@ const Page = () => { text: "Identity privilege assumption has started" }); const url = `${getProjectHomePage(currentProject.type, currentProject.environments)}${isSubOrganization && isNonScopedIdentity ? `?subOrganization=${currentOrg.slug}` : ""}`; - window.location.href = url.replace("$projectId", currentProject.id); + window.location.assign( + url.replace("$orgId", currentOrg.id).replace("$projectId", currentProject.id) + ); } } ); diff --git a/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx b/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx index 8064f070d9..cfaf9933c6 100644 --- a/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx +++ b/frontend/src/pages/project/MemberDetailsByIDPage/MemberDetailsByIDPage.tsx @@ -74,7 +74,9 @@ export const Page = () => { }); const url = `${getProjectHomePage(currentProject.type, currentProject.environments)}${isSubOrganization ? `?subOrganization=${currentOrg.slug}` : ""}`; - window.location.href = url.replace("$projectId", currentProject.id); + window.location.assign( + url.replace("$orgId", currentOrg.id).replace("$projectId", currentProject.id) + ); } } ); From ee89b9379080dac690ea5a3bda8c9f52e6352517 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Fri, 21 Nov 2025 19:32:11 +0530 Subject: [PATCH 013/109] chore: added comments for routing redirects --- frontend/src/routes.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/frontend/src/routes.ts b/frontend/src/routes.ts index 4e1ba0169d..265c64649f 100644 --- a/frontend/src/routes.ts +++ b/frontend/src/routes.ts @@ -390,6 +390,8 @@ const organizationRoutes = route("/organizations/$orgId", [ ) ]), route("/networking", "organization/NetworkingPage/route.tsx"), + + // Added these dummy routes to avoid errors when navigating from the organization-redirect and project-redirect route("/projects/$", ""), route("/$", "") ]); From fcb949f4c3d27080a932527d80e6a70648eba375 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Fri, 21 Nov 2025 20:54:42 +0530 Subject: [PATCH 014/109] fix: review changes --- frontend/src/hooks/api/users/queries.tsx | 2 +- .../OrganizationLayout/components/NavBar/Navbar.tsx | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/frontend/src/hooks/api/users/queries.tsx b/frontend/src/hooks/api/users/queries.tsx index 7777712aee..88c52ed058 100644 --- a/frontend/src/hooks/api/users/queries.tsx +++ b/frontend/src/hooks/api/users/queries.tsx @@ -338,7 +338,7 @@ export const clearSession = (keepQueryClient?: boolean) => { sessionStorage.removeItem(SessionStorageKeys.CLI_TERMINAL_TOKEN); if (!keepQueryClient) { - qc.clear(); // Clear React Query cache + qc.invalidateQueries(); } }; diff --git a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx index 36c4e24600..a3875ba496 100644 --- a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx @@ -249,7 +249,7 @@ export const Navbar = () => { const isServerAdminPanel = location.pathname.startsWith("/admin"); - const isOrgScope = location.pathname.startsWith("/organization"); // TODO: scott/akhil is this adequate? + const isProjectScope = location.pathname.startsWith(`/organizations/${currentOrg.id}/projects`); const handleOrgNav = async (org: Organization) => { if (currentOrg?.id === org.id) return; @@ -314,7 +314,7 @@ export const Navbar = () => { // TODO(scott): either add badge size/style variant or create designated component for namespace/org nav bar className={twMerge( "gap-x-1.5 text-sm", - (!isOrgScope || isSubOrganization) && + (isProjectScope || isSubOrganization) && "bg-transparent text-mineshaft-200 hover:!bg-transparent hover:underline [&>svg]:!text-org" )} > @@ -477,7 +477,7 @@ export const Navbar = () => { // TODO(scott): either add badge size/style variant or create designated component for namespace/org nav bar className={twMerge( "gap-x-1.5 text-sm", - !isOrgScope && + isProjectScope && "min-w-6 bg-transparent text-mineshaft-200 hover:!bg-transparent hover:underline [&>svg]:!text-sub-org" )} > @@ -541,7 +541,7 @@ export const Navbar = () => { )} - {!isOrgScope && ( + {isProjectScope && ( <>

/

{breadcrumbs ? ( From 2786d5f0495fbb27a3d34870300a805228637d27 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Thu, 13 Nov 2025 16:35:04 -0800 Subject: [PATCH 015/109] Add tests --- .../bdd/features/pki/acme/challenge.feature | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/backend/bdd/features/pki/acme/challenge.feature b/backend/bdd/features/pki/acme/challenge.feature index 67f73aab20..8d9b467ffb 100644 --- a/backend/bdd/features/pki/acme/challenge.feature +++ b/backend/bdd/features/pki/acme/challenge.feature @@ -22,6 +22,37 @@ Feature: Challenge And I parse the full-chain certificate from order finalized_order as cert And the value cert with jq ".subject.common_name" should be equal to "localhost" + Scenario Outline: Validate with SANs only CSR + Given I have an ACME cert profile as "acme_profile" + When I have an ACME client connecting to "{BASE_URL}/api/v1/pki/acme/profiles/{acme_profile.id}/directory" + Then I register a new ACME account with email fangpen@infisical.com and EAB key id "{acme_profile.eab_kid}" with secret "{acme_profile.eab_secret}" as acme_account + When I create certificate signing request as csr + Then I add names to certificate signing request csr + """ + + """ + And I add subject alternative name to certificate signing request csr + """ + [ + "localhost" + ] + """ + And I create a RSA private key pair as cert_key + And I sign the certificate signing request csr with private key cert_key and output it as csr_pem in PEM format + And I submit the certificate signing request PEM csr_pem certificate order to the ACME server as order + And I select challenge with type http-01 for domain localhost from order in order as challenge + And I serve challenge response for challenge at localhost + And I tell ACME server that challenge is ready to be verified + And I poll and finalize the ACME order order as finalized_order + And the value finalized_order.body with jq ".status" should be equal to "valid" + And I parse the full-chain certificate from order finalized_order as cert + And the value cert with jq ".subject.common_name" should be equal to "localhost" + + Examples: + | names | + | {} | + | {"COMMON_NAME": ""} + Scenario: Validate challenges for multiple domains Given I have an ACME cert profile as "acme_profile" When I have an ACME client connecting to "{BASE_URL}/api/v1/pki/acme/profiles/{acme_profile.id}/directory" From 5ad4aaf0170785a19c1dd45e7337623408768bad Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Thu, 13 Nov 2025 16:39:35 -0800 Subject: [PATCH 016/109] Add tests --- .../bdd/features/pki/acme/internal-ca.feature | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 backend/bdd/features/pki/acme/internal-ca.feature diff --git a/backend/bdd/features/pki/acme/internal-ca.feature b/backend/bdd/features/pki/acme/internal-ca.feature new file mode 100644 index 0000000000..c594f9a9f4 --- /dev/null +++ b/backend/bdd/features/pki/acme/internal-ca.feature @@ -0,0 +1,32 @@ +Feature: Internal CA + + Scenario Outline: CSR with SANs only + Given I have an ACME cert profile as "acme_profile" + When I have an ACME client connecting to "{BASE_URL}/api/v1/pki/acme/profiles/{acme_profile.id}/directory" + Then I register a new ACME account with email fangpen@infisical.com and EAB key id "{acme_profile.eab_kid}" with secret "{acme_profile.eab_secret}" as acme_account + When I create certificate signing request as csr + Then I add names to certificate signing request csr + """ + + """ + And I add subject alternative name to certificate signing request csr + """ + [ + "localhost" + ] + """ + And I create a RSA private key pair as cert_key + And I sign the certificate signing request csr with private key cert_key and output it as csr_pem in PEM format + And I submit the certificate signing request PEM csr_pem certificate order to the ACME server as order + And I select challenge with type http-01 for domain localhost from order in order as challenge + And I serve challenge response for challenge at localhost + And I tell ACME server that challenge is ready to be verified + And I poll and finalize the ACME order order as finalized_order + And the value finalized_order.body with jq ".status" should be equal to "valid" + And I parse the full-chain certificate from order finalized_order as cert + And the value cert with jq ".subject.common_name" should be equal to "localhost" + + Examples: + | names | + | {} | + | {"COMMON_NAME": ""} From 3a6e287f1b5cd668ae56e8e16a53ed4c691182ef Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Thu, 20 Nov 2025 13:40:17 -0800 Subject: [PATCH 017/109] Use axio instead of fetch for acme HTTP-01 challenge --- .../pki-acme/pki-acme-challenge-service.ts | 48 ++++++++----------- 1 file changed, 19 insertions(+), 29 deletions(-) diff --git a/backend/src/ee/services/pki-acme/pki-acme-challenge-service.ts b/backend/src/ee/services/pki-acme/pki-acme-challenge-service.ts index 7a3747fedf..def30b1265 100644 --- a/backend/src/ee/services/pki-acme/pki-acme-challenge-service.ts +++ b/backend/src/ee/services/pki-acme/pki-acme-challenge-service.ts @@ -1,3 +1,5 @@ +import axios, { AxiosError } from "axios"; + import { getConfig } from "@app/lib/config/env"; import { BadRequestError, NotFoundError } from "@app/lib/errors"; import { isPrivateIp } from "@app/lib/ip/ipRange"; @@ -13,10 +15,6 @@ import { import { AcmeAuthStatus, AcmeChallengeStatus, AcmeChallengeType } from "./pki-acme-schemas"; import { TPkiAcmeChallengeServiceFactory } from "./pki-acme-types"; -type FetchError = Error & { - code?: string; -}; - type TPkiAcmeChallengeServiceFactoryDep = { acmeChallengeDAL: Pick< TPkiAcmeChallengeDALFactory, @@ -74,18 +72,20 @@ export const pkiAcmeChallengeServiceFactory = ({ // Notice: well, we are in a transaction, ideally we should not hold transaction and perform // a long running operation for long time. But assuming we are not performing a tons of // challenge validation at the same time, it should be fine. - const challengeResponse = await fetch(challengeUrl, { + const challengeResponse = await axios.get(challengeUrl.toString(), { // In case if we override the host in the development mode, still provide the original host in the header // to help the upstream server to validate the request headers: { Host: host }, - signal: AbortSignal.timeout(timeoutMs) + timeout: timeoutMs, + responseType: "text", + validateStatus: () => true }); if (challengeResponse.status !== 200) { throw new AcmeIncorrectResponseError({ message: `ACME challenge response is not 200: ${challengeResponse.status}` }); } - const challengeResponseBody = await challengeResponse.text(); + const challengeResponseBody: string = challengeResponse.data; const thumbprint = challenge.auth.account.publicKeyThumbprint; const expectedChallengeResponseBody = `${challenge.auth.token}.${thumbprint}`; if (challengeResponseBody.trimEnd() !== expectedChallengeResponseBody) { @@ -96,35 +96,25 @@ export const pkiAcmeChallengeServiceFactory = ({ // TODO: we should retry the challenge validation a few times, but let's keep it simple for now await acmeChallengeDAL.markAsInvalidCascadeById(challengeId, tx); // Properly type and inspect the error - if (exp instanceof TypeError && exp.message.includes("fetch failed")) { - const { cause } = exp; - let errors: Error[] = []; - if (cause instanceof AggregateError) { - errors = cause.errors as Error[]; - } else if (cause instanceof Error) { - errors = [cause]; + if (axios.isAxiosError(exp)) { + const axiosError = exp as AxiosError; + const errorCode = axiosError.code; + const errorMessage = axiosError.message; + + if (errorCode === "ECONNREFUSED" || errorMessage.includes("ECONNREFUSED")) { + return new AcmeConnectionError({ message: "Connection refused" }); } - // eslint-disable-next-line no-unreachable-loop - for (const err of errors) { - // TODO: handle multiple errors, return a compound error instead of just the first error - const fetchError = err as FetchError; - if (fetchError.code === "ECONNREFUSED" || fetchError.message.includes("ECONNREFUSED")) { - return new AcmeConnectionError({ message: "Connection refused" }); - } - if (fetchError.code === "ENOTFOUND" || fetchError.message.includes("ENOTFOUND")) { - return new AcmeDnsFailureError({ message: "Hostname could not be resolved (DNS failure)" }); - } - logger.error(exp, "Unknown error validating ACME challenge response"); - return new AcmeServerInternalError({ message: "Unknown error validating ACME challenge response" }); + if (errorCode === "ENOTFOUND" || errorMessage.includes("ENOTFOUND")) { + return new AcmeDnsFailureError({ message: "Hostname could not be resolved (DNS failure)" }); } - } else if (exp instanceof DOMException) { - if (exp.name === "TimeoutError") { + if (errorCode === "ECONNABORTED" || errorMessage.includes("timeout")) { logger.error(exp, "Connection timed out while validating ACME challenge response"); return new AcmeConnectionError({ message: "Connection timed out" }); } logger.error(exp, "Unknown error validating ACME challenge response"); return new AcmeServerInternalError({ message: "Unknown error validating ACME challenge response" }); - } else if (exp instanceof Error) { + } + if (exp instanceof Error) { logger.error(exp, "Error validating ACME challenge response"); } else { logger.error(exp, "Unknown error validating ACME challenge response"); From 02c346c77aa99e6b76837eff86929046426e9dd6 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Thu, 20 Nov 2025 16:07:24 -0800 Subject: [PATCH 018/109] Revert --- .../bdd/features/pki/acme/challenge.feature | 31 ------------------- 1 file changed, 31 deletions(-) diff --git a/backend/bdd/features/pki/acme/challenge.feature b/backend/bdd/features/pki/acme/challenge.feature index 8d9b467ffb..67f73aab20 100644 --- a/backend/bdd/features/pki/acme/challenge.feature +++ b/backend/bdd/features/pki/acme/challenge.feature @@ -22,37 +22,6 @@ Feature: Challenge And I parse the full-chain certificate from order finalized_order as cert And the value cert with jq ".subject.common_name" should be equal to "localhost" - Scenario Outline: Validate with SANs only CSR - Given I have an ACME cert profile as "acme_profile" - When I have an ACME client connecting to "{BASE_URL}/api/v1/pki/acme/profiles/{acme_profile.id}/directory" - Then I register a new ACME account with email fangpen@infisical.com and EAB key id "{acme_profile.eab_kid}" with secret "{acme_profile.eab_secret}" as acme_account - When I create certificate signing request as csr - Then I add names to certificate signing request csr - """ - - """ - And I add subject alternative name to certificate signing request csr - """ - [ - "localhost" - ] - """ - And I create a RSA private key pair as cert_key - And I sign the certificate signing request csr with private key cert_key and output it as csr_pem in PEM format - And I submit the certificate signing request PEM csr_pem certificate order to the ACME server as order - And I select challenge with type http-01 for domain localhost from order in order as challenge - And I serve challenge response for challenge at localhost - And I tell ACME server that challenge is ready to be verified - And I poll and finalize the ACME order order as finalized_order - And the value finalized_order.body with jq ".status" should be equal to "valid" - And I parse the full-chain certificate from order finalized_order as cert - And the value cert with jq ".subject.common_name" should be equal to "localhost" - - Examples: - | names | - | {} | - | {"COMMON_NAME": ""} - Scenario: Validate challenges for multiple domains Given I have an ACME cert profile as "acme_profile" When I have an ACME client connecting to "{BASE_URL}/api/v1/pki/acme/profiles/{acme_profile.id}/directory" From cf83ae25538a8cc494a6b3b1be0285a40e8f310d Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Thu, 20 Nov 2025 16:56:18 -0800 Subject: [PATCH 019/109] Allow empty CN --- backend/bdd/features/pki/acme/internal-ca.feature | 9 ++------- .../services/pki-acme/pki-acme-challenge-service.ts | 2 +- .../src/ee/services/pki-acme/pki-acme-service.ts | 8 +++----- .../internal-certificate-authority-service.ts | 13 ++++++++++--- .../internal-certificate-authority-types.ts | 2 ++ .../certificate-v3/certificate-v3-service.ts | 6 ++++-- .../services/certificate-v3/certificate-v3-types.ts | 1 + 7 files changed, 23 insertions(+), 18 deletions(-) diff --git a/backend/bdd/features/pki/acme/internal-ca.feature b/backend/bdd/features/pki/acme/internal-ca.feature index c594f9a9f4..6bd6ec4e96 100644 --- a/backend/bdd/features/pki/acme/internal-ca.feature +++ b/backend/bdd/features/pki/acme/internal-ca.feature @@ -1,13 +1,13 @@ Feature: Internal CA - Scenario Outline: CSR with SANs only + Scenario: CSR with SANs only Given I have an ACME cert profile as "acme_profile" When I have an ACME client connecting to "{BASE_URL}/api/v1/pki/acme/profiles/{acme_profile.id}/directory" Then I register a new ACME account with email fangpen@infisical.com and EAB key id "{acme_profile.eab_kid}" with secret "{acme_profile.eab_secret}" as acme_account When I create certificate signing request as csr Then I add names to certificate signing request csr """ - + {} """ And I add subject alternative name to certificate signing request csr """ @@ -25,8 +25,3 @@ Feature: Internal CA And the value finalized_order.body with jq ".status" should be equal to "valid" And I parse the full-chain certificate from order finalized_order as cert And the value cert with jq ".subject.common_name" should be equal to "localhost" - - Examples: - | names | - | {} | - | {"COMMON_NAME": ""} diff --git a/backend/src/ee/services/pki-acme/pki-acme-challenge-service.ts b/backend/src/ee/services/pki-acme/pki-acme-challenge-service.ts index def30b1265..e084c8f0a9 100644 --- a/backend/src/ee/services/pki-acme/pki-acme-challenge-service.ts +++ b/backend/src/ee/services/pki-acme/pki-acme-challenge-service.ts @@ -75,7 +75,7 @@ export const pkiAcmeChallengeServiceFactory = ({ const challengeResponse = await axios.get(challengeUrl.toString(), { // In case if we override the host in the development mode, still provide the original host in the header // to help the upstream server to validate the request - headers: { Host: host }, + headers: { Host: challenge.auth.identifierValue }, timeout: timeoutMs, responseType: "text", validateStatus: () => true diff --git a/backend/src/ee/services/pki-acme/pki-acme-service.ts b/backend/src/ee/services/pki-acme/pki-acme-service.ts index 4f560ade76..9005d4bcee 100644 --- a/backend/src/ee/services/pki-acme/pki-acme-service.ts +++ b/backend/src/ee/services/pki-acme/pki-acme-service.ts @@ -703,9 +703,6 @@ export const pkiAcmeServiceFactory = ({ // Check and validate the CSR const certificateRequest = extractCertificateRequestFromCSR(csr); - if (!certificateRequest.commonName) { - throw new AcmeBadCSRError({ message: "Invalid CSR: Common name is required" }); - } if ( certificateRequest.subjectAlternativeNames?.some( (san) => san.type !== CertSubjectAlternativeNameType.DNS_NAME @@ -721,7 +718,7 @@ export const pkiAcmeServiceFactory = ({ const csrIdentifierValues = new Set( (certificateRequest.subjectAlternativeNames ?? []) .map((san) => san.value.toLowerCase()) - .concat([certificateRequest.commonName.toLowerCase()]) + .concat(certificateRequest.commonName ? [certificateRequest.commonName.toLowerCase()] : []) ); if ( csrIdentifierValues.size !== orderWithAuthorizations.authorizations.length || @@ -758,7 +755,8 @@ export const pkiAcmeServiceFactory = ({ } : // ttl is not used if notAfter is provided ({ ttl: "0d" } as const), - enrollmentType: EnrollmentType.ACME + enrollmentType: EnrollmentType.ACME, + allowEmptyCommonName: true }); return { certificateId: result.certificateId }; } diff --git a/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts b/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts index a7292e3669..0b16093669 100644 --- a/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts +++ b/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts @@ -1577,7 +1577,8 @@ export const internalCertificateAuthorityServiceFactory = ({ keyUsages, extendedKeyUsages, signatureAlgorithm, - keyAlgorithm + keyAlgorithm, + allowEmptyCommonName } = dto; let collectionId = pkiCollectionId; @@ -1716,12 +1717,18 @@ export const internalCertificateAuthorityServiceFactory = ({ const csrObj = new x509.Pkcs10CertificateRequest(csr); const dn = parseDistinguishedName(csrObj.subject); - const cn = commonName || dn.commonName; + let cn = commonName || dn.commonName; - if (!cn) + if ((allowEmptyCommonName ?? false) && !cn) { + // Notice: for modern TLS certificates, the CN is deprecated, many ACME clients will generate CSRs with without a CN + // we allow empty CN here to support ACME clients mostly. Since it's unclear what's the side effect of + // allowing empty CN for legacy PKI code, let's only do it if a true allowEmptyCommonName value is provided. + cn = ""; + } else if (!cn) { throw new BadRequestError({ message: "A common name (CN) is required in the CSR or as a parameter to this endpoint" }); + } const { caPrivateKey, caSecret } = await getCaCredentials({ caId: ca.id, diff --git a/backend/src/services/certificate-authority/internal/internal-certificate-authority-types.ts b/backend/src/services/certificate-authority/internal/internal-certificate-authority-types.ts index b4b037933b..8d669f1d28 100644 --- a/backend/src/services/certificate-authority/internal/internal-certificate-authority-types.ts +++ b/backend/src/services/certificate-authority/internal/internal-certificate-authority-types.ts @@ -164,6 +164,7 @@ export type TSignCertFromCaDTO = keyAlgorithm?: string; isFromProfile?: boolean; profileId?: string; + allowEmptyCommonName?: boolean; } | ({ isInternal: false; @@ -183,6 +184,7 @@ export type TSignCertFromCaDTO = keyAlgorithm?: string; isFromProfile?: boolean; profileId?: string; + allowEmptyCommonName?: boolean; } & Omit); export type TGetCaCertificateTemplatesDTO = { diff --git a/backend/src/services/certificate-v3/certificate-v3-service.ts b/backend/src/services/certificate-v3/certificate-v3-service.ts index a537ddc06b..1549c63a5c 100644 --- a/backend/src/services/certificate-v3/certificate-v3-service.ts +++ b/backend/src/services/certificate-v3/certificate-v3-service.ts @@ -511,7 +511,8 @@ export const certificateV3ServiceFactory = ({ actorAuthMethod, actorOrgId, enrollmentType, - removeRootsFromChain + removeRootsFromChain, + allowEmptyCommonName }: TSignCertificateFromProfileDTO): Promise> => { const profile = await validateProfileAndPermissions( profileId, @@ -582,7 +583,8 @@ export const certificateV3ServiceFactory = ({ notAfter: normalizeDateForApi(notAfter), signatureAlgorithm: effectiveSignatureAlgorithm, keyAlgorithm: effectiveKeyAlgorithm, - isFromProfile: true + isFromProfile: true, + allowEmptyCommonName }); const cert = await certificateDAL.findOne({ serialNumber, caId: ca.id }); diff --git a/backend/src/services/certificate-v3/certificate-v3-types.ts b/backend/src/services/certificate-v3/certificate-v3-types.ts index ab638c5ed8..4f47e90996 100644 --- a/backend/src/services/certificate-v3/certificate-v3-types.ts +++ b/backend/src/services/certificate-v3/certificate-v3-types.ts @@ -39,6 +39,7 @@ export type TSignCertificateFromProfileDTO = { notAfter?: Date; enrollmentType: EnrollmentType; removeRootsFromChain?: boolean; + allowEmptyCommonName?: boolean; } & Omit; export type TOrderCertificateFromProfileDTO = { From 7c477ef0274a69f83174154cadc090d346c85d2e Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Thu, 20 Nov 2025 17:05:43 -0800 Subject: [PATCH 020/109] Fix internal no CN test --- backend/bdd/features/pki/acme/internal-ca.feature | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/bdd/features/pki/acme/internal-ca.feature b/backend/bdd/features/pki/acme/internal-ca.feature index 6bd6ec4e96..9db4328d2b 100644 --- a/backend/bdd/features/pki/acme/internal-ca.feature +++ b/backend/bdd/features/pki/acme/internal-ca.feature @@ -24,4 +24,10 @@ Feature: Internal CA And I poll and finalize the ACME order order as finalized_order And the value finalized_order.body with jq ".status" should be equal to "valid" And I parse the full-chain certificate from order finalized_order as cert - And the value cert with jq ".subject.common_name" should be equal to "localhost" + And the value cert with jq ".subject.common_name" should be equal to null + And the value cert with jq "[.extensions.subjectAltName.general_names.[].value] | sort" should be equal to json + """ + [ + "localhost" + ] + """ \ No newline at end of file From 2b19425cc74374d523e0c15977658039dd40d8e7 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Thu, 20 Nov 2025 17:28:54 -0800 Subject: [PATCH 021/109] Fix linter error --- .../internal-certificate-authority-service.ts | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts b/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts index 0b16093669..2a4aa173b5 100644 --- a/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts +++ b/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts @@ -1719,15 +1719,17 @@ export const internalCertificateAuthorityServiceFactory = ({ const dn = parseDistinguishedName(csrObj.subject); let cn = commonName || dn.commonName; - if ((allowEmptyCommonName ?? false) && !cn) { - // Notice: for modern TLS certificates, the CN is deprecated, many ACME clients will generate CSRs with without a CN - // we allow empty CN here to support ACME clients mostly. Since it's unclear what's the side effect of - // allowing empty CN for legacy PKI code, let's only do it if a true allowEmptyCommonName value is provided. - cn = ""; - } else if (!cn) { - throw new BadRequestError({ - message: "A common name (CN) is required in the CSR or as a parameter to this endpoint" - }); + if (!cn) { + if (allowEmptyCommonName ?? false) { + // Notice: for modern TLS certificates, the CN is deprecated, many ACME clients will generate CSRs with without a CN + // we allow empty CN here to support ACME clients mostly. Since it's unclear what's the side effect of + // allowing empty CN for legacy PKI code, let's only do it if a true allowEmptyCommonName value is provided. + cn = ""; + } else { + throw new BadRequestError({ + message: "A common name (CN) is required in the CSR or as a parameter to this endpoint" + }); + } } const { caPrivateKey, caSecret } = await getCaCredentials({ @@ -1946,7 +1948,7 @@ export const internalCertificateAuthorityServiceFactory = ({ certificateTemplateId: certificateTemplate?.id, status: CertStatus.ACTIVE, friendlyName: friendlyName || csrObj.subject, - commonName: cn, + commonName: cn!, altNames: altNamesFromCsr || altNames, serialNumber, notBefore: notBeforeDate, From 810c06c6d7dd88a86d8cd9700dccef7f6ed765b5 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 10:33:36 -0800 Subject: [PATCH 022/109] No need for allowEmptyCommonName flag, just allow empty CN for all --- .../internal-certificate-authority-service.ts | 20 +++---------------- .../internal-certificate-authority-types.ts | 2 -- .../certificate-v3/certificate-v3-service.ts | 6 ++---- .../certificate-v3/certificate-v3-types.ts | 1 - 4 files changed, 5 insertions(+), 24 deletions(-) diff --git a/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts b/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts index 2a4aa173b5..5e42dc3831 100644 --- a/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts +++ b/backend/src/services/certificate-authority/internal/internal-certificate-authority-service.ts @@ -1577,8 +1577,7 @@ export const internalCertificateAuthorityServiceFactory = ({ keyUsages, extendedKeyUsages, signatureAlgorithm, - keyAlgorithm, - allowEmptyCommonName + keyAlgorithm } = dto; let collectionId = pkiCollectionId; @@ -1717,20 +1716,7 @@ export const internalCertificateAuthorityServiceFactory = ({ const csrObj = new x509.Pkcs10CertificateRequest(csr); const dn = parseDistinguishedName(csrObj.subject); - let cn = commonName || dn.commonName; - - if (!cn) { - if (allowEmptyCommonName ?? false) { - // Notice: for modern TLS certificates, the CN is deprecated, many ACME clients will generate CSRs with without a CN - // we allow empty CN here to support ACME clients mostly. Since it's unclear what's the side effect of - // allowing empty CN for legacy PKI code, let's only do it if a true allowEmptyCommonName value is provided. - cn = ""; - } else { - throw new BadRequestError({ - message: "A common name (CN) is required in the CSR or as a parameter to this endpoint" - }); - } - } + const cn = (commonName || dn.commonName) ?? ""; const { caPrivateKey, caSecret } = await getCaCredentials({ caId: ca.id, @@ -1948,7 +1934,7 @@ export const internalCertificateAuthorityServiceFactory = ({ certificateTemplateId: certificateTemplate?.id, status: CertStatus.ACTIVE, friendlyName: friendlyName || csrObj.subject, - commonName: cn!, + commonName: cn, altNames: altNamesFromCsr || altNames, serialNumber, notBefore: notBeforeDate, diff --git a/backend/src/services/certificate-authority/internal/internal-certificate-authority-types.ts b/backend/src/services/certificate-authority/internal/internal-certificate-authority-types.ts index 8d669f1d28..b4b037933b 100644 --- a/backend/src/services/certificate-authority/internal/internal-certificate-authority-types.ts +++ b/backend/src/services/certificate-authority/internal/internal-certificate-authority-types.ts @@ -164,7 +164,6 @@ export type TSignCertFromCaDTO = keyAlgorithm?: string; isFromProfile?: boolean; profileId?: string; - allowEmptyCommonName?: boolean; } | ({ isInternal: false; @@ -184,7 +183,6 @@ export type TSignCertFromCaDTO = keyAlgorithm?: string; isFromProfile?: boolean; profileId?: string; - allowEmptyCommonName?: boolean; } & Omit); export type TGetCaCertificateTemplatesDTO = { diff --git a/backend/src/services/certificate-v3/certificate-v3-service.ts b/backend/src/services/certificate-v3/certificate-v3-service.ts index 1549c63a5c..a537ddc06b 100644 --- a/backend/src/services/certificate-v3/certificate-v3-service.ts +++ b/backend/src/services/certificate-v3/certificate-v3-service.ts @@ -511,8 +511,7 @@ export const certificateV3ServiceFactory = ({ actorAuthMethod, actorOrgId, enrollmentType, - removeRootsFromChain, - allowEmptyCommonName + removeRootsFromChain }: TSignCertificateFromProfileDTO): Promise> => { const profile = await validateProfileAndPermissions( profileId, @@ -583,8 +582,7 @@ export const certificateV3ServiceFactory = ({ notAfter: normalizeDateForApi(notAfter), signatureAlgorithm: effectiveSignatureAlgorithm, keyAlgorithm: effectiveKeyAlgorithm, - isFromProfile: true, - allowEmptyCommonName + isFromProfile: true }); const cert = await certificateDAL.findOne({ serialNumber, caId: ca.id }); diff --git a/backend/src/services/certificate-v3/certificate-v3-types.ts b/backend/src/services/certificate-v3/certificate-v3-types.ts index 4f47e90996..ab638c5ed8 100644 --- a/backend/src/services/certificate-v3/certificate-v3-types.ts +++ b/backend/src/services/certificate-v3/certificate-v3-types.ts @@ -39,7 +39,6 @@ export type TSignCertificateFromProfileDTO = { notAfter?: Date; enrollmentType: EnrollmentType; removeRootsFromChain?: boolean; - allowEmptyCommonName?: boolean; } & Omit; export type TOrderCertificateFromProfileDTO = { From 709b3d74490422b27ed534011f95832b41ce6a12 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 10:34:31 -0800 Subject: [PATCH 023/109] Remove allowEmptyCommonName flag --- backend/src/ee/services/pki-acme/pki-acme-service.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/backend/src/ee/services/pki-acme/pki-acme-service.ts b/backend/src/ee/services/pki-acme/pki-acme-service.ts index 9005d4bcee..69a6a648fe 100644 --- a/backend/src/ee/services/pki-acme/pki-acme-service.ts +++ b/backend/src/ee/services/pki-acme/pki-acme-service.ts @@ -755,8 +755,7 @@ export const pkiAcmeServiceFactory = ({ } : // ttl is not used if notAfter is provided ({ ttl: "0d" } as const), - enrollmentType: EnrollmentType.ACME, - allowEmptyCommonName: true + enrollmentType: EnrollmentType.ACME }); return { certificateId: result.certificateId }; } From 4be7005800839acad7d733c207dee69c19cf4aae Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Fri, 21 Nov 2025 12:32:22 -0800 Subject: [PATCH 024/109] style: update info color value and update documentation link badge styling --- .../DocumentationLinkBadge.tsx | 6 +++--- frontend/src/index.css | 20 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/frontend/src/components/v3/platform/DocumentationLinkBadge/DocumentationLinkBadge.tsx b/frontend/src/components/v3/platform/DocumentationLinkBadge/DocumentationLinkBadge.tsx index b847f93ae9..dca7785fab 100644 --- a/frontend/src/components/v3/platform/DocumentationLinkBadge/DocumentationLinkBadge.tsx +++ b/frontend/src/components/v3/platform/DocumentationLinkBadge/DocumentationLinkBadge.tsx @@ -1,4 +1,4 @@ -import { BookOpenIcon } from "lucide-react"; +import { ExternalLinkIcon } from "lucide-react"; import { Badge } from "@app/components/v3"; @@ -8,10 +8,10 @@ type TDocumentationLinkBadgeProps = { export function DocumentationLinkBadge({ href }: TDocumentationLinkBadgeProps) { return ( - +
- Documentation + ); diff --git a/frontend/src/index.css b/frontend/src/index.css index 2a1da3fa2d..fdedc2f687 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -29,11 +29,11 @@ } :root { - font-family: var(--font-inter); - --foreground: oklch(0.985 0 0); - --background: oklch(0.145 0 0); + font-family: var(--font-inter); + --foreground: oklch(0.985 0 0); + --background: oklch(0.145 0 0); - --toastify-color-dark: var(--color-mineshaft-700); + --toastify-color-dark: var(--color-mineshaft-700); } @theme { @@ -45,16 +45,16 @@ --color-background: #19191c; --color-foreground: white; --color-success: #2ecc71; - --color-info: #34c2db; + --color-info: #63b0bd; --color-warning: #f1c40f; --color-danger: #e74c3c; - --color-org: #30B3FF; + --color-org: #30b3ff; --color-sub-org: #96ff59; --color-project: #e0ed34; --color-neutral: #adaeb0; /*legacy color schema */ - --color-org-v1: #30B3FF; + --color-org-v1: #30b3ff; --color-namespace-v1: #96ff59; /* Primary */ @@ -418,15 +418,15 @@ } .Toastify__toast { - @apply rounded-md; + @apply rounded-md; } .Toastify__toast-body { - @apply items-start; + @apply items-start; } .Toastify__toast-icon { - @apply w-4 pt-1; + @apply w-4 pt-1; } .tags-conic-bg { From 27a848a296cd21a58da65ec9a390a86364c36a51 Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Fri, 21 Nov 2025 15:28:53 -0800 Subject: [PATCH 025/109] improvement: update frontend identity text refrences to explicit state machine identity --- .../ResourceOverviewPage.tsx | 2 +- .../components/MachineIdentitiesTable.tsx | 4 +- .../AccessManagementPage.tsx | 12 +++--- .../IdentitySection/IdentitySection.tsx | 34 +++++++++-------- .../IdentitySection/IdentityTable.tsx | 18 ++++----- .../IdentitySection/OrgIdentityLinkForm.tsx | 6 +-- .../IdentitySection/OrgIdentityModal.tsx | 6 +-- .../IdentityDetailsByIDPage.tsx | 14 +++---- .../components/IdentityDetailsSection.tsx | 8 ++-- .../IdentityProjectsTable.tsx | 4 +- .../components/GatewayCliDeploymentMethod.tsx | 24 ++++++------ .../GatewayCliSystemdDeploymentMethod.tsx | 24 ++++++------ .../components/RelayCliDeploymentMethod.tsx | 24 ++++++------ .../RelayCliSystemdDeploymentMethod.tsx | 24 ++++++------ .../RelayTerraformDeploymentMethod.tsx | 24 ++++++------ .../AccessControlPage/AccessControlPage.tsx | 6 +-- .../components/IdentityTab/IdentityTab.tsx | 38 ++++++++++--------- .../components/ProjectIdentityModal.tsx | 6 +-- .../components/ProjectLinkIdentityModal.tsx | 10 ++--- .../IdentityDetailsByIDPage.tsx | 26 ++++++------- ...ntityProjectAdditionalPrivilegeSection.tsx | 5 ++- .../ProjectIdentityDetailsSection.tsx | 10 ++--- 22 files changed, 169 insertions(+), 160 deletions(-) diff --git a/frontend/src/pages/admin/ResourceOverviewPage/ResourceOverviewPage.tsx b/frontend/src/pages/admin/ResourceOverviewPage/ResourceOverviewPage.tsx index eab91ef047..199fcb1bd0 100644 --- a/frontend/src/pages/admin/ResourceOverviewPage/ResourceOverviewPage.tsx +++ b/frontend/src/pages/admin/ResourceOverviewPage/ResourceOverviewPage.tsx @@ -29,7 +29,7 @@ export const ResourceOverviewPage = () => { Users - Identities + Machine Identities diff --git a/frontend/src/pages/admin/ResourceOverviewPage/components/MachineIdentitiesTable.tsx b/frontend/src/pages/admin/ResourceOverviewPage/components/MachineIdentitiesTable.tsx index d177867127..c2fc1ac842 100644 --- a/frontend/src/pages/admin/ResourceOverviewPage/components/MachineIdentitiesTable.tsx +++ b/frontend/src/pages/admin/ResourceOverviewPage/components/MachineIdentitiesTable.tsx @@ -1,4 +1,3 @@ -import { useState } from "react"; import { faEllipsisV, faMagnifyingGlass, @@ -8,6 +7,7 @@ import { } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { ServerCogIcon } from "lucide-react"; +import { useState } from "react"; import { createNotification } from "@app/components/notifications"; import { @@ -90,7 +90,7 @@ const IdentityPanelTable = ({ value={searchIdentityFilter} onChange={(e) => setSearchIdentityFilter(e.target.value)} leftIcon={} - placeholder="Search identities by name..." + placeholder="Search machine identities by name..." className="flex-1" />
diff --git a/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx b/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx index d3e93bceae..f88717e600 100644 --- a/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx @@ -1,9 +1,9 @@ -import { useState } from "react"; -import { Helmet } from "react-helmet"; -import { useTranslation } from "react-i18next"; import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useSearch } from "@tanstack/react-router"; +import { useState } from "react"; +import { Helmet } from "react-helmet"; +import { useTranslation } from "react-i18next"; import { OrgPermissionGuardBanner } from "@app/components/permissions/OrgPermissionCan"; import { Button, PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; @@ -18,8 +18,8 @@ import { } from "@app/context"; import { OrgAccessControlTabSections } from "@app/types/org"; -import { UpgradePrivilegeSystemModal } from "./components/UpgradePrivilegeSystemModal/UpgradePrivilegeSystemModal"; import { OrgGroupsTab, OrgIdentityTab, OrgMembersTab, OrgRoleTabSection } from "./components"; +import { UpgradePrivilegeSystemModal } from "./components/UpgradePrivilegeSystemModal/UpgradePrivilegeSystemModal"; export const AccessManagementPage = () => { const { t } = useTranslation(); @@ -58,7 +58,7 @@ export const AccessManagementPage = () => { }, { key: OrgAccessControlTabSections.Identities, - label: "Identities", + label: "Machine Identities", isHidden: permission.cannot( OrgPermissionIdentityActions.Read, OrgPermissionSubjects.Identity @@ -84,7 +84,7 @@ export const AccessManagementPage = () => { {!currentOrg.shouldUseNewPrivilegeSystem && (
diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentitySection.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentitySection.tsx index 87a3860bf6..22e921806d 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentitySection.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentitySection.tsx @@ -1,8 +1,8 @@ -import { useState } from "react"; import { faPlus } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { AnimatePresence, motion } from "framer-motion"; import { LinkIcon, PlusIcon } from "lucide-react"; +import { useState } from "react"; import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal"; import { createNotification } from "@app/components/notifications"; @@ -73,7 +73,7 @@ export const IdentitySection = withPermission( }); createNotification({ - text: "Successfully deleted identity", + text: "Successfully deleted machine identity", type: "success" }); @@ -99,7 +99,7 @@ export const IdentitySection = withPermission(
-

Identities

+

Machine Identities

@@ -116,7 +116,7 @@ export const IdentitySection = withPermission( if (!isMoreIdentitiesAllowed && !isEnterprise) { handlePopUpOpen("upgradePlan", { description: - "You can add more identities if you upgrade your Infisical Pro plan." + "You can add more machine identities if you upgrade your Infisical Pro plan." }); return; } @@ -129,7 +129,7 @@ export const IdentitySection = withPermission( }} isDisabled={!isAllowed} > - Create Identity + Add Machine Identity )} @@ -141,7 +141,9 @@ export const IdentitySection = withPermission(
-

Identity Auth Templates

+

+ Machine Identity Auth Templates +

{(isAllowed) => (
-
Assign Existing Identity
+
Assign Existing Machine Identity
- Assign an existing identity from your parent organization. The identity will - continue to be managed at its original scope. + Assign an existing machine identity from your parent organization. The machine + identity will continue to be managed at its original scope.
diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityTable.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityTable.tsx index 0c8cfd6bb8..1342bdfa43 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityTable.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityTable.tsx @@ -1,4 +1,3 @@ -import { useCallback, useState } from "react"; import { faArrowDown, faArrowUp, @@ -14,6 +13,7 @@ import { } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; +import { useCallback, useState } from "react"; import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; @@ -152,7 +152,7 @@ export const IdentityTable = ({ handlePopUpOpen }: Props) => { }); createNotification({ - text: "Successfully updated identity role", + text: "Successfully updated machine identity role", type: "success" }); }; @@ -178,7 +178,7 @@ export const IdentityTable = ({ handlePopUpOpen }: Props) => { { - Apply Roles to Filter Identities + Filter Machine Identities by Role {roles?.map(({ id, slug, name }) => ( { value={search} onChange={(e) => setSearch(e.target.value)} leftIcon={} - placeholder="Search identities by name..." + placeholder="Search machine identities by name..." />
@@ -407,7 +407,7 @@ export const IdentityTable = ({ handlePopUpOpen }: Props) => { }} isDisabled={!isAllowed} > - Edit Identity {isSubOrgIdentity ? "" : "Membership"} + Edit Machine Identity {isSubOrgIdentity ? "" : "Membership"} )} @@ -428,7 +428,7 @@ export const IdentityTable = ({ handlePopUpOpen }: Props) => { icon={} > {isSubOrgIdentity - ? "Delete Identity" + ? "Delete Machine Identity" : "Remove From Sub-Organization"} )} @@ -455,8 +455,8 @@ export const IdentityTable = ({ handlePopUpOpen }: Props) => { 0 || filter.roles?.length > 0 - ? "No identities match search filter" - : "No identities have been created in this organization" + ? "No machine identities match search filter" + : "No machine identities have been created in this organization" } icon={faServer} /> diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityLinkForm.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityLinkForm.tsx index dde0588de8..a6b1839f1e 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityLinkForm.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityLinkForm.tsx @@ -1,7 +1,7 @@ -import { Controller, useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { useQuery } from "@tanstack/react-query"; import { useNavigate } from "@tanstack/react-router"; +import { Controller, useForm } from "react-hook-form"; import { z } from "zod"; import { createNotification } from "@app/components/notifications"; @@ -78,11 +78,11 @@ export const OrgIdentityLinkForm = ({ onClose }: Props) => { control={control} name="identity" render={({ field: { onChange, value }, fieldState: { error } }) => ( - + option.id} diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityModal.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityModal.tsx index dfc496ca8c..f7ae4513d3 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityModal.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityModal.tsx @@ -1,9 +1,9 @@ -import { useEffect } from "react"; -import { Controller, useFieldArray, useForm } from "react-hook-form"; import { faPlus, faTrash } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { zodResolver } from "@hookform/resolvers/zod"; import { useNavigate } from "@tanstack/react-router"; +import { useEffect } from "react"; +import { Controller, useFieldArray, useForm } from "react-hook-form"; import { z } from "zod"; import { createNotification } from "@app/components/notifications"; @@ -164,7 +164,7 @@ export const OrgIdentityModal = ({ popUp, handlePopUpToggle }: Props) => { } createNotification({ - text: `Successfully ${popUp?.identity?.data ? "updated" : "created"} identity`, + text: `Successfully ${popUp?.identity?.data ? "updated" : "created"} machine identity`, type: "success" }); diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx index 1cc37a8e86..ee2a212b36 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx @@ -1,8 +1,8 @@ -import { Helmet } from "react-helmet"; -import { useTranslation } from "react-i18next"; import { faChevronLeft } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Link, useNavigate, useParams } from "@tanstack/react-router"; +import { Helmet } from "react-helmet"; +import { useTranslation } from "react-i18next"; import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal"; import { createNotification } from "@app/components/notifications"; @@ -55,7 +55,7 @@ const Page = () => { }); createNotification({ - text: "Successfully deleted identity", + text: "Successfully deleted machine identity", type: "success" }); @@ -82,11 +82,11 @@ const Page = () => { className="mb-4 flex items-center gap-x-2 text-sm text-mineshaft-400" > - Identities + Machine Identities
@@ -111,7 +111,7 @@ const Page = () => { }) } > - Unlink Identity + Unlink Machine Identity )} @@ -142,7 +142,7 @@ const Page = () => { > diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityDetailsSection.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityDetailsSection.tsx index b19901bef5..f9bbdce9db 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityDetailsSection.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityDetailsSection.tsx @@ -45,7 +45,7 @@ export const IdentityDetailsSection = ({ identityId, handlePopUpOpen, isOrgIdent return data ? (
-

Identity Details

+

Details

-

Identity ID

+

Machine Identity ID

{data.identity.id}

diff --git a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsTable.tsx b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsTable.tsx index 4dcc1996e5..74c7c2549b 100644 --- a/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsTable.tsx +++ b/frontend/src/pages/organization/IdentityDetailsByIDPage/components/IdentityProjectsSection/IdentityProjectsTable.tsx @@ -1,4 +1,3 @@ -import { useMemo } from "react"; import { faArrowDown, faArrowUp, @@ -7,6 +6,7 @@ import { faSearch } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { useMemo } from "react"; import { EmptyState, @@ -151,7 +151,7 @@ export const IdentityProjectsTable = ({ identityId, handlePopUpOpen }: Props) => title={ projectMemberships.length ? "No projects match search..." - : "This identity has not been assigned to any projects" + : "This machine identity has not been assigned to any projects" } icon={projectMemberships.length ? faSearch : faFolder} /> diff --git a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx index 4942bf2e22..66f22be8cc 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx @@ -1,8 +1,8 @@ -import { useMemo, useState } from "react"; -import { SingleValue } from "react-select"; import { faCopy, faQuestionCircle, faUpRightFromSquare } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; +import { useMemo, useState } from "react"; +import { SingleValue } from "react-select"; import { z } from "zod"; import { createNotification } from "@app/components/notifications"; @@ -275,8 +275,8 @@ export const GatewayCliDeploymentMethod = () => { {canCreateToken && autogenerateToken ? ( <> { ) } isLoading={isIdentitiesLoading} - placeholder="Select identity..." + placeholder="select machine identity..." options={identityMembershipOrgs.map((membership) => membership.identity)} getOptionValue={(option) => option.id} getOptionLabel={(option) => option.name} @@ -300,8 +300,8 @@ export const GatewayCliDeploymentMethod = () => { ) : ( <> { className="mr-2" >
- Automatically enable token auth and generate a token for identity + Automatically enable token auth and generate a token for machine identity - Token authentication will be automatically enabled for the selected identity if - it isn't already configured. By default, it will be configured to allow all - IP addresses with a token TTL of 30 days. You can manage these settings in - Access Control. + Token authentication will be automatically enabled for the selected machine + identity if it isn't already configured. By default, it will be configured + to allow all IP addresses with a token TTL of 30 days. You can manage these + settings in Access Control.

A token will automatically be generated to be used with the CLI command. diff --git a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx index 860590ffa5..2a5cdd3006 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx @@ -1,8 +1,8 @@ -import { useMemo, useState } from "react"; -import { SingleValue } from "react-select"; import { faCopy, faQuestionCircle, faUpRightFromSquare } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; +import { useMemo, useState } from "react"; +import { SingleValue } from "react-select"; import { z } from "zod"; import { createNotification } from "@app/components/notifications"; @@ -297,8 +297,8 @@ export const GatewayCliSystemdDeploymentMethod = () => { {canCreateToken && autogenerateToken ? ( <> { ) } isLoading={isIdentitiesLoading} - placeholder="Select identity..." + placeholder="select machine identity..." options={identityMembershipOrgs.map((membership) => membership.identity)} getOptionValue={(option) => option.id} getOptionLabel={(option) => option.name} @@ -322,8 +322,8 @@ export const GatewayCliSystemdDeploymentMethod = () => { ) : ( <> { className="mr-2" >
- Automatically enable token auth and generate a token for identity + Automatically enable token auth and generate a token for machine identity - Token authentication will be automatically enabled for the selected identity if - it isn't already configured. By default, it will be configured to allow all - IP addresses with a token TTL of 30 days. You can manage these settings in - Access Control. + Token authentication will be automatically enabled for the selected machine + identity if it isn't already configured. By default, it will be configured + to allow all IP addresses with a token TTL of 30 days. You can manage these + settings in Access Control.

A token will automatically be generated to be used with the CLI command. diff --git a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx index 87f2ed75ba..563ca1f64e 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx @@ -1,7 +1,7 @@ -import { useMemo, useState } from "react"; -import { SingleValue } from "react-select"; import { faCopy, faQuestionCircle, faUpRightFromSquare } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { useMemo, useState } from "react"; +import { SingleValue } from "react-select"; import { z } from "zod"; import { createNotification } from "@app/components/notifications"; @@ -229,8 +229,8 @@ export const RelayCliDeploymentMethod = () => { {canCreateToken && autogenerateToken ? ( <> { ) } isLoading={isIdentitiesLoading} - placeholder="Select identity..." + placeholder="select machine identity..." options={identityMembershipOrgs.map((membership) => membership.identity)} getOptionValue={(option) => option.id} getOptionLabel={(option) => option.name} @@ -254,8 +254,8 @@ export const RelayCliDeploymentMethod = () => { ) : ( <> { className="mr-2" >
- Automatically enable token auth and generate a token for identity + Automatically enable token auth and generate a token for machine identity - Token authentication will be automatically enabled for the selected identity if - it isn't already configured. By default, it will be configured to allow all - IP addresses with a token TTL of 30 days. You can manage these settings in - Access Control. + Token authentication will be automatically enabled for the selected machine + identity if it isn't already configured. By default, it will be configured + to allow all IP addresses with a token TTL of 30 days. You can manage these + settings in Access Control.

A token will automatically be generated to be used with the CLI command. diff --git a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx index 10e4d9eddc..a5b858bc83 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx @@ -1,7 +1,7 @@ -import { useMemo, useState } from "react"; -import { SingleValue } from "react-select"; import { faCopy, faQuestionCircle, faUpRightFromSquare } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { useMemo, useState } from "react"; +import { SingleValue } from "react-select"; import { z } from "zod"; import { createNotification } from "@app/components/notifications"; @@ -270,8 +270,8 @@ export const RelayCliSystemdDeploymentMethod = () => { {canCreateToken && autogenerateToken ? ( <> { ) } isLoading={isIdentitiesLoading} - placeholder="Select identity..." + placeholder="select machine identity..." options={identityMembershipOrgs.map((membership) => membership.identity)} getOptionValue={(option) => option.id} getOptionLabel={(option) => option.name} @@ -295,8 +295,8 @@ export const RelayCliSystemdDeploymentMethod = () => { ) : ( <> { className="mr-2" >
- Automatically enable token auth and generate a token for identity + Automatically enable token auth and generate a token for machine identity - Token authentication will be automatically enabled for the selected identity if - it isn't already configured. By default, it will be configured to allow all - IP addresses with a token TTL of 30 days. You can manage these settings in - Access Control. + Token authentication will be automatically enabled for the selected machine + identity if it isn't already configured. By default, it will be configured + to allow all IP addresses with a token TTL of 30 days. You can manage these + settings in Access Control.

A token will automatically be generated to be used with the CLI command. diff --git a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx index d9c67d6107..c1aa1141e8 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx @@ -1,8 +1,8 @@ -import { useMemo, useState } from "react"; -import { SingleValue } from "react-select"; import { faCopy, faQuestionCircle } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Tab } from "@headlessui/react"; +import { useMemo, useState } from "react"; +import { SingleValue } from "react-select"; import { z } from "zod"; import { createNotification } from "@app/components/notifications"; @@ -349,8 +349,8 @@ resource "aws_eip_association" "eip_assoc" { {canCreateToken && autogenerateToken ? ( <> membership.identity)} getOptionValue={(option) => option.id} getOptionLabel={(option) => option.name} @@ -374,8 +374,8 @@ resource "aws_eip_association" "eip_assoc" { ) : ( <>
- Automatically enable token auth and generate a token for identity + Automatically enable token auth and generate a token for machine identity - Token authentication will be automatically enabled for the selected identity if - it isn't already configured. By default, it will be configured to allow all - IP addresses with a token TTL of 30 days. You can manage these settings in - Access Control. + Token authentication will be automatically enabled for the selected machine + identity if it isn't already configured. By default, it will be configured + to allow all IP addresses with a token TTL of 30 days. You can manage these + settings in Access Control.

A token will automatically be generated to be used with the CLI command. diff --git a/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx b/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx index 84a5376abf..b301c5ddcf 100644 --- a/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx +++ b/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx @@ -1,6 +1,6 @@ +import { useNavigate, useSearch } from "@tanstack/react-router"; import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { useNavigate, useSearch } from "@tanstack/react-router"; import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { useOrganization, useProject } from "@app/context"; @@ -44,7 +44,7 @@ const Page = () => { @@ -55,7 +55,7 @@ const Page = () => { Groups - Identities + Machine Identities {isSecretManager && ( diff --git a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx index 72bae83f22..2f7c351c7d 100644 --- a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx @@ -1,4 +1,3 @@ -import { useState } from "react"; import { subject } from "@casl/ability"; import { faArrowDown, @@ -14,6 +13,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; import { AnimatePresence, motion } from "framer-motion"; import { LinkIcon, PlusIcon } from "lucide-react"; +import { useState } from "react"; import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; @@ -158,7 +158,7 @@ export const IdentityTab = withProjectPermission( }); createNotification({ - text: "Successfully deleted project identity", + text: "Successfully deleted project machine identity", type: "success" }); } else { @@ -168,7 +168,7 @@ export const IdentityTab = withProjectPermission( }); createNotification({ - text: "Successfully removed identity from project", + text: "Successfully removed machine identity from project", type: "success" }); } @@ -197,7 +197,7 @@ export const IdentityTab = withProjectPermission(
-

Identities

+

Machine Identities

@@ -212,7 +212,7 @@ export const IdentityTab = withProjectPermission( onClick={() => handlePopUpOpen("createIdentity")} isDisabled={!isAllowed} > - Create Identity + Add Machine Identity )} @@ -223,7 +223,7 @@ export const IdentityTab = withProjectPermission( value={search} onChange={(e) => setSearch(e.target.value)} leftIcon={} - placeholder="Search identities by name..." + placeholder="Search machine identities by name..." /> @@ -454,7 +454,9 @@ export const IdentityTab = withProjectPermission( }); }} > - {identityProjectId ? "Delete Identity" : "Remove From Project"} + {identityProjectId + ? "Delete Machine Identity" + : "Remove From Project"} )} @@ -474,7 +476,7 @@ export const IdentityTab = withProjectPermission( @@ -497,8 +499,8 @@ export const IdentityTab = withProjectPermission( 0 - ? "No identities match search filter" - : "No identities have been added to this project" + ? "No machine identities match search filter" + : "No machine identities have been added to this project" } icon={faServer} /> @@ -513,8 +515,8 @@ export const IdentityTab = withProjectPermission( > {wizardStep === WizardSteps.SelectAction && ( @@ -538,11 +540,11 @@ export const IdentityTab = withProjectPermission( >
-
Create New Identity
+
Create Machine Identity
- Create a new machine identity specifically for this project. This identity - will be managed at the project-level. + Create a new machine identity specifically for this project. This machine + identity will be managed at the project-level.
-
Assign Existing Identity
+
Assign Existing Machine Identity
- Assign an existing identity from your organization. The identity will continue - to be managed at its original scope. + Assign an existing machine identity from your organization. The machine + identity will continue to be managed at its original scope.
diff --git a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/ProjectIdentityModal.tsx b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/ProjectIdentityModal.tsx index 327144733b..14b888add0 100644 --- a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/ProjectIdentityModal.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/ProjectIdentityModal.tsx @@ -1,8 +1,8 @@ -import { Controller, useFieldArray, useForm } from "react-hook-form"; import { faPlus, faTrash } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { zodResolver } from "@hookform/resolvers/zod"; import { useNavigate } from "@tanstack/react-router"; +import { Controller, useFieldArray, useForm } from "react-hook-form"; import { z } from "zod"; import { createNotification } from "@app/components/notifications"; @@ -138,7 +138,7 @@ export const ProjectIdentityModal = ({ onClose, identity }: ContentProps) => { } createNotification({ - text: `Successfully ${isUpdate ? "updated" : "created"} project identity`, + text: `Successfully ${isUpdate ? "updated" : "created"} project machine identity`, type: "success" }); @@ -148,7 +148,7 @@ export const ProjectIdentityModal = ({ onClose, identity }: ContentProps) => { const error = err as any; const text = error?.response?.data?.message ?? - `Failed to ${isUpdate ? "update" : "create"} project identity`; + `Failed to ${isUpdate ? "update" : "create"} project machine identity`; createNotification({ text, diff --git a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/ProjectLinkIdentityModal.tsx b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/ProjectLinkIdentityModal.tsx index 46e910432c..7ab98b17fd 100644 --- a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/ProjectLinkIdentityModal.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/components/ProjectLinkIdentityModal.tsx @@ -1,7 +1,7 @@ -import { useMemo } from "react"; -import { Controller, useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { useQuery } from "@tanstack/react-query"; +import { useMemo } from "react"; +import { Controller, useForm } from "react-hook-form"; import { z } from "zod"; import { createNotification } from "@app/components/notifications"; @@ -83,7 +83,7 @@ export const ProjectLinkIdentityModal = ({ handlePopUpToggle }: Props) => { }); createNotification({ - text: "Successfully added identity to project", + text: "Successfully added machine identity to project", type: "success" }); @@ -114,11 +114,11 @@ export const ProjectLinkIdentityModal = ({ handlePopUpToggle }: Props) => { control={control} name="identity" render={({ field: { onChange, value }, fieldState: { error } }) => ( - + ({ name: membership.name, diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx index dbbec5ab52..fccdf2b3d2 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx @@ -1,11 +1,11 @@ -import { Helmet } from "react-helmet"; -import { useTranslation } from "react-i18next"; import { subject } from "@casl/ability"; import { faChevronLeft } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useQuery } from "@tanstack/react-query"; import { Link, useNavigate, useParams } from "@tanstack/react-router"; import { formatRelative } from "date-fns"; +import { Helmet } from "react-helmet"; +import { useTranslation } from "react-i18next"; import { createNotification } from "@app/components/notifications"; import { OrgPermissionCan, ProjectPermissionCan } from "@app/components/permissions"; @@ -92,7 +92,7 @@ const Page = () => { onSuccess: () => { createNotification({ type: "success", - text: "Identity privilege assumption has started" + text: "Machine identity privilege assumption has started" }); const url = `${getProjectHomePage(currentProject.type, currentProject.environments)}${isSubOrganization && isNonScopedIdentity ? `?subOrganization=${currentOrg.slug}` : ""}`; window.location.assign( @@ -109,7 +109,7 @@ const Page = () => { projectId }); createNotification({ - text: "Successfully removed identity from project", + text: "Successfully removed machine identity from project", type: "success" }); handlePopUpClose("deleteIdentity"); @@ -149,12 +149,12 @@ const Page = () => { className="mb-4 flex items-center gap-x-2 text-sm text-mineshaft-400" > - Identities + Machine Identities
@@ -177,7 +177,7 @@ const Page = () => { identityId: identityMembershipDetails?.identity.id })} renderTooltip - allowedLabel="Assume privileges of the user" + allowedLabel="Assume privileges of the machine identity" passThrough={false} > {(isAllowed) => ( @@ -209,7 +209,7 @@ const Page = () => { isLoading={isDeletingIdentity} onClick={() => handlePopUpOpen("deleteIdentity")} > - Remove Identity + Remove Machine Identity )} @@ -219,7 +219,7 @@ const Page = () => { {!isProjectIdentity && ( - This identity is managed by your organization.{" "} + This machine identity is managed by your organization.{" "} { }} > - Click here to manage identity. + Click here to manage machine identity. ) : null @@ -286,15 +286,15 @@ const Page = () => { handlePopUpToggle("assumePrivileges", isOpen)} onConfirmed={handleAssumePrivileges} buttonText="Confirm" /> ) : ( - + )}
); diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeSection.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeSection.tsx index b11bd9daeb..e43b805382 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeSection.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/components/IdentityProjectAdditionalPrivilegeSection/IdentityProjectAdditionalPrivilegeSection.tsx @@ -235,7 +235,10 @@ export const IdentityProjectAdditionalPrivilegeSection = ({ identityMembershipDe
{!isPending && !identityProjectPrivileges?.length && ( - + )}
diff --git a/frontend/src/pages/project/IdentityDetailsByIDPage/components/ProjectIdentityDetailsSection.tsx b/frontend/src/pages/project/IdentityDetailsByIDPage/components/ProjectIdentityDetailsSection.tsx index dae9964891..e4ad97f9d4 100644 --- a/frontend/src/pages/project/IdentityDetailsByIDPage/components/ProjectIdentityDetailsSection.tsx +++ b/frontend/src/pages/project/IdentityDetailsByIDPage/components/ProjectIdentityDetailsSection.tsx @@ -69,7 +69,7 @@ export const ProjectIdentityDetailsSection = ({ identity, isOrgIdentity, members } catch { createNotification({ type: "error", - text: "Failed to delete project identity" + text: "Failed to delete project machine identity" }); } }; @@ -77,7 +77,7 @@ export const ProjectIdentityDetailsSection = ({ identity, isOrgIdentity, members return (
-

Identity Details

+

Details

{!isOrgIdentity && ( @@ -114,7 +114,7 @@ export const ProjectIdentityDetailsSection = ({ identity, isOrgIdentity, members }} disabled={!isAllowed} > - Edit Identity + Edit Machine Identity )} @@ -137,7 +137,7 @@ export const ProjectIdentityDetailsSection = ({ identity, isOrgIdentity, members icon={} disabled={!isAllowed} > - Delete Identity + Delete Machine Identity )} @@ -146,7 +146,7 @@ export const ProjectIdentityDetailsSection = ({ identity, isOrgIdentity, members
-

Identity ID

+

Machine Identity ID

{identity.id}

From 5f38751d5a3186a706ef93fef7c36bafd3c6f3dc Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Fri, 21 Nov 2025 15:44:02 -0800 Subject: [PATCH 026/109] improvement: update casing for relay/gateway select inputs --- .../components/IdentitySection/OrgIdentityLinkForm.tsx | 2 +- .../GatewayTab/components/GatewayCliDeploymentMethod.tsx | 2 +- .../GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx | 2 +- .../components/RelayTab/components/RelayCliDeploymentMethod.tsx | 2 +- .../RelayTab/components/RelayCliSystemdDeploymentMethod.tsx | 2 +- .../RelayTab/components/RelayTerraformDeploymentMethod.tsx | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityLinkForm.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityLinkForm.tsx index a6b1839f1e..ecd951d90e 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityLinkForm.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityLinkForm.tsx @@ -82,7 +82,7 @@ export const OrgIdentityLinkForm = ({ onClose }: Props) => { option.id} diff --git a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx index 66f22be8cc..c44a89725b 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx @@ -290,7 +290,7 @@ export const GatewayCliDeploymentMethod = () => { ) } isLoading={isIdentitiesLoading} - placeholder="select machine identity..." + placeholder="Select machine identity..." options={identityMembershipOrgs.map((membership) => membership.identity)} getOptionValue={(option) => option.id} getOptionLabel={(option) => option.name} diff --git a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx index 2a5cdd3006..1d4a7dfe5e 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx @@ -312,7 +312,7 @@ export const GatewayCliSystemdDeploymentMethod = () => { ) } isLoading={isIdentitiesLoading} - placeholder="select machine identity..." + placeholder="Select machine identity..." options={identityMembershipOrgs.map((membership) => membership.identity)} getOptionValue={(option) => option.id} getOptionLabel={(option) => option.name} diff --git a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx index 563ca1f64e..54b176861b 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx @@ -244,7 +244,7 @@ export const RelayCliDeploymentMethod = () => { ) } isLoading={isIdentitiesLoading} - placeholder="select machine identity..." + placeholder="Select machine identity..." options={identityMembershipOrgs.map((membership) => membership.identity)} getOptionValue={(option) => option.id} getOptionLabel={(option) => option.name} diff --git a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx index a5b858bc83..bc82ac4a0e 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx @@ -285,7 +285,7 @@ export const RelayCliSystemdDeploymentMethod = () => { ) } isLoading={isIdentitiesLoading} - placeholder="select machine identity..." + placeholder="Select machine identity..." options={identityMembershipOrgs.map((membership) => membership.identity)} getOptionValue={(option) => option.id} getOptionLabel={(option) => option.name} diff --git a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx index c1aa1141e8..143952e22a 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx @@ -364,7 +364,7 @@ resource "aws_eip_association" "eip_assoc" { ) } isLoading={isIdentitiesLoading} - placeholder="select machine identity..." + placeholder="Select machine identity..." options={identityMembershipOrgs.map((membership) => membership.identity)} getOptionValue={(option) => option.id} getOptionLabel={(option) => option.name} From 8866c98ff0b861038e17cfd04f1c68999389d59b Mon Sep 17 00:00:00 2001 From: Andre <120525481+x032205@users.noreply.github.com> Date: Fri, 21 Nov 2025 21:01:17 -0500 Subject: [PATCH 027/109] Update frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --- .../pam/PamAccountsPage/components/PamAccessAccountModal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx b/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx index fd1f215c53..8e9a0f8da8 100644 --- a/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx +++ b/frontend/src/pages/pam/PamAccountsPage/components/PamAccessAccountModal.tsx @@ -16,7 +16,7 @@ type Props = { export const PamAccessAccountModal = ({ isOpen, onOpenChange, account }: Props) => { const { protocol, hostname, port } = window.location; - const portSuffix = port && port !== "80" ? `:${port}` : ""; + const portSuffix = port && port !== "80" && port !== "443" ? `:${port}` : ""; const siteURL = `${protocol}//${hostname}${portSuffix}`; const [duration, setDuration] = useState("4h"); From 933830e17eff79417bc12f1d547a016bb47539e0 Mon Sep 17 00:00:00 2001 From: Carlos Monastyrski Date: Sat, 22 Nov 2025 00:33:30 -0300 Subject: [PATCH 028/109] Add self-sign certs support --- ...add-issuer-type-to-certificate-profiles.ts | 31 + .../db/schemas/pki-certificate-profiles.ts | 5 +- .../ee/services/audit-log/audit-log-types.ts | 1 + .../ee/services/pki-acme/pki-acme-service.ts | 11 + backend/src/server/routes/index.ts | 5 +- .../routes/v1/certificate-profiles-router.ts | 27 +- .../certificate-est-v3-service.ts | 18 + .../certificate-profile-dal.ts | 18 +- .../certificate-profile-schemas.ts | 42 +- .../certificate-profile-service.test.ts | 19 +- .../certificate-profile-service.ts | 51 +- .../certificate-profile-types.ts | 14 +- .../certificate-v3-service.test.ts | 97 ++- .../certificate-v3/certificate-v3-service.ts | 711 ++++++++++++++++-- .../certificate/certificate-service.ts | 16 + .../hooks/api/certificateProfiles/types.ts | 10 +- .../components/CertificatesTable.tsx | 2 +- .../CreateProfileModal.tsx | 117 ++- .../CertificateProfilesTab/ProfileList.tsx | 4 +- .../CertificateProfilesTab/ProfileRow.tsx | 21 +- 20 files changed, 1085 insertions(+), 135 deletions(-) create mode 100644 backend/src/db/migrations/20251121124532_add-issuer-type-to-certificate-profiles.ts diff --git a/backend/src/db/migrations/20251121124532_add-issuer-type-to-certificate-profiles.ts b/backend/src/db/migrations/20251121124532_add-issuer-type-to-certificate-profiles.ts new file mode 100644 index 0000000000..d718d5c979 --- /dev/null +++ b/backend/src/db/migrations/20251121124532_add-issuer-type-to-certificate-profiles.ts @@ -0,0 +1,31 @@ +import { Knex } from "knex"; + +import { TableName } from "../schemas"; + +export async function up(knex: Knex): Promise { + const hasIssuerTypeColumn = await knex.schema.hasColumn(TableName.PkiCertificateProfile, "issuerType"); + + if (!hasIssuerTypeColumn) { + await knex.schema.alterTable(TableName.PkiCertificateProfile, (t) => { + t.string("issuerType").notNullable().defaultTo("ca"); + }); + } + + await knex.schema.alterTable(TableName.PkiCertificateProfile, (t) => { + t.uuid("caId").nullable().alter(); + }); +} + +export async function down(knex: Knex): Promise { + const hasIssuerTypeColumn = await knex.schema.hasColumn(TableName.PkiCertificateProfile, "issuerType"); + + if (hasIssuerTypeColumn) { + await knex.schema.alterTable(TableName.PkiCertificateProfile, (t) => { + t.dropColumn("issuerType"); + }); + } + + await knex.schema.alterTable(TableName.PkiCertificateProfile, (t) => { + t.uuid("caId").notNullable().alter(); + }); +} diff --git a/backend/src/db/schemas/pki-certificate-profiles.ts b/backend/src/db/schemas/pki-certificate-profiles.ts index 04560bec67..c0dd891f0b 100644 --- a/backend/src/db/schemas/pki-certificate-profiles.ts +++ b/backend/src/db/schemas/pki-certificate-profiles.ts @@ -10,7 +10,7 @@ import { TImmutableDBKeys } from "./models"; export const PkiCertificateProfilesSchema = z.object({ id: z.string().uuid(), projectId: z.string(), - caId: z.string().uuid(), + caId: z.string().uuid().nullable().optional(), certificateTemplateId: z.string().uuid(), slug: z.string(), description: z.string().nullable().optional(), @@ -19,7 +19,8 @@ export const PkiCertificateProfilesSchema = z.object({ apiConfigId: z.string().uuid().nullable().optional(), createdAt: z.date(), updatedAt: z.date(), - acmeConfigId: z.string().uuid().nullable().optional() + acmeConfigId: z.string().uuid().nullable().optional(), + issuerType: z.string().default("ca") }); export type TPkiCertificateProfiles = z.infer; diff --git a/backend/src/ee/services/audit-log/audit-log-types.ts b/backend/src/ee/services/audit-log/audit-log-types.ts index ab5b126c67..ac7aa64041 100644 --- a/backend/src/ee/services/audit-log/audit-log-types.ts +++ b/backend/src/ee/services/audit-log/audit-log-types.ts @@ -2787,6 +2787,7 @@ interface CreateCertificateProfile { name: string; projectId: string; enrollmentType: string; + issuerType: string; }; } diff --git a/backend/src/ee/services/pki-acme/pki-acme-service.ts b/backend/src/ee/services/pki-acme/pki-acme-service.ts index 4f560ade76..c4fb0ab1c7 100644 --- a/backend/src/ee/services/pki-acme/pki-acme-service.ts +++ b/backend/src/ee/services/pki-acme/pki-acme-service.ts @@ -683,6 +683,13 @@ export const pkiAcmeServiceFactory = ({ payload: TFinalizeAcmeOrderPayload; }): Promise> => { const profile = (await certificateProfileDAL.findByIdWithConfigs(profileId))!; + + if (!profile.caId) { + throw new BadRequestError({ + message: "Self-signed certificates are not supported for ACME enrollment" + }); + } + let order = await acmeOrderDAL.findByAccountAndOrderIdWithAuthorizations(accountId, orderId); if (!order) { throw new NotFoundError({ message: "ACME order not found" }); @@ -732,6 +739,10 @@ export const pkiAcmeServiceFactory = ({ throw new AcmeBadCSRError({ message: "Invalid CSR: Common name + SANs mismatch with order identifiers" }); } + if (!profile.caId) { + throw new NotFoundError({ message: "Self-signed certificates are not supported for ACME enrollment" }); + } + const ca = await certificateAuthorityDAL.findByIdWithAssociatedCa(profile.caId); if (!ca) { throw new NotFoundError({ message: "Certificate Authority not found" }); diff --git a/backend/src/server/routes/index.ts b/backend/src/server/routes/index.ts index 2b2023eb2b..00771168cf 100644 --- a/backend/src/server/routes/index.ts +++ b/backend/src/server/routes/index.ts @@ -2219,7 +2219,10 @@ export const registerRoutes = async ( permissionService, certificateSyncDAL, pkiSyncDAL, - pkiSyncQueue + pkiSyncQueue, + kmsService, + projectDAL, + certificateBodyDAL }); const certificateV3Queue = certificateV3QueueServiceFactory({ diff --git a/backend/src/server/routes/v1/certificate-profiles-router.ts b/backend/src/server/routes/v1/certificate-profiles-router.ts index 5792c5e835..0f9fb25819 100644 --- a/backend/src/server/routes/v1/certificate-profiles-router.ts +++ b/backend/src/server/routes/v1/certificate-profiles-router.ts @@ -8,7 +8,7 @@ import { readLimit, writeLimit } from "@app/server/config/rateLimiter"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { AuthMode } from "@app/services/auth/auth-type"; import { CertStatus } from "@app/services/certificate/certificate-types"; -import { EnrollmentType } from "@app/services/certificate-profile/certificate-profile-types"; +import { EnrollmentType, IssuerType } from "@app/services/certificate-profile/certificate-profile-types"; export const registerCertificateProfilesRouter = async (server: FastifyZodProvider) => { server.route({ @@ -23,7 +23,7 @@ export const registerCertificateProfilesRouter = async (server: FastifyZodProvid body: z .object({ projectId: z.string().min(1), - caId: z.string().uuid(), + caId: z.string().uuid().optional(), certificateTemplateId: z.string().uuid(), slug: z .string() @@ -32,6 +32,7 @@ export const registerCertificateProfilesRouter = async (server: FastifyZodProvid .regex(new RE2("^[a-z0-9-]+$"), "Slug must contain only lowercase letters, numbers, and hyphens"), description: z.string().max(1000).optional(), enrollmentType: z.nativeEnum(EnrollmentType), + issuerType: z.nativeEnum(IssuerType).default(IssuerType.CA), estConfig: z .object({ disableBootstrapCaValidation: z.boolean().default(false), @@ -82,11 +83,26 @@ export const registerCertificateProfilesRouter = async (server: FastifyZodProvid return false; } } + + if (data.issuerType === IssuerType.CA) { + if (!data.caId) { + return false; + } + } + if (data.issuerType === IssuerType.SELF_SIGNED) { + if (data.caId) { + return false; + } + if (data.enrollmentType !== EnrollmentType.API) { + return false; + } + } + return true; }, { message: - "EST enrollment type requires EST configuration and cannot have API or ACME configuration. API enrollment type requires API configuration and cannot have EST or ACME configuration. ACME enrollment type requires ACME configuration and cannot have EST or API configuration." + "EST enrollment type requires EST configuration and cannot have API or ACME configuration. API enrollment type requires API configuration and cannot have EST or ACME configuration. ACME enrollment type requires ACME configuration and cannot have EST or API configuration. CA issuer type requires a CA ID. Self-signed issuer type cannot have a CA ID and only supports API enrollment." } ), response: { @@ -115,7 +131,8 @@ export const registerCertificateProfilesRouter = async (server: FastifyZodProvid certificateProfileId: certificateProfile.id, name: certificateProfile.slug, projectId: certificateProfile.projectId, - enrollmentType: certificateProfile.enrollmentType + enrollmentType: certificateProfile.enrollmentType, + issuerType: certificateProfile.issuerType } } }); @@ -139,6 +156,7 @@ export const registerCertificateProfilesRouter = async (server: FastifyZodProvid limit: z.coerce.number().min(1).max(100).default(20), search: z.string().optional(), enrollmentType: z.nativeEnum(EnrollmentType).optional(), + issuerType: z.nativeEnum(IssuerType).optional(), caId: z.string().uuid().optional() }), response: { @@ -339,6 +357,7 @@ export const registerCertificateProfilesRouter = async (server: FastifyZodProvid .optional(), description: z.string().max(1000).optional(), enrollmentType: z.nativeEnum(EnrollmentType).optional(), + issuerType: z.nativeEnum(IssuerType).optional(), estConfig: z .object({ disableBootstrapCaValidation: z.boolean().default(false), diff --git a/backend/src/services/certificate-est-v3/certificate-est-v3-service.ts b/backend/src/services/certificate-est-v3/certificate-est-v3-service.ts index 0d8ef30d0a..2499a18d20 100644 --- a/backend/src/services/certificate-est-v3/certificate-est-v3-service.ts +++ b/backend/src/services/certificate-est-v3/certificate-est-v3-service.ts @@ -67,6 +67,12 @@ export const certificateEstV3ServiceFactory = ({ throw new BadRequestError({ message: "EST enrollment not configured for this profile" }); } + if (!profile.caId) { + throw new BadRequestError({ + message: "Self-signed certificates are not supported for EST enrollment" + }); + } + const estConfig = await estEnrollmentConfigDAL.findById(profile.estConfigId); if (!estConfig) { throw new NotFoundError({ message: "EST configuration not found" }); @@ -169,6 +175,12 @@ export const certificateEstV3ServiceFactory = ({ throw new BadRequestError({ message: "EST enrollment not configured for this profile" }); } + if (!profile.caId) { + throw new BadRequestError({ + message: "Self-signed certificates are not supported for EST enrollment" + }); + } + const estConfig = await estEnrollmentConfigDAL.findById(profile.estConfigId); if (!estConfig) { throw new NotFoundError({ message: "EST configuration not found" }); @@ -281,6 +293,12 @@ export const certificateEstV3ServiceFactory = ({ throw new BadRequestError({ message: "EST enrollment not configured for this profile" }); } + if (!profile.caId) { + throw new BadRequestError({ + message: "Self-signed certificates are not supported for EST enrollment" + }); + } + const estConfig = await estEnrollmentConfigDAL.findById(profile.estConfigId); if (!estConfig) { throw new NotFoundError({ message: "EST configuration not found" }); diff --git a/backend/src/services/certificate-profile/certificate-profile-dal.ts b/backend/src/services/certificate-profile/certificate-profile-dal.ts index d2f468248f..dc74e2ea41 100644 --- a/backend/src/services/certificate-profile/certificate-profile-dal.ts +++ b/backend/src/services/certificate-profile/certificate-profile-dal.ts @@ -7,6 +7,7 @@ import { ormify, selectAllTableCols } from "@app/lib/knex"; import { EnrollmentType, + IssuerType, TCertificateProfile, TCertificateProfileCertificate, TCertificateProfileInsert, @@ -198,6 +199,7 @@ export const certificateProfileDALFactory = (db: TDbClient) => { slug: result.slug, description: result.description, enrollmentType: result.enrollmentType as EnrollmentType, + issuerType: result.issuerType as IssuerType, estConfigId: result.estConfigId, apiConfigId: result.apiConfigId, acmeConfigId: result.acmeConfigId, @@ -239,12 +241,13 @@ export const certificateProfileDALFactory = (db: TDbClient) => { limit?: number; search?: string; enrollmentType?: EnrollmentType; + issuerType?: IssuerType; caId?: string; } = {}, tx?: Knex ): Promise => { try { - const { offset = 0, limit = 20, search, enrollmentType, caId } = options; + const { offset = 0, limit = 20, search, enrollmentType, issuerType, caId } = options; let baseQuery = (tx || db)(TableName.PkiCertificateProfile).where( `${TableName.PkiCertificateProfile}.projectId`, @@ -269,6 +272,10 @@ export const certificateProfileDALFactory = (db: TDbClient) => { baseQuery = baseQuery.where(`${TableName.PkiCertificateProfile}.caId`, caId); } + if (issuerType) { + baseQuery = baseQuery.where(`${TableName.PkiCertificateProfile}.issuerType`, issuerType); + } + const query = baseQuery .leftJoin( TableName.PkiEstEnrollmentConfig, @@ -338,8 +345,10 @@ export const certificateProfileDALFactory = (db: TDbClient) => { slug: result.slug, description: result.description, enrollmentType: result.enrollmentType as EnrollmentType, + issuerType: result.issuerType as IssuerType, estConfigId: result.estConfigId, apiConfigId: result.apiConfigId, + acmeConfigId: result.acmeConfigId, createdAt: result.createdAt, updatedAt: result.updatedAt, estConfig, @@ -359,12 +368,13 @@ export const certificateProfileDALFactory = (db: TDbClient) => { options: { search?: string; enrollmentType?: EnrollmentType; + issuerType?: IssuerType; caId?: string; } = {}, tx?: Knex ): Promise => { try { - const { search, enrollmentType, caId } = options; + const { search, enrollmentType, issuerType, caId } = options; let query = (tx || db)(TableName.PkiCertificateProfile).where({ projectId }); @@ -384,6 +394,10 @@ export const certificateProfileDALFactory = (db: TDbClient) => { query = query.where({ caId }); } + if (issuerType) { + query = query.where({ issuerType }); + } + const result = await query.count("*").first(); return parseInt((result as unknown as { count: string }).count || "0", 10); } catch (error) { diff --git a/backend/src/services/certificate-profile/certificate-profile-schemas.ts b/backend/src/services/certificate-profile/certificate-profile-schemas.ts index bf88593bd0..dc5637475e 100644 --- a/backend/src/services/certificate-profile/certificate-profile-schemas.ts +++ b/backend/src/services/certificate-profile/certificate-profile-schemas.ts @@ -1,12 +1,17 @@ import RE2 from "re2"; import { z } from "zod"; -import { EnrollmentType } from "./certificate-profile-types"; +import { CertStatus } from "../certificate/certificate-types"; +import { EnrollmentType, IssuerType } from "./certificate-profile-types"; export const createCertificateProfileSchema = z .object({ projectId: z.string().uuid("Project ID must be valid"), - caId: z.string().uuid(), + caId: z + .union([z.string().uuid(), z.literal("")]) + .optional() + .nullable() + .transform((val) => (val === "" ? null : val)), certificateTemplateId: z.string().uuid(), slug: z .string() @@ -15,6 +20,7 @@ export const createCertificateProfileSchema = z .regex(new RE2("^[a-z0-9-]+$"), "Slug must contain only lowercase letters, numbers, and hyphens"), description: z.string().max(1000).optional(), enrollmentType: z.nativeEnum(EnrollmentType), + issuerType: z.nativeEnum(IssuerType).default(IssuerType.CA), estConfig: z .object({ disableBootstrapCaValidation: z.boolean().default(false), @@ -32,6 +38,7 @@ export const createCertificateProfileSchema = z }) .refine( (data) => { + // Validate enrollment type configurations if (data.enrollmentType === EnrollmentType.EST) { if (!data.estConfig) { return false; @@ -65,11 +72,26 @@ export const createCertificateProfileSchema = z return false; } } + + if (data.issuerType === IssuerType.CA) { + if (!data.caId) { + return false; + } + } + if (data.issuerType === IssuerType.SELF_SIGNED) { + if (data.caId) { + return false; + } + if (data.enrollmentType !== EnrollmentType.API) { + return false; + } + } + return true; }, { message: - "EST enrollment type requires EST configuration and cannot have API configuration. API enrollment type requires API configuration and cannot have EST configuration." + "EST enrollment type requires EST configuration and cannot have API configuration. API enrollment type requires API configuration and cannot have EST configuration. CA issuer type requires a CA ID. Self-signed issuer type cannot have a CA ID and only supports API enrollment." } ); @@ -83,6 +105,7 @@ export const updateCertificateProfileSchema = z .optional(), description: z.string().max(1000).optional(), enrollmentType: z.nativeEnum(EnrollmentType).optional(), + issuerType: z.nativeEnum(IssuerType).optional(), estConfig: z .object({ disableBootstrapCaValidation: z.boolean().default(false), @@ -109,10 +132,18 @@ export const updateCertificateProfileSchema = z return false; } } + + if (data.issuerType === IssuerType.SELF_SIGNED) { + if (data.enrollmentType && data.enrollmentType !== EnrollmentType.API) { + return false; + } + } + return true; }, { - message: "Cannot have EST config with API enrollment type or API config with EST enrollment type." + message: + "Cannot have EST config with API enrollment type or API config with EST enrollment type. Self-signed issuer type only supports API enrollment." } ); @@ -131,6 +162,7 @@ export const listCertificateProfilesSchema = z.object({ limit: z.coerce.number().min(1).max(100).default(20), search: z.string().optional(), enrollmentType: z.nativeEnum(EnrollmentType).optional(), + issuerType: z.nativeEnum(IssuerType).optional(), caId: z.string().uuid().optional() }); @@ -142,6 +174,6 @@ export const listCertificatesByProfileSchema = z.object({ profileId: z.string().uuid(), offset: z.coerce.number().min(0).default(0), limit: z.coerce.number().min(1).max(100).default(20), - status: z.enum(["active", "expired", "revoked"]).optional(), + status: z.nativeEnum(CertStatus).optional(), search: z.string().optional() }); diff --git a/backend/src/services/certificate-profile/certificate-profile-service.test.ts b/backend/src/services/certificate-profile/certificate-profile-service.test.ts index 3b75c10883..122dde8cdf 100644 --- a/backend/src/services/certificate-profile/certificate-profile-service.test.ts +++ b/backend/src/services/certificate-profile/certificate-profile-service.test.ts @@ -22,7 +22,12 @@ import type { TKmsServiceFactory } from "../kms/kms-service"; import type { TProjectDALFactory } from "../project/project-dal"; import type { TCertificateProfileDALFactory } from "./certificate-profile-dal"; import { certificateProfileServiceFactory, TCertificateProfileServiceFactory } from "./certificate-profile-service"; -import { EnrollmentType, TCertificateProfile, TCertificateProfileWithConfigs } from "./certificate-profile-types"; +import { + EnrollmentType, + IssuerType, + TCertificateProfile, + TCertificateProfileWithConfigs +} from "./certificate-profile-types"; vi.mock("@app/lib/crypto/cryptography", () => ({ crypto: { @@ -90,6 +95,7 @@ describe("CertificateProfileService", () => { description: "Test certificate profile", slug: "test-profile", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", apiConfigId: "api-config-123", @@ -272,6 +278,7 @@ describe("CertificateProfileService", () => { slug: "new-profile", description: "New test profile", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", apiConfig: { @@ -312,6 +319,7 @@ describe("CertificateProfileService", () => { slug: "new-profile", description: "New test profile", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", apiConfigId: "api-config-123", @@ -383,6 +391,7 @@ describe("CertificateProfileService", () => { slug: "invalid-profile", description: "Invalid test profile", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123" }; @@ -401,6 +410,7 @@ describe("CertificateProfileService", () => { slug: "api-profile", description: "Profile with API enrollment", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", apiConfig: { @@ -726,6 +736,7 @@ describe("CertificateProfileService", () => { slug: "est-profile", description: "Profile with EST enrollment", enrollmentType: EnrollmentType.EST, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", estConfig: { @@ -776,6 +787,7 @@ describe("CertificateProfileService", () => { slug: "different-profile-name", description: "Profile with duplicate slug", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", apiConfig: { @@ -801,6 +813,7 @@ describe("CertificateProfileService", () => { slug: "auto-renew-profile", description: "Profile with auto-renewal", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", apiConfig: { @@ -965,6 +978,7 @@ describe("CertificateProfileService", () => { slug: "invalid-template-profile", description: "Profile with invalid template", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "nonexistent-template", apiConfig: { @@ -990,6 +1004,7 @@ describe("CertificateProfileService", () => { slug: "concurrent-profile", description: "Profile created concurrently", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", apiConfig: { @@ -1018,6 +1033,7 @@ describe("CertificateProfileService", () => { slug: "cross-project-profile", description: "Profile using template from different project", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-456", apiConfig: { @@ -1047,6 +1063,7 @@ describe("CertificateProfileService", () => { slug: "invalid-slug-profile", description: "Profile with invalid slug format", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", apiConfig: { diff --git a/backend/src/services/certificate-profile/certificate-profile-service.ts b/backend/src/services/certificate-profile/certificate-profile-service.ts index 12e272ad65..0d36ab101d 100644 --- a/backend/src/services/certificate-profile/certificate-profile-service.ts +++ b/backend/src/services/certificate-profile/certificate-profile-service.ts @@ -32,6 +32,7 @@ import { getProjectKmsCertificateKeyId } from "../project/project-fns"; import { TCertificateProfileDALFactory } from "./certificate-profile-dal"; import { EnrollmentType, + IssuerType, TCertificateProfile, TCertificateProfileCertificate, TCertificateProfileInsert, @@ -39,6 +40,34 @@ import { TCertificateProfileWithConfigs } from "./certificate-profile-types"; +const validateIssuerTypeConstraints = ( + issuerType: IssuerType, + enrollmentType: EnrollmentType, + caId: string | null, + existingCaId?: string | null +) => { + if (issuerType === IssuerType.CA) { + if (!caId && !existingCaId) { + throw new ForbiddenRequestError({ + message: "CA issuer type requires a Certificate Authority to be selected" + }); + } + } + + if (issuerType === IssuerType.SELF_SIGNED) { + if (caId) { + throw new ForbiddenRequestError({ + message: "Self-signed issuer type cannot have a Certificate Authority" + }); + } + if (enrollmentType !== EnrollmentType.API) { + throw new ForbiddenRequestError({ + message: "Self-signed issuer type only supports API enrollment" + }); + } + } +}; + const generateAndEncryptAcmeEabSecret = async ( projectId: string, kmsService: Pick, @@ -163,7 +192,8 @@ export type TCertificateProfileServiceFactory = ReturnType): TCertificateProfile => { return { ...dalResult, - enrollmentType: dalResult.enrollmentType as EnrollmentType + enrollmentType: dalResult.enrollmentType as EnrollmentType, + issuerType: dalResult.issuerType as IssuerType } as TCertificateProfile; }; @@ -240,6 +270,8 @@ export const certificateProfileServiceFactory = ({ }); } + validateIssuerTypeConstraints(data.issuerType, data.enrollmentType, data.caId ?? null); + // Validate enrollment configuration requirements if (data.enrollmentType === EnrollmentType.EST && !data.estConfig) { throw new ForbiddenRequestError({ @@ -376,7 +408,18 @@ export const certificateProfileServiceFactory = ({ } } - const { estConfig, apiConfig, ...profileUpdateData } = data; + const finalIssuerType = data.issuerType || existingProfile.issuerType; + const finalEnrollmentType = data.enrollmentType || existingProfile.enrollmentType; + const finalCaId = data.caId !== undefined ? data.caId : existingProfile.caId; + + validateIssuerTypeConstraints(finalIssuerType, finalEnrollmentType, finalCaId ?? null, existingProfile.caId); + + const updatedData = + finalIssuerType === IssuerType.SELF_SIGNED && existingProfile.caId && data.issuerType === IssuerType.SELF_SIGNED + ? { ...data, caId: null } + : data; + + const { estConfig, apiConfig, ...profileUpdateData } = updatedData; const updatedProfile = await certificateProfileDAL.transaction(async (tx) => { if (estConfig && existingProfile.estConfigId) { @@ -569,6 +612,7 @@ export const certificateProfileServiceFactory = ({ limit = 20, search, enrollmentType, + issuerType, caId }: { actor: ActorType; @@ -580,6 +624,7 @@ export const certificateProfileServiceFactory = ({ limit?: number; search?: string; enrollmentType?: EnrollmentType; + issuerType?: IssuerType; caId?: string; }): Promise<{ profiles: TCertificateProfileWithConfigs[]; @@ -603,12 +648,14 @@ export const certificateProfileServiceFactory = ({ limit, search, enrollmentType, + issuerType, caId }); const totalCount = await certificateProfileDAL.countByProjectId(projectId, { search, enrollmentType, + issuerType, caId }); diff --git a/backend/src/services/certificate-profile/certificate-profile-types.ts b/backend/src/services/certificate-profile/certificate-profile-types.ts index 030548e972..85260b25db 100644 --- a/backend/src/services/certificate-profile/certificate-profile-types.ts +++ b/backend/src/services/certificate-profile/certificate-profile-types.ts @@ -10,16 +10,24 @@ export enum EnrollmentType { ACME = "acme" } -export type TCertificateProfile = Omit & { +export enum IssuerType { + CA = "ca", + SELF_SIGNED = "self-signed" +} + +export type TCertificateProfile = Omit & { enrollmentType: EnrollmentType; + issuerType: IssuerType; }; -export type TCertificateProfileInsert = Omit & { +export type TCertificateProfileInsert = Omit & { enrollmentType: EnrollmentType; + issuerType: IssuerType; }; -export type TCertificateProfileUpdate = Omit & { +export type TCertificateProfileUpdate = Omit & { enrollmentType?: EnrollmentType; + issuerType?: IssuerType; estConfig?: { disableBootstrapCaValidation?: boolean; passphrase?: string; diff --git a/backend/src/services/certificate-v3/certificate-v3-service.test.ts b/backend/src/services/certificate-v3/certificate-v3-service.test.ts index 6c664e324f..3214b1cbd2 100644 --- a/backend/src/services/certificate-v3/certificate-v3-service.test.ts +++ b/backend/src/services/certificate-v3/certificate-v3-service.test.ts @@ -22,7 +22,7 @@ import { CertSubjectAttributeType } from "@app/services/certificate-common/certificate-constants"; import { TCertificateProfileDALFactory } from "@app/services/certificate-profile/certificate-profile-dal"; -import { EnrollmentType } from "@app/services/certificate-profile/certificate-profile-types"; +import { EnrollmentType, IssuerType } from "@app/services/certificate-profile/certificate-profile-types"; import { TCertificateTemplateV2ServiceFactory } from "@app/services/certificate-template-v2/certificate-template-v2-service"; import { ActorType, AuthMethod } from "../auth/auth-type"; @@ -40,18 +40,29 @@ vi.mock("../certificate-common/certificate-csr-utils", () => ({ describe("CertificateV3Service", () => { let service: TCertificateV3ServiceFactory; - const mockCertificateDAL: Pick = { + const mockCertificateDAL: Pick< + TCertificateDALFactory, + "findOne" | "findById" | "updateById" | "transaction" | "create" + > = { findOne: vi.fn(), findById: vi.fn(), updateById: vi.fn(), + create: vi.fn().mockResolvedValue({ + id: "new-cert-id", + serialNumber: "123456789", + friendlyName: "Test Certificate", + commonName: "test.example.com", + status: "ACTIVE" + }), transaction: vi.fn().mockImplementation(async (callback: (tx: any) => Promise) => { const mockTx = {}; return callback(mockTx); }) }; - const mockCertificateSecretDAL: Pick = { - findOne: vi.fn() + const mockCertificateSecretDAL: Pick = { + findOne: vi.fn(), + create: vi.fn() }; const mockCertificateAuthorityDAL: Pick = { @@ -150,7 +161,24 @@ describe("CertificateV3Service", () => { }, pkiSyncQueue: { queuePkiSyncSyncCertificatesById: vi.fn().mockResolvedValue(undefined) - } + }, + certificateBodyDAL: { + create: vi.fn().mockResolvedValue({ id: "body-123" }) + }, + kmsService: { + generateKmsKey: vi.fn().mockResolvedValue("kms-key-123"), + encryptWithKmsKey: vi.fn().mockResolvedValue(vi.fn().mockResolvedValue(Buffer.from("encrypted"))), + decryptWithKmsKey: vi.fn().mockResolvedValue(vi.fn().mockResolvedValue(Buffer.from("decrypted"))) + }, + projectDAL: { + findOne: vi.fn().mockResolvedValue({ id: "project-123" }), + findById: vi.fn().mockResolvedValue({ id: "project-123" }), + updateById: vi.fn().mockResolvedValue({ id: "project-123" }), + transaction: vi.fn().mockImplementation(async (callback: (tx: any) => Promise) => { + const mockTx = {}; + return callback(mockTx); + }) + } as any }); }); @@ -175,6 +203,7 @@ describe("CertificateV3Service", () => { id: profileId, projectId: "project-123", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", createdAt: new Date(), @@ -319,6 +348,7 @@ describe("CertificateV3Service", () => { id: profileId, projectId: "project-123", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", createdAt: new Date(), @@ -508,6 +538,7 @@ describe("CertificateV3Service", () => { id: profileId, projectId: "project-123", enrollmentType: EnrollmentType.EST, // Wrong enrollment type + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", createdAt: new Date(), @@ -561,6 +592,7 @@ describe("CertificateV3Service", () => { id: profileId, projectId: "project-123", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", createdAt: new Date(), @@ -721,6 +753,7 @@ describe("CertificateV3Service", () => { id: profileId, projectId: "project-123", enrollmentType: EnrollmentType.EST, // Wrong enrollment type + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", createdAt: new Date(), @@ -772,6 +805,7 @@ describe("CertificateV3Service", () => { id: profileId, projectId: "project-123", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", createdAt: new Date(), @@ -933,6 +967,7 @@ describe("CertificateV3Service", () => { id: profileId, projectId: "project-123", enrollmentType: EnrollmentType.EST, // Wrong enrollment type + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", createdAt: new Date(), @@ -971,6 +1006,7 @@ describe("CertificateV3Service", () => { caId: "ca-1", certificateTemplateId: "template-1", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, createdAt: new Date(), updatedAt: new Date(), description: "Test profile for algorithm compatibility", @@ -1552,6 +1588,7 @@ describe("CertificateV3Service", () => { id: "profile-123", projectId: "project-123", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, caId: "ca-123", certificateTemplateId: "template-123", apiConfig: { @@ -1733,9 +1770,9 @@ describe("CertificateV3Service", () => { }); }); - it("should reject renewal if certificate is not from a profile", async () => { - const certWithoutProfile = { ...mockOriginalCert, profileId: null }; - vi.mocked(mockCertificateDAL.findById).mockResolvedValue(certWithoutProfile); + it("should reject renewal if certificate has no profile and no CA", async () => { + const certWithoutProfileAndCA = { ...mockOriginalCert, profileId: null, caId: null }; + vi.mocked(mockCertificateDAL.findById).mockResolvedValue(certWithoutProfileAndCA); // Set up transaction mock to properly handle errors vi.mocked(mockCertificateDAL.transaction).mockImplementation(async (callback: (tx: any) => Promise) => { @@ -1755,7 +1792,7 @@ describe("CertificateV3Service", () => { certificateId: "cert-123", ...mockActor }) - ).rejects.toThrow("Only certificates issued from a profile can be renewed"); + ).rejects.toThrow("Only certificates issued from a profile or self-signed certificates can be renewed"); }); it("should reject renewal if certificate was issued from CSR (external private key)", async () => { @@ -1989,6 +2026,44 @@ describe("CertificateV3Service", () => { expect(result).toHaveProperty("certificate", "renewed-cert"); }); + + it("should successfully renew self-signed certificate", async () => { + // Self-signed certificate has no caId and no profileId + const selfSignedCert = { + ...mockOriginalCert, + profileId: null, + certificateTemplateId: null, + caId: null + }; + + vi.mocked(mockCertificateDAL.findById).mockResolvedValue(selfSignedCert); + vi.mocked(mockCertificateAuthorityDAL.findByIdWithAssociatedCa).mockResolvedValue(mockCA); + vi.mocked(mockCertificateSecretDAL.findOne).mockResolvedValue({ id: "secret-123", certId: "cert-123" } as any); + vi.mocked(mockCertificateTemplateV2Service.getTemplateV2ById).mockResolvedValue(mockTemplate); + + const newCert = { + ...selfSignedCert, + id: "cert-456", + serialNumber: "self-signed-789012" + }; + vi.mocked(mockCertificateDAL.create).mockResolvedValue(newCert); + vi.mocked(mockCertificateDAL.findOne).mockResolvedValue(newCert); + vi.mocked(mockCertificateDAL.updateById).mockResolvedValue(newCert); + + // Set up transaction mock + vi.mocked(mockCertificateDAL.transaction).mockImplementation(async (callback: (tx: any) => Promise) => { + const mockTx = {}; + return callback(mockTx); + }); + + const result = await service.renewCertificate({ + certificateId: "cert-123", + ...mockActor + }); + + expect(result).toHaveProperty("certificate"); + expect(result).toHaveProperty("serialNumber"); + }); }); describe("updateRenewalConfig", () => { @@ -2008,6 +2083,7 @@ describe("CertificateV3Service", () => { const mockProfile = { id: "profile-123", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, projectId: "project-123" }; @@ -2084,6 +2160,7 @@ describe("CertificateV3Service", () => { const mockProfile = { id: "profile-123", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, projectId: "project-123" }; @@ -2129,6 +2206,7 @@ describe("CertificateV3Service", () => { const mockProfile = { id: "profile-123", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, projectId: "project-123" }; @@ -2172,6 +2250,7 @@ describe("CertificateV3Service", () => { const mockProfile = { id: "profile-123", enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, projectId: "project-123" }; diff --git a/backend/src/services/certificate-v3/certificate-v3-service.ts b/backend/src/services/certificate-v3/certificate-v3-service.ts index a537ddc06b..81e3129de8 100644 --- a/backend/src/services/certificate-v3/certificate-v3-service.ts +++ b/backend/src/services/certificate-v3/certificate-v3-service.ts @@ -1,8 +1,9 @@ import { ForbiddenError } from "@casl/ability"; +import * as x509 from "@peculiar/x509"; import { randomUUID } from "crypto"; import RE2 from "re2"; -import { ActionProjectType } from "@app/db/schemas"; +import { ActionProjectType, TCertificates } from "@app/db/schemas"; import { TPermissionServiceFactory } from "@app/ee/services/permission/permission-service-types"; import { ProjectPermissionCertificateActions, @@ -10,8 +11,11 @@ import { ProjectPermissionSub } from "@app/ee/services/permission/project-permission"; import { TPkiAcmeAccountDALFactory } from "@app/ee/services/pki-acme/pki-acme-account-dal"; +import { crypto } from "@app/lib/crypto/cryptography"; import { BadRequestError, ForbiddenRequestError, NotFoundError } from "@app/lib/errors"; +import { ms } from "@app/lib/ms"; import { ActorAuthMethod, ActorType } from "@app/services/auth/auth-type"; +import { TCertificateBodyDALFactory } from "@app/services/certificate/certificate-body-dal"; import { TCertificateDALFactory } from "@app/services/certificate/certificate-dal"; import { TCertificateSecretDALFactory } from "@app/services/certificate/certificate-secret-dal"; import { @@ -28,12 +32,25 @@ import { TCertificateAuthorityWithAssociatedCa } from "@app/services/certificate-authority/certificate-authority-dal"; import { CaStatus, CaType } from "@app/services/certificate-authority/certificate-authority-enums"; +import { + createDistinguishedName, + createSerialNumber, + keyAlgorithmToAlgCfg, + signatureAlgorithmToAlgCfg +} from "@app/services/certificate-authority/certificate-authority-fns"; import { TInternalCertificateAuthorityServiceFactory } from "@app/services/certificate-authority/internal/internal-certificate-authority-service"; import { TCertificateProfileDALFactory } from "@app/services/certificate-profile/certificate-profile-dal"; -import { EnrollmentType } from "@app/services/certificate-profile/certificate-profile-types"; +import { EnrollmentType, IssuerType } from "@app/services/certificate-profile/certificate-profile-types"; import { TCertificateTemplateV2ServiceFactory } from "@app/services/certificate-template-v2/certificate-template-v2-service"; +import { TKmsServiceFactory } from "@app/services/kms/kms-service"; +import { TProjectDALFactory } from "@app/services/project/project-dal"; +import { getProjectKmsCertificateKeyId } from "@app/services/project/project-fns"; -import { CertSubjectAlternativeNameType } from "../certificate-common/certificate-constants"; +import { + CertExtendedKeyUsageType, + CertKeyUsageType, + CertSubjectAlternativeNameType +} from "../certificate-common/certificate-constants"; import { extractAlgorithmsFromCSR, extractCertificateRequestFromCSR @@ -68,8 +85,9 @@ import { } from "./certificate-v3-types"; type TCertificateV3ServiceFactoryDep = { - certificateDAL: Pick; - certificateSecretDAL: Pick; + certificateDAL: Pick; + certificateBodyDAL: Pick; + certificateSecretDAL: Pick; certificateAuthorityDAL: Pick; certificateProfileDAL: Pick; acmeAccountDAL: Pick; @@ -85,6 +103,8 @@ type TCertificateV3ServiceFactoryDep = { >; pkiSyncDAL: Pick; pkiSyncQueue: Pick; + kmsService: Pick; + projectDAL: TProjectDALFactory; }; export type TCertificateV3ServiceFactory = ReturnType; @@ -329,6 +349,141 @@ const parseTtlToDays = (ttl: string): number => { } }; +const generateSelfSignedCertificate = async ({ + certificateRequest, + template, + effectiveSignatureAlgorithm, + effectiveKeyAlgorithm +}: { + certificateRequest: { + commonName?: string; + keyUsages?: CertKeyUsageType[]; + extendedKeyUsages?: CertExtendedKeyUsageType[]; + altNames?: Array<{ + type: CertSubjectAlternativeNameType; + value: string; + }>; + validity: { ttl: string }; + notBefore?: Date; + notAfter?: Date; + }; + template?: { + subject?: Array<{ + type: string; + allowed?: string[]; + required?: string[]; + denied?: string[]; + }>; + sans?: Array<{ + type: string; + allowed?: string[]; + required?: string[]; + denied?: string[]; + }>; + } | null; + effectiveSignatureAlgorithm: CertSignatureAlgorithm; + effectiveKeyAlgorithm: CertKeyAlgorithm; +}): Promise<{ + certificate: Buffer; + privateKey: Buffer; + serialNumber: string; + notBefore: Date; + notAfter: Date; + certificateSubject: Record; + subjectAlternativeNames: Array<{ + type: CertSubjectAlternativeNameType; + value: string; + }>; +}> => { + const certificateSubject = buildCertificateSubjectFromTemplate(certificateRequest, template?.subject); + const subjectAlternativeNames = buildSubjectAlternativeNamesFromTemplate( + { subjectAlternativeNames: certificateRequest.altNames }, + template?.sans + ); + + const keyGenAlg = keyAlgorithmToAlgCfg(effectiveKeyAlgorithm); + const keyPair = await crypto.nativeCrypto.subtle.generateKey(keyGenAlg, true, ["sign", "verify"]); + + const signatureAlgorithmConfig = signatureAlgorithmToAlgCfg(effectiveSignatureAlgorithm, effectiveKeyAlgorithm); + + const notBeforeDate = certificateRequest.notBefore ? new Date(certificateRequest.notBefore) : new Date(); + let notAfterDate = new Date(new Date().setFullYear(new Date().getFullYear() + 1)); + if (certificateRequest.notAfter) { + notAfterDate = new Date(certificateRequest.notAfter); + } else if (certificateRequest.validity.ttl) { + notAfterDate = new Date(new Date().getTime() + ms(certificateRequest.validity.ttl)); + } + + const serialNumber = createSerialNumber(); + const dn = createDistinguishedName({ + commonName: certificateSubject.common_name, + organization: certificateSubject.organization, + ou: certificateSubject.organizational_unit, + country: certificateSubject.country, + province: certificateSubject.state_or_province_name, + locality: certificateSubject.locality_name + }); + + const cert = await x509.X509CertificateGenerator.createSelfSigned({ + name: dn, + serialNumber, + notBefore: notBeforeDate, + notAfter: notAfterDate, + signingAlgorithm: signatureAlgorithmConfig, + keys: keyPair, + extensions: [ + new x509.BasicConstraintsExtension(false, undefined, false), + ...(certificateRequest.keyUsages?.length + ? [ + new x509.KeyUsagesExtension( + (convertKeyUsageArrayToLegacy(certificateRequest.keyUsages) || []).reduce( + // eslint-disable-next-line no-bitwise + (acc: number, usage) => acc | x509.KeyUsageFlags[usage], + 0 + ), + false + ) + ] + : []), + ...(certificateRequest.extendedKeyUsages?.length + ? [ + new x509.ExtendedKeyUsageExtension( + (convertExtendedKeyUsageArrayToLegacy(certificateRequest.extendedKeyUsages) || []).map( + (eku) => x509.ExtendedKeyUsage[eku] + ), + false + ) + ] + : []), + ...(subjectAlternativeNames + ? [ + new x509.SubjectAlternativeNameExtension( + certificateRequest.altNames?.map((san) => ({ + type: san.type === CertSubjectAlternativeNameType.DNS_NAME ? "dns" : "ip", + value: san.value + })) || [], + false + ) + ] + : []) + ] + }); + + const certificatePem = cert.toString("pem"); + const privateKeyObj = crypto.nativeCrypto.KeyObject.from(keyPair.privateKey); + const privateKeyPem = privateKeyObj.export({ format: "pem", type: "pkcs8" }) as string; + + return { + certificate: Buffer.from(certificatePem), + privateKey: Buffer.from(privateKeyPem), + serialNumber, + notBefore: notBeforeDate, + notAfter: notAfterDate, + certificateSubject, + subjectAlternativeNames: certificateRequest.altNames || [] + }; +}; + const calculateFinalRenewBeforeDays = ( profile: { apiConfig?: { autoRenew?: boolean; renewBeforeDays?: number } }, ttl: string, @@ -348,8 +503,248 @@ const calculateFinalRenewBeforeDays = ( return isValidRenewalTiming(renewBeforeDays, certificateExpiryDate) ? renewBeforeDays : undefined; }; +const getEffectiveAlgorithms = ( + requestSignatureAlgorithm?: CertSignatureAlgorithm, + requestKeyAlgorithm?: CertKeyAlgorithm, + originalSignatureAlgorithm?: CertSignatureAlgorithm, + originalKeyAlgorithm?: CertKeyAlgorithm +) => { + return { + signatureAlgorithm: requestSignatureAlgorithm || originalSignatureAlgorithm || CertSignatureAlgorithm.RSA_SHA256, + keyAlgorithm: requestKeyAlgorithm || originalKeyAlgorithm || CertKeyAlgorithm.RSA_2048 + }; +}; + +const createSelfSignedCertificateRecord = async ({ + selfSignedResult, + certificateRequest, + profile, + originalCert, + certificateDAL, + tx, + isRenewal = false +}: { + selfSignedResult: Awaited>; + certificateRequest: { + commonName?: string; + keyUsages?: CertKeyUsageType[]; + extendedKeyUsages?: CertExtendedKeyUsageType[]; + }; + profile?: { id: string; projectId: string } | null; + originalCert?: { + id: string; + friendlyName?: string | null; + commonName?: string | null; + projectId: string; + }; + certificateDAL: Pick; + tx: Parameters[1]; + isRenewal?: boolean; +}) => { + const subjectCommonName = + (selfSignedResult.certificateSubject.common_name as string) || + certificateRequest.commonName || + originalCert?.commonName || + (isRenewal ? "Renewed Self-signed Certificate" : "Self-signed Certificate"); + + const altNamesList = selfSignedResult.subjectAlternativeNames.map((san) => san.value).join(","); + + const projectId = originalCert?.projectId || profile?.projectId; + if (!projectId) { + throw new BadRequestError({ message: "Project ID is required for certificate creation" }); + } + + const baseRecord = { + serialNumber: selfSignedResult.serialNumber, + friendlyName: originalCert?.friendlyName || subjectCommonName, + commonName: subjectCommonName, + altNames: altNamesList, + status: CertStatus.ACTIVE, + notBefore: selfSignedResult.notBefore, + notAfter: selfSignedResult.notAfter, + projectId, + keyUsages: convertKeyUsageArrayToLegacy(certificateRequest.keyUsages) || [], + extendedKeyUsages: convertExtendedKeyUsageArrayToLegacy(certificateRequest.extendedKeyUsages) || [], + profileId: profile?.id || null + }; + + const renewalRecord = + isRenewal && originalCert + ? { + renewedFromCertificateId: originalCert.id + } + : {}; + + return certificateDAL.create( + { + ...baseRecord, + ...renewalRecord + }, + tx + ); +}; + +const createEncryptedCertificateData = async ({ + certificateId, + certificate, + privateKey, + projectId, + certificateBodyDAL, + certificateSecretDAL, + kmsService, + projectDAL, + tx +}: { + certificateId: string; + certificate: Buffer; + privateKey: Buffer; + projectId: string; + certificateBodyDAL: Pick; + certificateSecretDAL: Pick; + kmsService: Pick; + projectDAL: TProjectDALFactory; + tx: Parameters[1]; +}) => { + const certificateManagerKeyId = await getProjectKmsCertificateKeyId({ + projectId, + projectDAL, + kmsService + }); + + const kmsEncryptor = await kmsService.encryptWithKmsKey({ kmsId: certificateManagerKeyId }); + + const encryptedCertificate = await kmsEncryptor({ + plainText: certificate + }); + + await certificateBodyDAL.create( + { + certId: certificateId, + encryptedCertificate: encryptedCertificate.cipherTextBlob + }, + tx + ); + + const encryptedPrivateKey = await kmsEncryptor({ + plainText: privateKey + }); + + await certificateSecretDAL.create( + { + certId: certificateId, + encryptedPrivateKey: encryptedPrivateKey.cipherTextBlob + }, + tx + ); +}; + +const processSelfSignedCertificate = async ({ + certificateRequest, + template, + profile, + originalCert, + effectiveAlgorithms, + certificateDAL, + certificateBodyDAL, + certificateSecretDAL, + kmsService, + projectDAL, + tx, + isRenewal = false +}: { + certificateRequest: { + commonName?: string; + keyUsages?: CertKeyUsageType[]; + extendedKeyUsages?: CertExtendedKeyUsageType[]; + validity: { ttl: string }; + notBefore?: Date; + notAfter?: Date; + }; + template?: { + subject?: Array<{ + type: string; + allowed?: string[]; + required?: string[]; + denied?: string[]; + }>; + sans?: Array<{ + type: string; + allowed?: string[]; + required?: string[]; + denied?: string[]; + }>; + } | null; + profile?: { id: string; projectId: string } | null; + originalCert?: { + id: string; + friendlyName?: string | null; + commonName?: string | null; + projectId: string; + }; + effectiveAlgorithms: { + signatureAlgorithm: CertSignatureAlgorithm; + keyAlgorithm: CertKeyAlgorithm; + }; + certificateDAL: Pick; + certificateBodyDAL: Pick; + certificateSecretDAL: Pick; + kmsService: Pick; + projectDAL: TProjectDALFactory; + tx: Parameters[1]; + isRenewal?: boolean; +}) => { + const projectId = originalCert?.projectId || profile?.projectId; + if (!projectId) { + throw new BadRequestError({ message: "Project ID is required for certificate creation" }); + } + + const selfSignedResult = await generateSelfSignedCertificate({ + certificateRequest, + template, + effectiveSignatureAlgorithm: effectiveAlgorithms.signatureAlgorithm, + effectiveKeyAlgorithm: effectiveAlgorithms.keyAlgorithm + }); + + const certificateData = await createSelfSignedCertificateRecord({ + selfSignedResult, + certificateRequest, + profile, + originalCert, + certificateDAL, + tx, + isRenewal + }); + + await certificateDAL.updateById( + certificateData.id, + { + signatureAlgorithm: effectiveAlgorithms.signatureAlgorithm, + keyAlgorithm: effectiveAlgorithms.keyAlgorithm + }, + tx + ); + + await createEncryptedCertificateData({ + certificateId: certificateData.id, + certificate: Buffer.from(selfSignedResult.certificate), + privateKey: Buffer.from(selfSignedResult.privateKey), + projectId, + certificateBodyDAL, + certificateSecretDAL, + kmsService, + projectDAL, + tx + }); + + return { + selfSignedResult, + certificateData + }; +}; + export const certificateV3ServiceFactory = ({ certificateDAL, + certificateBodyDAL, certificateSecretDAL, certificateAuthorityDAL, certificateProfileDAL, @@ -359,7 +754,9 @@ export const certificateV3ServiceFactory = ({ permissionService, certificateSyncDAL, pkiSyncDAL, - pkiSyncQueue + pkiSyncQueue, + kmsService, + projectDAL }: TCertificateV3ServiceFactoryDep) => { const issueCertificateFromProfile = async ({ profileId, @@ -416,15 +813,6 @@ export const certificateV3ServiceFactory = ({ }); } - const ca = await certificateAuthorityDAL.findByIdWithAssociatedCa(profile.caId); - if (!ca) { - throw new NotFoundError({ message: "Certificate Authority not found" }); - } - - validateCaSupport(ca, "direct certificate issuance"); - - validateAlgorithmCompatibility(ca, template); - const effectiveSignatureAlgorithm = certificateRequest.signatureAlgorithm as CertSignatureAlgorithm | undefined; const effectiveKeyAlgorithm = certificateRequest.keyAlgorithm as CertKeyAlgorithm | undefined; @@ -440,12 +828,76 @@ export const certificateV3ServiceFactory = ({ }); } - const certificateSubject = buildCertificateSubjectFromTemplate(certificateRequest, template.subject); + const certificateSubject = buildCertificateSubjectFromTemplate(certificateRequest, template?.subject); const subjectAlternativeNames = buildSubjectAlternativeNamesFromTemplate( { subjectAlternativeNames: certificateRequest.altNames }, - template.sans + template?.sans ); + const issuerType = profile?.issuerType || (profile?.caId ? IssuerType.CA : IssuerType.SELF_SIGNED); + + if (issuerType === IssuerType.SELF_SIGNED) { + const result = await certificateDAL.transaction(async (tx) => { + const effectiveAlgorithms = getEffectiveAlgorithms(effectiveSignatureAlgorithm, effectiveKeyAlgorithm); + + return processSelfSignedCertificate({ + certificateRequest, + template, + profile, + effectiveAlgorithms, + certificateDAL, + certificateBodyDAL, + certificateSecretDAL, + kmsService, + projectDAL, + tx + }); + }); + + const { selfSignedResult, certificateData } = result; + + const subjectCommonName = + (selfSignedResult.certificateSubject.common_name as string) || + certificateRequest.commonName || + "Self-signed Certificate"; + + const finalRenewBeforeDays = calculateFinalRenewBeforeDays( + profile, + certificateRequest.validity.ttl, + selfSignedResult.notAfter + ); + + if (finalRenewBeforeDays !== undefined) { + await certificateDAL.updateById(certificateData.id, { + renewBeforeDays: finalRenewBeforeDays + }); + } + + return { + certificate: selfSignedResult.certificate.toString("utf8"), + issuingCaCertificate: "", + certificateChain: selfSignedResult.certificate.toString("utf8"), + privateKey: selfSignedResult.privateKey.toString("utf8"), + serialNumber: selfSignedResult.serialNumber, + certificateId: certificateData.id, + projectId: profile.projectId, + profileName: profile.slug, + commonName: subjectCommonName + }; + } + + if (!profile.caId) { + throw new NotFoundError({ message: "Certificate Authority ID not found" }); + } + + const ca = await certificateAuthorityDAL.findByIdWithAssociatedCa(profile.caId); + if (!ca) { + throw new NotFoundError({ message: "Certificate Authority not found" }); + } + + validateCaSupport(ca, "direct certificate issuance"); + validateAlgorithmCompatibility(ca, template); + const { certificate, certificateChain, issuingCaCertificate, privateKey, serialNumber } = await internalCaService.issueCertFromCa({ caId: ca.id, @@ -477,10 +929,11 @@ export const certificateV3ServiceFactory = ({ new Date(cert.notAfter) ); - await certificateDAL.updateById(cert.id, { - profileId, - renewBeforeDays: finalRenewBeforeDays - }); + const updateData: { profileId: string; renewBeforeDays?: number } = { profileId }; + if (finalRenewBeforeDays !== undefined) { + updateData.renewBeforeDays = finalRenewBeforeDays; + } + await certificateDAL.updateById(cert.id, updateData); let finalCertificateChain = bufferToString(certificateChain); if (removeRootsFromChain) { @@ -525,6 +978,12 @@ export const certificateV3ServiceFactory = ({ enrollmentType ); + if (!profile.caId) { + throw new BadRequestError({ + message: "Self-signed certificates are not supported for CSR signing" + }); + } + const ca = await certificateAuthorityDAL.findByIdWithAssociatedCa(profile.caId); if (!ca) { throw new NotFoundError({ message: "Certificate Authority not found" }); @@ -592,10 +1051,11 @@ export const certificateV3ServiceFactory = ({ const finalRenewBeforeDays = calculateFinalRenewBeforeDays(profile, validity.ttl, new Date(cert.notAfter)); - await certificateDAL.updateById(cert.id, { - profileId, - renewBeforeDays: finalRenewBeforeDays - }); + const updateData2: { profileId: string; renewBeforeDays?: number } = { profileId }; + if (finalRenewBeforeDays !== undefined) { + updateData2.renewBeforeDays = finalRenewBeforeDays; + } + await certificateDAL.updateById(cert.id, updateData2); const certificateString = extractCertificateFromBuffer(certificate as unknown as Buffer); let certificateChainString = extractCertificateFromBuffer(certificateChain as unknown as Buffer); @@ -663,6 +1123,12 @@ export const certificateV3ServiceFactory = ({ }); } + if (!profile.caId) { + throw new BadRequestError({ + message: "Self-signed certificates are not supported for certificate ordering" + }); + } + const ca = await certificateAuthorityDAL.findByIdWithAssociatedCa(profile.caId); if (!ca) { throw new NotFoundError({ message: "Certificate Authority not found" }); @@ -725,9 +1191,10 @@ export const certificateV3ServiceFactory = ({ throw new NotFoundError({ message: "Certificate not found" }); } - if (!originalCert.profileId) { + const isSelfSigned = !originalCert.profileId && !originalCert.caId && originalCert.certificateTemplateId === null; + if (!originalCert.profileId && !originalCert.caId && !isSelfSigned) { throw new ForbiddenRequestError({ - message: "Only certificates issued from a profile can be renewed" + message: "Only certificates issued from a profile or self-signed certificates can be renewed" }); } @@ -741,15 +1208,18 @@ export const certificateV3ServiceFactory = ({ }); } - const profile = await certificateProfileDAL.findByIdWithConfigs(originalCert.profileId); - if (!profile) { - throw new NotFoundError({ message: "Certificate profile not found" }); - } + let profile = null; + if (originalCert.profileId) { + profile = await certificateProfileDAL.findByIdWithConfigs(originalCert.profileId); + if (!profile) { + throw new NotFoundError({ message: "Certificate profile not found" }); + } - if (profile.enrollmentType !== EnrollmentType.API) { - throw new ForbiddenRequestError({ - message: "Certificate is not eligible for renewal: EST certificates cannot be renewed through this endpoint" - }); + if (profile.enrollmentType !== EnrollmentType.API) { + throw new ForbiddenRequestError({ + message: "Certificate is not eligible for renewal: EST certificates cannot be renewed through this endpoint" + }); + } } const certificateSecret = await certificateSecretDAL.findOne({ certId: originalCert.id }, tx); @@ -761,10 +1231,11 @@ export const certificateV3ServiceFactory = ({ } if (!internal) { + const projectId = profile?.projectId || originalCert.projectId; const { permission } = await permissionService.getProjectPermission({ actor, actorId, - projectId: profile.projectId, + projectId, actorAuthMethod, actorOrgId, actionProjectType: ActionProjectType.CertificateManager @@ -776,33 +1247,46 @@ export const certificateV3ServiceFactory = ({ ); } - const ca = await certificateAuthorityDAL.findByIdWithAssociatedCa(profile.caId); - if (!ca) { - throw new NotFoundError({ message: "Certificate Authority not found" }); + const issuerType = profile?.issuerType || (originalCert.caId ? IssuerType.CA : IssuerType.SELF_SIGNED); + + let ca; + if (issuerType === IssuerType.CA) { + const caId = profile?.caId || originalCert.caId; + if (!caId) { + throw new NotFoundError({ message: "Certificate Authority ID not found" }); + } + + ca = await certificateAuthorityDAL.findByIdWithAssociatedCa(caId); + if (!ca) { + throw new NotFoundError({ message: "Certificate Authority not found" }); + } + + const eligibilityCheck = validateRenewalEligibility(originalCert, ca); + if (!eligibilityCheck.isEligible) { + await certificateDAL.updateById(originalCert.id, { + renewalError: `Certificate is not eligible for renewal: ${eligibilityCheck.errors.join(", ")}` + }); + throw new BadRequestError({ + message: `Certificate is not eligible for renewal: ${eligibilityCheck.errors.join(", ")}` + }); + } + + validateCaSupport(ca, "direct certificate issuance"); } - const eligibilityCheck = validateRenewalEligibility(originalCert, ca); - if (!eligibilityCheck.isEligible) { - await certificateDAL.updateById(originalCert.id, { - renewalError: `Certificate is not eligible for renewal: ${eligibilityCheck.errors.join(", ")}` - }); - throw new BadRequestError({ - message: `Certificate is not eligible for renewal: ${eligibilityCheck.errors.join(", ")}` - }); - } + const templateId = profile?.certificateTemplateId || originalCert.certificateTemplateId; + const template = templateId + ? await certificateTemplateV2Service.getTemplateV2ById({ + actor, + actorId, + actorAuthMethod, + actorOrgId, + templateId, + internal + }) + : null; - validateCaSupport(ca, "direct certificate issuance"); - - const template = await certificateTemplateV2Service.getTemplateV2ById({ - actor, - actorId, - actorAuthMethod, - actorOrgId, - templateId: profile.certificateTemplateId, - internal - }); - - if (!template) { + if (!template && profile) { throw new NotFoundError({ message: "Certificate template not found for this profile" }); } @@ -857,10 +1341,13 @@ export const certificateV3ServiceFactory = ({ keyAlgorithm: originalCert.keyAlgorithm || undefined }; - const validationResult = await certificateTemplateV2Service.validateCertificateRequest( - profile.certificateTemplateId, - certificateRequest - ); + let validationResult: { isValid: boolean; errors: string[] } = { isValid: true, errors: [] }; + if (profile?.certificateTemplateId) { + validationResult = await certificateTemplateV2Service.validateCertificateRequest( + profile.certificateTemplateId, + certificateRequest + ); + } if (!validationResult.isValid) { await certificateDAL.updateById(originalCert.id, { @@ -872,14 +1359,28 @@ export const certificateV3ServiceFactory = ({ }); } - validateAlgorithmCompatibility(ca, template); const notBefore = new Date(); const notAfter = new Date(Date.now() + parseTtlToDays(ttl) * 24 * 60 * 60 * 1000); - const finalRenewBeforeDays = calculateFinalRenewBeforeDays(profile, ttl, notAfter); + const finalRenewBeforeDays = profile ? calculateFinalRenewBeforeDays(profile, ttl, notAfter) : undefined; - const { certificate, certificateChain, issuingCaCertificate, serialNumber } = - await internalCaService.issueCertFromCa({ + let certificate: string; + let certificateChain: string; + let issuingCaCertificate: string; + let serialNumber: string; + let newCert: TCertificates; + + if (issuerType === IssuerType.CA) { + // CA-signed certificate renewal + if (!ca) { + throw new NotFoundError({ message: "Certificate Authority not found for CA-signed certificate renewal" }); + } + + validateAlgorithmCompatibility(ca, { + algorithms: template?.algorithms + } as { algorithms?: { signature?: string[] } }); + + const caResult = await internalCaService.issueCertFromCa({ caId: ca.id, friendlyName: originalCert.friendlyName || originalCert.commonName || "Renewed Certificate", commonName: originalCert.commonName || "", @@ -900,20 +1401,72 @@ export const certificateV3ServiceFactory = ({ tx }); - const newCert = await certificateDAL.findOne({ serialNumber, caId: ca.id }, tx); + certificate = caResult.certificate; + certificateChain = caResult.certificateChain; + issuingCaCertificate = caResult.issuingCaCertificate; + serialNumber = caResult.serialNumber; + + const foundCert = await certificateDAL.findOne({ serialNumber, caId: ca.id }, tx); + if (!foundCert) { + throw new NotFoundError({ message: "Certificate was signed but could not be found in database" }); + } + newCert = foundCert; + } else { + // Self-signed certificate renewal + const effectiveAlgorithms = getEffectiveAlgorithms( + undefined, + undefined, + originalSignatureAlgorithm, + originalKeyAlgorithm + ); + + const selfSignedRenewalResult = await processSelfSignedCertificate({ + certificateRequest, + template, + profile, + originalCert, + effectiveAlgorithms, + certificateDAL, + certificateBodyDAL, + certificateSecretDAL, + kmsService, + projectDAL, + tx, + isRenewal: true + }); + + certificate = selfSignedRenewalResult.selfSignedResult.certificate.toString("utf8"); + certificateChain = selfSignedRenewalResult.selfSignedResult.certificate.toString("utf8"); // Self-signed has no chain + issuingCaCertificate = ""; // No issuing CA for self-signed + serialNumber = selfSignedRenewalResult.selfSignedResult.serialNumber; + newCert = selfSignedRenewalResult.certificateData; + } + if (!newCert) { throw new NotFoundError({ message: "Certificate was signed but could not be found in database" }); } - await certificateDAL.updateById( - newCert.id, - { - profileId: originalCert.profileId, - renewBeforeDays: finalRenewBeforeDays, + // For self-signed certificates, we already set the renewal data during creation + // For CA-signed certificates, we need to set it now + if (issuerType === IssuerType.CA) { + const renewalUpdateData: { + profileId: string | null; + renewedFromCertificateId: string; + renewBeforeDays?: number; + } = { + profileId: originalCert.profileId || null, renewedFromCertificateId: originalCert.id - }, - tx - ); + }; + + if (finalRenewBeforeDays !== undefined) { + renewalUpdateData.renewBeforeDays = finalRenewBeforeDays; + } + + await certificateDAL.updateById(newCert.id, renewalUpdateData, tx); + } else if (finalRenewBeforeDays !== undefined) { + // For self-signed certificates, just update the renewBeforeDays if needed + await certificateDAL.updateById(newCert.id, { renewBeforeDays: finalRenewBeforeDays }, tx); + } await certificateDAL.updateById( originalCert.id, @@ -953,8 +1506,8 @@ export const certificateV3ServiceFactory = ({ certificateChain: finalCertificateChain, serialNumber: renewalResult.serialNumber, certificateId: renewalResult.newCert.id, - projectId: renewalResult.profile.projectId, - profileName: renewalResult.profile.slug, + projectId: renewalResult.originalCert.projectId, + profileName: renewalResult.profile?.slug || "Self-signed Certificate", commonName: renewalResult.originalCert.commonName || "" }; }; diff --git a/backend/src/services/certificate/certificate-service.ts b/backend/src/services/certificate/certificate-service.ts index b632e76fb3..515ee3ee05 100644 --- a/backend/src/services/certificate/certificate-service.ts +++ b/backend/src/services/certificate/certificate-service.ts @@ -309,6 +309,14 @@ export const certificateServiceFactory = ({ const certBody = await certificateBodyDAL.findOne({ certId: cert.id }); + if (!certBody) { + throw new NotFoundError({ message: "Certificate body not found" }); + } + + if (!certBody.encryptedCertificate) { + throw new BadRequestError({ message: "Certificate data not available" }); + } + const certificateManagerKeyId = await getProjectKmsCertificateKeyId({ projectId: cert.projectId, projectDAL, @@ -599,6 +607,14 @@ export const certificateServiceFactory = ({ const certBody = await certificateBodyDAL.findOne({ certId: cert.id }); + if (!certBody) { + throw new NotFoundError({ message: "Certificate body not found" }); + } + + if (!certBody.encryptedCertificate) { + throw new BadRequestError({ message: "Certificate data not available" }); + } + const certificateManagerKeyId = await getProjectKmsCertificateKeyId({ projectId: cert.projectId, projectDAL, diff --git a/frontend/src/hooks/api/certificateProfiles/types.ts b/frontend/src/hooks/api/certificateProfiles/types.ts index c2b38e8e84..35e50a9f47 100644 --- a/frontend/src/hooks/api/certificateProfiles/types.ts +++ b/frontend/src/hooks/api/certificateProfiles/types.ts @@ -1,11 +1,12 @@ export type TCertificateProfile = { id: string; projectId: string; - caId: string; + caId: string | null; certificateTemplateId: string; slug: string; description?: string; enrollmentType: "api" | "est" | "acme"; + issuerType: "ca" | "self-signed"; estConfigId?: string; apiConfigId?: string; createdAt: string; @@ -44,11 +45,12 @@ export type TCertificateProfileWithDetails = TCertificateProfile & { export type TCreateCertificateProfileDTO = { projectId: string; - caId: string; + caId?: string; certificateTemplateId: string; slug: string; description?: string; enrollmentType: "api" | "est" | "acme"; + issuerType: "ca" | "self-signed"; estConfig?: { disableBootstrapCaValidation?: boolean; passphrase: string; @@ -65,6 +67,8 @@ export type TUpdateCertificateProfileDTO = { profileId: string; slug?: string; description?: string; + enrollmentType?: "api" | "est" | "acme"; + issuerType?: "ca" | "self-signed"; estConfig?: { disableBootstrapCaValidation?: boolean; passphrase?: string; @@ -88,6 +92,8 @@ export type TListCertificateProfilesDTO = { search?: string; includeConfigs?: boolean; enrollmentType?: "api" | "est" | "acme"; + issuerType?: "ca" | "self-signed"; + caId?: string; }; export type TGetCertificateProfileByIdDTO = { diff --git a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx index a601427629..39b43129ca 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificatesTable.tsx @@ -416,7 +416,7 @@ export const CertificatesTable = ({ handlePopUpOpen }: Props) => { {/* Manual renewal action for profile-issued certificates that are not revoked/expired (including failed ones) */} {(() => { const canRenew = - certificate.profileId && + (certificate.profileId || certificate.caId) && certificate.hasPrivateKey !== false && !certificate.renewedByCertificateId && !isRevoked && diff --git a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/CreateProfileModal.tsx b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/CreateProfileModal.tsx index 516b642883..612fde6348 100644 --- a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/CreateProfileModal.tsx +++ b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/CreateProfileModal.tsx @@ -47,7 +47,8 @@ const createSchema = z .max(1000, "Description must be less than 1000 characters") .optional(), enrollmentType: z.enum(["api", "est", "acme"]), - certificateAuthorityId: z.string().min(1, "Certificate Authority is required"), + issuerType: z.enum(["ca", "self-signed"]), + certificateAuthorityId: z.string().nullable().optional(), certificateTemplateId: z.string().min(1, "Certificate Template is required"), estConfig: z .object({ @@ -87,10 +88,21 @@ const createSchema = z if (data.enrollmentType === "acme" && !data.acmeConfig) { return false; } + + if (data.issuerType === "ca" && !data.certificateAuthorityId) { + return false; + } + if (data.issuerType === "self-signed" && data.certificateAuthorityId) { + return false; + } + if (data.issuerType === "self-signed" && data.enrollmentType !== "api") { + return false; + } + return true; }, { - message: "Configuration is required for selected enrollment type" + message: "Configuration is required for selected enrollment type and issuer type" } ); @@ -111,7 +123,8 @@ const editSchema = z .max(1000, "Description must be less than 1000 characters") .optional(), enrollmentType: z.enum(["api", "est", "acme"]), - certificateAuthorityId: z.string().optional(), + issuerType: z.enum(["ca", "self-signed"]), + certificateAuthorityId: z.string().nullable().optional(), certificateTemplateId: z.string().optional(), estConfig: z .object({ @@ -139,10 +152,22 @@ const editSchema = z if (data.enrollmentType === "acme" && !data.acmeConfig) { return false; } + + if (data.issuerType === "ca" && !data.certificateAuthorityId) { + return false; + } + if (data.issuerType === "self-signed" && data.certificateAuthorityId) { + return false; + } + if (data.issuerType === "self-signed" && data.enrollmentType !== "api") { + return false; + } + return true; }, { - message: "Configuration is required for selected enrollment type" + message: + "Configuration is required for selected enrollment type and issuer type. CA issuer requires a certificate authority. Self-signed issuer cannot have a certificate authority and only supports API enrollment." } ); @@ -193,7 +218,8 @@ export const CreateProfileModal = ({ slug: profile.slug, description: profile.description || "", enrollmentType: profile.enrollmentType, - certificateAuthorityId: profile.caId, + issuerType: profile.issuerType, + certificateAuthorityId: profile.caId || undefined, certificateTemplateId: profile.certificateTemplateId, estConfig: profile.enrollmentType === "est" @@ -217,6 +243,7 @@ export const CreateProfileModal = ({ slug: "", description: "", enrollmentType: "api", + issuerType: "ca", certificateAuthorityId: "", certificateTemplateId: "", apiConfig: { @@ -228,6 +255,7 @@ export const CreateProfileModal = ({ }); const watchedEnrollmentType = watch("enrollmentType"); + const watchedIssuerType = watch("issuerType"); const watchedDisableBootstrapValidation = watch("estConfig.disableBootstrapCaValidation"); const watchedAutoRenew = watch("apiConfig.autoRenew"); @@ -237,7 +265,8 @@ export const CreateProfileModal = ({ slug: profile.slug, description: profile.description || "", enrollmentType: profile.enrollmentType, - certificateAuthorityId: profile.caId, + issuerType: profile.issuerType, + certificateAuthorityId: profile.caId || undefined, certificateTemplateId: profile.certificateTemplateId, estConfig: profile.enrollmentType === "est" @@ -276,7 +305,8 @@ export const CreateProfileModal = ({ const updateData: TUpdateCertificateProfileDTO = { profileId: profile.id, slug: data.slug, - description: data.description + description: data.description, + issuerType: data.issuerType }; if (data.enrollmentType === "est" && data.estConfig) { @@ -298,7 +328,9 @@ export const CreateProfileModal = ({ slug: data.slug, description: data.description, enrollmentType: data.enrollmentType, - caId: data.certificateAuthorityId, + issuerType: data.issuerType, + caId: + data.issuerType === "self-signed" ? undefined : data.certificateAuthorityId || undefined, certificateTemplateId: data.certificateTemplateId }; @@ -372,34 +404,73 @@ export const CreateProfileModal = ({ ( )} /> + {watchedIssuerType === "ca" && ( + ( + + + + )} + /> + )} + API - EST - ACME + + EST + + + ACME + )} diff --git a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileList.tsx b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileList.tsx index 7b1ac187a8..ed042c07ed 100644 --- a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileList.tsx +++ b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileList.tsx @@ -47,6 +47,7 @@ export const ProfileList = ({ Name Enrollment Method + Issuer Type Issuing CA Certificate Template @@ -54,7 +55,7 @@ export const ProfileList = ({ - + @@ -71,6 +72,7 @@ export const ProfileList = ({ Name Enrollment Method + Issuer Type Issuing CA Certificate Template diff --git a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx index 009ebe1a48..df2a15a7c6 100644 --- a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx +++ b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx @@ -49,7 +49,7 @@ export const ProfileRow = ({ }: Props) => { const { permission } = useProjectPermission(); - const { data: caData } = useGetCaById(profile.caId); + const { data: caData } = useGetCaById(profile.caId || ""); const { popUp, handlePopUpToggle } = usePopUp(["issueCertificate"] as const); @@ -106,6 +106,20 @@ export const ProfileRow = ({ return {label}; }; + const getIssuerTypeBadge = (issuerType: string) => { + const config = { + ca: { variant: "success" as const, label: "CA" }, + "self-signed": { variant: "info" as const, label: "Self-Signed" } + } as const; + + const configKey = Object.keys(config).includes(issuerType) + ? (issuerType as keyof typeof config) + : "ca"; + const { variant, label } = config[configKey]; + + return {label}; + }; + return ( @@ -119,9 +133,12 @@ export const ProfileRow = ({
{getEnrollmentTypeBadge(profile.enrollmentType)} + {getIssuerTypeBadge(profile.issuerType)} - {caData?.friendlyName || caData?.commonName || profile.caId} + {profile.issuerType === "self-signed" + ? "—" + : caData?.friendlyName || caData?.commonName || profile.caId} From 0f32784834a415d0dc62317243d9964114f2ca94 Mon Sep 17 00:00:00 2001 From: Carlos Monastyrski Date: Sat, 22 Nov 2025 00:41:11 -0300 Subject: [PATCH 029/109] Remove redundant test --- .../certificate-v3-service.test.ts | 38 ------------------- 1 file changed, 38 deletions(-) diff --git a/backend/src/services/certificate-v3/certificate-v3-service.test.ts b/backend/src/services/certificate-v3/certificate-v3-service.test.ts index 3214b1cbd2..f4c23616e4 100644 --- a/backend/src/services/certificate-v3/certificate-v3-service.test.ts +++ b/backend/src/services/certificate-v3/certificate-v3-service.test.ts @@ -2026,44 +2026,6 @@ describe("CertificateV3Service", () => { expect(result).toHaveProperty("certificate", "renewed-cert"); }); - - it("should successfully renew self-signed certificate", async () => { - // Self-signed certificate has no caId and no profileId - const selfSignedCert = { - ...mockOriginalCert, - profileId: null, - certificateTemplateId: null, - caId: null - }; - - vi.mocked(mockCertificateDAL.findById).mockResolvedValue(selfSignedCert); - vi.mocked(mockCertificateAuthorityDAL.findByIdWithAssociatedCa).mockResolvedValue(mockCA); - vi.mocked(mockCertificateSecretDAL.findOne).mockResolvedValue({ id: "secret-123", certId: "cert-123" } as any); - vi.mocked(mockCertificateTemplateV2Service.getTemplateV2ById).mockResolvedValue(mockTemplate); - - const newCert = { - ...selfSignedCert, - id: "cert-456", - serialNumber: "self-signed-789012" - }; - vi.mocked(mockCertificateDAL.create).mockResolvedValue(newCert); - vi.mocked(mockCertificateDAL.findOne).mockResolvedValue(newCert); - vi.mocked(mockCertificateDAL.updateById).mockResolvedValue(newCert); - - // Set up transaction mock - vi.mocked(mockCertificateDAL.transaction).mockImplementation(async (callback: (tx: any) => Promise) => { - const mockTx = {}; - return callback(mockTx); - }); - - const result = await service.renewCertificate({ - certificateId: "cert-123", - ...mockActor - }); - - expect(result).toHaveProperty("certificate"); - expect(result).toHaveProperty("serialNumber"); - }); }); describe("updateRenewalConfig", () => { From c0060c1d220b321cb8806a82a41abc54b7e738aa Mon Sep 17 00:00:00 2001 From: Carlos Monastyrski Date: Sat, 22 Nov 2025 01:14:10 -0300 Subject: [PATCH 030/109] Address greptile comments --- ...20251121124532_add-issuer-type-to-certificate-profiles.ts | 4 ---- .../certificate-profile/certificate-profile-service.ts | 4 +--- .../services/certificate-v3/certificate-v3-service.test.ts | 2 +- .../src/services/certificate-v3/certificate-v3-service.ts | 5 ++--- .../components/CertificateProfilesTab/ProfileRow.tsx | 2 +- 5 files changed, 5 insertions(+), 12 deletions(-) diff --git a/backend/src/db/migrations/20251121124532_add-issuer-type-to-certificate-profiles.ts b/backend/src/db/migrations/20251121124532_add-issuer-type-to-certificate-profiles.ts index d718d5c979..61dcdb12ee 100644 --- a/backend/src/db/migrations/20251121124532_add-issuer-type-to-certificate-profiles.ts +++ b/backend/src/db/migrations/20251121124532_add-issuer-type-to-certificate-profiles.ts @@ -24,8 +24,4 @@ export async function down(knex: Knex): Promise { t.dropColumn("issuerType"); }); } - - await knex.schema.alterTable(TableName.PkiCertificateProfile, (t) => { - t.uuid("caId").notNullable().alter(); - }); } diff --git a/backend/src/services/certificate-profile/certificate-profile-service.ts b/backend/src/services/certificate-profile/certificate-profile-service.ts index 0d36ab101d..0ce3ca9b63 100644 --- a/backend/src/services/certificate-profile/certificate-profile-service.ts +++ b/backend/src/services/certificate-profile/certificate-profile-service.ts @@ -415,9 +415,7 @@ export const certificateProfileServiceFactory = ({ validateIssuerTypeConstraints(finalIssuerType, finalEnrollmentType, finalCaId ?? null, existingProfile.caId); const updatedData = - finalIssuerType === IssuerType.SELF_SIGNED && existingProfile.caId && data.issuerType === IssuerType.SELF_SIGNED - ? { ...data, caId: null } - : data; + finalIssuerType === IssuerType.SELF_SIGNED && existingProfile.caId ? { ...data, caId: null } : data; const { estConfig, apiConfig, ...profileUpdateData } = updatedData; diff --git a/backend/src/services/certificate-v3/certificate-v3-service.test.ts b/backend/src/services/certificate-v3/certificate-v3-service.test.ts index f4c23616e4..93291b0517 100644 --- a/backend/src/services/certificate-v3/certificate-v3-service.test.ts +++ b/backend/src/services/certificate-v3/certificate-v3-service.test.ts @@ -1792,7 +1792,7 @@ describe("CertificateV3Service", () => { certificateId: "cert-123", ...mockActor }) - ).rejects.toThrow("Only certificates issued from a profile or self-signed certificates can be renewed"); + ).rejects.toThrow("Only certificates issued from a profile can be renewed"); }); it("should reject renewal if certificate was issued from CSR (external private key)", async () => { diff --git a/backend/src/services/certificate-v3/certificate-v3-service.ts b/backend/src/services/certificate-v3/certificate-v3-service.ts index 81e3129de8..b4bad0f769 100644 --- a/backend/src/services/certificate-v3/certificate-v3-service.ts +++ b/backend/src/services/certificate-v3/certificate-v3-service.ts @@ -1191,10 +1191,9 @@ export const certificateV3ServiceFactory = ({ throw new NotFoundError({ message: "Certificate not found" }); } - const isSelfSigned = !originalCert.profileId && !originalCert.caId && originalCert.certificateTemplateId === null; - if (!originalCert.profileId && !originalCert.caId && !isSelfSigned) { + if (!originalCert.profileId) { throw new ForbiddenRequestError({ - message: "Only certificates issued from a profile or self-signed certificates can be renewed" + message: "Only certificates issued from a profile can be renewed" }); } diff --git a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx index df2a15a7c6..60057d40eb 100644 --- a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx +++ b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx @@ -49,7 +49,7 @@ export const ProfileRow = ({ }: Props) => { const { permission } = useProjectPermission(); - const { data: caData } = useGetCaById(profile.caId || ""); + const { data: caData } = useGetCaById(profile.caId ?? ""); const { popUp, handlePopUpToggle } = usePopUp(["issueCertificate"] as const); From d69a2db80c9f1cb5b9e1a58cf3e1954a928b5f42 Mon Sep 17 00:00:00 2001 From: Carlos Monastyrski Date: Mon, 24 Nov 2025 11:20:21 -0300 Subject: [PATCH 031/109] Minor improvements on self signed certificates --- .../ee/services/pki-acme/pki-acme-service.ts | 6 +- .../routes/v1/certificate-profiles-router.ts | 138 ++++++--- .../certificate-profile-schemas.ts | 186 +++++++----- .../certificate-v3/certificate-v3-service.ts | 59 +++- .../hooks/api/certificateProfiles/index.ts | 2 +- .../hooks/api/certificateProfiles/types.ts | 27 +- .../components/CertificateIssuanceModal.tsx | 4 +- .../CreateProfileModal.tsx | 277 +++++++++++++----- .../CertificateProfilesTab/ProfileList.tsx | 8 +- .../CertificateProfilesTab/ProfileRow.tsx | 21 +- 10 files changed, 491 insertions(+), 237 deletions(-) diff --git a/backend/src/ee/services/pki-acme/pki-acme-service.ts b/backend/src/ee/services/pki-acme/pki-acme-service.ts index c4fb0ab1c7..d24ed53946 100644 --- a/backend/src/ee/services/pki-acme/pki-acme-service.ts +++ b/backend/src/ee/services/pki-acme/pki-acme-service.ts @@ -739,11 +739,7 @@ export const pkiAcmeServiceFactory = ({ throw new AcmeBadCSRError({ message: "Invalid CSR: Common name + SANs mismatch with order identifiers" }); } - if (!profile.caId) { - throw new NotFoundError({ message: "Self-signed certificates are not supported for ACME enrollment" }); - } - - const ca = await certificateAuthorityDAL.findByIdWithAssociatedCa(profile.caId); + const ca = await certificateAuthorityDAL.findByIdWithAssociatedCa(profile.caId!); if (!ca) { throw new NotFoundError({ message: "Certificate Authority not found" }); } diff --git a/backend/src/server/routes/v1/certificate-profiles-router.ts b/backend/src/server/routes/v1/certificate-profiles-router.ts index 0f9fb25819..b23dd1fee2 100644 --- a/backend/src/server/routes/v1/certificate-profiles-router.ts +++ b/backend/src/server/routes/v1/certificate-profiles-router.ts @@ -51,58 +51,100 @@ export const registerCertificateProfilesRouter = async (server: FastifyZodProvid .refine( (data) => { if (data.enrollmentType === EnrollmentType.EST) { - if (!data.estConfig) { - return false; - } - if (data.apiConfig) { - return false; - } - if (data.acmeConfig) { - return false; - } + return !!data.estConfig; } - if (data.enrollmentType === EnrollmentType.API) { - if (!data.apiConfig) { - return false; - } - if (data.estConfig) { - return false; - } - if (data.acmeConfig) { - return false; - } - } - if (data.enrollmentType === EnrollmentType.ACME) { - if (!data.acmeConfig) { - return false; - } - if (data.estConfig) { - return false; - } - if (data.apiConfig) { - return false; - } - } - - if (data.issuerType === IssuerType.CA) { - if (!data.caId) { - return false; - } - } - if (data.issuerType === IssuerType.SELF_SIGNED) { - if (data.caId) { - return false; - } - if (data.enrollmentType !== EnrollmentType.API) { - return false; - } - } - return true; }, { - message: - "EST enrollment type requires EST configuration and cannot have API or ACME configuration. API enrollment type requires API configuration and cannot have EST or ACME configuration. ACME enrollment type requires ACME configuration and cannot have EST or API configuration. CA issuer type requires a CA ID. Self-signed issuer type cannot have a CA ID and only supports API enrollment." + message: "EST enrollment type requires EST configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.API) { + return !!data.apiConfig; + } + return true; + }, + { + message: "API enrollment type requires API configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.ACME) { + return !!data.acmeConfig; + } + return true; + }, + { + message: "ACME enrollment type requires ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.EST) { + return !data.apiConfig && !data.acmeConfig; + } + return true; + }, + { + message: "EST enrollment type cannot have API or ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.API) { + return !data.estConfig && !data.acmeConfig; + } + return true; + }, + { + message: "API enrollment type cannot have EST or ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.ACME) { + return !data.estConfig && !data.apiConfig; + } + return true; + }, + { + message: "ACME enrollment type cannot have EST or API configuration" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.CA) { + return !!data.caId; + } + return true; + }, + { + message: "CA issuer type requires a CA ID" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.SELF_SIGNED) { + return !data.caId; + } + return true; + }, + { + message: "Self-signed issuer type cannot have a CA ID" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.SELF_SIGNED) { + return data.enrollmentType === EnrollmentType.API; + } + return true; + }, + { + message: "Self-signed issuer type only supports API enrollment" } ), response: { diff --git a/backend/src/services/certificate-profile/certificate-profile-schemas.ts b/backend/src/services/certificate-profile/certificate-profile-schemas.ts index dc5637475e..e6b574dea5 100644 --- a/backend/src/services/certificate-profile/certificate-profile-schemas.ts +++ b/backend/src/services/certificate-profile/certificate-profile-schemas.ts @@ -7,11 +7,7 @@ import { EnrollmentType, IssuerType } from "./certificate-profile-types"; export const createCertificateProfileSchema = z .object({ projectId: z.string().uuid("Project ID must be valid"), - caId: z - .union([z.string().uuid(), z.literal("")]) - .optional() - .nullable() - .transform((val) => (val === "" ? null : val)), + caId: z.string().uuid().nullable().optional(), certificateTemplateId: z.string().uuid(), slug: z .string() @@ -38,60 +34,101 @@ export const createCertificateProfileSchema = z }) .refine( (data) => { - // Validate enrollment type configurations if (data.enrollmentType === EnrollmentType.EST) { - if (!data.estConfig) { - return false; - } - if (data.apiConfig) { - return false; - } - if (data.acmeConfig) { - return false; - } + return !!data.estConfig; } - if (data.enrollmentType === EnrollmentType.API) { - if (!data.apiConfig) { - return false; - } - if (data.estConfig) { - return false; - } - if (data.acmeConfig) { - return false; - } - } - if (data.enrollmentType === EnrollmentType.ACME) { - if (!data.acmeConfig) { - return false; - } - if (data.estConfig) { - return false; - } - if (data.apiConfig) { - return false; - } - } - - if (data.issuerType === IssuerType.CA) { - if (!data.caId) { - return false; - } - } - if (data.issuerType === IssuerType.SELF_SIGNED) { - if (data.caId) { - return false; - } - if (data.enrollmentType !== EnrollmentType.API) { - return false; - } - } - return true; }, { - message: - "EST enrollment type requires EST configuration and cannot have API configuration. API enrollment type requires API configuration and cannot have EST configuration. CA issuer type requires a CA ID. Self-signed issuer type cannot have a CA ID and only supports API enrollment." + message: "EST enrollment type requires EST configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.API) { + return !!data.apiConfig; + } + return true; + }, + { + message: "API enrollment type requires API configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.ACME) { + return !!data.acmeConfig; + } + return true; + }, + { + message: "ACME enrollment type requires ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.EST) { + return !data.apiConfig && !data.acmeConfig; + } + return true; + }, + { + message: "EST enrollment type cannot have API or ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.API) { + return !data.estConfig && !data.acmeConfig; + } + return true; + }, + { + message: "API enrollment type cannot have EST or ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.ACME) { + return !data.estConfig && !data.apiConfig; + } + return true; + }, + { + message: "ACME enrollment type cannot have EST or API configuration" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.CA) { + return !!data.caId; + } + return true; + }, + { + message: "CA issuer type requires a CA ID" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.SELF_SIGNED) { + return !data.caId; + } + return true; + }, + { + message: "Self-signed issuer type cannot have a CA ID" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.SELF_SIGNED) { + return data.enrollmentType === EnrollmentType.API; + } + return true; + }, + { + message: "Self-signed issuer type only supports API enrollment" } ); @@ -123,27 +160,34 @@ export const updateCertificateProfileSchema = z .refine( (data) => { if (data.enrollmentType === EnrollmentType.EST) { - if (data.apiConfig) { - return false; - } + return !data.apiConfig; } - if (data.enrollmentType === EnrollmentType.API) { - if (data.estConfig) { - return false; - } - } - - if (data.issuerType === IssuerType.SELF_SIGNED) { - if (data.enrollmentType && data.enrollmentType !== EnrollmentType.API) { - return false; - } - } - return true; }, { - message: - "Cannot have EST config with API enrollment type or API config with EST enrollment type. Self-signed issuer type only supports API enrollment." + message: "EST enrollment type cannot have API configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.API) { + return !data.estConfig; + } + return true; + }, + { + message: "API enrollment type cannot have EST configuration" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.SELF_SIGNED) { + return !data.enrollmentType || data.enrollmentType === EnrollmentType.API; + } + return true; + }, + { + message: "Self-signed issuer type only supports API enrollment" } ); diff --git a/backend/src/services/certificate-v3/certificate-v3-service.ts b/backend/src/services/certificate-v3/certificate-v3-service.ts index b4bad0f769..0fadbc8dea 100644 --- a/backend/src/services/certificate-v3/certificate-v3-service.ts +++ b/backend/src/services/certificate-v3/certificate-v3-service.ts @@ -407,11 +407,16 @@ const generateSelfSignedCertificate = async ({ const signatureAlgorithmConfig = signatureAlgorithmToAlgCfg(effectiveSignatureAlgorithm, effectiveKeyAlgorithm); const notBeforeDate = certificateRequest.notBefore ? new Date(certificateRequest.notBefore) : new Date(); - let notAfterDate = new Date(new Date().setFullYear(new Date().getFullYear() + 1)); + + let notAfterDate: Date; if (certificateRequest.notAfter) { notAfterDate = new Date(certificateRequest.notAfter); } else if (certificateRequest.validity.ttl) { notAfterDate = new Date(new Date().getTime() + ms(certificateRequest.validity.ttl)); + } else { + throw new BadRequestError({ + message: "Either notAfter date or TTL must be provided for certificate validity" + }); } const serialNumber = createSerialNumber(); @@ -458,10 +463,22 @@ const generateSelfSignedCertificate = async ({ ...(subjectAlternativeNames ? [ new x509.SubjectAlternativeNameExtension( - certificateRequest.altNames?.map((san) => ({ - type: san.type === CertSubjectAlternativeNameType.DNS_NAME ? "dns" : "ip", - value: san.value - })) || [], + certificateRequest.altNames?.map((san) => { + switch (san.type) { + case CertSubjectAlternativeNameType.DNS_NAME: + return { type: "dns" as const, value: san.value }; + case CertSubjectAlternativeNameType.IP_ADDRESS: + return { type: "ip" as const, value: san.value }; + case CertSubjectAlternativeNameType.EMAIL: + return { type: "email" as const, value: san.value }; + case CertSubjectAlternativeNameType.URI: + return { type: "url" as const, value: san.value }; + default: + throw new BadRequestError({ + message: `Unsupported Subject Alternative Name type: ${san.type as string}` + }); + } + }) || [], false ) ] @@ -545,7 +562,7 @@ const createSelfSignedCertificateRecord = async ({ (selfSignedResult.certificateSubject.common_name as string) || certificateRequest.commonName || originalCert?.commonName || - (isRenewal ? "Renewed Self-signed Certificate" : "Self-signed Certificate"); + ""; const altNamesList = selfSignedResult.subjectAlternativeNames.map((san) => san.value).join(","); @@ -726,8 +743,8 @@ const processSelfSignedCertificate = async ({ await createEncryptedCertificateData({ certificateId: certificateData.id, - certificate: Buffer.from(selfSignedResult.certificate), - privateKey: Buffer.from(selfSignedResult.privateKey), + certificate: selfSignedResult.certificate, + privateKey: selfSignedResult.privateKey, projectId, certificateBodyDAL, certificateSecretDAL, @@ -1100,10 +1117,25 @@ export const certificateV3ServiceFactory = ({ commonName: certificateOrder.commonName, keyUsages: certificateOrder.keyUsages, extendedKeyUsages: certificateOrder.extendedKeyUsages, - subjectAlternativeNames: certificateOrder.altNames.map((san) => ({ - type: san.type === "dns" ? CertSubjectAlternativeNameType.DNS_NAME : CertSubjectAlternativeNameType.IP_ADDRESS, - value: san.value - })), + subjectAlternativeNames: certificateOrder.altNames.map((san) => { + let certType: CertSubjectAlternativeNameType; + switch (san.type) { + case "dns": + certType = CertSubjectAlternativeNameType.DNS_NAME; + break; + case "ip": + certType = CertSubjectAlternativeNameType.IP_ADDRESS; + break; + default: + throw new BadRequestError({ + message: `Unsupported Subject Alternative Name type: ${san.type as string}` + }); + } + return { + type: certType, + value: san.value + }; + }), validity: certificateOrder.validity, notBefore: certificateOrder.notBefore, notAfter: certificateOrder.notAfter, @@ -1216,7 +1248,8 @@ export const certificateV3ServiceFactory = ({ if (profile.enrollmentType !== EnrollmentType.API) { throw new ForbiddenRequestError({ - message: "Certificate is not eligible for renewal: EST certificates cannot be renewed through this endpoint" + message: + "Certificate is not eligible for renewal: Only certificates issued from an API enrollment profile can be renewed through this endpoint" }); } } diff --git a/frontend/src/hooks/api/certificateProfiles/index.ts b/frontend/src/hooks/api/certificateProfiles/index.ts index e12e066c40..27e73c15a8 100644 --- a/frontend/src/hooks/api/certificateProfiles/index.ts +++ b/frontend/src/hooks/api/certificateProfiles/index.ts @@ -10,4 +10,4 @@ export { useGetProfileCertificates, useListCertificateProfiles } from "./queries"; -export type * from "./types"; +export * from "./types"; diff --git a/frontend/src/hooks/api/certificateProfiles/types.ts b/frontend/src/hooks/api/certificateProfiles/types.ts index 35e50a9f47..176a5dd9e6 100644 --- a/frontend/src/hooks/api/certificateProfiles/types.ts +++ b/frontend/src/hooks/api/certificateProfiles/types.ts @@ -1,3 +1,14 @@ +export enum EnrollmentType { + API = "api", + EST = "est", + ACME = "acme" +} + +export enum IssuerType { + CA = "ca", + SELF_SIGNED = "self-signed" +} + export type TCertificateProfile = { id: string; projectId: string; @@ -5,8 +16,8 @@ export type TCertificateProfile = { certificateTemplateId: string; slug: string; description?: string; - enrollmentType: "api" | "est" | "acme"; - issuerType: "ca" | "self-signed"; + enrollmentType: EnrollmentType; + issuerType: IssuerType; estConfigId?: string; apiConfigId?: string; createdAt: string; @@ -49,8 +60,8 @@ export type TCreateCertificateProfileDTO = { certificateTemplateId: string; slug: string; description?: string; - enrollmentType: "api" | "est" | "acme"; - issuerType: "ca" | "self-signed"; + enrollmentType: EnrollmentType; + issuerType: IssuerType; estConfig?: { disableBootstrapCaValidation?: boolean; passphrase: string; @@ -67,8 +78,8 @@ export type TUpdateCertificateProfileDTO = { profileId: string; slug?: string; description?: string; - enrollmentType?: "api" | "est" | "acme"; - issuerType?: "ca" | "self-signed"; + enrollmentType?: EnrollmentType; + issuerType?: IssuerType; estConfig?: { disableBootstrapCaValidation?: boolean; passphrase?: string; @@ -91,8 +102,8 @@ export type TListCertificateProfilesDTO = { offset?: number; search?: string; includeConfigs?: boolean; - enrollmentType?: "api" | "est" | "acme"; - issuerType?: "ca" | "self-signed"; + enrollmentType?: EnrollmentType; + issuerType?: IssuerType; caId?: string; }; diff --git a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateIssuanceModal.tsx b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateIssuanceModal.tsx index 49ffe34945..5f6462d2e9 100644 --- a/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateIssuanceModal.tsx +++ b/frontend/src/pages/cert-manager/CertificatesPage/components/CertificateIssuanceModal.tsx @@ -21,7 +21,7 @@ import { import { useProject } from "@app/context"; import { useGetCert } from "@app/hooks/api"; import { useCreateCertificateV3 } from "@app/hooks/api/ca"; -import { useListCertificateProfiles } from "@app/hooks/api/certificateProfiles"; +import { EnrollmentType, useListCertificateProfiles } from "@app/hooks/api/certificateProfiles"; import { CertExtendedKeyUsage, CertKeyUsage } from "@app/hooks/api/certificates/enums"; import { useGetCertificateTemplateV2ById } from "@app/hooks/api/certificateTemplates/queries"; import { UsePopUpState } from "@app/hooks/usePopUp"; @@ -122,7 +122,7 @@ export const CertificateIssuanceModal = ({ popUp, handlePopUpToggle, profileId } const { data: profilesData } = useListCertificateProfiles({ projectId: currentProject?.id || "", - enrollmentType: "api" + enrollmentType: EnrollmentType.API }); const { mutateAsync: createCertificate } = useCreateCertificateV3({ diff --git a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/CreateProfileModal.tsx b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/CreateProfileModal.tsx index 612fde6348..044bc9cfc3 100644 --- a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/CreateProfileModal.tsx +++ b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/CreateProfileModal.tsx @@ -21,6 +21,8 @@ import { import { useProject, useSubscription } from "@app/context"; import { useListCasByProjectId } from "@app/hooks/api/ca/queries"; import { + EnrollmentType, + IssuerType, TCertificateProfileWithDetails, TCreateCertificateProfileDTO, TUpdateCertificateProfileDTO, @@ -46,8 +48,8 @@ const createSchema = z .trim() .max(1000, "Description must be less than 1000 characters") .optional(), - enrollmentType: z.enum(["api", "est", "acme"]), - issuerType: z.enum(["ca", "self-signed"]), + enrollmentType: z.nativeEnum(EnrollmentType), + issuerType: z.nativeEnum(IssuerType), certificateAuthorityId: z.string().nullable().optional(), certificateTemplateId: z.string().min(1, "Certificate Template is required"), estConfig: z @@ -79,30 +81,101 @@ const createSchema = z }) .refine( (data) => { - if (data.enrollmentType === "est" && !data.estConfig) { - return false; + if (data.enrollmentType === EnrollmentType.EST) { + return !!data.estConfig; } - if (data.enrollmentType === "api" && !data.apiConfig) { - return false; - } - if (data.enrollmentType === "acme" && !data.acmeConfig) { - return false; - } - - if (data.issuerType === "ca" && !data.certificateAuthorityId) { - return false; - } - if (data.issuerType === "self-signed" && data.certificateAuthorityId) { - return false; - } - if (data.issuerType === "self-signed" && data.enrollmentType !== "api") { - return false; - } - return true; }, { - message: "Configuration is required for selected enrollment type and issuer type" + message: "EST enrollment type requires EST configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.API) { + return !!data.apiConfig; + } + return true; + }, + { + message: "API enrollment type requires API configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.ACME) { + return !!data.acmeConfig; + } + return true; + }, + { + message: "ACME enrollment type requires ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.EST) { + return !data.apiConfig && !data.acmeConfig; + } + return true; + }, + { + message: "EST enrollment type cannot have API or ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.API) { + return !data.estConfig && !data.acmeConfig; + } + return true; + }, + { + message: "API enrollment type cannot have EST or ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.ACME) { + return !data.estConfig && !data.apiConfig; + } + return true; + }, + { + message: "ACME enrollment type cannot have EST or API configuration" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.CA) { + return !!data.certificateAuthorityId; + } + return true; + }, + { + message: "CA issuer type requires a certificate authority" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.SELF_SIGNED) { + return !data.certificateAuthorityId; + } + return true; + }, + { + message: "Self-signed issuer type cannot have a certificate authority" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.SELF_SIGNED) { + return data.enrollmentType === EnrollmentType.API; + } + return true; + }, + { + message: "Self-signed issuer type only supports API enrollment" } ); @@ -122,8 +195,8 @@ const editSchema = z .trim() .max(1000, "Description must be less than 1000 characters") .optional(), - enrollmentType: z.enum(["api", "est", "acme"]), - issuerType: z.enum(["ca", "self-signed"]), + enrollmentType: z.nativeEnum(EnrollmentType), + issuerType: z.nativeEnum(IssuerType), certificateAuthorityId: z.string().nullable().optional(), certificateTemplateId: z.string().optional(), estConfig: z @@ -143,31 +216,101 @@ const editSchema = z }) .refine( (data) => { - if (data.enrollmentType === "est" && !data.estConfig) { - return false; + if (data.enrollmentType === EnrollmentType.EST) { + return !!data.estConfig; } - if (data.enrollmentType === "api" && !data.apiConfig) { - return false; - } - if (data.enrollmentType === "acme" && !data.acmeConfig) { - return false; - } - - if (data.issuerType === "ca" && !data.certificateAuthorityId) { - return false; - } - if (data.issuerType === "self-signed" && data.certificateAuthorityId) { - return false; - } - if (data.issuerType === "self-signed" && data.enrollmentType !== "api") { - return false; - } - return true; }, { - message: - "Configuration is required for selected enrollment type and issuer type. CA issuer requires a certificate authority. Self-signed issuer cannot have a certificate authority and only supports API enrollment." + message: "EST enrollment type requires EST configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.API) { + return !!data.apiConfig; + } + return true; + }, + { + message: "API enrollment type requires API configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.ACME) { + return !!data.acmeConfig; + } + return true; + }, + { + message: "ACME enrollment type requires ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.EST) { + return !data.apiConfig && !data.acmeConfig; + } + return true; + }, + { + message: "EST enrollment type cannot have API or ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.API) { + return !data.estConfig && !data.acmeConfig; + } + return true; + }, + { + message: "API enrollment type cannot have EST or ACME configuration" + } + ) + .refine( + (data) => { + if (data.enrollmentType === EnrollmentType.ACME) { + return !data.estConfig && !data.apiConfig; + } + return true; + }, + { + message: "ACME enrollment type cannot have EST or API configuration" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.CA) { + return !!data.certificateAuthorityId; + } + return true; + }, + { + message: "CA issuer type requires a certificate authority" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.SELF_SIGNED) { + return !data.certificateAuthorityId; + } + return true; + }, + { + message: "Self-signed issuer type cannot have a certificate authority" + } + ) + .refine( + (data) => { + if (data.issuerType === IssuerType.SELF_SIGNED) { + return data.enrollmentType === EnrollmentType.API; + } + return true; + }, + { + message: "Self-signed issuer type only supports API enrollment" } ); @@ -222,7 +365,7 @@ export const CreateProfileModal = ({ certificateAuthorityId: profile.caId || undefined, certificateTemplateId: profile.certificateTemplateId, estConfig: - profile.enrollmentType === "est" + profile.enrollmentType === EnrollmentType.EST ? { disableBootstrapCaValidation: profile.estConfig?.disableBootstrapCaValidation || false, @@ -231,19 +374,19 @@ export const CreateProfileModal = ({ } : undefined, apiConfig: - profile.enrollmentType === "api" + profile.enrollmentType === EnrollmentType.API ? { autoRenew: profile.apiConfig?.autoRenew || false, renewBeforeDays: profile.apiConfig?.renewBeforeDays || 30 } : undefined, - acmeConfig: profile.enrollmentType === "acme" ? {} : undefined + acmeConfig: profile.enrollmentType === EnrollmentType.ACME ? {} : undefined } : { slug: "", description: "", - enrollmentType: "api", - issuerType: "ca", + enrollmentType: EnrollmentType.API, + issuerType: IssuerType.CA, certificateAuthorityId: "", certificateTemplateId: "", apiConfig: { @@ -284,13 +427,13 @@ export const CreateProfileModal = ({ renewBeforeDays: profile.apiConfig?.renewBeforeDays || 30 } : undefined, - acmeConfig: profile.enrollmentType === "acme" ? {} : undefined + acmeConfig: profile.enrollmentType === EnrollmentType.ACME ? {} : undefined }); } }, [isEdit, profile, reset]); const onFormSubmit = async (data: FormData) => { - if (!isEdit && !subscription?.pkiAcme && data.enrollmentType === "acme") { + if (!isEdit && !subscription?.pkiAcme && data.enrollmentType === EnrollmentType.ACME) { reset(); onClose(); handlePopUpOpen("upgradePlan", { @@ -309,11 +452,11 @@ export const CreateProfileModal = ({ issuerType: data.issuerType }; - if (data.enrollmentType === "est" && data.estConfig) { + if (data.enrollmentType === EnrollmentType.EST && data.estConfig) { updateData.estConfig = data.estConfig; - } else if (data.enrollmentType === "api" && data.apiConfig) { + } else if (data.enrollmentType === EnrollmentType.API && data.apiConfig) { updateData.apiConfig = data.apiConfig; - } else if (data.enrollmentType === "acme" && data.acmeConfig) { + } else if (data.enrollmentType === EnrollmentType.ACME && data.acmeConfig) { updateData.acmeConfig = data.acmeConfig; } @@ -330,19 +473,21 @@ export const CreateProfileModal = ({ enrollmentType: data.enrollmentType, issuerType: data.issuerType, caId: - data.issuerType === "self-signed" ? undefined : data.certificateAuthorityId || undefined, + data.issuerType === IssuerType.SELF_SIGNED + ? undefined + : data.certificateAuthorityId || undefined, certificateTemplateId: data.certificateTemplateId }; - if (data.enrollmentType === "est" && data.estConfig) { + if (data.enrollmentType === EnrollmentType.EST && data.estConfig) { createData.estConfig = { passphrase: data.estConfig.passphrase, caChain: data.estConfig.caChain || undefined, disableBootstrapCaValidation: data.estConfig.disableBootstrapCaValidation }; - } else if (data.enrollmentType === "api" && data.apiConfig) { + } else if (data.enrollmentType === EnrollmentType.API && data.apiConfig) { createData.apiConfig = data.apiConfig; - } else if (data.enrollmentType === "acme" && data.acmeConfig) { + } else if (data.enrollmentType === EnrollmentType.ACME && data.acmeConfig) { createData.acmeConfig = data.acmeConfig; } @@ -417,7 +562,7 @@ export const CreateProfileModal = ({ onValueChange={(value) => { if (value === "self-signed") { setValue("certificateAuthorityId", ""); - setValue("enrollmentType", "api"); + setValue("enrollmentType", EnrollmentType.API); setValue("apiConfig", { autoRenew: false, renewBeforeDays: 30 @@ -559,12 +704,12 @@ export const CreateProfileModal = ({ isDisabled={Boolean(isEdit)} > API - - EST - - - ACME - + {watchedIssuerType !== IssuerType.SELF_SIGNED && ( + EST + )} + {watchedIssuerType !== IssuerType.SELF_SIGNED && ( + ACME + )} )} diff --git a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileList.tsx b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileList.tsx index ed042c07ed..0ba217ce95 100644 --- a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileList.tsx +++ b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileList.tsx @@ -47,7 +47,6 @@ export const ProfileList = ({ Name Enrollment Method - Issuer Type Issuing CA Certificate Template @@ -55,7 +54,7 @@ export const ProfileList = ({ - + @@ -72,17 +71,16 @@ export const ProfileList = ({ Name Enrollment Method - Issuer Type Issuing CA Certificate Template - {isLoading && } + {isLoading && } {!isLoading && (!profiles || profiles.length === 0) && ( - + diff --git a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx index 60057d40eb..c2ec7b6884 100644 --- a/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx +++ b/frontend/src/pages/cert-manager/PoliciesPage/components/CertificateProfilesTab/ProfileRow.tsx @@ -30,7 +30,7 @@ import { } from "@app/context/ProjectPermissionContext/types"; import { usePopUp, useToggle } from "@app/hooks"; import { useGetCaById } from "@app/hooks/api/ca/queries"; -import { TCertificateProfile } from "@app/hooks/api/certificateProfiles"; +import { IssuerType, TCertificateProfile } from "@app/hooks/api/certificateProfiles"; import { useGetCertificateTemplateV2ById } from "@app/hooks/api/certificateTemplates/queries"; import { CertificateIssuanceModal } from "@app/pages/cert-manager/CertificatesPage/components/CertificateIssuanceModal"; @@ -106,20 +106,6 @@ export const ProfileRow = ({ return {label}; }; - const getIssuerTypeBadge = (issuerType: string) => { - const config = { - ca: { variant: "success" as const, label: "CA" }, - "self-signed": { variant: "info" as const, label: "Self-Signed" } - } as const; - - const configKey = Object.keys(config).includes(issuerType) - ? (issuerType as keyof typeof config) - : "ca"; - const { variant, label } = config[configKey]; - - return {label}; - }; - return ( @@ -133,11 +119,10 @@ export const ProfileRow = ({
{getEnrollmentTypeBadge(profile.enrollmentType)} - {getIssuerTypeBadge(profile.issuerType)} - {profile.issuerType === "self-signed" - ? "—" + {profile.issuerType === IssuerType.SELF_SIGNED + ? "Self-signed" : caData?.friendlyName || caData?.commonName || profile.caId} From 186c08ad27f3911ad5a20616375ec66384f8c086 Mon Sep 17 00:00:00 2001 From: = Date: Mon, 24 Nov 2025 22:45:00 +0530 Subject: [PATCH 032/109] feat: added spa cache control --- Dockerfile.standalone-infisical | 1 + backend/src/server/plugins/serve-ui.ts | 15 +++++++++------ frontend/src/index.css | 4 ---- frontend/src/main.tsx | 2 ++ frontend/vite.config.ts | 14 ++++++++++++++ 5 files changed, 26 insertions(+), 10 deletions(-) diff --git a/Dockerfile.standalone-infisical b/Dockerfile.standalone-infisical index 01c9a737b6..0674a00e97 100644 --- a/Dockerfile.standalone-infisical +++ b/Dockerfile.standalone-infisical @@ -34,6 +34,7 @@ ENV VITE_POSTHOG_API_KEY $POSTHOG_API_KEY ARG INTERCOM_ID ENV VITE_INTERCOM_ID $INTERCOM_ID ARG INFISICAL_PLATFORM_VERSION +ENV INFISICAL_PLATFORM_VERSION $INFISICAL_PLATFORM_VERSION ENV VITE_INFISICAL_PLATFORM_VERSION $INFISICAL_PLATFORM_VERSION ARG CAPTCHA_SITE_KEY ENV VITE_CAPTCHA_SITE_KEY $CAPTCHA_SITE_KEY diff --git a/backend/src/server/plugins/serve-ui.ts b/backend/src/server/plugins/serve-ui.ts index b71451b6e5..633b4211a3 100644 --- a/backend/src/server/plugins/serve-ui.ts +++ b/backend/src/server/plugins/serve-ui.ts @@ -43,7 +43,9 @@ export const registerServeUI = async ( const frontendPath = path.join(dir, frontendName); await server.register(staticServe, { root: frontendPath, - wildcard: false + wildcard: false, + maxAge: "30d", + immutable: true }); server.route({ @@ -58,11 +60,12 @@ export const registerServeUI = async ( return; } - // This should help avoid caching any chunks (temp fix) - void reply.header("Cache-Control", "no-cache, no-store, must-revalidate, private, max-age=0"); - void reply.header("Pragma", "no-cache"); - void reply.header("Expires", "0"); - return reply.sendFile("index.html"); + return reply.sendFile("index.html", { + immutable: false, + maxAge: 0, + lastModified: false, + etag: false + }); } }); } diff --git a/frontend/src/index.css b/frontend/src/index.css index fdedc2f687..baa613b364 100644 --- a/frontend/src/index.css +++ b/frontend/src/index.css @@ -1,9 +1,5 @@ @import "tailwindcss"; -@import "@fontsource/inter/400.css" layer(base); -@import "@fontsource/inter/500.css" layer(base); -@import "@fontsource/inter/700.css" layer(base); - @source not "../public"; /* diff --git a/frontend/src/main.tsx b/frontend/src/main.tsx index e99210352d..6ad3edd3df 100644 --- a/frontend/src/main.tsx +++ b/frontend/src/main.tsx @@ -12,6 +12,8 @@ import { NotFoundPage } from "./pages/public/NotFoundPage/NotFoundPage"; // Import the generated route tree import { routeTree } from "./routeTree.gen"; +import "@fontsource/inter/400.css"; +import "@fontsource/inter/500.css"; import "@xyflow/react/dist/style.css"; import "nprogress/nprogress.css"; import "react-toastify/dist/ReactToastify.css"; diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 618dcb618a..ace4852ac1 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -23,6 +23,11 @@ const virtualRouteFileChangeReloadPlugin: PluginOption = { export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd()); const allowedHosts = env.VITE_ALLOWED_HOSTS?.split(",") ?? []; + const version = ( + env.INFISICAL_PLATFORM_VERSION || + env.VITE_INFISICAL_PLATFORM_VERSION || + "0.0.1" + ).replaceAll(".", "-"); return { server: { @@ -38,6 +43,15 @@ export default defineConfig(({ mode }) => { // } // } }, + build: { + rollupOptions: { + output: { + entryFileNames: `assets/[name]-${version}-[hash].js`, + chunkFileNames: `assets/[name]-${version}-[hash].js`, + assetFileNames: `assets/[name]-${version}-[hash].[ext]` + } + } + }, plugins: [ tsconfigPaths(), nodePolyfills({ From 752ba7f73bcd993df97dc73ee9c06c92e860ffc0 Mon Sep 17 00:00:00 2001 From: Carlos Monastyrski Date: Mon, 24 Nov 2025 16:24:24 -0300 Subject: [PATCH 033/109] Small UI changes on identities UI --- .../routes/v2/identity-project-additional-privilege-router.ts | 1 + .../services/membership-identity/membership-identity-dal.ts | 3 +++ .../components/IdentitySection/OrgIdentityModal.tsx | 4 +--- .../IdentityTab/components/ProjectIdentityModal.tsx | 4 +--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/src/ee/routes/v2/identity-project-additional-privilege-router.ts b/backend/src/ee/routes/v2/identity-project-additional-privilege-router.ts index f8ac34b4b4..47b3f5258c 100644 --- a/backend/src/ee/routes/v2/identity-project-additional-privilege-router.ts +++ b/backend/src/ee/routes/v2/identity-project-additional-privilege-router.ts @@ -158,6 +158,7 @@ export const registerIdentityProjectAdditionalPrivilegeRouter = async (server: F }, data: { ...req.body, + name: req.body.slug, ...req.body.type, permissions: req.body.permissions || undefined } diff --git a/backend/src/services/membership-identity/membership-identity-dal.ts b/backend/src/services/membership-identity/membership-identity-dal.ts index 4a90e1edd9..bcf855c882 100644 --- a/backend/src/services/membership-identity/membership-identity-dal.ts +++ b/backend/src/services/membership-identity/membership-identity-dal.ts @@ -94,6 +94,7 @@ export const membershipIdentityDALFactory = (db: TDbClient) => { db.ref("hasDeleteProtection").withSchema(TableName.Identity).as("identityHasDeleteProtection"), db.ref("slug").withSchema(TableName.Role).as("roleSlug"), + db.ref("name").withSchema(TableName.Role).as("roleName"), db.ref("id").withSchema(TableName.MembershipRole).as("membershipRoleId"), db.ref("role").withSchema(TableName.MembershipRole).as("membershipRole"), db.ref("temporaryMode").withSchema(TableName.MembershipRole).as("membershipRoleTemporaryMode"), @@ -180,6 +181,7 @@ export const membershipIdentityDALFactory = (db: TDbClient) => { label: "roles" as const, mapper: ({ roleSlug, + roleName, membershipRoleId, membershipRole, membershipRoleIsTemporary, @@ -193,6 +195,7 @@ export const membershipIdentityDALFactory = (db: TDbClient) => { id: membershipRoleId, role: membershipRole, customRoleSlug: roleSlug, + customRoleName: roleName, temporaryRange: membershipRoleTemporaryRange, temporaryMode: membershipRoleTemporaryMode, temporaryAccessStartTime: membershipRoleTemporaryAccessStartTime, diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityModal.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityModal.tsx index dfc496ca8c..4daea6c087 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityModal.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/OrgIdentityModal.tsx @@ -255,9 +255,7 @@ export const OrgIdentityModal = ({ popUp, handlePopUpToggle }: Props) => { />
- {i === 0 && ( - - )} + {i === 0 && } { />
- {i === 0 && ( - - )} + {i === 0 && } Date: Mon, 24 Nov 2025 15:12:16 -0500 Subject: [PATCH 034/109] Add docs for self-signed certificates --- .../pki/certificates/certificates.mdx | 8 +++++--- .../platform/pki/certificates/profiles.mdx | 3 ++- .../pki/certificate/cert-profile-modal.png | Bin 366908 -> 376852 bytes .../CreateProfileModal.tsx | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/docs/documentation/platform/pki/certificates/certificates.mdx b/docs/documentation/platform/pki/certificates/certificates.mdx index abe1987500..79168c4fcb 100644 --- a/docs/documentation/platform/pki/certificates/certificates.mdx +++ b/docs/documentation/platform/pki/certificates/certificates.mdx @@ -19,10 +19,12 @@ where you can manage various aspects of its lifecycle including deployment to cl ## Guide to Issuing Certificates -To issue a certificate, you must first create a [certificate profile](/documentation/platform/pki/certificates/profiles) and a [certificate template](/documentation/platform/pki/certificates/templates) to go along with it. +To [issue a certificate](/documentation/platform/pki/concepts/certificate-lifecycle#enrollment-request-%2F-issuance), you must first create a [certificate profile](/documentation/platform/pki/certificates/profiles) and a [certificate template](/documentation/platform/pki/certificates/templates) to go along with it. -The [enrollment method](/documentation/platform/pki/enrollment-methods/overview) configured on the certificate profile determines how a certificate is issued for it. -Refer to the documentation for each enrollment method to learn more about how to issue certificates using it. +- Self-Signed Certificates: To issue a [self-signed certificate](https://en.wikipedia.org/wiki/Self-signed_certificate), you must configure the certificate profile to use the `Self-Signed` issuer type. You can then use the [API enrollment method](/documentation/platform/pki/enrollment-methods/api) to request a self-signed certificate against it. +- CA-Issued Certificates: To issue a certificate from a certificate authority, you must configure the certificate profile to use the `Certificate Authority` issuer type and select the [issuing CA](/documentation/platform/pki/ca/overview) to use. You can then use one of the [enrollment methods](/documentation/platform/pki/enrollment-methods/overview) to request a certificate against it. + +Refer to the documentation for each [enrollment method](/documentation/platform/pki/enrollment-methods/overview) to learn more about how to issue certificates using it. ## Guide to Renewing Certificates diff --git a/docs/documentation/platform/pki/certificates/profiles.mdx b/docs/documentation/platform/pki/certificates/profiles.mdx index ccbef89cd1..1121437cf6 100644 --- a/docs/documentation/platform/pki/certificates/profiles.mdx +++ b/docs/documentation/platform/pki/certificates/profiles.mdx @@ -21,7 +21,8 @@ Here's some guidance on each field: - Name: A slug-friendly name for the profile such as `web-servers`. - Description: An optional description for the profile. -- Issuing CA: The [issuing CA](/documentation/platform/pki/ca/overview) that should be used to issue certificates for the profile. +- Issuer Type: The type of issuer that should be used to issue certificates for the profile; this can be either `Certificate Authority` or `Self-Signed`. If `Self-Signed` is selected, then the profile will only support the API enrollment method and be used to issue self-signed certificates over REST API. +- Issuing CA: The [issuing CA](/documentation/platform/pki/ca/overview) that should be used to issue certificates for the profile when the **Issuer Type** is set to `Certificate Authority`. - Certificate Template: The [certificate template](/documentation/platform/pki/certificates/templates) that should be used to validate certificate requests for the profile. - Enrollment Method: The enrollment method that should be used to enroll certificates for the profile such as ACME, EST, API, etc. diff --git a/docs/images/platform/pki/certificate/cert-profile-modal.png b/docs/images/platform/pki/certificate/cert-profile-modal.png index 29280d01c0bdd4cfd2538e94683e9ccc93a94461..961ad466afcdea010efb68cb296dada970fdb294 100644 GIT binary patch literal 376852 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 G*ce$}$Iuje?!o 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 z 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 z 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%0AiMVK8qllZ(`p;zu)MN$hIy+; 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�dp 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Πf-MD-#6~@xosN&pAkTtATrR+Hp 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 literal 366908 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

ynA=*q_ae{f^>p;&4=*t4xHB2;NZtP&*~AGYi`z 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 Pid@W3DxhE$h>QCNI9b-57T#&kO0)q0Sp5RRf=J zu5$0?&ikpsmt@tVblrt0#t-D3^~Sk*`-aF>Mh3;!(UvUxjb_xV=p-qzp`CS&C&!4b zReOfoxlPoFDrd1H@;x`LHx(0IVVR!}UF0*>f8lHO7#b zVr_`J&Rmq!|2n{k&N&?k@Z^^5RlFY)bySU+RIK-;C+SdvVx!Y0j|M1;Lai2D_7gdl z`b}fTp)|#!r+rku;g{$75S21WbH_iQ1B`^(=lR{&Q)Qx0oZEKWk5=yypi$`O5z!ziBmq`fMQM*k-f9hOC4?7pzY9aaI z-|o=|A{rW$=U0OEV5JM2F-Z$gQt)+0uddNa`^Umd$EH-6k@^1}h z4?O=|vDFuAZ{~A;Xi5+iy>z2vhh+`ZvX8}zRdn|Caq3>DuYDx;@c<{5H0@3IEx9me z$amwxj7x#FPjij0lWwiAuPpa|mN5O{vBoGR^$hJgL|9ZmT z3%VxsJqp;yW9~dap}Xw|MWm>kg-SuY54xXwKSYnVKiMEGQ>q5Io1?OI|V4sa$b1i&VH~AyF6D}BO!=S zb;Z7KcgrZQyAv zi6ko%rYsNge0Dpkw)VhAca3@FR-9_GJQqCY-g&;^8f$~(00dnwFTu&U^Q3n8Z2_<) zeqrg=t+%4gl}JvtEsV>{XI`5Dxh z8kiB_wIdn*cx7P%vra~Ee1PP|iw&AzHNz{rmO)T&92ozY_1FA^Uun01EGgcx{T(wg zR{~cbr38cmX_SVf(c-Z>g}hc9L%@!zacBsjjTBV+SpLDkr$}^TYEV`&NRWwcew^Dc zmU3w6c#HL)^icJoDrf&@6<(GnX^p@MwUT!Rv}k<(^sq zV%Mm9;JJME0eXZ_{yv>_(Fgv;OTjS1#yHLM<65`wm|iLD`{-bA@j#xO@9^*x#rwV%Rmd@9!hl>VeQ z)im&$C{Un(d?Ei?ps&6SMYVyG2;|~i0rOZ}=zAxnM=TiWx@i>Lg(q+GyCEMo-yy(8Wc*E z4vf+NtA)XAUrPeB{XEL`5H$7ws&8=!H5dmc?*Zxg7moag767M#0(rv~c?ZZZ><7Gq z%EV8$Gil$uf7=ek5o>FVC841!Pn#NKcWbGHFGjHAq~UJ&M9vIrPg*&+HORhlV15e8 zPgZjBc>~dv@nBrv&?{_^Jn%bqQ?+<5_SGEg2juFC?fbZ(V`U@ICjyS@;0kHYzI$uF z4b-RUz(&TgL{Wxw>Gygd7rf38=i=&8KCN3dZQmucGwz_HPZTb322@*W&=~wmNF-Dc zZTRd>=kba{FCDsqc0Z3=hBB^iywn{U(R}FZWAC`F=DeDd@Cg>1P6c+Noq1yzwZ}ZD z;k$%yTP7X#lzwN^@wDL=c>vNxfx7%lHQKHqK+NqA%1ZwGsJbCEV(69hFRC5;ngMQq zS3kn3067snfC~@(nI2?mZS7b^o~%+NYOj5z$#-=v8u-4^nog4Pk$D)N@jTImj>Bhr zrRrsXvcb}9ohp6Ek$T*vYbkX4mC_!flZW_ECZ#x$^LX@1e4V{(P#$WV&4UWmn6CZQ zIiX=;W0eGTy`|fyMUdS!QwldHVV+i`;)T7w?}mxSZf-?`tqZX=wKqSPtyB+eiQ)_+ z=drCqinxJ?ZD>qlC&qKd%UcGS!W2Un8Ka<;JyhD#GHS%szn_AoXs^A3IPIhLq2C}^motD2>KERag4)Dx zAXcagW;7HLNFE>Hv~nkfR*2JZ^hSrCIcM+)IZw7hFt|ZcX|C@>;~17#q0zdUpJJm+ zSL`*UqMZX3&MM+>>x|Ipii(IBwoQwr=DhqwWq>neSC>x?ZBeK9KT_J$Q{*0z9lJXU zskOfGo zbNlXX9ADB}M}Rh4@h4c?bSZk~zBC5I@}B)AmiO9vGb|{5Teo*!n2@~k3_iT7$2`E) zA}Q6Izw1_Z+$-z(O0>>lbrQT2w#3K0+Tp>3SWN+_sOELG_?yV~YcZi;R*03Lj$>S* zWTxU81v!pc-T_8EM10{D8>QA?hNx8Kq}+O3ZUoXz_V|V&3T`!50op$$C9nnJR1qNB zaI?0A+Mg0r*Ti&g8=w+l+^K__%qU$4KOs7)WV?-VT*IZ4?~3M^zBq|p6MkO=GbjSk zLOqxCi+S0bZK|Up$d*r$k*e!YAmAXj5m2OYp|jhLISo;{!l>l{w^Q>Mhcl`cl^^w- z_O3lUKHvT&eZy&7s7mXsC$njnze7223% z3yuA4krJqQ0$#gKle|YV{%A=KD zpJ!Z|D)xJc76u+)DS)WX7q9X4_xC4WR&yABYQi+k#Wi1Ew`HOkp6zb>jgz|c(4nB{ z(8)-cuE6)^60>rjwRNHPv9-cU%a6m42G-e6d2vWbZ7uc9*|O?(E#u%`xK11%aR>9l z72sm7e0=otbrVEB<~XJjgQ(cTyPXCzykl{1;KHN_`!k6KZW`HIivs#qDkLl0;FYWD zf>vs-*~8Jgc|ajLqw3%HfN&rzPz?fM5>#w`%T=}|uV1tNT>fIyV{D^46Xo4Z-k#U~ zn8}j)X7{Tt2z8w$n!5u|A=O${;UQp?^24mkrlozc!$uB!PuWjNXGd+2i8QI-Oe(|k zmvI$7dqOPEwl82A;dDydPtp>i13azfWQ;poT7`e(IR=R5uC%^_fUbYBff;2$dh+-4 zXXSrkxs*HyA+RZ_K`ju@Rt!}GsaD&#`H^;G$7hU8WOgy;X_w~Y=*kO<-O2!zcxg4^ zsZOCkH@w-pu)3phDVHd}{-iVb+;*20PfzmuZkDl#PJnlr-tWedRe&hJ@ zjoU&iAG@7>hJ~;8q{MXzSA>ZRJ~ z!KD#2(;N%1>WC|HB+L92|+`E@aW2^x9wnRCPDMC;s>h#juVtE zfPV0;Xx*fN@&|@cVugAr+}O~-0Ky>d6;yy61_-sTBQb2H$5*W<`YdKC7!rJv40$TU zr4P+1FW-#?4b3ArmCK`(&U*@=81>NT5`a|sOp3>58h-Z`T{(F&OP zKfui2?QFh(T#g6SU@+gO^y~dAfHU!p#L(dfs1X+hI^igh0XY%>@W9Vs-++?}ORWW) zs!)8J#|w-gPwe6-&CBMcDJ7qmSXcGZF+MLdFluF+q;2wmd>u^RTkXD0*7zWtcFv;&}5 zE|*_0?5CV#Hpq@EsEGxF<+KnJJ^gG<@#eDN>*6?FEv>iod*WCovh2c&+}?4yxOVE7 z2lTUcY9*^BoU##nESzpmX5^!xettn5oL)@Pw!W@YyXxOQ{?D|44BreWBA;A|71dZ5 zTa&ca4fQ1lNX{M!qR3kB^JhPNb3r$@G(UgLPfVgmdf{dpG3K*4C(tUtLe769i^pF6 z6(9f1JV=)4CT)bnfa0@V^ z=#bxCBSBD}`aJaX(`rsAC^x%*l%hza+K0|uoRBQb!aFf3I3zD4T`0>G-Xb<|ksS}Y zGhBD$RvB*uAX-8~LzSzFMh`DZTx9}?*pbH&W&sjqE71U&&SPkw*?T**k)22ENcrrPlC zX?9K?{g0l4gv#=O=z9wptnjF_dl9k^ejht{KytUm-9*uTU45NYH0 z`NzNDzz^L3{x}NUU-&F4CWc#+>if~lwX4CPBA{9TQUFw8#uQ}#`bmx@5Rs|#qAu&Z z+p~(ib=!DZP_20cqT5tFIA|LL)MWr^5)%`{OW<(d>{@=;@IRUyd09QWlpFcMeGHs< zHMrjMoE$y6_)XNq0O%u)d_@z=_Fl+wtV=ju)Hy897XnQGqX1t(Dkyzk=J2G25*Olx z7Ls&#bc}tP)$(h}coQKb5)Mf%&ugYjnHm#9?WqKe;bGk-Dv?$7~@-@8uNbytK_UdKQ(5RCXNNZl9wXZX7$6mTLIJ4p4f_ZTupzux}w>lU=`^L2DoRGCF1||G{w`2Z89i*>cN?F1go$n60!n z(5D!K2`{pme-G#~_^#cQVm!-d+a`>hoPs6u8C$;IfC~j6wmfFqv;Z!c38c5*(~&Zo z=PZxVgDGE8C&Eu&}rsFkNv$0TVpf)>}7U@$%{ zdsqC-%xb|wV`Ufk*!$Sv8+l<7iN8Cskn#(piz+>V9&>r*$4gk?ejFGW_*ZTFXgsd3 zujsXIyuA@{5Sq1xk5N!jm^Y5m%|4IltDdQ{tl)S5xu1i(pP%eo9cO3~OCUtd?R?V{ z3MO<1r)?g@81PR_?h#h@F+@S3($~L0XRR-y!A4^)8>{u@={4ARdB*;A%JnrRV>hZj;eXP_LJG znjHY0UHAb2Y`+GK&vh@>i2~fbYxbjahKAAk8k_B@B%qXm^n5$~?&$gGa0Gn*X?vO2 zf^V3;m{?EtplBF7RLU_wKfe-OJiBoOsxAMIxcqr=mJzmn_X7qat$Qh|>pUGO`-;*z zM4@-(QVue$I<61vUcAUi8is?)^|gYys{l-d>bK^PM`}^b(qk-D-(k-}{kA3$oe&S> zH^DU1P$hR70slX8sHn&l+tEJ;PFdi?`DgyOCvtJ~2i05EjYpG40N6ESZ`-*4_^Qgw z#owh?;4#;#Bg?8p)>=GTf=fOdRniL{n1PUTPHf>ub;ytEvNy%-&VzNrSZN+7I;h(aS|@xx19CNfc8pe%<=@E6x#&C)_aiJcXx4J8%blxOt!#tOh!k28po2ZAXrOJ`3Iz23RQHfwyw3 zpe274Fp%)Nx_Szo@iX|A3j`+0dhz1ET1sWX1sT)>!l^%a8U%%~z*-o^x0gZX4xhtS zB|k`70jX*JzfI~AL>xN56VknyL20*p*Lh17Qthzq?V|vr8tCgw2YSI(Qc}`&?>i_Q zD+N+YaCLCQM)wP|K?J7+!Tf_xTq5^xhzbP{SCFLHI;QHkYmbCnrO*riazhtXG}?Sy zoQHDK&H=ifmve^#^nrXZXI_W!pt7#5gsPe45dcV^3>pstOaCJ~b2@c=+|13}@egDS zI1k;Cx@#DVKXizum1L_M-_p`t+S%EeaOKh$5mAX534TJjZGM%nVtm$8Zmv7|g~xXx z{&QlJSD>clkbuKr&mLR_^T%@);^eE$&J+soA6EPd#o-*_K$@Gs7>@@Jo_Cb-cLw&| z5dsP}w7%{GpJAlZ1{s8a9KG4i!-Fw`@8#UkyuD`hkZ&TY*;SpQPA1W#kf@*TJo zFIo()3zUqH2gSyET^IobdVO~P-qj7l;-b9Qpfxi`w>mwNW{&0}#Ibo$w@6Mm87U0M zPu1!_3xPN-Ms46E;D5F43_`)&T&=d zOgctyQ*RTKY<3O~iG^Zn%p)+cytUqv=XT!Kbb-yhaSw}4y>@5yIUaZRy1KdzzMxK~ zL!K!1dwk4JLRf0H%*zw(#&&^UPyiX^zDP3Dd6Kb`aHcPQ&BMxL>oe&lBr^W@0C`m! zb2z{pd_~DE5%D<@FCuzIQ8o)z9vfZ-&49fMae2QX{{M(A6bDaQWD!7x>c23W2dJ40 z$9_x%CzRe50-v6Fc;OTch#K$RuSU6p6LDGB<~BFK&duxfHlkcbM8wKN*IltV9D7iF zL2i$LK`-B_PcVr#PT90`gk-@2gF>_@y5I5s{!2(qO^}GV6WtZFHIDJ49_DFLFg=uMjO%KjOf4f@M}gKp@OK0 zPNh_e8T<+8-uS4w1c^{P9?JxX*Z4uZqqT+4t4W`FUrgv88F-MYlR z^w$xxs!m#Oy_P3#Yfq{+sfUIQR>0R(Z0Me+(|thsrziAGPp3=f&4p#K_1LStzSGbq zQ>&n`G^%Z^DpX%yUS{Ox=2qZqW_Gr0Zg$q$xQO4D#M%Jw&Vu7~Giw8kd{9b{=2lm~ zXJ+EA1g=ne(f^~JTeejL4m1;T?=rKj+~9#*O8y95qmc>tlXh%HhoKtRVgg+fM3rT@L>92 zD25L}uDnq@UE2QFUzSJT5O>C<>60@1b{p@0GHHb}G9!M^PppoWLKfveYe4=rGLY!& z1HU00sUOGqOA*j^6$7r^jxkXJ)TF4|c&)JC*gSjjjYA}hj0$>Z0!uQ4uUXsJY%nIm z?wZCaGgs7eOTWZMRG7slZ*5TnQ~5&d_937xE#EO*c_>0i-q-aES+V0M^(9cHG`~EN zr^}=6N|mR(d+(aw`D~lWQr_38D#q4eV~Fi-&%u$AhusDD@O*mA!p*H8$wIaonF)sH z%?5C|!pkO0Cu_%{u#wFWu!LEwY@#yQ6pD_i>H>rEeIX5pfgxaD`yp7ZzTrMNIq`q= z#&5*~|5&UUwQ7@wTZ&*YhCZ|y!vj?AghzZ#hy@me&tC@3Az~RG?QK}J*yaykD^t_D z%ZIXb(L8@g9_WqCG%9#7b-c5wpWbblz8&n;>dWm1x}o#>$aDo_WY%eE2?^&^*7UmZww3+g#;XIY&t`T1$m``m17ao2n50vdE>M}Dy}mar2`Vg z>1# zIe!X{(;b?6vrFk0|MZaEAOL?pMEn4Sr3nEGdC={#`(J?>I%|wH^UVbGK1}!4+%(lXnO0RLizs;DpX5WYm~MR7v+qjH z417tQ)$JuptFP#)=yP+Bz+J}i5=2;@MNB=y8;!0?5hjb8yQafE~lArIJPtfTeVp`R@uKrmHSxxK7 ze0&M;7qs4BNgHCr-<;pyInzG~*s8VH+mNpNhh_cifqZtKT={+pWFg9dp~;gJTV(+L z6#r#m;XmLnJC1eSknBFH22W->w=AF19CD=iVRu4De`l%&03B2dtUFOk=`#^vkCbF< zEq2$adjbGofUj7W(<(O#3#27qNvpE6n^TwPhqo_>7u75^F7cm#jCJU4szD*D9{K7c z^PA}Hv!R-=CjtgvRlDooWELjZsY!YKA#{{4?1*8TD!j^@9=r7rEII@V7q~>In=kA@ z@BR4?8&%HVS%*y~+c>^`69##_2F0K<){$N3UzdYI=S*k-N#31$#YN!_zZL`Gfk)(( zZBQXiu_#UM!oiw0bx^lC$8z6ubyHKS$d2BDlZ&%1tX2{gI*HpIiZRqT4&k~Gh-lK8 zBaS5WM-0nUK$~7|?? zaE6zeM%pJ-iMrQiZFD}`Vqx#n*PPwTP3dW$&n+%i&&|*F8F81LK>wix0YosMD&Q~v z!2M9DAZ-+$+!rTAF}R-tmg@oTz(b$s1a1mppeXo$?EuER6(j2jFy~XugoOpS0|yQ~ zS$Op5(HKdrw6nW!QmH}kfKfQt_!pE)v!M%bp?Mpz?4_nYt*2u6cc#@c%YQb7jk2e| zx29jm|M#x28UGJ;ZypYH`~MBMX;IQuAtYK*gzQ@k6=j!gvQzeb7a9|iD=M<@l&x%I z--i&&zQovvgs}`_tYgM~e!8x%=K6iV_x;?@@%;7tQO6vHna}w?-}~}<1Dww8iPVMC zY?J;nmYnRe3tHO8b7I&-GbZBv9Y!Q2m)_s`%vVVp3W^i_kjFApBWMGhN+`y-*>wRy z5!?OJl}kYJVh|y&(*JNOP{z;|PIZW12J@+QKtHq&Jn078GT)y8AZr(LI)%=MT3B0u zVYzUjIWz|yp@aVr{wR^2+QGwtcUTC3jYiK{Y<{2Xd;ESuXTR<2y8}8kEAf&Y^s7v) ztbD91MW>>Q@lSF@aKeAN$Gb~(*rlNdI`+!7!j&ANVqz2CJYn=3EvU`%Y+PAkeOX=%NY<4@apWv!c$jJT(C10$>Gf@Cp_S?@3Z&v2@HrMHb50bRCV2YxIkl9@O{) zv(&u;u8fI%Z6DFvFpv*Bh{&%tWbYTIr5>A-_AS-E`k<2Ec0Cb)+#=r$F5 zWKeJ%9W)D*m^frqEW8!AXt$^(iD9O0XjH<`upLY%b3~$#~6dc*cf%b8}P4 zz5(p^`Pb;-=U|!h(p9*yTX5hhMo= zLjSx%s2Pl@dD_gb^2`;OMlqI^qn;1!Za|cqf?5=OmyYB~WcbRbh!PPZYdLoPZC}28 zc|V+4w)bP|ZqM>UNWdpiwd?Qkv+3b@x*f#EqHayyQhR%QBtEpPXPJT2d0c<6{2Tvs zeM2;gt*BE0;5rabS3K#6x%p_txxl2ng~7C|xN;YA7o{rh^t z^!)(f6-Ydd{fXuqwMSYG95JZkn5Evhn7Omk>h6PepZ$iwTp0v@4Q9w|+caJewRxv6 ze!SSoP#o!~k353hAy^MvEPWm4?Dwgv`csp2iLur=pQX9E*&qd7r>~-!LKx4fyWzGo zU1AH6&7`%~0bI(Dx7pj0JIQD`3}eOREExc>`Bj&F5y>hMfn?>OozB3Ez|KeA~> zRm0#7?2nuqImXaO!rAEThmgkxuR9y$GuV%HhEXaHO^(c_03 zZ^ZtMV#k1d?^re^RVJecinOqoedq7=x7ZQEUPxS`uepHR00v__du}x+t<@~(ZctCc zRTeypTuZ#6tVP=?C~HRpDYLrXP6$$rFq3NR>Gs&n@t*G* zEo!tDfNA&^?<`PZ+q>%t7`Yt6;pNp{m!6^(zwvuW@;9%F&-M;>RaD2H z#@J??42`)matxGVYkflwKK#NTEjeI4`4zE4_%O-=`e6LxslW2#GO+vAlBHi5ohdKz zkVjv^Y4?5kWDS6Hj%l z(NZHeN2(te(;|KUT!ycC5>^n;oM4DkIkZokj+9AKA411IF~!gb1%;qSjSUTpos{P` zPn85T=$`@5gCkw6uqn0#471oq zWB82UxxaOvZ?12k;Ml{4SF0p#v9~29n^?a~kXFrir6S8}ar?|K)cBHy^EoSOIHtSD zXLphxr{vI+O_6PGoO&6{UWT5se^(v-cB!{)1wP=Su;S^nz=NUi55-S)v)Zm(>r!7a z#GF0ROEuxc-rCM(CM@mHQUp5`V@oYLNBi;qXWYX^8*Xpwa_0rlAgai46@~=v?{3Dj zd`U3fp6f%LQUeufHpT;@SRn^eeYwG)s_CEILW~5PGEr8oH*%8&1#?d(SvlQh_nrk# zg^vUhakc(l*)w#9O9_Vqvi(a9H*XfY=I7;A19Z>tre080146CHMqWxs^S{S(GA}TH zIFciT%TSYHVPWQxc<#G_BoivFbhp^>D)q&Ef}204TAYgC5qHpF(O1Gdb8mIPHEQA4 z`w7?buyshj()ej$uv~#b66TzK`k$;L!*cv97jB&}Cy41EqeB+NacatBR%UD=?(_5= zNe@KopA0bCpwC3ZeY~e1kYlN3=1BK})2!6;IzHo5ufMudh>}AiSI7scBHHoA1-^V- z#-{FiS9w9GUZy*B&wJ_^2-Nwz^SdOz+Qnsj%kr6^W&U(3bXAoE&v#+Qr3+&iEII1s zabiAQwtq>Lw-ITvRkcjUkAKf7%(xDu&JgFak+~x+8@2AGI>TN1>{!&**|((H2ks>< ztmG`VUZvwA?D{>4%wIl8g*HG~xxVCGMjq)>c zU&S^|d{qfBs_HcL_HJbrs8u<#2R%I$ zZSdl!aAj&73&m;}#p6$slIh>UaP|)Na;6zBjXkX1M*y0-n&Wa5Y-hN$htoYT4`sZa zHWQT^6IlA%Uq)+KeEqJrcF}xcu%4-YG3@&CFl&QPqoTgYQrss_fw_n;%{(>0>$RuT z;JwaTdVI1v*Z;-vTkR1&t{>OT5h50dTXB1#N0A0&piUy6GDH77Yj=m9IVk&WplQBU z(z;ip^!}x808_5{u^e1e+sO4BB6iwM;Vt)c2EvPHT0&b`HOr}2=OVrdb!Egii(OYuDS^BRXz*aAtT|g442{s;j&!hiXkZ@kR7-X%=bF-Iy>JajpLh*nWZbUKhwO z(-ph+DJ64jiWvI7%1n;_e<$JZJ&8B*KONP&cEsLL)P4TPxozXR8&;Ow=fsY#>UHFibm|P z#30NG0{EM{fy>}h2dn7A=>Z68-W*W9KOE*m#vl3aEPm( z4Q1V^-K&o>#gT}j46M7EVG*&lNRWmE7i=96n>}lx<+#AkDeV z-94ML8n`T%m!B(-?fZg{2+jF{l0!z!&i*VP0Rox9Kh{0Zcn9~G{WJL@K+FJ{^S>b> z!ejyXnN6u$PVaG3D&*_Dsy=t5lM3^5fPY36;wD`6I>LkBd$?9qH*=q+tEQ{lYk#V~ z3q>FJ@^%_)NzNteV$Pf`RGt=l)%kOwAMp0}Z_wE`bD?4DjZ|FvN;JoE!+ORYp+4I3n~4~@x*f< zFyl#ww#H+$PZMm4v7&rDxQtA-g3-ajm)KL-@nH{Y>a5Zgm3ka}q$wzDNx!r!1=a~G z6sR=bYSycul|`kW4gCYuW#%x2>_#@x=a2rA=%)-jKqxXVKLJqn(Ae$ybz5{llW?F~ ztzIdw&)QA{?qQ(Rd@1dR#K!{8g`<@yM zMthlsk>y2o9`#-3h1vcu-vT}Ex(bk7hR0bQLg*J7Z__0!mAy43PLzkx>Wvk084cH_ z6<;2GfC3W2nz! z*Y+N+U<&K?&^-w$kJe@r)=?WCT|BqmIRLgj=iHSH3yHq7eECVi<{zh3ObbA1$?Ai@ zAzp_{*;Js^1?=XqH!(iyEe>znG-}v%1CyF&d#$%ZcETQ%dL@+Sg~*KCgWz_y?x;uL zvMJc7HfFe49|jPRttWp?g{6boO;OhL4{(nEO}7RxxeUP4CFpo9>{%{Lk6y0Kt_d|Z zf90ZjS!Lj*l!;w*yZ;yFr_)}n^_(@8HeN1m({?& zg2faJHa}-%iOS*{&>ErZm5S@ByH<`awda-;5jqchP|9W3d98TjPZPguS?OSHJ>eX==Ex@NIW+1`{vQMZj+jlOT_1@;SyY0kfA=>6p`^#>{%|KVp?BU; z&s{A+C%7-zxv{aae%8m_yh&M2Wn_Ae46=Qy&$s_}O=P-5Y@zHz#RK57Ff4TSP*x>B zfOOiTIH@2~TJFB1xAoPW?42!(vT>(AX2<*_dV-Ceoe&&lC}m{0%FK%08`N25I?p6z zZ{O120Gbv%)-1cmcmv>jnW^I@#=3_52n51ooBXBkTtJlhLqgfJmh8~RM_p#f#u&aM zrbTW*qlnj3IPHGYMjAWl5$QcI59YOip3(162TJ~xAuvhtxBLB%5mP^QV3x+)5bdqa zCCPH6yhL$echuld9&sF<-np9f03#-W9xTt@(#x)9BBH0;2-3};qyDJQe*TEyXEQm2 zN^2wd+0FSn8Upew#V~cy6?)*OLPMA7DmI5|HwYWCOG^&bapSOVMZ4i$oBOWCuCh(S z)i($&x&cN(M}jPDY`99wKk3sH;PDyKXZZ@{cRtwp%acioc1!Nx7sf;Cu+W);(l%WT zn0>@J=m;D5ku|{hS5Ap}6U%xGQp>W`lH>7s`@Z2}o9Dc=Lta5acW3HJUt66#Ccm%_ zZ4pU^dIrIycE?=Dtsv81(^`t^fF8$AG8uxTWf4f-YU?z9`SP1GT2;`cq4w=Hr|LAt zCngHnM(ndQ>C)sve@XH2qY}uFc|5aYXRLBInzP0PC=z5AJRy z)%_jyWIsk`=Huf*oU4BjdLN}9k7iMnD=sX&Bi2#ZQczXIbm$#H+Hah%n|_^5w3;mh z7JksM_%u$hNPnU6n?$t)o-n>-WaiY#GLtLISB|KH!&SJ(Rx7rL4!wG^P=S~i*fR=3 z!q_3PA<2V|&$b@Sbp6v(clWaD$%!b|#Q1Y5VO`&Lth4B@t1;ku_YK+~dm0x(o3?z) zZc)W-YIzegBKQ4!3#&rGo1Z5$L^~M z=5rLcz+Sjv(=vADbAh#kL)qGxik82TYB>Cmq5|NBYp>`L6rEwea)rEl6E$GcMAR{s z=~${&AJ){-;W_v6o#s*v)e#hKnqJ<4k%8dCoaqHheMPi)`mixsw%gR+8Is9ouL_n) zV7^e3r4GYz{o~^fpbuwJFN><6_rijiEJ&U9JWaNxEoq25)LGK6@aMgjucdcS-%^4b zhNQ;uSJrHP!}i@r=Dp9zQzU0iX&7qSW2<2en}NF%T4k~*ZkJ`8hSRc@_JxPB?<+(E z1Rlo6CoGzZiip_ZI@T}lDt2>UZ}9os2LGhpAruh&k4=EIRp&fkQ+D`5gAnFj^VnzW z0a}v@X#i8%!qoI)**mzaQZeI&3nwMsYM1T~z`7k94I~^rEipHJ6Kh86uHhU+c8HNa z!!u-3C|>0jO=9JY!>Gk+!tl^Ie;aq3Lti9ZSWK)^HnAv-5yY@Z_HUbHS?|PkWzHcF z0y$+Q9Z*)mJFB~!i;JtrcaR_adwTw_(rxP2A)tnnw9@>bmNooO-7uBz&*hynMnN!o=+2f!XU^i^>3VHp zHE@$iOB!!&ZMaf@e$PZ0@H8xZ7R1al1@*rhX`{5fT~)Z}=Y(1Mi+*epb1>ecmcHg* z?DJ0Tzj6SlA+2;PKn@O)Ro8)66*XPpqVZdKM}f`O2+_8*;{2NZ~i$04NS9@@Epf^iM?6|1t=TyHR;MXgep`(eS zz&dlgMm-fu73Al?P$YixM4&|`WIOa2mAQ|Y_cq9)0=MsUDUAZI3Qoi%>TJi$wr&l*+ z;Kh?MpC6k!h?Pbyi9FMijt-UL+S&_R#8u+_k*uN*xc;Fb>z$o5vb@NY`=H;gkHc_< zi+QhjLo{3MAL4$4Iy!eBK@DK3H4t$(w_H4aooL?yI;d5VxE~Prd4Q3IMBCwNn*|&E zYYb*UMbkBcMsMx}45zKF&90^%$)z7RcCeh-mzA-jRu5D^xDB*vmgrK++^cW%@itzU z9)%!am(~0Xq`j!qk;U+w7x<;6VfS5E0-$o>E|^be0N&7o|BuV%v@x)swBQtQ_LSV6FMCpFdLU0yO=;H{|3oVG_FhLYFXN zCGN2KH@(8c=#s89m#&Z6!|@SZ`XL(j+=e+ZT(-cnl!uhY50QwQ_>%F>N|$xTs*X#u zFvO0~hlU9K7pXCYQ7y?geIF`x`YboqWw}P*7}X8X1iKVO*J)a`w?_w?(KZvxIa6}N z{zmt?ei3#*XeMiNho0U58nF*qpT+&A>e25IK+Q&??@=yx9DB8`m7NeK-;l;5m(Jr# zpLqf+!N$>1^kBfjdT+Aky?{7@o}qrmLro_)XxkfuUU1s(h*FVKV-9yXjMrFurj2N6 z!&#PZ@4OTB8PmLU%zL|6`La6K0dkC0I8j*+Wkx&xUxI<7=Uf3f-Q7zoy%x4MJLco` z`ndt!vb8Yz#(n*EK0Dv7SDqF=IfN##fhRkD>pCb>oIV6nyemRTde?4SC#UX`(sC*( zcpU($oj}9hMh(R4zdq=$*P+~~H~gH}SR^m6h1R!kb8bm$tH1l*k~^;K5IQ`-Xci6W z^J`k&Ihke6qgC!oL46{5^qI2xPJP6{orznR3yM+Y2S04kJAi$Imuh}hUcm?(SVIpf zYXhhYIK+AOJta9IjMt6aEGo2HD5w~_tkp=F&-!*R%=hPH{?JG>w0wkUd>I;=m5UN2 zG;h5E&aL^*_j@$%)@wi6)X+mExqI-G_pL`;Vqi03@N=0DP}Q{b4+snQ7X$u!^-+!* zl5zwlD7v()Y`E`zIA=oMbyVz7rTDc)_p58K1B_^BXe=I^U3q^mgZAQDj^i{p&RxN` zOWK9~e!Y#i&2Vmh{&1~4>3+K`AM=%}i*KtQX-rB9sHI3nn5bS_1QY!vlENliCP&ty z_<}$lH3wf=hjLf!^z`)A!^E)4+FI#qW!96H-2Q>S>i~2Y!~+jzD}NC+E32hK9Xnb7 z)@x-#_WOFOAV}D*t*yPeC<_ug+YkOaj7$@hgV<8q2WEXMOdv=7=Dzb3{p5ZIP}$E& zFd{W(T)Cg~iVjALljS3DZ;riBE593H&a~QlN~bEbzmjkmRn{M+EhsE(o&{9tWGcMk zVXVW-;+$Y{X{mX6KTP15_uLugJ}G{!&9|ZphDd@G=-prCIki(3=qbkK?R8E$St0d) zw#Ix6EHf*sgG?sJZ8(p=vazwTGx2tI=AWz6ogL#F`Jehg{lkGufY`QN<2YKuTep_~ z=2VYD@I9GLkInYZrF`r6C{g!ycZE;B!hD7kN6;H)3Fug?l%0cJJOKBohM`0GUCckJ z+KM&Ph7QH8w)}ahombef$WgdmKt#kssOD^cFd!-kk6Vmn!#MA2TQ@#vyi<)R#T@y( z{b&LN~dU%Z$<8+9mWBQOdE~*7GjxwvY9;(8~Kd?AkJ)wTvcmIVRsaRdbogS_xBUw~NA7 zn9i$_jl}ZmcH%JDBfnPhrn*5&dTFo+bX#7f1$Q^i|2mP1B9_sCM1jE{`N+xMy+c`5 zRemYGGGpijEiEUHt1Q6A;O!g1*v8DEXNa4yXwDRlym&%0^4q)d?ozdZNa0=R7GuV7 z>nWpNSN-yi&|cuci$IJs~RZB`s z;~kMi$&JPJIz|{NWsl!R`*Y?Veg`aua?H`4cSaINumaM7=l8v)nB;)sHTCENmB+jp znOCd0qKa)6fZKk}YIT8|gx+qJcj<1S^{%u({f1xkuF>@7!I9H8VD(jHQk+6}j*-6w z&~U{I3#@vtteh`O2x%+=e+X#_&vNcBBOt2E(4{=8UH<9`IwH0b$7<$^01|rU$k)y~ z@AYh&*K-MZD#FO<5^`LCk%G?)-?gnDXNs$f&!BHuIEctz-t$#$=fz*z`}>|%7}A3m zvRD&?_0?jmyI0k3`C`~p=Z4SlV|*0m;&rCiV0S}Vr9`Svw-WS4$U_7;Y)x(2H1O9r z)Kx=pyBU%m1km5y3PG27y}WD*tmH36^b~4WCIxnLs`V~La@yF09QU4EoqS{32MU4_ zWl~H&W*`&uU4F>DuUp-5Hcx5G6(1UL_i`!DUfX7ql1=VYBTD$Vtp0>Y{9$FDen-4?@=9I6;zc^q2)=_x`uHmgMCgwVcSai!vMnWBIaNsLl0__{^CpY{nL` zTTw-@Pf&iD?~uxk-#7*u| z@;9TjTX&ons?Fi~MunJXweW!HY4h@{)BWYDy6562u?s6*f5nSSZRmIWm6nkzeT7Gn z&wK6n?tpEiCY+=in-K4FCSS|Sa<2#L+io6bZy3LWhl(uG)ZwJb>V7K>E*7GCPjWAXj*fD2u|9mOP>G?ZE?fwZMTrGR?`8@go{d^Sugz z*9<3n()f@0pqX>^t5{6va|Fy;g*PYBR>S0WIT$Bl1*!flyjOiWA%vt!L9 zeMXH<=?DFChj=jKrq5^xno6#ta$`Z_F@etOm2H22zlD|6XE%5EFME;zx;$@8K6INf zcc!?!oVC2tI(+_-sN=X03*N;pZhUBn-`3W4W~kWGy3yKmX_Oyd1h!DuZnx+=D%6cE zR@%Vk7Zy779Z8L#OJsP;=9E&SV^x>W<`VmQ6OX=ufexNB!Xf%HuWYXfh}S#^uRh*0WvFkE<%;Ze=h18 z_?gDNSV)7PtpvBEeE8}J@Zyte_eje}s>wrLz81H&>R(12qdA6NX*fPPRPRG0j@}~^ zugP*6%HGy9Cbhzqi=VxEH@vizzulKYHWRu>*Dthh{e{|-OEzzkvMv^jVxI_RU?Jsd z*S&zlbpr+L7!Nl_2wSs4mb86qt0HN$k(JzCn~y>zV2pfttfk8BWV4f`!cs8|wJTo7 z0<}5w(i~6Ho@`G*?mp5`pFaZI^81jNr=pAL=$45&JY7;ro+qgJuAXsaBd#SJ?jf(Y z8H*rDB=TbVT&VQU=iRlGJ>~c;N6^9E0k2)vmfUNkg_ZF7Zna}4#?eT{LHuPTecx}Y z{PimG=NQO&5eW*I02u|y3I8zpt{4#XIUruEle#$jKUd+`3hbYD<)f}RkSO~AIjm;i zi@?q&={geLal{5LLF$xTj=dXtVa}{O-w6FMTbceB7QjR4wYaXs%kB?-d`5&sL^wJU zl9R(f4x~iP01l5^Mr>9$k4-p@*hKNbwlYj}Q%H-m^0$q_&P(%8Pd18E)+~o)Vswu7 zA*wS;UZizQMA>G5CR4*IF|~!bV7zAmErjJYh~);AeCJ>Wri+ zVlZ`NcYRVjsk+g=8o0@vr0j>j$TWW=@I96tQQYuR-o=ISaij2n&L{fWF#w9{6R#(7 z3nX16W*RK#3yO;q1fuU_{6-j{MAkoA0D2V}4ERce@!Ag9*Z1o^nK|kTpD>~ecIlEn z=?g;HlXdkHv7r#;<^65}s&S=@v{0xRwypz9$1&Bb8Tb&pQchzH3||QF_<-{J2C3n> z3UkY2-iR4va+3ktqhsk?eZY}2ftV3vH8nL2_FPXa0;7}KD--=Zu!Jj;m=Wi&7E`y& zepGGF2X>{bq{J+yI^j6eSz^O1%&}_v+;9ok;D}?Leb#y?IPO|M>H_?2?8~0h3s#e}x3DDf}b?_Ld*{eSy&;68zh22;!4s1nY9iGW3 zin(CvPY?K%Lv#m8KgA$ zYPa6??Ai7?4M;lHJ>s~Mo;lS$I(oem9>JAw9asV~NfA<-JZo4(GP@>p9@@4>ngxw>hc!B1?m2nlTLFE>W1RYi)P<%7=L+YdO+VG1bc=%3B3Mfmm*qPQZII^ekM9-Rt@!(+C0Fm(=|sQzrBunZM$IZ`#) z$Ow#3oblcc#zSJBmgbT*o5Dz_FCmRheZ7g#x90>6&CoV*o<$tdQSS%MEi<>%GBTQW zN9srkhS_hqXq*BYwH^Avf}{lZIc)2Ec7nMv2}H>a+P%T69DS+qQD33O%(tTUYAHAQ z_Z~0sNai6EIdSe&%`|JR+^9js_SBihU9(#`AwVf%X__ZR>$YFz8D)kLcf4PL{ksR9 z$-cFO48Az9UR;vfaGD>9$fT&a{bZ@D7Qka@x+y`R7@PN7g`krzOnue`F2fu|t+B#1 z&|visx27Le@8J%72J+QUW!^yEzS+~x(}elCIet{_PWBk-`}g$iHe>R`th@5^b}|as z+}zyQa;z$A?@lYc_92*w!h0|s?K6oLfu*M}i;9Z0gY;U*S5Qx!H=c_}E)K;p>c8S1 ztD2huo>~f-P}ebTnuuG4k*W z$e97X<>Ar9mI0H&BdkxtN^VAog47i!Z2N_{nAp8)T@G2)?IChYQHopM+qd;kmVL0r zA&uI_K(KbQpS5_i-^s+&BDVtK5)z6*oy1CxKks@bejM$yu_u8)g5KpHF!x={2?x#2 z=CS`{Zt$uc6k&?lK&vzVQ9r#cRI&CylA;NMiqlX8 z`sHI1J8nG=xy|6ZJ}g}AL!)I~pg1yC?b&ghuf`;+c)JmGC1b>TZ~>GnX9n{0-}>0fV$}AA&7RzZn_uFBK^DWIvUi zIZGiKlxZ(6qmPKY@3PDCrAeY8T*=2M5%3hDz}x!e88kH3efq#0lEpRB_x{5*AqEtf?_yqZ+`czI(z$Hnsr z?(v_So2$SApiqN6(5z0_*ic+~-$mHmR5+R|@nCtfF=z(8IbOU>dIUqPe%hVNEB9X) zNc!yFtrSX3VFIfZ*L!xEf&`Fq;DXk$v%eIWr6|09Yy$eA>H+fSN-Z$t#`L#g zf_NnLCBzXuCN5ln=`S9b>oc%+5oN5@^6p+}VlckJSNr(9$H?%oK;2do-+^*Jzx`{| ze8{0%V?8|q$Sn&nuZ(>UtO1j9mCJPS*ccfE1VG_CO5$04faR|F(afyNDgY`}u%ir1 z-TgW6c1!6sT}dBc@OLLWL<6(|(|d1EtHmXVIu0SMONH~QqVv%^^En`S*uqN&&X)}b z2gjn2EXwU6$W#30YVhi+C1CdHn^lR-6ztIijeUqULy+(?)8N?IqlL5WziHG8)y5f5 za%BPNYIA7$R>c0!%y&>v#`ZUcx^s&gN#$6P&FC8zitDXB(W^T<8RS zf5`z1aMk1D;@;R8`FPNQG`Dtsi9e>k9x6&J4Sj_@=iU7ginIfGuOOOwb)Hz~A8cF) z!hsI3p1pO$`{lClX7xsFL`1|4aH3CeIZR*1tuM}Lt|9lf?wY~Kcu6dO2M>=&oDN4H zwRwILCoZF&hsMde@5U$}a$Ct3zkxRbzziLtwLfS!2X+Zrdn{TymvM9jH~xpmqAm;c z7nfCmxb{DK0Mxu7C^)KmSAe4@GXchb7-9}kP|h5JE`518LK6%uQ$vHIUt}ynpP0Qp zKbUiw87^I@=VhR$Z--7Wflk;0s@DkQWNu`Cg4!-Ndw)GET=QAex^F%UbIqMLs5h+6D zj@Z|u(tuy2x{b-J3~6r#>d=HkJ{ zVq#j%ESOHm}L1l>p`E$zf=f22t~5fdu9xN^Tw%) zbAX{3raJFKKl@#u`1|iDYxk)QKx)hdCVabXEiF0U`)5R<2z7`ZB#p^7Knm)xYPxO+ z8x@ivKnax+P*af8E46iTX=v~49BS1C^^6%%$EddejS%4v&WrWX%`UDq zXNo0)lXk%>fJ3W_tZO)T}`+XA@xiuzM-3c1+YE?lav z{~5CQ17CzoO#BEX$_BI(Y1OhV8Qg>4F3|O@pZaON&5Ou=oNDbO%QcUHc=hEQ85=v+ z0u_{X=u-ppbv`}??E-AV!DD8XpdHID;Gw&_yMxa6h27nnL#1RhZoh4ATw&c>((<9G z>|Jwm$@4ZLvzhXWiO9NS)#@8?gKnjRT9T*T)*8(xN!LGnLCQ(G(AOu~_m$WZt~o%8~r_Vo`9@ux_7@*>%%{1qFw0x{QP_CxgfdQOf8ysXP~FY)N*gD1*Uq;czdBbHAV;1n;MB76`=7$ zlXn(o1XH$^TPv+f`SZSK(0zIR`W>o&V1RyTqgX+`w={&FZUwO%#2PivK1uWYG_yPtz+ydAf{?r&yAE zYO}udo4M&h#(iBUorwZVe(bhH>DghXD*R|_TcC4-z z^@KghRLL=&D`We`bQLp<)epVrSwEXEjBt?G$M~tqm z@fL;lR#buS#QX8G@J z5^U;>kO_N~C{Bsa%M0OQ$<4dkfv@~{4hRut*T#PcQQ!%;o+RLHzhgcv@jpKOsf;}M zc!7rxf9IdTF~p#u0@sN`2t?+u;aV9p1`57B8v@>c$ariAGPh<>n~LVOfwsJl7$ZbK zDB8zGMbWKoj4Xfmm|diZ&Hkp(Uvu&$i~qt6Qw4^^`5MIU3;H%fp&q8Rd`@_T!QM~{6qp6F4v$R@V760R(o7jIS7^)lgoP-tu{IuuV7Y}w=|IQ+7 zJqJf=J!jboP~=*nE-~>}9JBsEx$|HDeb)!?)dmj1D8KfX6Uhs{1JktQ>PGRsE)ZF= z5*MM#wEvdh|C?7*?I6dqL*3;PC4C_P!FMc765zme5DN9J!|{E;EyH^VBs_}0GZ6rP zMMi*MbzxHJq*zV!ixEFVXdh3G7eh$K|A++W-VlbO;s0&-hN}1w7!YPthw|}MGBc+r zp6izjFa(SdSHj!xcPKvhsvh`#IY}WmaNwV+JMe^1*6(y3B^zJm1iv~h6rcF351PVm zQ0Dyqxq$!2=G#P?G#VA9R-B!-w(^q<@DIi3hHP9{eUl$ zWoO1Xa8Z?Xw!b+J^ym$N&rRxh1wrij82}HgHR=kH0$45;f_J8?XX~Z{XJUg85OtlC zat$;!ZR6wPm2clp& zB^|$aP#~<;C~FA_b^s_R?TJ*^*598q4FoXfNlUaK5EvIo@bI6(YKMf(nP?M1gvKU$ zDPLUdrjUGX`+p*6`ca<=3;Os~3!X5%i?r;vLSBF-HglV zk@V#0ZC%wEGSP-(VxyyVG_l<#UDl5f9XN)vjm@^TxlwaLr^KU_QVLx-)!FxXQCt(N zPh%~%S^Ue!l30ps3oSr7fO;@w_d;+g+!rw|Ktl818@^=o({Ac>oD(AJbG3`pwVN}PNmxs?(O>WPlt0B~Eqz5znr#3wG=jm?j zMJqN%?k980rvON6`&*rZd;v55Mxo71%-1Y9I>^o!Ej^w*+3RM&Fw`+9Q?`tJ+&(ng zr3N~fW=DF&%ROlKj|~q?%q9;)z+qQ;0N-Q?8xbf_l>MOQ^}?IiAyu*p;v8vs&UE)JxK%Q9D76FeY?-}mmGCX29E)H^sRcUjvn z+z2{y#KOU$xt6{U*Y`Uk^-G^!HS(K}XX+anaU{6gyALfcE}nI?6kKGKMV)y2;9sQe zgc|PJ-Rz)m{tMyZ+|V(K>!l2jGavz+{nOKZeUR@F4Sn;T^UBhqS$`Gtyvh?q93(ek!lCK{9H_bsuta_(HOc zcya3!Q^;h-@@y`LzQI6e=AvJ-&_A!G^^Q!=CEF3~NOiYhwxd-+3wC(8s@vDe31ZxC zNL})D{-C(PzxHK+E3$=D4+IwX?ZMv+Qe0MK2S$^>>6k<20b&V?|H5=qGcx*1$~rbLW^uR*xSRgu(QC*}&<%w{SNpXu}R=Vy--Yp$e)VjF8tpRX_dpH^I3eXqD+# z;+9~bfD^&#EQ+nZ>=m&K7BL-6YM0$1|S6aRcw@z}4v?Q+?f zHCI6fY@90rcp>5|gA_Oy0MP;{`=~$8a6>Hk6FgZ|&w~P^R0f*nq8m@V3|-PJXuF`B z1x>rELFSZ~`}3}U*7=`BpA`$SE=87y^bZq6LJpw|qe3TWDOQA#6hFK^PohZ5 zvi)|R{oa9DGCI+l;Bws_{O5&2u7#o%NOwNC@vqLP4}cpqRAPT#5VY_4VyQSi#S?ge z4~?=k@qi5S&-Ie$ugRjsSfYPR-ro-^1Nn%j_5O*DejP$48=OGv%nbBvfe^CbJ$uU5 zESY3Lr)kF6F-R*wLmhN?K?DB(o=)_#sAp7~zdjt2l`zO3?0+T>ekOAfBDzMxBZ{XB zgR*#Dhb=at_o4l0O>a&Ug8Lxw#NTB8`N|Ah-2N5-%A3}orF=6T1TBifrqCjD^?TsM z0>92Yp!nPGP-#EeZwN>pTNpHV?VSGqlPidP`!S%z%Y;5g?@hmJYh-k;Rs>-VI zVDc>8wfhv@Q7zOu3{=rnUWSgSgY!BTJTbnRnVHp?vnqWnb*`7aGE+}E$v_Rj(aP6d zs;R59+}Pacm>I|%8XXNDv?+Bck`-B&-`&~VR=Dt zT_dBdlKP^ zvT@~}`S4gSt5w_U-G2@6RzQ(B~*r$<@G;-W!!68*7MusQfbUChF4<+GjO z57YBIyqT`=_>PM0-}K}KS=H$tpX`TF`S z&{!EzxTYl^>U?haXBvd<&51a4|A;@f{XA zA@X5AkJtLh=M|?@PJOQW*uet2Ea1I&L~Hr=4vh7igTWts$>B2=7M6Io!rdNjx|Wh# zQDrQ1Yl{Y#y0vi998~WGZf+$K;M@+=RZ%Y8+;EI%zRD2mfl3Gh^0?dvA|jE7@R3l92MA%{R0(_nQ0a9^ysyA9d89E|(uvGK)F~fbIV;FZ_&E43`nett!l- z%gb#=2G|#`Xjhk9(!32up;lfS%f5GG)jW`N^e07 zcHZ1~@1x8OTW9AUJJ0~0E&Nr<{DzmNzhAp^lQA~u@d0blj_Jj(+-=xQ+Wg($+@&6&B>Z@`7gA&G;?UHpiJ_i@I4wl z>lH$mEwblB-yyUr`$H(s`nP5MnZA9opA#2VVDhiK)&QzGBmM@|m3I~D?YU*+dL3kY zulhNCR#5XbHLVA8*O_8kN)tIK6#RhZdVLW{h7?y-G1c%9?qmYT!Z$ELK{F!4V$YvD zs%c$xtmq+#z}m*5>)+O=@5Ag2$Ls1Dsm^&sU73-PlvFN0d{j+Onkz&5R(IR>k6@W= zK#Or@^t^*QWS#Vm}HZpGYMQW`F+c2Hz<1*2sQRY4gK;GgF zb&VTuGXEhfFc#zhuFwPp#n&7~ZsSR@j(hxf@fBTv^x|t_uMD_#3Xawn~->04mN$Ica=otdK6-O=48& zg5?#DCB&;l)CHv+qq)6xgA$nj$Vgf5gNjSKmH;rv zzE^i~X(?X&n0}ys5<#WqZs^;Q1%8i=@R5OmjX3V;IkE)$$4F$WmBaal7SCm(w~tD| z%M9ByXU=TsIWLddrsr(vcJg)h*ERp8LJ~(Zr1nzlzU@AFa`VBA+IiM$h31l;*B^A; zM@FJ-x6@Y*IkfQvJ#|(Zcy_t(g^ll3-3x7okCtMW^pr$1vkb8gut_+2AYpwtycTCU zA;Xo2U&e=EpG(E8?Cgy1?c&^Pu1|I{4V9JVX-ki+4!xOUVGOXZlrEn(P%W;w^2m@6 z$%)(R|AY{6BR=L&$E7NB@E#aDW>&Z~pA4~+_CoJ7`?p4EBPXYKjF6wd+H#LRxs1;` zyeX78i{uy+se0mV!6EQI%da4LX(?SjWuy~rb3>h{(Nw-X5wm*Q2^qA2z0WXY!~Wz0 ze&x!9&l|+#Af%C;kEid6j$PXu4Ux(N`3?MP)O5z+dNAT5$g#3s-1!&qG4%U$kc<41 z?*G!mlxaGOi&+#_|27YnC}<-65{F2-f4C0)nm%YK$}9Wc6_Q9_9yg?` z|3xvzlKE$el!fI*w)LBqusEjSo*&}jd*;1_T|Qf=2dT?w*-!f0c@fn;Sg!E35F2=5K{&*B+WYa!~l9*s@7~##ZoO5l9rr zL~W?N97>Vds}oGJ21ET-g)a}0fd5x?+A6B`K8wcCms0U#wDu{*MZtN#>2!Ijz6<%X zdHwy``hMB+{xUmFzIEYR6~kI$ICCNg_I$sMf@H5K>Eztf(rYav@$l|@r9G}zU|&}j z+y02TDeEB%wF9?@cT&<3GZifyfIU#$S%mu61EcwjRxeZ>k43g*Unf#JW*o0NT0L!NL536YP@QtQYfY)Dq zX(~oRQ!US8W;oui{Q5{rR#W9toA~^;Rf@Y5rUBzTT9HvL;%0omMTa}@Nd~6$aMp0T zVvJE6u#<=sp6Oe;*nwgERWBE0t%}nP?lfWb^DbTujKMNeq)IJ zqM)#gO3M>NloI3GVa5ge?cIt6dCaj;ukfBPs*CQI`}>3NrdR|g)wxHs0S(vi0+XqKd_Zy3!QTAVYnxKVFA zM~&-3<=L~WO8O&;3u|?RI5l!f|BJo%j%sq-*M$`uMT!MMx=V_J6s32NrASv0P)bly zkltHpA_6KRiqeIEGyx&>9uN>vS|~!077-~SkWfNNAjvmzEyca>`M$fqv(Fjh+;RPf zkwNk%@B3@>SDyJyVGcfpo!P-12-0=-FYzk@cMz!>$<L-gsGi0S!sbZXqGGv-O>W3I|yT9XbmO#guDyBx9qwncLMje)oa zugkLbB5v~rtqNC0`RnEB3t($l;>`=;TI#V6y`*Lbuwj=4g#=#+YgY%h>4vf&7xA`LpHC6oS={(|ZWyEK))8DL==~|S-hiy?!GH#Q{ ze4HLcBTgA-%VZ9}L^q+jYxXwAWu8lQsITmfq?hp0X3^Q4NNVWzgX0zGD2xZ0YAiKP z?E2{gH4L3Pm`~{I>wd8PvY`Xhx>%B1SbA7q@z<TxNovCs+0jYd9%}1)tDpHDoH2EvXd;KVh|4si`vhTz51hZZb z&`?Q=47z3MiA+c~2&oV0$gUMy@_4Q|NE&|ZNAc{e=jNyvWM;vX^phl>ZSo>)2{%s_ zu6~ftIdRrWhr#1wrD!bR?sPC4{(yTy-}(e zrriX|PCi1i;4=?vU z)}AmiH?rO@urZlr<=5F233ZCgY4h>o4Ys=+Z=k2280e?H;b)dz$bFc{akVM5zu)kX zJ$_>d?2RY3>9f7+_rN|!KF@ET5_ZRIEqZ04iXq4e6VX^4Al}-Yld`~VKGhY41*TA> zQ*+h;lYjMv`HQ013fGVos#|MY^Dh%$P~){Z>)o48^7<%Z;$6wP zk8HF0R`0JGiPT%xx(Q)?c>_1Rzu|dfOxjnHZ!MUn8YF-34S@xEyW7J88jd238vkOG z=JHvZpp8G+)ZtJ%iB)F)RK9w_i309i%8>!7fXU&(>Fh)+xu9WhxmjtUf%*!Ayuj*J zGHPZ2O;4+dXC2q?Lryj~tH0|~)HC&ESh9qT0o=0 z%Ji71{>l}-wRHVu`)y9c^!c(uPfU!Gy2{x?BSSYwtGw`(oI7)7;`-#nQtn;wdauE> z_+ZC^TjlPDFM77Q!ogdt1!bTFNTAE5%@Lh1m}q!&17<1T#XEzj2gqHpYb9f>7G3$K znK)B>I=16j=KVyVM-j^~S=GgCh*=l1d^%f@Znt-B<(ikR?TF)Bmv;0a#hH5j81K&H znC-^wIgJaN+jy5F+a0R-^9J}Oq`J`&&<*R(eaKUQT;zsdJwP}lEBaW) z*{)pud<2~Fb1s@^v;+GQ(m=d#_X&OHQgR}XY~)Jm>9*R3L0O*nw_(ED>fHWwG!c}0 z@9%-!>tAY3UVWmLd{xapUi(s^a&S<+IG_rvyA6dNQRl5h_e0jR@;<%18sB$}37TR; zoT*c1SDprJFcmS0`w{wP76Ou$`k(S~Ia)Ml3q%c9v6%|jK0%!!fEJ|tDO3L+>6wlr zHCNNk9_QvwubGMm;^NzF3IT`3u&^;Mumb+MD*G+g_>rPck4RmEBMH|k@X@^8LMi?R zq++2CRcUnxAlpkzJ?v_~z_F%+I`q(%SDKYqJse_$-a9ZHKzOEFozO#X>g|c-c=k#7 zR;^uAI)$Vgzl{l4X4mYd0d>LlpnUZ1jN+`cJcS>(sMRrO5+8cQpzl5xVks1ImAT{4 zoV>S@xw-8{E8o*Y&7ChF*zu3D4tS0g;vhyR;X0Aamt!wafipv|*iT8ruLQaDpGMtN zdGIIv2suz!WhBa6JZZmtcE#sJtx^e}tyGIW}b7pBN295F6$TTsNUUar3(bzfD#>YE$Q`)Dwg!yNfZn>*tgMER3X- z)X}#U!mLFm{H|VuaRvES&$aVEio&=y!M=vY;!^noriZ%MRUBICR`w&rI((~mZ4C0I zW=yHep=QR${t#netaa{pi z^8V6$5MgbTW<%1SWN`-L8wnLU|PmTYgP*N+VeGn?od3g4E zCtpv7aZU}t)VJaJ&L^K^bJQY4tnKdPBMzoA1^W8l1_vO` zh>FZ4Hoo5T*~Z;|?o$^*fs2dl;9x)YqKKkh$EWgav-39bM^2PZWo6yq1si$7q6-F! z22D_oF#Szy2mg`6!)r{@D7($xDL{ioG%nj}_q)=z*5+&;^yO7DtTKN}cy{V(ZV0@! zb-!Ppe+F6cWF9mHlHA?v)aF3kP8u7|PCWrD&FFStKFam<0WkY*WQ|x}(ac@|+(C}f zY$&)rQ9doNrhT?qqfFbe(5#zu3Vks@7UomtVy2EM^NyPYn{sC8_N5AK(~5}BBoe(m zlP-+9bFViy-$qV|$bOp{W2*hU+*g;F`MuE$Cqf=DmyJ2Q>;*WfoF0=T?g!?^E}cssmAOwkkH+YJGYblG z7j>{ATf5rser9Ie02r5vZs#MJHgz;Z@S>LHn#7#(g*s7`R@(&4RgGWwPUTmu}4sQd#t3z#F+y4 z!X6*H#QR#_Am|3zQJi1nzU&fhC?GZsXj)98F<8~0Q%&uCuM-n_;)74hBtsHWpFaK3 zViFxHkerOQ0Z@c9qMcf&P7`MyY-g4kr6Wwy4AE7^?pS9h=Y$!9w$b@7#u`VsEytE! zBOw64z}|_DjR(U+(sk+kYV!;`Y&t*En7HBp$ zo374JOUSJ8Y&)UmO$&2N8K;F5_ovEhXe0-JUj-Nn#Iemp;Z!Xz=cg~lR6_$l6~bo- zx96=fF11%m_u~WbAal_kx)`i7KaZ1K;I_;zEF8yaP%rnF53rU>$cm~8We(py$5X>g zPF$X7#-KgYj|fB3?|&Ro0jIc&tDbqR>nZJX9}ZfQ?6M zk~{5SN#?^bg%JpZWyXny$%f{b(0i0M9GBO4#)0*DuaSX%p#~RBEZTwFikb8o<#5w@ z9);?L5 z5+d*!^?XZwRBANCV^!yd;$c@etAoM=X{MEXi<0UdTX-D)G#vNNv}$#I^MLXH5TG&!9uQEroe#7hZ&>f2&5n;z;gWhA=3a`M<34*l zWEkF;BA-Yb4NJ{22_II;b!UZGh4OH`cNewTcjky`0gJRmj|-tAxR5Bbo$)scAXIWP z6|R4ZS4E_qxBsJz25?zCP-mH zdjkB=Cw`{3IRRRQEd_#Bj=B~NfDJ|ZqnyJ91!dC(jjQEis@HPjN{^eoVo>P%^W%18 zu0D~`3@W}Qnp|qO5C5`3mL$k3dObNl9OqJC(w^m*$?f|ja+8bk+ui=2`{B3thhLoE ze4{FLEi>d$!>t(J*N=uT&S1Q)*Hv}R-iADJkagDaosy${S=Qq(DIOxoI9~;0KwM~L z=G8M$sZ2k`IJhAS_BJ;lb3fY3WcCY$QIyo}tn{XV*p{+^XQ0jQ;Bc0vG1>t){t697Fb|t5h zREI0E&tmSMEcrV3_<_MUyQ$$O_4F#?OEp1qAI^!Wb1*(7ieh~GY#Z!f6vjtBh6G*H zT=(O*I@n*2_p|b*9{~|6d7xa{a%_VYA$3%mjlQ}}tE$lQym!z_v#x^b>7xQO@+xN! z1*9XL*m$t6Z*(;vHLx`LmyU8G>9CZCJxL?B8|8Yb73lHjRr@`O;a6A9UgX@wFK`DF z^YzbPhw2B(>7&e_J?ozyjME=JhEWhH6x!^ayUYFcYsAZ@fwXQ8Lf;KT*xnV3ewM+q zC%IN$9cuNt4V27Jn@@ngWNn2bHk~Od@*M7b~+M?sO(r8Ukf*>e&9naegM;zcqxQJv_ zQ*N*1HHs=jsxBONU~e~$ruVO2D8FT7@u9b12GSoE)_45wY;HY-XZ~wBckbb}*+x}_ zeA^3!ZnNv{#?O{bA1bJ(m(*WiN3nZi8v28>NQ^#1|rm9j4^gOWg%;DvWhE z$dHk@Yo6UySob9NrKN|PH+RXdz>^oDl+7jE=*;%<64gk%U&dw2+o+93e|HA4vnTE5 zs+mYa=7zqLc2sSHFxYaDV0#DXHrjtX-M1%{ z{M;%bQqiwrF1jI=_igdY6oVGWyg(^7rOQ5spg9x2Dc(QX7hVxA@)3=RV)N8lCt2-g5_q{S~By zx9C&p{HjNfvMP9tv>?`2wch2PIOO`+93`q_>XauCl^>*4uJ5>Ilm9_WqRY~trn7-( zRmU4tlZ}EomYfBKQ+XPBmP9?cc!75|DsOXlmniJ{myG<@tQDz;GJL2Ue8EaNFElE= z5@l~b_r*-C(505SfPH$5&WN|X4|`52SmEfnQrCx7X>e56)kIy{XOs93@qAtfIlo0d zyUELV|AMiBN88u(UpXnXz7OtebJnZQV?VuLsTw#3ImSe@ozp9%#fIBt3w91p*N`j0 z(QojCzyiBKTk5H>i0Uo+9Z!9nchoCS}+ zHObdlexhvcdRUm@6llql#>eVirjSS(S(}}epiSh0AEMfRQjyM-l&Acu`!wI%j(77w z#FV<=BiI4Y6xV?gSFpG7ZD3Mz;!ELf2bqM7i83;IGEd)Y8ILx019#XSFE>;>XazVeSQ>`SoAr2+KVQ<2$2y1@vTnVT(()=@dkTh2U&56Z zCqKV9&?u9r|K{^7gSfyx^s#B%Z@&HNyYVz*UiGdQ-6&x%S!cwoNinKpp721a=+8pV<35PB%>&_jIi_C1 z!u*+J6A@Hd)9}j&L~nlIH+rgyfqOLE$pS%bX)x}BGc&T(mDy>mty7@Wby9^Ld9*yI zgY2Lxe3`XemD{QyDSNU&4=%qDtfBD-Uv-(BIF`TZq4x!%M!_fDk+%VY$1o)_>~zsNoi;JK4nd^qSpGPX+i%Y7Gz$Y@jnQq zwo6$0?So$$=f}pkd+oH)eMf(7wO>xB!6^bZ1z`fsmoh+M-UOB@%MF&E?IFI;ZnB{+ z{3>rrW3-XJNvL|{VXkEnaboh_dly1gCRidHp6X-S@~5-hV;PU9oavOA%}Nf-7fhLN zzkB0?hJMaIV|P|U-(+~ccXj;+96DYx98c(yHvgP!C9L={{&QcsWp3V7GN}DHggNMq zUHSqsOP-b}LPv7wVU^`Qmd=UPyhf#hX|KU|dUAEsctxcYv2Rm@9q*;{zQ#ERr>4a_ zqs6S$oE%*GKMqZs-d!>6{G@2{sB>WwG;(l40a3MqLWoq0_@K*r@vt?b+vYcNEw+#xZqg)L2T=)y_~7bq?U5cnK$gFv z;lfcxSJ`nA^@7G7346LP3pJV; z9RKVTo_RmTVFD{^!P*Jeo~r0IEwIT6?Eli!H2S2MQhTf(=jF&7w3WU!A2e%12ie>& zmW)fC}i{Hm_^S&~VKeO$Xikh#URXYW2_Yvs`jv<2b9Qa#Dx;rr>bSNA2`XBF(B zD-AQ>E~P(xx^0WUR9xeY-fbz$nwq*4y|^Uhni&E=Wy+|Pd*!9WXjO{0QsEONo(I@I}Tx8 z)Z0pn46&iF@SNS!3!B*%`B%1^nIk#j2!h99)`~us^rxXFFosIqsG6x72LAFK>=$if<&hSECu z(6D6Q7}^N^(HfMC)`zU64ci=0P)kxAJ4Lnq0Ow-yK>q0cXq5n=(~DmZ7)iZaTT(^4 z<);z{&^b7Mv4@$ed!CH@o!+Q6Y4)tCcL1U^QCZedc2*7?2p(~`(NgZ&>g*?I&BmnA z5_V;aY_~60=Vavu-H@J!OQCX1T9k?KQ+tx)F2>z<#!^m^45f#=b(8}5?UNUk z#>R~w^cTGhZ|@`Xyf&w~X~x}M?%I=|mp5Fu_~?QEC_6?aJgX+fWF54mdBdZuj>EHKS-)J!)5G z{Th7TWd&jY<+$qpN}7w6q0Hb9N@;~YXTcF zAH69-UcAr%1R{M?j!^&U8$8GO-P=ThQJZPA_Jq*pCKhIE2HUVSH*!E;2rkk_<@7(D zsI`}ve2bd4YkOo?IGKwosmaafQB3xpx3sml&s!j3hip7jhKm(uRxM9j$(3#9#$gRr zM%GBrQ0Ha5dc>Vfw0H?-Lqa!T{~19|JbTG0mBh_XekBHtp3?P5Bkhs{a!SRQ?=!-88@ye>Q zPSfWH#^}MJyo^#C88gRG`^Bx!a(wMS#+LnPSTkyC)OWMx&v(;hH%vB?z+9p1ev%2n zePJ@VUPN_0n;NKY?w`|}ce{`XOI)m%+K>gKgnYEeUDy2j`bHe3tO$nHs4=CI5|Vsv z@)NVnO=mVyL2{iSw;+dUMAayb#vm`8H!_IPFak{iA_}sx!iI~kXATyGsl?4WaXy-J zqR7w9XsMcFh8bWRo-E6+KyG0YXOxf68i^zRVnDAn!BTkM!1;7b*-+Tok>X!CivYHB z8|G2{gntHLD6>E@kbhP4Y0xiQLs$S>N`xltI`}@dD*)dAm@_rNl+gD@ThQr(aHg}f zAPr+plvRtCh=g6$Da(~TVjK^8)pV!H-1lY*OgFV^MX&Z?+sn-ji)%&YysO-eioV=F-$mHXKin6#-@ruA&(5*# zb|D&iHi7!Bx6Q`EP@$ zx_C#)te|zRA^^hM8VqTUT@e)GPb+^(dzWZ~gsDhj&pBg~tgbuT8{YSfOe9;rat{8L z=Yr1&)KYY(|3x6`Ph<}u{Q^7a4|d|V2N>Jjo{vv<`Sgg0DIGubrNV4yNjEzeI1p=K2d6!2gVGosG;+pD^qzF7h9o>i_V>?%;0 z-Y@Km@&0J7AZ|_ST<8wRzVerljC^Dp%{#O!ek3!u`a>Gx=Xo9aYqiW8|IRz_gCBZS>2l}sLZqZ;qC{~LL%!cK-8bA;)ds>mqEE2$T->hi?9Pcty#Jbe0RZZ)aWP& zI}wYq1)CzyCQKcODubqkH+Bzi1*RM`>$BcKQS87`=>l)xs6cqC1zBfm=Ko++wWsZK z*$%-c>Z78hGgt@p9qJ?Z%S-oQk{afvB*6h3QKmmTDk0~A7ivE|@-Gh2e@@^3!~H!E z^qnkIjw4nKC9J;^txIc4j@BW)zn0z5uGs8fB?t0waV2c7k4KH^QQs9|<}eI{OMA?K z84hQiLp{4X3&y3I_>rEM{=BQu8Jx()d^NksJQb5SX{f2^*u%4!GI9@SO)Fa!fbq!P zcdg|gALZEGv1>%=`3)2eY_BL1s$8Jd0PuoTdAT9xLFCk*fH|~R*mO*p-01A%Q_(dP z8oVFx(y(zl18Zk)d0pxV5;lY>-FmKfS8E+_wFy|=2_E?{bd|R?;X;3p>&L>9^6HyS zCu+Xir$L)un|R@XtW;8RhEJ$*Q|!l*vw-48;+MUdm$xa->0JLmqT&~7sn1MD+|l)r zw#e~xySr-_X!+mY%1B6$7oMHV^Q>!MYu@B9)NZC z%i=%c?9T={17+(Abu zcrC@o0v)&%2Jyi<)?3;&$YF2>%*~IE2vydvVj(x%$E$HO$YhUfWP|KQIaC|FZNte6 zf2#UT=4d>Q?sHohj-4>TQz+eDN4n=zth zYz->GGe``-FhODSeSb59sxPs7*oBI#oHQ?VMiW=YUwC~Wq^S?seDQ`?%BA?t&oB0M zz{jh@5b3C;Bi3?j7n$1DJnB|DCbfoFtlOS4V;0;uc_vqla(H+Ot!iZgHWz$cyhk>x z;~|ufuG7VB_=7I3A;}YlP)Uo&)An%~C->8ZwNmxH3+)3P%~i80emQ^YVB%#OHrMG9 zhI@&)5zP2naO>nGdIZ(lz=@rVT&jIFPE+AmMvGVrhvKPA3v--bQ~hu)ClJamf%A-; z*$H%r!N);|e+czY23kZ(RgZ|d+{qte=2J^M$^wlQyhzK!$8wsF@c2{3vG4NVz9ys_ zXr=pIwvgIAHIERkWAiD{4EZ5{OloitxeGsD<36z!+OUL4joce>BR3sYabvogEl5s@ z_({^|+j{+#neMQqZ@rSyjH&@s<;9jn@2UU{cH%`e#ohFV2VCNgN8zS2`jsSEpB_rt z=ngK#-NbVt5fb%X*xW4{xPdCsbz?3Pi3@Plo{bH{3@qts2(`&F6-2L(li_FCYicNy zDKNlVYKa(_`|v!&r!|NQqneFcU!9G`O?FjMW>WmCy;s}k7WC}UYl?$Nzsc6siP3l% zvsGYX*V^XRcrjb6EG&f^eXl}Ag@T1e9Cck#e#)&Vqd<-}epOyyAxqGn#4s9Q^b9bU zCJY~MR)kq#l?|Q`x122``37VRkv4ksU6|~U{Z}H{VS$tbKI3z-Px{6SqWhy&Wa_pu zP=mo1E&dpMUr-xH6Zr(zRg4~&{igRQu5T+DP4*9iU{=_=gQWuq6PuVaIT`eHtQcJQI->QdI;8_Zp;-Mh=bT}|eb~tO%B``D4Z+(F}B&+7XG0~rIYZ1KG9;?%Q z0FNl8OwP?5l}txjdQyJsmgN*5p?&B)+;QT`UrzO1sfKE^#!2iafKD^-^@tdbm;rD5 z+d>q8fhg=rP6eOt+P4-h-*?VjA$qfBPdbXCYYXE-rxI=j`S(qa+*_kYEo2~-Hk%d+ z8>*Npg?h$Q2u9nHrJ+fKgBT|b%q16gZ5O9uf5-X)ES6y={AlXD@>)F@5>h)3;F;pZ zf&x*R2GK5Wp_o|M!PDO^X_~FnR&q|s(hkr(s})RMjOda_HN>R~fZ^~&U$!R6q9zXK zvLb41qya~`z_g2d4+KMPtNczjC<|YJsIsFk#|8|x1-a;Gqh6nfmzh8_OrfPH60o-l{qp>BNI?kgflSY2Ub*PgRNOXKuS8 z+@hS^7L<;Htd~V#@aO4!WulL+X7xA(W^ODZ@eQ?~rLQSi zYd0Asg>Vau2lnIzw_uWW5Q7DWfy*NumlAVcSl}{hqC;H8lIphV;ldL43QZ(8pjR6_ zfrs1mb>S)G2M~;p3eV)*73<7$l|D{nsy`)b;!#wB2R<1$2pbFVzYZ0-PA|OfuQ7zc zVTo+Pa!O0LpK2Q2Tknksu5l`1j zHLKWvA0I~2D7s5tHduDwDf9(JG?S2la)9Z>7b@}N^PZH^_~eEXXsr>nqn}g-JB80W z`&E0Qcl!Cbk|%b$%Q!P;{A-zCCi`hbh`r=_bF1is2*dZWP4QjN1jjTV4;Xg794D=Q zz-Z#3wI(%jaa)ZCqR^b?zG7ks-&WeA+nltx792+!C9s(r_W%xfW>$~=t z0S>7yAtk;>fS{c-p{QB2-X$BHg>T89G|!WXmeM4RXHqr3+Ptcy=+d_sN>upGvz25u zuwn3;!!u>@$?Ez7BW4p=06e zu>g*LQu$IkYMedOYt}0ufT7o6a^&Hf;y7ijVT?|;ZFxpb)S)&WnRa4o%zs zp#d+$6;HNBmkh?eYCucP7B0E?)JPYW2Q`1H zcxU_A|M9~32~%kUNL7xL%?$p3Gc&w#sjHD^?9->!mrZl^h6({c@O@>0&FX=jY$prUtsL9!u*&79#sOlT=8H zLF;5yE5FsKiRYR;mW+WEjAlNc;|eMC6+TMa@b=o*xU^FUJ#cn2rN(9P#bD6(g5hfu z$h*FB5x#1Re7gDSbvn5zmJs(wT$Sp1>BMl5%d#1=c%9Lxd=y>K0(=)Qi0OrKJEo$n<-XRZ67}i!FW=+8=C#m{Bc2|#7y$%fK602T!mMK zI4f>$8@M(9LZjr8OY8{#k{hbcn*Zf^QTf895X;9sYsn{-R|fLqBcfHeZd^jchM%vg zkjc91WoS3MfFnaQlPg&bLYv$^7j%LH{L67cF!Sg!hiH5f9#LuPvJ8qll!;4~IkK3N zIDTslBgE@WuC1k5K>blG))E!6Ln8;fa9&o}>OLQQt{dL)&zhjn5t11xaa?$fXv@oN zWhGZBAAllSB7K=lkLDJj-&UYG$+)B;-k*A=l>&*;9o=-(3fGH2-RYhh$dQEgo&aOu z1M4Vju9N7FX`}!*ObO950EyEya8nLDY)^j0pnA<(kA`Mz&(ycMs6Q*6$GM!xYN}V) z3^QM-Bsaw!ZOY`Egg(B}x-x6+G8^0U%rmo+IZI;U{Uf7%Tdj3p_~o1yM9wpQ#A(qB zMyF$Hv5dSOf^W2HpXfz=*4nIk?Z7n z%R`^op_T}DKj}LpXBBr+=bR$+F5*t!8Xe0zuu5ua>sKkLQ5X4Bw5dJMX- ze%*R+9Dk80!7L`kR^Vp}0c z7O2;L8D;S4B#;i-XP$>AbvM=u5)^#>zdmIOzt@AkF&|p{cQgRkfgB4BzT`h`Cbf zs=wr?W()4d_D25^5dEvcb6ylCRlfUf}>fsR#RI;gO;O zJGe5mm>GBf=N*AC8hqg2SAqB1qnrp(O+m(nP*yO`LW_FOMdv>5Lqj3&N|DqXa?3r> z2imOymOi?Ie1Us33{a8&)DjDH3J-4MKUMhvaYkL8HSTwd`uRkEy-4^2=-%u04F5tPkJ6 zRu@FCJEH$)NSNgK;n06uox}xjv*rJ$8$EUS#mBb|SplJXip=^y>fV0@+}}o_@Ly{b zzXkhqt^F<7|0BZKZ;SnHu|G?Q-xizwe{n|hI~4p51;0bVUv07Ne#h@nfcae@{4NlZ zerE;0LqXo}P+=~{0;@bL&5J*@H-T250!s6y8j0i2rM-=S-W;| z(`o&we)WG3IQYGg{kGoU3)z3LkX=4f6+|9(#SV5&5HOPY(E#Z2Uyh#`5`6Xt+yPZs zC;R*@3^JFqJVn&jswWH4pDxi>>I z0vup$nom9S-vF^FI(<2^u5aewfG+&MHu~T0!?F5hA;E?Wvu1!A`cLC`|3ef`%scX* z5RAupc;@2R34)oh9*n7B(2S{j)ZtN^uQU zwT@hSAc!d)wWptWVds}3Sy-T=x003l0iy4k+N{?-*|vfm&`5$XA0bJ2dIf+}hRWZq z`C>Lb_23P}!MR4USE`lR16vTR>e73o=3eWzaB-DQ&nmx_*7c+gae#5#c~XFrSvg!~ z`YpB)UE}2;7f9-K-P(9Gfw6^gI-_f(Un#CnrH2Ek;oO49_7DAiDN`6g^j&s*k<71l zV_OEtT?#dSqMWX!-s^Gj^T$1+W09K&Zw@o1%C8K$E`MrnZef^-(1{ltRGIr{0TuCu zY(Azg=e2}gXjUl9!Y?z z>GJhZ{`pw%mcg4HBOV620ILc1VvRW*fCVgLPLO#Icf&T_tDsZu2o;>dKf{%*Lr(v2 z+9lZOtrb-&dP0^;!Z*uSx_~`6t1aoMLr`v#C}Gzx%BTa%c<1t*6DVUFL!0PQ)V8CH zIG~K{n+tYyED53DbCBAqpnOwOe6b33tAC*3r57CSmh$%l{dlqj*t^g_Aq|vODi39$ zl3GlP{?Iw$1hF#>gRE>i`-3Clen{8L*M(UqS&r#j8lW~H$U ztFC)#I|1(3OLYV~-D%zY(TJH@w$O^Vp0vC&G2&8LJBAEU(fA?Mzwd!dEabqWx}ep3 zE9M4bJlOQ0pUMUHgDF_lZLCf}XGMKP2*Whi2|G6)VgsJs=A|G&T)x{wM~mQj*d@N> zDslTHqg9Z`78xd6Lt>yRzGcpp|jX+T`FbZ;! z8nhzbyfitfs>4n_-qaGw7Vc6{v>`8Pkd6K=Q^xrmh~|=4P$JDH4g`lOlDnsL*dj#Y z#ThYH-~Ly#j(JxM++R~)RpAv6_4s*(zL7@pDC)t9WEW>RMJa-+IV&AuNjUgZqkEYu zw!ymi=-QKNHz+`AM0~Lj{}0Q!_6%5)dh)^*U`>y}%ejjx%O5ZU4MpV?1R)%5J{g?2 z=}m&W2g6Wl1ww=u|0Fm$3mRr+DK2jG{vgMIBfij36zLK*BtgVf3{I6xhMk9hcFZ~e zHd+0Bnd=P@X%BcijI!^hVF2(z(c2lyfV?zf zIj*0oBzyh=BHdovw|iTuw4K18Ti;>ZT{qX1&@^I%Wy>9>R!ge{%TZ+!Ae`m9 zyuF7q(BcaO>~5feSf;mnG}yZ4~lfGU(I=E>z06Dz}&R zjGEeP`8~b0hdZkJ%L{+8{2$`J5eam|@Z=`Am%YFj?x%_F_!r-Ku%4wmGJ^NY01CSN zlN8$zk^a0K2lW2?F8|WxZ(07f%irEZ`#Tc-j+ejJp5H6v?`-2|dipza`<-9@&ecJO z>~}@+yE^+_L;h7Rf~N3JC+cUq@Vg!_at!gBU8U~cwTntMR-CK*L6AN_cHPz3lp?;C z^<2Gk<*r0%t{^CX)nG4cYo=lJh>Zk*19!w9Sz0w6+O+UPd|YO()8af8jpzF-VnaE4@&Xsj7{~i z^tq-JUvMc}-h=eXE86RadVln*K!(vuEgNLM_a>PQYUt1!Zp}b=Hz| zqqlkqe5jFiR=!JMR=R3=s%P{4qazwyF6*Fy*%TY1>nne-Rr#OW+ko_YR+_(44D8_U%RFK}n3MyF$*ffHOQowOko?WTGu_Sw$owD``N%dZSR9j;AXJ};dt)_`Uqy; z?t*yxi3Z5Ilbsv`EEMz}q2@J7l|w~W3rRa2LXeAv^fAyvW5=&X@7z1BC+nq9$VXVo z$naIdoUrxwR6ye-5P(#7;f?@qT-w_Xj)8*hMcD5}gx?;te6TCzxhUVPap#sY;Y;Yv zxq&oPoTzydAWeHLU+^~C?@P#mrYFZG-Pbp^R*=!Nd62VTyk=5-_^CvAS5$6o*q#GS z54aV*AAkXeSLJ4slZa{I!Hzi54kuN=<=aDbejd(*qgoJJ$oPj!0Z#^+^(pG1n zAm~Ro{jVob`v?@Ht)HjyBcK3<(eG6Vg_y>qnVL7Irdv93Ned&sv_z`Bal1QZ8MP~9 z;us5o19#l@m*%6u(Npnhrf+Aj7@2bxdU`&Yl`V*Owf6)hHz7QG_adP8FeTN8Lm{O$ zUG(c?K2{3dylZ&oV#CjuoGQ^l=GW?cwcM> zSAyB0Umpp@wBJYxe)qA)cPiF2rrx|{ASf^xI{4l-9dWYGYu*A%p?aY1OJo$QY$0o- z!z-g<3@A8LOG0fiG<178+ zDs{m^M+kYHww-TiS*q&qrJ+`%xOP5z<2~(5ot}IdI=>cKF9v8-f@WLPVLk~*n){HJ z9@ASrB2R16(@(s2C8%lWw6HS`o|PT+YEfcmqWNaMV>|+=J_N?cOp_ ziG^Y5V)De~>9|GJz+nC@pAOrIebyY!!3|i~glAXRNbqBN2I~!}dmAZ}sTt(zCm#Q( z{dZ}!!0+kv^?%`Es1km*51|nA%v5uEH?kRUCx#oL%jsCy^?|S^KKVH97>dBLZLM!* z8CV7eD%5O5@_rwPK@YPK=ClNZ{j>HXmfPeG$4^pm8(l6u4ARo&m<3)rSH6Jdk3!1f zmCN}FEk{%~zJ$8Y_N4Pf)I$gIT$}Ij!%%$Z5$og0Vpes&XX{9F`O2w22yTWpne4{G zYmHdwLRhnH6SbJSvC32m`w?IMQsBWvprmJ4YFU2f2O)V!AM(y~nfsfYM+dKS3bU)j z(__53Y4*13srBTK+HB8~ew0}3_tdHZdos(du$Z?mH)BPV4;W^`C{1al4w*^R~d*R>6qmOVl}!3ybfF{@HGjO2p0d=q3{AT{Etn=Ncs zgxs2;g-Z0XW8#n)$XXL|Wnxu!yb8zbZ!#L-aV>Q#Qgoa;SYX~i)gFA z9!9=Ty><*|JM>5#1&*STKF_feN%M^OD57Wm;RgQ41By!1OubYhF6!M=qrDGFrP;Zd zmH)E7I((yp*BBu@J8|wP&EEZ5K$q-8*nNoBr`()_%8P1uweRbWl@AUMN?rB@lUN6D z1DJ~PXfQg^E^Rg`bgPU(X4+ z2?xgtdwP0UcmfH%&&c@DrqFs|!k%cbT=iK}w`NrPT`eZulnYde-(I8_7oQzN-06tp zSMz?Iqv0{48O6bx>ihN4C}{<$iguDav%i0^&@!2aO~aKpkZ|Q%$!)Ewg^H0rr_Hqm zhLK9@*FJV=@d}~(3fvEo0 z(fn->YxAY+_f9*j`mZ^H@pom3Mju{-m0+*add12L29XqNqoz)y&ACw7ddcuyXVyI^ zPMNpNF9h{)?r1>2roZRL=T@DMRGWvBQ3c}aaIj#8Yx4N5$yd$qi9GA4s9t&J-JTTFdu7L@(IZ^z!-848ad{6)te4Esn1;gm|Ss z`w>b!tB1So*36!qrck5gru%23CRE9u=NuDc#6}a&w5>I_3@-9|Z@p9;r1{laX<68v zx0jvN-Kd?R>198fB@KQDu)-44S~u3;yW8D|Or1M|3*F9UL26>}hT0i;N<5^QVkbOq zIGC5OBmA6ypXApZ3avlm*F9+tV5ph~a@?~o2F-i0lubN?q;0o$tsh9Tnm|ff>v=ri zc+4M!KtmtgH_rfqszD`R;FtxtO zX=LqIjc)WKlDp7a?hHbZSM zimP(jauqnUx4vr|lhHHYs{*s-?k$gt9Er<>(d}IL+M$B03%#1WbVmd|O%{X?=1R-R zgbTp}&iUlBSp}TUZSt0{gv>X+8BTJ|os37Jsg?FO6Z$T*Q6|T&Css3T`<>~dPgl6K z?NmYA$w5dXcnA(%%fO$5a+Wt@A;Z^NM2Nd)Hf*u(41O(%EQGwmncll}EE^Zpda!H^ zIy;iNSf^IKAMuBy?NEN<3frF_Yvv#)DQ=RxX!dIVv8dCNSyaon;XC9+bP63*Y*2dzu#ZK>-)#KE~oeXe!tdpKOfKMYofiR&}qedF|g=0?TfZ- zGu=l92I4jtr^QZfL{7|t1wpeg*%^XT4H&?usA)aX1m}S$tIOV?t+`nXMOwJJkjJvR zU=tG`e~E9QMR#O`dSar-^}f1mqfm3A8o5qJMvEBf6$k5iPihjGyb9U7ja)y(AYKi*RPJAj(-e{h_3N zS66{U@leFnoq&VO=Zj>OLyM#ZaQ(q7CfPl1>aQmdN3)s>lRp?(XiO3CET7UxZ$w?~ z_9LpV9?8k%)_lKTvUFPR*;8vqJY$z)?G( zro6sISZ*@+==T+zy^SBZdwD&4z3Ls^ee+Aeyo6~&H*C?1jW@Cbn6zhn1|AnR%6w-! zdTq^SAU4GKi1^#fhu_`u9BsmOe}3B2=Ph`YT4`@t>kUs&&z>eV%N(NmyU(hKT!s#j(XP-2_(EXIy?QuhFO!>n3Vba={LuHByDGK9b zFB!sz&5ri1O}2qbqRA!bv$FYMv^8Z!5#Ea?xPK#=Kd(sAtsZx)`ZHw%M}Zcq$T#ORJ%M32rG?=f;JiL*7Tq-vSw834FJLmLsHy|rP{kO#Gn5b?#>N>9# zVZG~{@ln@#+iYMTUY&I5^3~Yya8O&OksMojJM_AlPN0C3eIUE;tw3&zTeFxTt%N(1 zT?M?3Go|FX=RZ7cQsK<@U_zv-7 z0|NpoF5~f$X_oeKZ(4Gld-}!CUXCn)nQ%S|O>ABcr&<-j`Wz9pS^TICpSIMUbR;&4 z(0<@xDX`b`=~lgn0gR$?PE?ct-~5k;ocTiVxI|%jL>7bJL~8|2yMl8Tq-l5l z{`9hrb%9j^NZFYV`%F`i=dLR046vy3}QtO-1$%T|UR!Mm4x#}vorPD^Szb(&38X{oSIh|;wkn#(Lj!Ag9OFFw_ru^($rCYFnpcS-;j zerE~~m?CK|T3KkH?o84cvFf#Nij|I_nJiqHWYhog-cl~g?gJqi)3Z|Rk@}eF*(%n! zssg8+KCkwYzi)==zW6hp;#$MD%|NW17>EWcEE7`EZjEMpYgOuR88KQliezcMZ&V?8u9rC@`w&5^G5J-b~l4l}a$LzQc%Wj9n>O z9SoVanq|#YKE~+wC9V6r>)cR@x2W=Pe}%6$^p_pUQITP!(X#CX+xTo#r;Dzs40I?Gz^w-Z3E1yOxFNI$0CS?HlH!DCI%=L#N$;U#azEM^JlngK%h^ zGTr6OmZ36FRyXBV$t~fsK~MgdVZ{~c28Nq^uI&f%1S9>=q<4Ph~?W`l!+P6gSGGu+WEna99XoD zAp5wLiL9r=@~cy38O>zqSSOHBJuRuaIeonyh(nVz54O?OP<{uNtgiNAXlmOI9({!J zcP7P!`W=LD9wCI;aZ0Lfgn$EGg`<3XnB@HhL{JAC>26{>-`l#3dqT*WMFFo2YXw?i zkSVy4e2~_WO(KMoIc&B%gey)VYj#NRfahfXTn!1@kTg>{Rlhd86R@;}%pLwo-r|g! zr3v?3Nwa%vJjhv|O@MKClvbc)BFC)Hos_AVsKRQFNtJ_(>p3;AfHadTKVs13I4n*Q zMKCx$Fj~frXm{pXjf{c~*-)pD$?8@D;pewW#!l<2rq|=W8a3Kev_%3#<*VE$T*)Z_nVTd`V zkI!*^HK`wi1Pk7@(~uiyYdb3!_84V1Em_Ss^@V3|Kqf6_v0|^myD?A_zC$`vWLv?W|JI#10ytsfy#nC%l_8-@=&l^Wmv zuYNBP^)K2R$Gm7L06{tpC?wa}O zJhTrC_OUN^SlEC8rI@>lgbXv9wWiEpk!~Lh&MFcQCsS!6)p2awCkH3ZH&m*zw{k3E2v!OvJiM*Qjp?5J+h{`m zEsXG>I_^6Jn)2b#8AY#cYhHjIc_4Vx7?DJKAv;I;N4Q+_kuPFe)YQ~`+X)Ny*X0-^ zGC_tKqb+y%Or0JqPr#SkZ&Y|SH(c2C-k>+aBe;OXO2Sb zFoV*I+-|?P82K?wB;lFLwF7(hEd$v!(sB%KiGYi8FyNIiiYz3>wQm8FwH|6=BH8ifa%;{x_PyMeeXX z##UwhBJ#r8r$U>5n0e91<-(EA}a75yuoEvNV=!M?f& z?;Yc_Gu~Dl<05eQkp2A2s?RXOYZzg_WNg&d29RK93E}@DeSl{e?W{dFYmt71du3k1 zJM3a!+s2AKjtEO_GEX?BHQ2NH+tu7#>!_56$w@Gj8Nr$(>ES%iYyUXB$(%p`xVH}! zoo9E2#n{%1hpB1ZG{6q1%B5Ret)>f+`u5)JjUS6|BfP`dS&U7 zB-re*!d^5!s8;_uoZCr1ns_;PQANuc%7F4VNVG;#5-#e&Zz^vrk!qMh)h+6nYp=k-rOehygm)zeJ3nw zWb`P{ksJ5Uw!B;YuViFhY!a~iQ;tTnnB2Rd3d-F2$yX{^mv&AlQh1+_bmrrN4oa4c zk4w}x#Bz+ojeB2JZ`&GqKOuaGsgsCEwom?g{6Kw-J7vgcIJa(l7@_$@+ExPV)1l)p zOl*_U$pjM>ap9R+S>BPnHXFW*sS^;#qia0znx{lGRSXRBLidHXCl%t*=)2ahrnU`+ zP=^pV!4G=>+&-$MQ4uF6k;z-SE$Gs?%ptzC{cxXcG2#~gA|ghWNGLzGBbIlXrFp-A z-Ft)4?n45 zIxBhw(qfH$?B|SbJC-yDrs`UlEalqv2tUfPy^&%UEg8MCY5n}eN(G0$V9dN}u5zwY z3-Mic{v?j47P>vlYmx}^vC8)+V{9ym zhRjkfTaF0+fWq(SBeZ)&E^HeVd4-OI$-y&(OuA{IFellj0JDBU7W;?an!B3_miF?%Ib@ zB-Q1-1D}z9F4U~0sU%ltFy0c2CC5P|-z_~(+Cf*zif{VXwn|ZCRxBi#7B21j=(^YV z8eZp=R#$={w0g9~(i2UZy}zae!!v3`78VNpxIh}w-rgo+Fw3Qbh=_mjNmymn)J{M+ z=)-8EHO_o^c=-JiJJlIv0V0ur1DL5+*9{5wSr5;6-oPNeJf&*IH@;&^`($0(+S=G2 zSNg%H$e|pRw)gobc?ZayFED&s+Fbr2`Ai}F`ra`r%K96cxj%gHPT6Ca3ML2at=m9! zkX~k$-U|M^969;uj&sj3!OlT3*~#2+i%q}COzCBMIRDaB7;PrN8P_lS~9;A5s{!ZPLFc5gd3ZKYIX2v5@P7-xJM$$$*B* z@i8)2w&VMA*Usi;VGLOFaBnUDrzaIb`EqY{=iJiF31K4*4b^HU#rYkc)E_RRCtoz? z>nJ39Ei9N$cC?QEmCd6MEEn$lbXy9@Y|l)Aq}BX<)CHW-801kLKRsXMROq-y1*v~0 z2-lCE3oO|pyjRy;lv~k|ZT&%CMDdb&jV_-bNB&gnpChCPO_T+iNE5D3hh*Y;?SWv^ z-j=)Tos^>92@X4i)_JlQCQBhaPPg!XrJD|Z8#%rxkd}J_OQ|w9V7xUR$*|^`wRJnI zis#N{#A~l6#AZJ?CMG5_+F8{;U;-9K0s{|D7-w%1KqC{9GamJo{#2og-!F>a7fP{I zx%Obi5m~Z}`N{Xik5MEn?s9kPXGxgG(@-w++3qTc=9sC1hkI`99g;j##*j zGi6P;`b|VJzUOr5-K+eR^+ZV?-DOorIs5oGYh`icp5owbtoLVcaqk9uU9*pQa}(&YJdmdo3Sj_u06Hjq0(?=DIM;i&BwetYNx!`b)u) z&C{)USAH`4FRo_`1l=2!3va++Qh7JF?aYQ!@;?t}q%!yT+V4aEPbdmrhxA6#}zq}vrjZ#rQNJ{oag_99stcLG&xcd z{ofoW;STJ8McV#?gyASI`5m8&WCRmE!Mu$qc#G8jS?Oii(8^%xciT+#jp-kO7kF;& zD>xECxXlRrXLq+p5q{h6{~AXA4N%C?eFA%h?;$2ZmpTL?PS5@j%n1x*pSk%EpLO{0k2cy0{PkWb=YVhyed-9$U7L85u<90X}nJf+vQv0n>em4=_yHllgX! zp&!W1&85My$W)fB5_iz*>+9!@JIqycl~nZGX{1?-Dre|h!)FN!J;i zk$z*b<75FC10g1bHH-eEyPhQcxb zQF;j$ssQafPDx2w-|Rr>XWhJpom$h##i`3CPWT6CO-{Z}Yb8Uul|{s;w1+-ZghmNI ziEcV&A-pYHs?Y_ENE(tSnwrOdJ5~@!E|o|;WE{uA^ZSVlMKXeL6l1Tpva+H(paTcl z6_YnOXc3i>!SRY#kd8>_K5skda5a;HQ{Z&@8ZlNZnjf|Ige(hwGDxr9EP;??dPFnD zR9iXE+NkZWbYre@QQty}Bd&Uc9RZTH6q#rR5U^_GUhBxvSIC{f;|8ZI$|IfuJjM08 z5;=?dovhlRs|+6;raxQSVY&*CB=KZ@xoMJZEYEy|sHW08A8sU3z_${hmlx*q<|NjA zZno zzmdOuE=aFS4{afj*wfT*TxB(nTbR&pPSVgQJ`A85!bQPpA(rVz4c8d;gRAPm{tO+5 z_!1#uds>mO+S1Z8+NGpey9+Q7+G|8y(IJAX{k|!XQ7jgzpLZ)OlZkj{oQtMxnm8=- z@opXZL~dYr!<{4crFTp9jexA8a&mCNaq)pOnif7pn}??WwA+Y-@QK2z_@BSe7R>M- zSO}@WXE$(ZeqYGbjfLO<*m6|2%u6zFG|61n+LJ>4g};7U=8P-37-je|Y~_8Xb%)d& z$zAk1)20Y!gD$yXS^v64>_^f;`#kGQ3y1Bk7|BjJQo@z&UE$t3W$o>_EwH~l673wy z2T?yXXYyln!vFjsG>=TVR-Nk7Z}WmFry}wtuvvR|j)wLy}-* zZ4rYiDmSeL!B*_)VNBRpE`7+8h^XgVYdRpKPD5HLbU6{F z;%}q-Ui4%rvyXPlXw3!Rr|%0E`k4b?)9!n)r^ z>xcP=zc?J4KCppo0oUz4JzMi}sqpK^tQiD475-#QXvlvG%s@uQtm?Ob0Spm4hP7f5=c6hX47Iz7$p~5Q+Ym%Qa^^_0`jL)`J6h&k#CJ|*+ zI7aZ=usGrd0_X&M(MpM8#1#?cO;m@vcV5&=JMu3!<%Wzc1+UUoA+6DSTf+u7OgL<+F+Qtf42@ zapmf)!yK;*)5pI2(XdQ3X3VVK(OjfA!LJSB6B=pUGCH}QO~U&iHtifG|5BZZw&L-#WAX5PuEXCQ>y0kzohfU@ zmvVPu7h4Pa7XxO?$h+2okMlr5 z@9O7YZK3E45z^HCE%y znn_tffD;1O6?!4Nf zEBYX`V&pMW%`jCsXUuZ%dvl@A`H=ktWY*jhvd5b!IP5J0jM@cOE<3I}={3d}-gbTz zl~?ywXxXdzMPs`2Tsy`R3M=ka4m34=)KRjgW&b+Uq_!?mqB%EMO)x|LGWD!94FQk4o2^#96 zf0j8{6*iJI`9#yE!|b-bGhbw!fX;*1TAv}NOhBG5&q+j6Gid2tWbxuwWT{d;tv8o5 zi0v938%wY5xo0jtRk&iD+tsY6-{Z;U<}jJV(5$5XqE_O=l>m$m2b$u=m^jt&)gZy4 z&Vq;O4i!(NRqB`oyo;6_lj|X^AIN{utQ;-c%~;5(TU8^iG+X%BbLC^nfqHpyIZ26$ zBj(Qe<;|LsNn!b%b82hK4)%q_r?0;b_vtiIbos#ASB-kuS6hRkcgdPm4b6)ScjoB? zQ>bWtVv7I3L@qC8Gach%u%D9;Z#pbp$F%TqWFo8N-T}bp@C=F9jkOImk?msn^N62R zZ%9e-O9=ebc``8@DrKoPT`x`{GObYOQFoq65dnf)2jyGMskOM`9^G4)C^`_;qVpgs zQ4K?U`zWm_)2ULKV!+OY%70Z2p7d_E9Vrbcc163yXR{05xl2KL>Jf(h(G1v}#DE1D znJ1>@Iaw&is7DPZum-K5vt#zu+DZw6%$Wz%fL_~MsbOI0f#q@emCmcR(PQO4(grAA zyAxVkYHLe6f&HB}7=k$Iuu3amT0?zf0dh^}k%5jv9Wuo(bMfr+IC3@Y>UcwKv9#zk zz2YVJsOa%u7}g9$*Wn1Zr2NO;Z+0Hwrdq~0rl zMK9*kLQ#|FeRTBx@VC<1pE!SSO{W2WeAUCxahHevi>8A5tw^6n&ICCvu+|PvRWj=h z=}{r242q9DCNnZJ=xRzqfjr17nXBa|S50>N(p%Ow$P-S>)ZJ;<940!DIP;h`PAXiY zINW3)A*Iw4r|UTe(xr73PUZIOe zYf2EGBIvkuL+^Zk$Dd@IF6;7Tz*1xjL{RbvFD)jO&k}*?T@!R)#R;G$^;=Pg2%~A8biW4y!oKd2$t3&|kjW zLL((W=LArXkwGWW&fbD+*KO`NzdkE?P1e0oDOr=6jNwLHi%w%?fTn%C_=|JK-k*cw zP>Xrj2+2eklJoImkBp7I^2GkZfyx>gXa`<-AZEKd-<+2iykIFC#eg=&HtR(c4AL}& zj0}oL0SeifVqpq{s(!;xXaSh=*!IOK3^}Nlca}NRc$XS2!q0}S`8nl7F{dHf?{pzn zB8(CYo0EeK3Ybje&fo*6BcG?Fgq682lz#!)7RyqO)Ekj@2M3qM4B05{XPwNpD|I(* zH_D1B|Dxy6SLO+IjamnmB^I#3%=y*}ZmqKW3ap)R4=C#|=a;<`bxnz{2>n79QLr?} zXi)miN={DBwzq=8ys`t5w#%abId+#G zfIU#Iaho38I^Um9{)Dgs5lKqbNJFe70oq4MUa>Kus^)P$r)Zln_Jz63=k?s#w+me*Ek*IpmU>CNcn z=*!46NPQyv!P#oOC6$FPMn{;tbH2IRh*)s;&WlA7HIqe^mMNbY@!|vpbVGH4!fB62 z51p3FinF=4Gdf8jvJ^wLS~jHF=H%jJm2|@#b$Vw}eEiJiDN=+JUlwl4x{d-eq=MSM zKu^CT+e~zNxB|OmA^M;|$tU3fe+K@DOzqkLt44Tdc+Dki2NPh=(4nG-1S>U9q+<@* z7fgGjEUA3Hp@>epeRdBU!wcvHGP%vAy%lU4117Uwp~6>(e$4-yTfnaAjVYb z_@rZJv_YtQ8Dw`e*XYVI_ItD>)Nknjp} zuT``$0=P#{)EBzU0*8fX0Pv>Qn5~qZ;s1j-{W9ijnJsMcnw(q=(hCRFy0;XgrPVXN^;yF% z6%BIo3;v6fDtVlpw$t68NzgA!$x3Wfg;mJTjK>$N*r%{=?)fTNwq}dLMUgUDMy+4H z05r`YC=(`kX}EFfcH7I%pZ@&Asi$HN;Uc#%(D1r+vyQ2&-0eA6 zzc9T9%j*y7P?hlIo(5U>uy`F4W;ml+lL*pfm&Oa5=kaq6{3-YJ*yof?#d3K%ZY0a{ zozN|Nbr`V@iv#KNn>9R0quP8EY~K0y>5LiFjWwy65HTqxjVFz1W;xBylxt6Q6%^3; zPMjXT+S*{iIVQLgzCXeZ6mE0QT0r!&mLql9!noF&&%QLCbzZq~xjQ$OV+2p&P6hY8yxs>yNzLThK7o>jwD=hb$p_6t*iPlXiz zKbGkm4@!UB!p!qQ^oeC^uacqDVfz6prxYuLrI~WtypHvG#o1ccdAya)M9)!s|K1?m zYlrP50msdi4;cRE6!d&f%ktMTjsipj-y#GBJ8afhN7$W+?3q<^=|8Au@bE8wnd$3E zuNA1$KxerQ4i1utJZv_IvAy7NSg`bnJPO|sQQv;bD^f{okjD+ZHf^&0w#z`fG*PE4 zI4I!kFzJdrX@Smzn<2aSJ0(Y|!>(37xX`gPDJ2w%0Xec7n`htqWIus0Vdod??zo5~ zwZp>@XCr`~3wOLR^PM)@V6=~z;~%uwhZu_m5bR|hDLY$;JsC~$2!reKw57r+*t=&Z zVqd#Ju{ZiiX-X@2pk%6QYRNfx5n}$6539q&jHfn8y4|GkFt7D^cI;FaXMcp&C~j;r z7sLtW@YQ1?vg-@wf`e`gZD>)_jH}Ixck>>%rkNsEQ#om_=2TE+atGA$zMLMUG8s%# za(9*G^Tlar;YW>ei(Kaqmy}lOr4rq)L$g}&+s*b*kCoGmEoeF{QY{)TB5jkszfrJObS`D2Lk z{$bou_!!6a=`X(0&!DNWKx9h&#peJoFE2~}b#cP4 zAJlWMoaVK@9RJYjV--99{!3!t7n4z|V{CSneptoAWqrLC+=E4v8URbK6hohjl3Ky_ z&_b6f;p3I=%z}Ovc!*-vW~~Jovo2KChrD&mn^g6uS<^WFdIhg9#IlZ8#$6;Z`!cb? z58xBHA~hTzHFNziPPrXFe)!3AIh+mUGrK}GKhc@T)ftX*jvtx|4!OhGf3ToXg7K5n zYNJx~Y3mj0tmgw&CQ?~ND>b~$@-M5BSr$i`lAl3XUbEqLXcg$C==LH^1`{;$V7B=t z6#fz_^`2n_)@<992yIJ;3i2|0dWf{kUImRLK{;_JzZ_In^em#5MC^?}u*`#CJ%1y< zW+-)96)9W`@WFYJmgW+WkkQaKi_b_59^5C0?|upu6N2g%@uU@Fs~`v^vlhv)?g#M$ zwWz{De0Ee;x4gCR+SPoU+VJTLhKT!l!l@Rkbx=44`hLXDwN_kOFv6U?LTz}$Il^u* z2mz2_hr`Q4niXuJ+O-65O}-IT)I9~!Pm~ts>}_V#vsxHUaH}etNl}U*V5_jX3&R{& zBD8FF<|9ciB3_H~r5z=Pz_pd|z#vlYM9EEdiR0+5FHk4BHr*N*;YLALX~J%4zR16b z6z2|c4k=B)T*Xh?6jkk~I7-b&(Ir~U?KGklkLIbT>Vb-ZocU}vhnn$esNWjMT2JBV&|Ea=#q^M_ zDB(LGAt1kComg|S+!g~R)OK@&1G!_s$l-ppXI{EQfF2uKb|+xJzxef?_cNqOu3h&I ztJ}N|ldGBZT!3a|cNLOf+B?=1qlP%@nTD;hrhgrJ3Jm}C>al_}8BM}&zQx6%B)jS_ z5Wh$BlsK80y530E36H1X3q_R>#Y+iTtT3d*n&A{D7ed2Z1kjgY&AF z!Yh=InNAce#s=j6s6VbLxyOXv^lb({Qlq0uqmD_CuTAd3$F3)Gtr_+N&_kvfsz8pS zn?F?KikCRx6xx<&9T%;ON?&o=oTw1~5J|ywsf^4s{k5`mPZ?H7Ytu<(ltLn&Vn|{9 zcTOmb-+Zv~hY->}gypp2@Ba!RkaGZdMW0M3E4j$-=aWHk95+%$%1@9}KZC{${6Co72AC;UD;sTJs;v zT{rK)V_cARrc`Lfi(I9^-by+DzUZX=ZEu>x2Yprya$1fL)`U=zT~-ck51@Tg$+Yx*C&>Zl_-w}U$ZmMraL?*5qvGa3J1Cj zP~|N6!K|WcT)E6w?+U)M(Z`6f!G&?Opa^sHWnkQFeV#NfjZEbAj9y7hQ&Y50EA~rVI*(#zQ63b}KFEZO*~r)>x8u44c`aIo z1z>I#IsjNp7m12fCW#Awa7`}q7QnL+6+Cn*pK`J*bjZU%@($IB*MHKwU?Do6tK`FI zy#W$Jg!x7S#i}MFQfZ!V?$)N(_ysgTaxYdjd3QIR#Tct*UhaT$FkDFeK#{%&EhiJv4C(6fJMifUG3ASy`N8CA)z0dhr`M5~JQQ-kVMR?&zMIy}bGQ(D zp>`Pz^P2r*M`~Y=rP{0Uv1CH%vy@McogUXtFBIg8t*^<&nKQ=AEW)iHSINCb2VWa- zg30tsVOYmDK8{RljEhCpPqB22WtcQ#QHw!4vp5q8DMD=p_}Fk5b4lb__j2G(EeKL9 zLCikQ*aEY%$(Y~K1jG!rtypM*6ry{+km6S3CZ8oBFf@xKfLja&amnsr%SavsZeh{o zxeIP_5!h8$O7DZP($9pF=AFR;5#yc{2xkOOfh-Hm>+R8Bn@zIR|-M zQmNB|;ncF&MGD)Txum?LcoH(+>q~RBk4xjyMQ=uitD-zTf{O44Wk<|r0zML$$rxMj)GOUJVZ6STR+s_CfKqo2B=6fpQeS!BCOIchJdhc~L>@XC z{%9 zdgm0CAd!B-C5wWD(u?!8-dRd%D4=$_(3^g8omBBzURR*IU2LyaZ>Sf|Ri2Mo8F95z zjt9iQ_c{_|gI-y*g3TqMw~7n;-qJ$R>+~@zD~>Kl_7yr$V0MUS(!|(UYJJ|SCU-24 zwcVY1>WM2sNn3_NLlQ*&NxGmdO`&>O>ZY$ z0-1jTt*;2-!5enzNgpJrzsxiZiPh&bqHG+QkoQv|fu6d2T+oMRor#q>Ov8)Kdi1JoHp-VTW%;Ucjw> z`Z01Z~^ZyeAQ6}g{@=PDYv$ot^)8+n(x+d$KzaM_Pw{1!Y z>ALjpA04AAj=m%(eA~g{y3M5F41;3#8<6YQ&=cCy-^1YaPi;YmfSs>Z6YI&}z8<@oC(JI6UA(*)=H zfS=!Z=b@aDc_sAVKmmZ~ilI8==^4SsjQ%q{gO;@be60sQ1j2Xz6ey zx3%R)2RGxQgOv=d2=fE(LT{rdy1OpGiQEH($awEK(N0c$Z|zb^WM3LY&6|1Y+BMEt zlR+MbWlMw{ZP89`o?EqJ8{^8S2q92Nw#TwBX!ls;WN@fwn-)H~t%k3Is@g2`t$L-O zdwY)_a&DeqR4i(@ZPJF=bYa=!PmOgq8Q0gRBp)3e6H#j)sB>IUUoIeU*;a0~@mi$L zK7=Z>5BG`SySkdlY9dS)KC>$6Db=BMXe{>bgf<_t1l`ie?BTg<%s2Eht- zzqO=}Q04b7L(ekds#1a|0GKA}?|4IK{~^ftxPI3yi!IvwqU0s*(s9&5C^WzO=R2lq z5`a(kz2A(L{-P$K99Xjd*tcxf-^mM{yYGAaX|a_TZ+X)|Efh^yVywv$+`MExPo$+p zZSKIlsZM_WF~BP03ngn#B2JTgHGBEB^dBE)W+ty%UwFQBbbo;xMaRGn?uDMPNF?w} zH_J|`N^-G4XntS8-x?n#NlP?6i9G4R_zRcw-m%_K(}&b^j;pd}#nQ1VFRXy8$i$_bs{R{&y?4oNbbo0IQUgopf8VfY_^ zFYgpWhy0KxOx!i@4!ewCKO_KT`PP2d143VbC9r+YL$2of?WFJB0UhP$*IxSDzapC> z!UE^t-_Np3Bwx&c;p1=4?wlkK zBN_HfSspvhpnY!Y$VpacAjRLmtwly3z9s81>b>iM7wrAOb*9OeyPojCEA=X)yB=&* z)Rydoq$Z#2 z+G1HGm8>d{+V#L33MLrKRm`M!J*h{sbTzWOA812~5ak8ifL(%zFdjKB^E|jc@At3$ zOSg%ivMC1aM#hZyYr9xw;39|vuk_yVT~A`btYHj`+5Mmd%7Zv0rdhTMC4UMe3R&d1 z2CUh4Oba*ywuOj0hhWzhiy^kW{@vAGtnz;Z*#Ex-*t(#@BI$i4|0!=LD<-u63E|_y zr|3wIpLt^ueyaXkSdfE;^K^QZg0q=_m31pCN@9 zojr$v8O&><23Fe>Egmk8G>lsEgspv0!?v1DWC$9B6RZ>9!w;(zE^- zrH2KjrzH5NSj}*HSOb9p+ehb1`ow)Ey z8tQjylcDa$#@R`4NsypuMAG-`aex&I6SVYLK2YYYadj!555!GAh z#TfuY`9gF4`uBIwrJMdJwS;brmN21@(BRY2;mkJ)y)u%hL})~Qt>`1Jw-j3sl{p@* z08612;On$%*0B4Ew#9e5>>cS`>=F+fd1s4}X)hdj8`7|3)|WTm7FQc83O9C(W=&EX za)A?1*O_nrKww-0gNi7uT|*Bow4)hf^5U+=coRoRpm4Z5{6z^i+oW2g7s#N|M^_4t z>@>e35r>fUqX;`fH3du+GWTs4!Nh)5r4+{FZSCnz`?8E;Kj%1>gIf{Ts0 zZ_1!^a=5AaY*VVwkprX=(0!T$YtSt_4iHfRi@JT8P?h)8DDmh+UMfz*J4nx1Slw(_ zVaL?h$gJ{NwAL!4=c%i)YThr87_b&D>1?d9I*^^e)1tNjmy%_I2}eEGpFav21&I?3 zQs44CWCnvS3pHaVQ0kTn_K(`Ku{X%D%b2Y3k*OYAf$huVfz)c_r3>V{?6d=kpxYwD zc=qm$DQkdtMVe69gS5mgpvR;lOz>ig_T?x zzK)^xjdtA$y6g@gW{uIkN0J05bUx&m$xt*s#yr|kcgTRoz#_T zu8;<}2p~O0O@s%v=BT-fzUuVR&XksB7jLH(L z98AcK_)is-Xh?f~^N12sVA|1!;qMnXGDTTp_P)4n~ zgH&OMxot=sfzkmxFLXaB`@V5K%H0?)XIGew?FwNhccN5@iIrUWFv=r{H z2N|;%SEr?1;W~UKCOMsh!%vO>U;$;?%T<(dc*sLf$~Ru>*@0_wO$8%fm$CDCXogs& z1!{4V3BmBS=JQt@{En5>7g~_lqvmjn@m3w?7n2F6w#Dr~2_Y`aopkNXyB67o=+v&? zF7w%NOe*fvUmIUxmyo)iG5#lYP}L|m9-uly&7&)m%UTBUaE`}=-`=v9%|I1ftjIy)SP-6=(Ni%Fxht(< zkxDk@HgIS$fNL7;(<*Xy()?`n*xC?LCoR)Gt-Lg%(Au~X!_mbMo(|VXSvD$MO~XZm z)`au>LSOX=qCx&L{9tVcl{0 z`em=KITtTo)9-)pNJPWqcwI{*mByVpVMY?b1=ZpF=+jNF=3=Z)V`^>VD#`vVzv)5t z(7;H?-HIHudajiR0i#yk@?W%kh#JZMK2j7W$gI(PEune<6UG;^Hl=Z}e(>_}Mtl8V zF@SrKh;jNOh@E98iwhYc#_7MsLIscfu&EmZ4BWS;(tqM7^QK~-s&vP_0P|I$>|8l+sr{H29W|d|ARb3;M%4=p}Ug}O-uKf8XwShYE2efw2U1_zE zM#a%fADUP+^rfIX!GktHUWPOrJEWFlelwWM#5u$wW-qAss`3+4w24=zWUjq%I9oRd zoEI>}>qV;etgR_|{TeYJskenkc{xQmOngt&_Vl znKvh-kzwO8p8?o9#W>aED#^!7)5jh|i_OHOOA~)R(l=VrV07IlUhd&!h$-Yplwph< zPVZSga#a{4irYtR&4$`diX>+WE@r@$V^@ho{1=!6&-Igj&eHKX1MS_!J)Wx?l~b-R zk0n>#s8D3!O|@9`i^UdQ4hnKpP+y5CY7glWv^|^Q`AI?jQNXX`LzsFM%=kv{C7PXC zT9VlX~WGwqMQ=0K{L>;-ubT--I9EeaTp+s(9-+=F@B0?~oalae z{hrp)YOPSFOr1}Ow)yCGjl=fymX4*7N=tvCW}Ju8Cv=ur7~kFG_;^U+riaz38+l?+ z;i>}uFdnM}d}XPX9S^T2q3%uE?|P}Fsl)H&6!K0f0=`)GFJEwkOd1V9WD zw|u!OJ_I%EZ#WH?{>H!8p}27L*1gfWTCQloP@N|p@MF!-KjvTB8)ViwS6d`w$Ac-7 zy@S3)AixjJw{cd`{I??EM&g((?Tpl7r-KQj0<{N89l1)N0Tc+tgPDh_-MH8Y>=C;n z_8MqOo`Gk%`taKw==Um(3sTE6u4dvaE%>hENc?~<&8Ha%D^ShPr?obm?4Oj_H#AnY~we(>q%um6*$v;Fwz6wcpzo z0RZZ}Wbm~dzVSmYHyaaEUXV>W!!>7MCh4pr`XnzcLrvd*?24BO;D*;(_h_>V0;IT- zT3lhgcWpTChr5&ffdcnFZ;p>FAwwYk-x^CIm#yVIQT|pdnD$94wK~i}QWd(II6s2= zvd7{JVQ544b>t>GoawWpDEv&hBlE2~xYvt29(%CO3~KkB{LWG|2XQ`B)?FSO#SJiO z(%!$3bb>s%p|7Dl&L)jflSqYuSYlO)WOi}PW^jnNAG8u)~?`n_oS{_h!2k*dV4zhCTCCSk-J(ZFhay?{F(eJKwz@C*q+LNCfIi zYV#f^GuA=tg@)BdjF$5crsRAdP*WjO{nN^8NWpTA<+ULR+xe@Y|?CL zlv|ECfX=B_98?VU;__Ryp7~e_TJ~r;nKQr32a~DU0UEMS@DNEd7e0F?kQXb2f8~`I zqoI-x5rw=cc!v>Eu5>_FH1m|p8Y4J@@|&T%e}m>7xLx5i0))a5zm4D^6vb!c%%l2H zCLR2~qSC%y=gjR3f+6ggM9D-vpg{+*I%VQ);0y?Y=U{>+|LnA)f|63oyxWb82Mal3;PHuT?W!m9%cFHb%Pudhwj`#{Z*4jzWOf()GPZU@ z5H9gu%-fp&BeuwceR_!$eRfweW#^dCh<#~>(P%-eoNe0TJr?a|*RjO-O8wUcA7eA3 z$ho9#wX9Tu{`-{LkqSv zpi&DAuPWKyKn39Sn7|~H|8(trD)E<5;y?m%2H!Ca?T#lGRIdB+pt9^)TpusqY%a%U zJI$q5vk7;HMq%mCBstUu2ipI0TXf16RF3p!)`~tm4e3Z)sQ)C}@BQ8l$lUJoX8 zajq^l+U4(o`^rmEg^H?3ct>x`l*0IueNpM)d?okPmx>K_fz%s=d0^LAs1?9rHGXCU zm8^w1TE7|ZsIla?J>ti4=|^`Jp>jN(#uvS%E>RaYKA{PUe?9$|!8 z*!ceb?m71X8JP<>H7Udi0Vm-+KSEcGMnbc1on}_TCjI-gsjRK@Nj>&kO*W?8ea}WE zEZZ9+xVnB;fAbWF>FAj4onPw1Zvki?<~Qi5J1*PiH_<|5u)|T59zdQIbDJp(5!(^| za;Mkv+l|fOOHwnxGR*0jn)*P$|2(pzLl;X#Y*N)mM`Zir7FU-it)oD=KcF7v+~>t` z!`9Z8&>hS|GxqAd?JbQoJ@-&?OXvJCm27d)P-F{C*NAEkw5Pp=bx<5kui1q+<0Tl> zjT6-$jvLSqVJ))vI#0G|o=(xsP0d)Fb)Rur0H(*=h4I$mVPTC<0I6Sv=%{F$dA+4A zc}G{U2Kv5E+4bSz)fCYsNT@-yWi@g3cKo6Y6kxoihZaSxA+%2CDW|+Ls>x zwc}*H@ZM4thn`*-s{S@1i;7{Z(CP|$+zJu<$xeJK7c-Z&OmRg<{wsdd8}7*>Fh^yq zif}L(03YZ0jt>^63dU2{U5#5ETp1uXMBXt; z%a}tFa-|b8FQo2j13?Y^+n{96%IMs`B(b$Vmj#Y1`*F4~!T9$%8$t!_yPz;O&q)s|o`=ZJ5U^-Vn}^Ccxb!3rzo_9Wc~vHbH>t@MzDb;Z>7mA0e`9zA z+lOP3Jw4xM7!(Xn3X{22o#>8pU;((2f1h(?0e(NeuheH4w}kj^z)7Gzis}s4bl6xh zHC@zAWCGVvT(lkdgd%p1Ma48HF27Bht<@H8#u|GTHs z4VXSGjla;eQh?f~c5TwE&iwtoou-48!7F&5{Y(>f3j{c#-p&n+=x~dvpPu@84Eq1r zXy}bbOZFh<;_`GgX(>UxRj5m@Ku z=J*9K95=}amj@0ldqQ<`7dVTJVv|xUgU~etUHPqVQArwvXJLYtvYI&-ruH7`m1@}n zO=AWk|86qS11f>1OUiK;PYM*|`3ovl?+^SgSAW`+$YU2x*aWAqVBNcflT9J zfsw87Kltpp3g4ZtAJ;<@RB2IuvXfwzTX|3J*=#qE(a&svOJA&Viuj4NKl|Pw=`m6= zxTeC2t=#hsxKYQxUjkw$ow23^s66xz9tKm^E7nCbmy^tqE-wh4MY42)_sr^-`}Qd{ zAr2km1BeL{l6JVOtMvJf-D>VAa++(X1mrzoV=d!LEygK3E^n&cIPz+Mx>2?XchU4k zGb^i_Tt5k4x)`jN9VE$PH|k}wB1AB6_Z=pjanSAA??*m^gf!`9Y-G-l<@b_v>3s$U z2e-yY)9=`)l3PM6gd^U<+L9Y&rcyq(T+RZLAD0_wPpml1$Vf>^IWM*wS8nLAjz9)5 zG(QP`uGY0lHNh8OhHweQx9V=mr&25)I%<H*McrgTrv>Iv=M%2k%h$=8p;% zcC&IF6s5F8ZYzmMRFYYNRtlC8%c|3;bA>&1)U+y!dnB!;_QNKly z7aRILw~eqxSZio9Z8XR<%T57FtoYr`dBsPj6T#%_D8lMMi(wi)q{NL5vTOCav#p4JXutQ`12^ z=7!&68M4cu!18K$Vcbpq=QpC+QXkEMNw0#i^SsIEi`ijBT?cUwCRW(PIUv^&vS2Sv z5pqeQl@p(OM9a5Q332pY=~*n{8KhtnoXQ&ryz|@8P1SVsikb-4i*htK5lIYpduza4 z{th{N&HZz+ucdd!C-~CSeTXS&e|pldim0iMvVh)$DR^41r0Bz*6mk+sNq9-$+;aR} zYh9h%m@ri}ey&DjaHDO+|2-Hc&py@}Er)T!@Z8}!h6_mvvh=?fneYZe{V9MOQz;;b zL`Cd#mhKf}($(FKH~3uLzPfro=?cTKGIC6r$n%SjZ8q;yZN55~OU7tejL&AekZK(1 zUU0-!6zoq4?kBDs96!Cv=~WREWdirA@?9UasiJVf$`^dUy#B5Qa9S}=tR2JMk(PW% zi>$sJ5I9LS_#&hn3wueWrJwUT{La^6m*0tV^?{6=Ar#h%6yQU<~deL%5-He9P`OD^- zrq_tO}B94D)-RbfY&oie?rX+6$&Yj1P`4DAIM+F=l%}hqET? zPX^$)@9QA44M?e2N!Ni55Wx0Zb`<3|C$gtZf{52!5HiatAlx~9@d*$#PSgMg0<@VwhT`mZ7Y6z=r`s=k|dM&FrJ70u`g;iA~Szbb= z9Jb0k#`$>%M}Ydt*9LxRHL2RY@rZT0baRYB82JAcfMn8~lv40GJh*I;sRc}iff5hd zz0rck$HJ^L)8w<@bl718e%!Z`#D5Gh+9Jh@-`bChTi6q_Y-7b`TRA>rUuqXys3&0+ zY`A(bYl}=PjwNXs(jTXCI#rF|=OwW#8ZB8WBFCYkFU|`-3GA!LAmZZj?fVFiO1TS%4P>LmVBu>Q`;M9AOnq1%rO^4e~KCVoE3w zhr;_4?S*(XTV$NpjApO4RWZ^8XUdh(%Ev8W;xwy=GKx(hpD8N{^tB33d6Ug#o9DbR z#&7W9p=$2sD99Xbbn>}&c-14`(kWh2DXE8f4IDLW8h!b5uLrYpIf8qkhBkvO3+ijk z4K*W*u!R0>P&2GlUi`WE`X7&LJ#q+F`}#gDjs1MPks1z9PMH#oHf=ecKzA>v2)_ zj{K@U?G#(L=DNRod4PH4s#zs5$Q>AX+C^_~bwXQnMyJRz{g!_06eZ-2Hi2~xW2+?kK4xFL8*grUBs78|+&naW zSmplkzpJ0z+<+MZ&X`j$zQHN#=Zj+WMIL&a7ChgtJNPKib0n8(uy8?dd+2w1->OSe zINfMYGx9>xFMeqxE~nIQ9vYNw@^Uw#MV z-|HY491^yjl>d3}A-K^3$V;%Di3B9M_Kvr@)ck{M|J#&ute|fN%x0&o6DC?<44Iy-?174fVcryX>^#`p0igegFH9 z_oU>3tNdN?nD@`!kZ(I=gbse9qu)%biz})34!-ifmx(;oq_-T58TIrbYPq_jzitUhPBJcS+2NWfIpf;!Pxo}Ivq#dWR^j<5WL>!U zW7qui!c!G)Udp+NA4~K7#jZE+>VR6wEOv^@Dfkv3Z01HwRwzQYW?PMX8m|5l_+WY8 z9i=w;$Yw7T*LT7jN_Uy(6^He4pc@;qWSIr)roLS{bQMv%Cax?vkbI+ekEs*3qS5PK zI9|hw7h5H*qss9OuNvbUpsDBcfs(Wya4xBb6j8`%uw#K~-ps`0ioEEV%vf8(dm6-Z5Mg3kO(^?O>fS z$B01IP-iD8wD3Pg*KdJsOd;AG#LYtT%LN5uhlcz{Kfab~H@5Arj$|N3fMO~51qI`- zD#yJoFV`P!`t)o?Vu$iZ;G<4M8) zJY-~Jd?Nyo<0OZ+=0Q7Xr6{zO`sEcIDe_c><{?(6)Fodt4{05Kf0uc5j+%K9P5#+!P(V_7CB)<)( z=OqDL!dSEGi~-;++UhRlt+&AXIj`b>L6gAlgJpumg_67noz8-E* zyhd`oHocOJ*o8kOUo$-Vj)1op)YTz9W=F8^vJRpLbB~DK$xF&@XT0y^ zwbW!!3vf4~KOP*X03vIUr695{NcS8uN$y2VWB9=|CTloE3|tVZiupPwtM~jIh$%%O z7kzP_X8w?)dE-NpIP?3CY{U^KHjc3E2OD4-i!xs{Rad(;)Xdk|l-QWD6&D8smDm$L zL2v)qy&wKi#j$uSziur#%Z^UHrkr7Xi|PvK{wv_b;#+R5jx%{8qU6<)e5Z-)&=!&H zwdm;@x`2%3F}=1J$dN4Ur=WRw%_n1_z+@%{By^HyZP%72<&cJ9()a}RnLW!J%1@_% zu>5(b;iT5MB@GTRsS5wMBoofQ6C<~~8)DHDvw#~M?FMlZzzU{1YGV|{H$NO;#d1rp zje}w(c=5DFSUC?ydV72GgGM&T^`^&YUtxy{HJqq%f}QZ4rUd?#SuG!<#8uUqjjd&( z2gmL_gYJ!ig;u}#Mv#+gR92Me9#fkLm+%l5TgojStYC4R_C(NsRjunQiXMk}elPJ% zi`!MgSoy56_Aq{B%@{gqrU05;A!djkbRfZJl-!3+2lYkT6O0~L+=w!;lzlsEhM;^=oeR?sbFVK@{1f0FoVhq)f3nPn zYgDPAnPO7_I#hFppcir_%6--pfh73m3)_#WxVs_(cs*-VRk@g{wkP5%U!SSE%@5Z| zsww}WPq}e^cbW0h5HZR)vzO^jhP~714cpbZs7)=`WXpfAH3B&Y_5TC`=sPw)yFP!r zX1zKj9qvfvyZ!Gk{Jj{Gh*9QW_0MVnYZ^N!)U7hr@3-%80{~PtQQ}AkvY~saOL@O5 zDk)86Dmv^i{$SR~(BsP7Js+O4nq}0#0*$LPU14EibMN#A?-OAZYFFKrztXo5{;IcCDdcZ6h9s+VNfhF`yDPr z@AWy-jFy@aVOidH-La2^eNTP#G3YIGs=jYjl!!nyWiY6eJ2yrT0wsSG{0P`4;~2I! zmqNXbo%u|ZnC*mw$P5bhwANTcXFJ>0#r@npA7t8=tLrhDZ8vXX$^Kb;v_1Qr(BEH_ zlf%4T#(Hy;W*%EcIePz}0*5CHdBTQtAw~6|DiR~fR<3U$RgXkP4=JxV!3AQB#wYQ2CRvRkQN`z)cHN$uk*XFKj6Rf;i27pTe=+- zy;*LZId*^{uC$ulsM*C?(1@AwJdrWOp_O&UBZwR)U6uf<%(1%en zMt!1qs$G4SX=4M(l+JF-1Re@D2$u;uGHSQg%^O&G8^Ou6*22j2=_!TqmqS{%^33Ij zf>F)BhJ8%UeM4G&rv>==U+BL6x&lbDcyP@gtN`)3h*bPyhwC@hbhR9BdM>S(y)3)s zz;{yQqD}?ZZu}xkTNI&lRr^RyOYd@)>&mR_8jKyU&FE&g1PdrlZnDB?ABJs4Jp*$X zQI|z6;m80?MIe*u*5*cv)#y~{At5U*jf|UDL(iES9OAoWAs!D7_X@qlRdH!Ad}&(gze7YR2)I^tt4WrW8yP03Zj1e&h|s$!uGP8g`8|< z5uaB(=c>3(p#Vu?t1VlyYEH==qB@h>+@KMZyUf3)pt4D@gc_LULAaQ?>Y-54m|NhhbQ*+x)Mz9JW*6J=ez)#KtMIno14;^+biuAV}SwFc;$uDH>#xg6CDswZ?72)J#o z3?tK6bnB&=o^$_@LO z6SL8}azUcASA3&U+4Ks?u-z8hBon^;{YV@OC3j6#%RjrXsziG-8v`+$=87Nv`=VYj zl5q(cs@U2rp%?{~*g^C1o1P7)BOPP9(<_K!K^a7ub0$AdDEtZPt)&a-P8i4*ILn3L z80O869he`RZLs-+B-TjkT}O~H*wM3U+k(3QL>n_UZNP;O1jT<+Uq0UPT55OW8WG>i z=2{oLIh8jT$nlvE*UV|0d9*YknN2a>4g6Y03yB(7uHZlnZPv)u-WmUd$b}EMNE5nQ zU!IB;+u>PX?O2;j*G;QKb7#|9VT71b_leVKI)-ujoEwQ{)`4kxVTJEEesC|+ zb?lRBZIGV&1EKN&me#Rl-Q?GOK6ka=o0Fq4JG*AElus}xI5bn0JzjW>iFhY9L4qwJ+3)T)BPM4qrckuFI=(`TY71QWvls!rm09)lyU@~o_BCf!SU*vS zOG0&NIL{+)vER1G7ug+D;`7(X07A0rIy{-HY>gPjXxvh$8<%BoJ5Ra^-hDwdIo54Q z_Wd|y|9;_l3^4-qJ9!(3CBvv_SvP4l{i?oMUXXwBlM|T^Y`OWBks?o3-4< zZ{^holOYBEI&cs?VhYBm3LD`uo83TYB8VMeZy?K?%;*jzks=anH?tRWGmAg8HmkZ8 zlcyDJZAvsgDfOx9roAtJTH%Ny;smmyWh`iwH&bqBxTu>oy_23I{ARvqRS zKQ|d8lNf`Zi76!JpO)5Rg;6s>!#;&x>N1S1BU2yIv1j-iwuc7Ndxk5DZ=Tx#_QQ(% z`pXCuSK;X-0N;B+Hmr&28v7iIoZm^6CNz)N#a%9cHhti6d_HG2r&BiQ$~SO@VtY6y zXQ2$j4fTMq)9fXUxuHJ9twvgz>}%a~fD9cf7P%aF`{VPFR}TQ#TcN;8ftD0 zJf!z5PcS%V-;w3&p-HdDxpUv#AMHU%4oTw>FuV!*H5U_?hpK9WNce`18jy1GGxXMV zG_oNL3B}7~EpJSNdi2n-v^%E-e{39Qj%ni73`_TvR9#Z1opu3WCgrraNE>wIl!y|^ z1tFtdqzN%KG`ABdC!VJ=oi|fiowWAQ?5M_e6g@%h z7E$TpwiJE7K{48B{P`mWGxd>e&UF@7DO#3xIXy;!b5#cn6g6J%jEIqzjzFLtRCmAb z=GuB#_o)%kwm$EVKc>0h3$(_s#v%tEvM!=5*Fw!xKVdDa<$yeNbqfr=u&VMdfNH8j z1#Zp`OXMCj%yu78i>o3jONZ)JHjs5f}~a##aJ#bYEoYBC)9V ze(pHk91bepGKb_zMCn^lq#CcTdM1@A@?JqK=zEEfbY*C1->%B-jpNQZYLG~`c4l*v)vMm1x}4~hn_=b=Y^k!i zMr^Mt-im2ZRq0~O3B0F6qvrp`AS;1((Tx6Vfb9J;de2<)@L;x>ve313Y7Pz^^B=Rw zXqO!`RK_19qU)P;Ob5!dc-L@3VZJ(?;M|PQubkhOnvZzEE#Hj#9wf4J@)pD8aW@)YYcrlLZ zmVTp2@asGS7U0^r+w7L;$CR^dF8fSiWDJ>iB_($>!-J(3k($w(9b}@Ib{Ys56nCtU`&|3zS}L;XM_maAVO0nLwBVh-B)fju zdl)>oR%)$hwvJP@TYf5W&^8ql2sEY}CgvA!a7IXY5W0`eV*ovB9@9}JARrJsGf*)+ zcQCkf=oSi#baZqJfGe3b1N^RB`>eQ_5|m1TFFh&-up7FB+&crFyP41IKB!x@L%$+J zPt90E*Z(!+dFl5?^kNm{82LxnK z6^mW87^W!JlyfT|{tAa1kClat8sA0zAIfx+lRJeEFODTWMi;$?G+va#x!D~*zKwdq z^BC#gHdrwJkP!WT;zw&jIoWM6ULvn_as()PjX=O}{J?SZx*5P?uUQjjZkY;+fv7y| z4km5OT8SksVQ?^T*L1ny7rDqpR~bVzp?SGdF^(JV)LyAqIvSVhCM})0^VMLHQ)^sY zoDI4t1zZ+l>N_w!SAnL4H|PyM?YD%EENpN$9>R5OY%oFT8~Sj`_g!svyB3#L8jpOa zC@XG6Wzuax4S?Qqnb#YAIl7vf9b%)EjdYn(#x;<8e3dEeNotU z=vqxf4>9U#J80oI#+3OrhI2Hbu#u|5=#}>7=vJ1kjUcp^Nbp9*W}@=xMmcVR%H(sz zRsQdwB0xQIW}-Rd7|xLi8g*Cc=CSYlTXt?shkrvLFke3Ll1^&wN)E#U3lFP=B^{s0 zHd`3GV~iur%KDD!)HAzH)bkrvHqGYOSQV`|$c@7HTN#{$a;ReoERY+aPzjeX1nC1- zwjsN0d)kMi*F1Owce6OBbxT&j#B}zztBE^Q&|nSp1_*MTOk#Jk_@vl$m5Yj9(+(Vt zcvWoH{rA2$xTfkk3KS=K!;EQAI-#rPx)uCNHaN84(7Xo0)k(vlbYF7;p+8+wV&$*N zw)6qt*5?WiS*hl{-h}o5l)dU-hLIHIP^ z>c)Gw1|%w%92`!xpjB%Abr5w{jK-&-b$yEZ_w9tvg?e4mQcK}>&x}7Vz%c3P=X<>0 zC)3|opUfFi#yLT->T(4;gtzByhrVLm7u#2}CJQZB79raWyJZw?6@w7f=b_pk?qu3{ zxK}fTEBmt{AZ;QS#SjE~7%*Oa{?y09!I%CI1F@Ebhy%4am?voISeZD@luAH}^X?8_0`3 z^(u-}*g)smz~Rk$?*UTvpH>XN#*p#26#;Zl0Sh%e8fdE0ehjgi*4n|nF4ONk=i7~= zP;V@3Cji;RdQmdM^zZ$PyRSnm+JHyCqjhSWA<1}Sf!pKijJAIZ>|Y2%u|6zLZ@YQ{ z@04-0yT(p$Ym>GmKBJelKGJzLk>9~Wna~Xzx_D!A$;m!1?>u2C-9gxlcM374wR<)9 zV@r$CCQ!O8fRBvMg}Nl8<2&)rdC}cJ@#p`J0E}PY`TxW99_2QeNL@NK1}ZM23H^|@ z%F`4)%7IpiNHSU0dR$mThEdh*c&=6ZQ$dTi$JP}rIh;BffAywPW_{f)GV=xwR7lqM zsuypSvQ(Z}hK8cb{*YiQhcqNY-0xIQzo+t`TE}B!!43e%g1Oz`17|t}l|n_~pYv>o z+(2nz6mVS@jZ4A%X^FUnb(D*h$L?>*P~MV{#Af=s8Ls#RN~sDfjLJFLsvTkl=jr^`kvn>f7_`i!j4f|%jz$CM9ZgsoeBb#a3mHLqlDo)9@t&Bh z-Mrul{tAm@nH}R=bxG2f>yq$v{pU!-N3=LuKauN_IitA2*TG^M6&CIx&L5A!_ZL!# z2!6b+n7IS}sr=lN*ZxG^jr5qx#~$-;uyvpNYTW?7!*kuWnR}&r-IlZoVkg$*tdW|H z;0B~E+V>&gPSjvISWEt~>vrirQxDaBr?FGCI8$yDB|id-%S1XqILo*m0rcW$Y#?f@ z$_d!>XkWcbMTw2)TRRCivLg+S4!!f-7)=qd4(?6lJM0(2p^)2k$J~AN1;^2)vcbDr zGd<9i=MbIuxzmhGB@_3(th8?gh%A6piR5&MvKA5$Flw%Le+C{V&wW-ALrNBI~eelK0V(JGDoVs?U zcy$3cmoEK|y~QPa@rx8y+(Ew7N=0qf5tOAoqQN2^8*f4*>kNfrRr8zK`(7;I2%=z| zxf1AW(7fY;mz<{M-!YE8`hqDB1q0_bM1=#>Nnw`q{h*c~bUw2=_0U%nBDPslFK6s9 zE&GsHbD??b3x#aW`f&n>tJA{Zw2>Ce5-JBC%J>Rqk0RGRd^B3?x)WDmirSNug>lW6 z)y3q7-qnTif!ks9!6V1R57Ql>ViE5eD*AVRy@24J&gMeMo8bE}yjBeCm5n~O$^7lZlQ%Lq45bX2IbI4t&z9HV(&$r_l(B0M z=#Eb)?+uVPN{DhG)+Av9K9^8~iNO_^DseBRLmk-AgLkP~L+{apQYgSJYE$+Y*_nAW?CH#FPzh&^KMg&WU9Gxe$$Ej#5x zvepj1k2Z+rVmoKqogqNATfP$edv$e*DD>ma>^&eQQ<@xpq`QHg@Bqk<=*K^s8^Qei zS!ylYu7DcxH_}H(%8H9$*4%7;uAvx!#~|ls@y+)* z6Fi6!8_(aA7lr)NX(4yybaF9}I7F8j1C@R^Q>DMfo>Li(4j(s>FT;$^B;ROSPQIs> zMebA<+I^rmOfF>hcK`Yc#jNej09cS+MchW5iun%X#k@Dkoy%Ng9`oPRqR|NWZE!w$ zOfM1TeQm(eWn735Vw2hgvs=p>suoZv8!Y4>I2|}#%y&GG zu6aY&vxR(KIt|yu9_MV0;GP#lO45+fcCe(G?Fuq_-m?F!frzn3cTPc6+NwS%W z6g_p}jWw(B7NBKDx_$rE?pUrE2wg$U?E*zEM0?sUz?_aZpsE9Rn8jb)HN2Q>^YP11M zJhb}+$I@lhdYno?nq6OTi?vE8yDA??xALn0Z3|n~QJhMB+Sw7h-qDJTcREHc(35P0 zzICNf2#5MpD-hb6bbFJBW$L1ZHn$=k1leOn~NM+VJ(N&i^+rXfvUte+vO9G#0U~@JWj>d^@|LAKoaTlZ zsN!#28HxjYzgBL|7f~+6ZcJ4$L6(7`6#A@Co9w+4%*k=wpU%=;RSaQG2Zy|kOn#IQ zJ ztBujL4t&jLn+DCQEND#5_Q{;Yn-Mb%%6z-nxUgDO!N*b%?nAH;&SF6O#J>anX65-qO&)h)~8V*^F<_{XXE?H~3X(qkX$rhlY zM>HS~J*##y>WuO#LB`;M$FeKOCw};bG(~+IY3+4x?(JB-OcHi~^91A?TB-CGjux_O z^sd7od!Z#u`kSwe(~=JrQ|clAk&$+2C@auBIC$RdCZdFbFs?$9_GK^mLjerNfCo;! z1**r_*Qw-t5GG>xUG(6&egZig&;e6B1!>I8O-w%Su#=fJMvK3RU*jz&KZ>L+EQSvX zkJC1_w1L3HA zmQU{S(vn&1mR~>&%jTSY&9T^r#s(!l&`tkUM+&-&*%*Sn3(uTodeYHSMt z2s)hY%zikn^{ycQDRFf1yNI>tF&J((pPdA#<((B5Q<7iRBS-%G>rac=AK&5c7m|3` zK+WTyoe>p!JH!t#^G52At{P)9k|gk*9uZJOr`i12tKUmuVNgnMK7Sfbnmv&1N`p4r zZ;?l&;GHC+$Um?wB0EF7auY&fk3tBS_Ga%sw^=)?f4gvXYse>+LpQa!MU>Qg;3rPW zk5Kvd3(ru1cQ-#!I!$s}@9rWi{OSmSHU8=1jwo%mB=yMnGfq}6662?zd)k?>I2_D?d`yXTF0Cmu=B4`V?#m0sW>u-%r4Q z8h|`{2-qYJ#1r3fDgE(dw|;-Wrc1E6r~HNg-Ch4&*8lWD|KD!D>+u(GkDlEyGr6*R zi3oO9+U^yhj-#Zk8^&up_O(Y*U5gMuVdNqCIFMQF>`QN*xpX*-!c}~J?4o~Oc>a#S zE285{Nj+hH-_cEzP#fI}II$Z8Y5EAJAK`6ud)iQu+`sF)cL3=9$}^ZcRWopdWL;46 z`@{BIbY%Df>tO}bP5(|0Fi?jmGjIBD`zq{vn~dws!J)(S>qn*0ua5>sLDB?GdwZLU zj;`l2-@Q1S0RXZY`>aRNK+qrxFWuVqhVV%l`?qcD`#K21{={YfD~4g^gUv-T*bq`t z9!h!71OyJR5Fz@cCW@s4RSasaLzs7(q#*%mmHbEI!k8-ZA-vk)aDOczAYgPk{mtma zD?WRX`#PlYD}f6kD6H4+2Ab)d1WST@bKQBi|9jQ|P%z+{K4YD~aWGi1&Skn||6*+Z zUIowB#}F2T%AA?Skr${r;aBiSh+k)YuQlt4{mvut+t$h+e9ut3pN-Iw{KWG$7ov^x zvK>)&eE8(VT=8f7iH}e0MjHl~n8q5XHhx9%NHS6I^Yg#m^XydYvW#9$lt>7WQPnG~ zJ6F(fY!(Hx|N7q{Fx&@24|ATHP+rm%C)4;Q4zOu}R&LDWw^*J=2pM(=wI-9!lZj-v zMO%@1Q?WcLmuHOXpX>LcfX?@U&AyPTO!g6!P*s;7X&@)VLg+^s*^mO;jsjr~gd*tp zz%=hA0>RtbiEEQ^8&iRFOaRU%y@qcm7!j7K!DnGG7{E?WWfAMZd=Sq8C`8)CqbgmvWI&1IgmS${`5q!CFe%%`H^!_xlB0NWp6JDaG2s|&n zySWYN=EoQus7UD{;}hhvXg$8#Dd6{t@*=zrG&XsEFeae8zBbH&2= zq=(&U)6UVN4^zQk7HwZz^1Lw`QhIsePx52G@8CZ=YDQ>?(3!MFNp~xu3S{CHP;NCE z2?`OJwLNRD?wUGPm~Py!=WEjyI3+Jndv9BXn*bgTX3c$1@&Nz7;}r~&j1;W4%Z_!x zF>U%EyjdP2o-v}TW#QZ2Y82AZ*#D$bAAn>&WY*iETXFCiukIWs4TVP^BjWi(Uw4si zE%LWuHV~Zi9}GR5prcV~i26**z&rXFK@~dx2d{zuF4aGY*FSj_;EVseR3!29zq{(k z=J@Bue;>eYPtAX06-mY|`QNZkx+4EQ0l#OY-?N7QCJQ9_=zsGnlB(^l$Unu{}?zk43*wm{mPqJvNJQ@yCR3UXR9|X!lyfE_s=!g z-x?Qc0=CcPc4tVt$_h}JbXqZTx|)HBX;Xct)2 z+2(dTXpT%xG22;Yaf5;;1%tL-eRL=9<6PkOU1%*|8%(&^h66j-Jseh?59%)qkC}>v z+cjM6`^;B+P3MF+Euf}E8rV^GlT?a2)LaoFoT4h^&KtQ5LaOurzf5RMXra!zocMN$ zBqt;z_eXqIGyIaaU9j+S7$z7>i@K(_sPVb}68>C`1Ytyg)QP z-!-qnDU%HULLrK_M#Ri)dCJ@Jb>Z~VT5%*lx2wgb|7~JtVTo>W(fO?0tOw&gZYpZ& zhPsXp!-S_nzqFkBk*U)O)n<`x4gMbJ06SNdY{P>@E9?wCJ(3L^HJ*;C%k~;Y`i=DS zhc4eJxc&B?&f4PCK1`RBv1xd{g0OH$X){`vZz2b*OP}g9?8nI9UR+e%nkNjDrXLWw zXsl?xTooedWlQlIXCCzGpnIN^aUP~Bb$Tn@+3sa`J-r~y$et*t)#lsN9yC7H?|1$j z5%>{Bs1qvnBBUn?*=2nu19s$w+8f&uTH*ZtJ1=>q6gZ-P?KF-f2>UA0+R%7AD9E`fR!1|i zt(~(n&N;BS?CNBZ6{n^~PC18jdeCA3m>i6ZzPK)eM&z_zLzh4^& zEuE2(E8%|Q(S>W0BNJUul1p=YoXzVTZ8#&GhF*Qj#uTr0$GVg)`7=avB^T%28URDY z)>Baco7<1T$@Ik(xtj*R@+4iK%gJd;Gpg$J+RFKB{8(yndSIzGZqTj#Py~1fed6lQ}jj%1|moivtMQ&$82!^#^UQQfnaH!w9J z7S6AfAGUr_!R%tu6p?69%IWp469EE~HOf-Gi1<*~1-izSsg&Z{00BT``(*Xs_IJ;o zSJm_ZeNFBowx4;+QoY^EAGbbJ6hA+)dWE6#zD}*^+%;A;I&+s!%Ur53OnMNbzhCwv z(DxL1w&go+k`>*0Z|7Voz(*v;gxhi~&5vm<-u&}7|BZ5>2jdLe$$Cxq{ha;nK-G2!eo`?w*2NP1^0z% z$H$+z=YRhf$xV3V%dtvM@6Jp;pp{~sdH6nZV~y&;)n}*nIg5IG^rxy0$~Y}!anwa- zmM*8w{#>&DE(3mJI>sw*^@6yf1;TiK9)(Nl`AZmcpZ_6KSziY+uno6l73Iemns zMtFSULTh0`f%ieHu4Pq6z@O~OKCH;30P335QYfk3SjOir_8Y5dcbc&m1_BmiMMvm3 z`)iEL?l$^MBqx==N!RjE}Ie7ntot+i+y_SY;C}r%TsMU zb0;BwJ;U~wz#k5QzcjdsV%veW3z>iSPkWJ;J?HXv1)SX%BwawlV22Z2zHwtQCRh=|ToMfVKXIt95wLuBhM9`5bij9UMzeT8*b zXQ0I9azhPj#$8m0{Xu@DPWthKBD+cz&aZq;`zl7fI#u?#2DFqT!x^?77K#TGZ_<|v zgNms0L(2h1-iN4leM8qFfYEb$_4Y6EkKG0n5wFZzX7a=`?e{vaGi7b|C>f`3{z_*= zJ8z8G9xbBBjQL)`zLrVu7C`H2?_Dm_&Ni4f&jNg?vW;=7!56Mw^{Na*1@YHI82x=; z3`e?Hjcyj$;~vnlM;_##sDQP&X<5GD417DP0`&S>{*eV&efd=FLcu)&W#^+DI!yb% zUexxhu*~gN-TSD_+%&mWS>gQ24@Y%o9@;(>N#6IM`jq!Tph#-gGjzJVzy;hV%ap#| z!yFuw{R`KReatS5=hixJ?VMMf=7*Mh-AGk^aCwb(ZL2s^E2N7%aPSuhQ~)R|HJi{a zh;Mr`-|r~v#haKCU*4V;y0=ScI)L=7;Z3zFZf57oDCts~y#^<)KCHzp$`C zXMH+Kd2gYyw$mV8Z1)R;wh=Hm;?BN$Vnl$y?tn;8p<`K{yy)UY50krVtM(_S6&7&0 zFhyXKcUZk&fl|6|!A3nhj#4>JL7osq-=q#A8EQEe>J6s|9$kr8$G1v8S@(6|nZDVU z))#QQS^ym~W>YJM@d4ltU3`RVId$i5@oCSmqAgpVyID9M{839$am4o89m|nGoxyRv zx82qKQXuWHCq(Pc)mhhd!vswB1surdo_bw!!)Ldm`21@sx{Lmq&#bA$=D$Q2A0C_& z?OJedMxlcprogQtPtcp0mz@3&{W8O>1?3`%`ME}-Fq`Y_OZC3P+}3*)9j5jbr{A{9 zbAJE%cIyl6KI>Mi{l+!nM+kP6_ik6jMf8c_s5T45vbcMHDHn*)+F#JQF!yu5^zBah zLknLZC#Z1SjTNRgiHt^{EOP|1V(Dthe%Z1&@Bm{DuGR;+s}u>0WQyk5g4%=6WM^*3 zREQ6*-%1Z0)i}D@CGv+t&7XFs^k)N77?);Q=)ipo_-4)2fsy!;%hmLR2ZJ^7s8iiT#knUNY82F<7*`yxnK0NT)J z>Q-~n{u-+pVoRN#VG#p{*N?~t$=$NRp8I72YNPcUZ8=HVX&AJk{%(TfdQZ$s-)u>s zjs)k#$U=y@;K|kw3d0YD_}!gL%SHR`zwW+P_rVw_L@995AlS`rzJ9rRY-_U~?c z`4#JuaJfSBw3~;=A6~$L%~EF5TeuxKiPe!eu`YwB2MhPpm5P?F4fZ8`Eu?4t&{P{h|v9@2U?2T)3=^p14%_Uj2bc5U1Sr_r( zg-3l~YsL|v+NBV3!^1$Fp`dz|-aOAQWis_{r@-G1-&DHe=AyyByn6SP-EsW5nEaBb?F$gEXZ z4eYDPyLDNFtLV!;9*_6;;I}bMldtMiJ@V6BT2I=>dHLiL_vpIWe61TasV(@K*y8C7 zr3rRvZ>R)Gvqw_T0;;-rLF8yy zQoDeA-IvsVv$FIeFQq-0V9;9!EU$c0+;r8Cf79}{2V5xB%=mhuTTO`PBBNVbP=0)ehO8yKw<`?maBG=rur)z8VKN0%n9j6V9z!z|R2;n)A9y-USKY z)46)67RHa7s`ar99!p-n0&)F&rT*aw_|`IT6^z7u)mdTu7FS>jp6FF96o1mKIM3PM zQGc+KW|*4$g%5ef-?i1L-0TObgv~Tuu5}Y{_s`{#YbZ-*rEsbPito zz@tw|SN^6*0n_7T+y?p_ciiAuT@k)=NOf6;@bAD%g-C%onztEiYHBWjI4%A}iwKx-a6E-0PtCBIZN$Fe>S-^& zT2a1N138wOrF^yP$^5y|)aDI(@^2*CHhpK?MmDWdxM&TtynClo&*m8tHD3QV>w- z2I(A>6c`3UX<^8rL%M5VXx@ALue7TDKM1fHvs0KoWvH~#`!>!|a~ zc7Fv1f>zZ8A3c*gQy%Pg`OR2af|ida;CeUl`XyxivEOi!N?LgMa)fP zE9tlcK*L)D#sYs=O9@>d-I+-z(Vh!EmMG4&YNu`5e!fLqlIN5NWS4joF`>&pi5QRPgBn=4`b}~+cI!YDFMj_6_~m_>4rdz^$eJkyScfgm86_NJn=sF zJ<#pzIB-xYa6tCfVwjK2)+vJR%quUyQWkRJnikEI;e?YRH_uu}}b9(m-@Z``XW&?MJWV7R@qKy(r zfu>OA_(M^PnTv#6%s-dS#sq+cWNYNid?l1m$^p{jLPv-QfQ1_?Mi2MhXB$2T%WZ!l z8eTc>h&!!T8QEpc>LO1vaTFuheL_oo4h{}1G3_$`G)e*&Kb<{v1SD29U?^8_2ikbS zVEn@iC{SUFQqo_Q^Z*XZ6^UYpwuFKY)O*JDZbNtm}AWTXaz zOmkBTZCoB!?PVmNyBA;vi8gr758h;$xzRo~N$t6ChgBxX3wX_eoF$uY!FO|*l_-TM zB`qdk5imyWUHOe4)3>&K`&KE)6c>Qh{aUj=7#EQ(Fh_l@i6mxnWFa;9IuC?#%?S55 zW-?st%a;>EN}%Hiu!CZ8c0IzveP3adGAGLsnD6qwmILo5J|<~?3jQSl?Oy`S}!Z4X&ubi zN&-Iv0wE3GVi=l^lVaxrEcZzPtKW;Is@Wgx9)6+5m~yGKi98aeQG!mCPXyr&*JZ&(!Oy;Wp5}rVl$YO*yD0$Lb^r%pI`m? z;UcIa+qEMh6T z(yo$H-5Jl%cT28tnJ7@xSU(So6Q~C!kZwwtmz1 z_EiqtpIPTQg6zc`esHNu^)IdjYo!i+1$D(K{Cj&!FaiVDt>3Odz=)yZ3ydZ0!x#bu zy#{6n!rRKDXz?$`f}?7%72Uw^gr;tY1(zCTdqS9x$p)TE_O*3<2Sy@^5_~aNV4O~f zk0b^38`({K!i^(Gw{cB;M!GEl_!oPV5AI%`;7m|wnE;el5DVJd%=j8nq8qHQdZ-iL z33<5|A0ND2!TL@Xau^cu2;I{Jch^-WM5I{**{kr< zfGGSPd5I)bu)f)iB7YaFAA67~4ZaY%8FPcc>&*u3>)A);34?Sou)b@L&KBZ>>yxB{ z>F)6Sj9~%^asn!{N&8LxHH_hEj1 z5l@D^(y5L2elTe?s-}mzkHJQU5y{{mP+%H3L%aFz*ZoL3f4slHzb3U&^l%3EcAhf5cY+kLe_1W$9K*9L^MwzVlsM$@y~#<5>PQyxrAI3^m0j7 z-cSHPcXN+R6V_X7Bhx$5-L0Zdz%@~weBzo?%$e_P#NWjaPJ4)<7X1J3PY6hm0>>8w zqMcI8$_^i6HEGUtK=3WpWs)ztAR!@4R^hzJu`t&yDit{O>B>yENbx4VewMHS>Y3MQ z2*LZyA){tNsT>VDkBJd^CKq)}|4DD5i)L@BgN3wuOEbQ>hm(IvJf#rNCwf7k06B}J z&`{qlZ^xfEV)^$Ln3JcCTatk1z%2#S)&{RM*xigDF7aeY41R+w&2^&(80;7O`{GE5 zN3>8mSZHdDFOT3R(d?6K0IC&=MB=7F;~p7{eV zul(5bF`KDxRKCpAK8(Ub{zDe&5b`_xY(4LV= zns)PdVR-KbSl)oW=+^$)5{d67{L6hLq;Yk^FjZ7eazt??{yUJI#7*+v{eBcrd?b>F zaT6+ePp0t4LvSGo@95PT^`Y{10&))(3t;~?G;XgG_=5j(A0Vb+Sa}iv++{vnd`6%W zYr#YKy)7ej7;t`~b57JY{?X~iy)2*}Q7<(wA~YvBHx8lR;)*A8M~?o>eR#rf*m{Cs zV@)5qoX6jaY8>a4{uK`V19kj=RHJN$Rd`!2VTXHJ=nH6f9z!0%Gi(62N!@~$Tkrq$ zJ`}jAMHRq{;`dLyDE}f3|A`%LQ~ndXKSlHZP3&&y;_|{<-y^FY&Mo$6o0FD~9MpDT z+m+l8LdBWIHa~;}IaVOyoVIp$zKikk`d>RCH6iYp6x7g==#zmpcX!w6kXq#7E;6LI z6^|7OHG?}3v~(C#O!(41-r@H$1l1$cP1;esG0NY(h=7F>zMtD1ZWIx{W^NF*s?OjkC!^6Xt`+7Re2_TIri5`z!b7%5c_^=XWvA0pc zhj((l48euzGl9>-oom00pPJ_>#2E_BkqQDs0S4mjQpucZvF0R7??FZMXoGFH0<)l%s0qlG$ zf%)9RT6IwJnB!ks*!a}u&H~s1 z$VmKZH@&n3YW`l=DopQCO8}%cL-Ucl@ykAXyDdiV)&Z!i|GfKl`ECDPo}^+>2VE(K zAF3O}7)ajkcOLF!SOThzu$}y(#ExTlQ~46!z~`Yjqk+niJX?k)2mmjDIQrumJZS>y zLy(0DwkRx}6kpLZU`|twCZiCFbWL%@mO1%fBK7~?SQDPo+B#|c` zawaP8%z=b#;(kaX`-Zlnc$$CQuO`ULisYttN$y;R9uTtZ#H>xQKSyo@oOsRPO}q#B z&1(m+ie$r`quKF2fXBzdpPf>vvzui;m=^Z|O?s?ut{~A*Q95i5699$q+L8VJk*nzM z9D2yT*?B1k2kgsnH5$~;Oq&~z>t^Axv3$^L;;VN!2#?&!O;7BQ#@okgeX_l6%|nq3 zpmT^48!o;tC-BaTQxfj=p3IqX>igz7{3l9M!ucerD(Qbhe*JU|&H-LZm~HIba!Z1! zux;jXw3!UaoLL29s}YC3_3-H>`+#jF<+_(s!J6o|qla_6+NUOR&1Qv)tF zLmBu)j^It^fQ)3X(<3$jRD2B@xw?@m>EWTbHL0w3w!ET(Saju^g&TKEyfFVKdvwS$ z*~r0WDe+Kz)={nBfAv#m_OPPX2V)Pz~ z8vSMy+XU^%eH1LI0~A}Ie4YQLj|=y3ZJb-v09P!Lq&?2LjV!xkt)+1&v+kqY+z&C7$m|7fIq>n0iA#G(=pJxYwBI7m2PE znP?rYjshL$OlN<&!6*sY1-6CoXAO`l(Ely*;RGUh^gS9sN|azB1}0eW`imRCY7ig= zbvQp?4C#{fIi<7^KFE~JpVE;^wES?g4 zAqSq+L?XfAz-bKYzKqRYGR3(X8)!Z8nNLMWwM;g+jjgMGeGMb!QvjjeNsFPs z9s}~hftrN5#D7g8-@^5)7u1ir0jsdDE-)FU`p)0Q*;#7uYjJxps5cm?3;_F~N8iPh z=c%E!e=;TxPezjDyv}WEf#wz5R7wr@ux;kh<5QD)jw#0sZ#9Uax<9r@;m2_*4&X)Y zG`VO9;+K;khe*%%U=a&;W5t4h4+eV66`A(y(8yD`ex3UjCZI)=-*wp!)zcGEw9S0D z@8L7q92wc4L5q^hN$mK7ZzqIs7rY*qq#4igxRc;^Y9Jq_elg6D;E3%3`x{ismk8P| zYTyU`@M}Z14i5gxhaDMIeUqBVooRiOF+J{(`W?IZn&ra-=CA}=NK&|lc-kxASLhks zi~orQ@JoK$4h-q@stABYux@oaA+8TD=_z&n+b=?n`}=L&J6M<<955e<-F#TUGCLJb z3#rlD`?}%3z;*C=G2~z?gs6W5>#w)ptw#=8!{w{~w;a+{uZezrH5MFz15tE=);D}li^XyaJfXkEv@F3h;7ntk z>PzLrwTxQMy&BFdx*)$whStSGXdSS-9xJ z*69$Dy?a}+$nDsG-J2Fs8sd{~LU^v+1`q{a70~?Ttb>>$ENS2x$*m#mzZ`em-Ux!d zX)@7Qz~>CU2Pny4zdb-f(oUo?5WWgnPHU}modllUzsy=mh~oS~HAPeolO|jc-#tIh zhU-Ebl#~BIzRv?3nVjbtjGT$&ECCzp8&#mr$_pCzX}{+aKyFsu$6WYq}%@OK3-v9qls8fARcI`l;e5n$4MqYPZ%V__clAh%T5Bp z3D-8k_nf*w`U@@54cscLjTmmcN0&&l1~1!`S44nB@o)EGxeET^$URAT7+sh-!3zDG zIIyVTrpPBXwD7Yz|B2mC4f${4aOCKJVh1pr|9>KO#;7E8%cF}$MLv1jeEtUq-pf&) zWKnc@$I5a7)T02yGq;8N^*v9Ph2D0j38HLoz|}UFbT1u0??8Rd9~@DE6%qW*HFbl( zgaHvET{-cT)K}HwFyHNHB|@~Za!Xoprkivalm9*o$3C^ zh&TE7+ekp2_9NT3Una$HTF~+-P-MZcbD#uP<2)IUAu1;&<+4Jw5PKi4Y%qymnvGFq zS(>7C*yyh?a+p~%U(yBGWHIZ@o&-$dF*q1^C(}jza=VuwEqEQxn`q2=ZfO|o&$>?m zE#?WHjs}$`8dgO)cQF(i9l7WFctYcwjru=dbPCsN-dgU0pS4d)K2Fa+)7^eMxgZDK z1+K&JJs)tzmtVlUm4pq+7mvNGOHUGj}2EhN^TuX#eH3Sp+GA{e9w*(!OQ_WU^!AML=fH7aIC*g;d)z z3s7$^4RuyqXm96$Ogf=SlSpC$R%`BqDWNNH?nlvZD^M47pOKp_F5*OTVfYhd`@-*| z_)uS{TSpfc8TI>L&t7!j+{E~Zy4dgf>rrZGqH^>jKAj~nZm)4p$fdwQyhQ^U?bF5! z;AMXY`xpfZUTfsg)m;%m^@g8t&!{fC`XTha`bFI zUW6{ea(I-zQGBIixE;Df4E-L5b+GdVojTiz?seQ}FiqzMEeY=M8Z0*#5kLM>lVEYf zb-vxHD67ys>7qCjMJ**Sze9*gW_lSl!c1w)d`}8$ze@k<_zUReiZTLq@~*D(R6olz60~L2v@LYCT(+W^2FlwAVM8 z!WGZA1bHnm6avwlyhYH1BQXa&!>rIb0jb4G7;{w2#ierMvjQV`#lk=p&V+JDBn z4Y@c*Ow>J@MT%&kTif%$s#*=RtGE&ROiV;W}YCn9}PAMh+=+)g-p;4eu# z_<|l$GmKABXMEJF?xgeAH)ue4UJI&j@9671(VL6$7lS;}s5@3&_X}(86FZP=12~!9 z4+j1PXq7Afo0hLWMg4LtA6q#snk+KN+i?rPy~uH#6_+s`|4FO~dT7DJBsUG?XTpsQ z!8RD?S2^H|3jOa%t1qCpCulTEP=< zcK%oMP=u(MRKu>TSow2$!IQbF{zxHz1C1TsH^Vm*@YY|V5Z7}Fn?&&AX;75J(I7yp zL3MkY*5k-t*?6%09Hyy!Bf4w8*C3b@FgKCm1}l3%K9kqigbU;rXkObQ0#U9+Joy*P z6);oscHwtHi-Ss3F&vVsRm>#leXQftmy-_Mjh-4dbcjbby*|&Knv_&6xHzBT=L7#VWopt@W>xKG z>kfb{Y^y&6^uMaJu;ZB;&e7zQRaOqEQ{kJr(+gn>JNe?bqa-Yzza6!@0u)*>U0~KF z@Sh()`RkuFYOsA|JRFk09XU=d@ykC?*!KT=|sBZ5KIrj?@?9R@iz=DG{f zlng=&YinzAyh=qJb6uZ8G4tp)Mx|rMb5JG#kpJS+>@3A1;_S_b4>_>5%tbyyyGzJ6 zwQ_QJ(-7dEoaoksvX>?)lB&W_XS4}UKcBU)KC<~}#BEx4dmlSe>%OF_EUeCRoldE9 zrE4CJ-~c4&Mgl`A{jBet<}9`?I^9FTv>6JET?v33aG3R%uw!xofmoVCj6fD@H9$aR z(8A7Xf9dy>cbWx^;fNP^dS(8%99~TvAo2APeyh!&VENQ_f!b8}IOgb%zk1Y}$B%~J zm?`d5v+Xaw(t2oF+^hEHMq5vbBFv=%3`g~~=|)GaykOsaL2`JU7!em>c!wfodYQpp zPr=tCfSl^g#)Z%I24EwJ)cI?qm$b5BPk(cjlj1eXuvYg zMuZVd;Vm5`VQwqtlBUa+_xnxGp2e&MHM>&d<0Fyt1gjhIU&X8x$26SwZ}L3b8IR^<@FGz9t- zl>Q3!{sw^8ZMS3{YWKF5-s6gW8d9S30 zcNzbD8Hs0S!OQn)MomlOzr0sA?&M`7kBErl>n#$sqeosq+jYJ;k~;$+I_R}9+nB3c zv-OEj)3Xw~ieZ}Vp3++0MDJ;{B5p!2*-W>FJFQRA%BRsrgF*bO?Aj#-=xbN6HAUoU zn}vVC@&7j5lCgA50^KIo4axrZn(5fn>=(5@I;|T%Dzkj65W^#DZEY>pdJ!bLGnC>d zR%)pti6}aLhnzHPX?PP3(TMth3};V&qRi8;c&(tl;W&R0Vr{LtBX8iyrjxD5N2@JN zXPYhe)6T=s8`a*FMbl#3`x;T7d`&artUvO=hIQ=e&NLto_n9k{z$kH5m#kuVPo8!~ zr195OUKqN6ACBD7in#gcdx8z$=4?TTt$1YxkAlT@-WGcEq4IA!g?F#HbKmb-s_L25 z?rF31hB_yXVJRYge2xQ#$mI&XkA;QgL(pSf^dzv3)K^{k&xUCW{a_mKh(yIZS-^Lp zor4os)-4BlD06XhPc|gT$e}rOpYvvbY0o~a*;H=yN7KpdHwKPWce(t*`Zax;jyK|L z>y5ey#`4!GpOtR7*fyp`_L}8A*jj#jSTfHrxcWYj^PSdIba9(Ui}0J+SO(Oc93w{i z-sF;ZZ>!D<)>+j01#vxVIukAK;Vz+Plp*p0>I`q@s8GNlI@5`eio4&;6Fm-`-f5NQ z4;_r|Q<13~eq^;j>>E*Y?;IgDTR+&629v+LLq-9IFR#p`U1qfFx^KNlT0bD!y;C)Y zrTu8Xgo6|m1g(RqU~KpST0|!J5se%3bW1b@d3aFK`OUrOw)!`YvX!G1x=44oc8|Et z=|m5qSgxfZt9SbD8I^fFFqgTkjC-o<1KG&)7FB`|*4Eb%(&Yp6y>be2VH@*3U}=%d zOz5D|5mQl({t-q5-#d*5yqx{+^al+D7Rm{bQWs+_G%QD(?^P@I^Q3$NG_GQU`)V|qpVsq*&9IEZ_6?|u z(rKSapW^(Vg%9ttRec$XJ^>7q!N(2WR3g_06q8`REBfZ)sVeLH6XVLy8|no!F0#dI z0?yKSX?G765LIEa8zDjRB zY<)?1nU0KA5KFRgUe?ppbDKkGIo`nxUNvP(bH>cX|InCzvuPt0h=8$K zOhzY#YLr>U1aHql;4!G02h(r%ZEKFvPgt`F%#seFQNLSSe&0YtBfkcoC4PPX!Ar@U zt|Hh7$0&WCXR11)(hQVy`4%Qc=^8glS>sp`!E?_zqq$v5Uh_#_GV>-Hf^@^W3I;fX z9AyD2lXSfQI=9IQXD4G}bP0WeI*Uf4(Kxqm7e$v}W}4CuLP?+tHG zp4IC&H61oc8w$QMGs){Rwte>LWK;N(S%|=Q62U$--gQ2==@%nto-AaL)0maI? zVFzgGM!dX|lKt+y@Gij9c~x5T&gNs0&AD5n%zP?YGTW%W>$Whg+B#TT0?lV@YZK$WZlYPn!o!+LY6V8r( zKg96%ct;$pO?X+SuT71*ldegzHVzGS$lF!uSI)UO=g{b+G~FvrCH55ZA}uYgZzYQf zjqMp|+isov1fI7~qX#nIAAw=W!gfsUF#*io0E~kXTKCc}gAz(!MhB?99snY6Q}#!qrd!$B-x?*}cC>JHb` zy+NOgig?B*Bl?)_o}i*M1HF*-Q7sUxe@qSqR=byjKDA>`v~{CUaZ5Jmx>GF8P0L_l zD0_}S7AqQ~r;xK<>{o9U7`NrWo@RqG<)Ux0(z3ef*Qq3|PPsfhWZ!+O%~AF0y+md2 za}@MEZ)lW-+J~iuXV%5Hzl46Y8oz5a^HOZNYL_ERHzODUcv^?U08()OVqu$@Hl@JI zZxxJ9)t_X`Bx6-1IgL(QWGYI_$w%C@Qu>q#fbRS*IQJ&o>m_dIa3bGjsb(~3(2$q{ zhsbuhT{KCnN7w>+8Nezyz&RK1mPv9_d>(Wj$lK&AZ}ldou(trbUNWC1I^+l4D5m%K zI@|1*com|S-bhourBN1X7ZrEkbByM*Ys0p~a^rbWYcZr$a}_yxz_M989X1bDM^-^n zWP(bjOhI>?Hn?O%~T&qj0>g@_?(N?gV__@4qO z=T;N!dJDHAFMnZczts71M(O8a*Fbmic7B|B6?cEh^WmEzB5Rq#9}kEqdAg_LJSX;? z)+cRL^%WovCI$H^q>J$m2ir^AD$Akn)3%DmdANwhaqNzRt5HfWOncBG)rM-{);*+_ z!dVdQw_Y)h3BnX=!lAxLb;e$w(uogD(iAYo{1LHwWwQVuku8_2?d4BviHmuEc$eyr zaM2mmErF51+Ooa+VNsvn0TC{lLU7g#Rh?Z-sPeIFp%cW2%CRd(aWTBGrXlR$qTeS! z%JXbm+p^krs;}-s80_XtkY}Q*QJu=7X0;Dmi+8g0KL{_EcQOI|(om7j8H3?Y^8yJf z)2+F;{>*O|hSW3Tg4wke*wH#Jd4;grC-hO)TK6yd30 zYR*ZSWY06=oC7d3?X}R9kwAbmHi8(2}_MR!}H?X|og8BEcDsL z$ykdcXlw6=&_9z3u^F;~#(q4Gz%Y)Kn8ga4^A@Vt?@>BR!|72Smf1udm3hjEV%8u_ z(kFe#?JO}B(}acv`9|y{Bd22pk0hrBwY*14*PzMS*yUG5FN=J$Su*MeVmDALNu8DR zS@o6UXK68P^Zj%i46`kb+poVSX^vF6#n1ZgXB|R}|2HQWchG2n2`v<>eoNM{dALXW#V;dV9;{xL|oGAB5oMO2H?Y-4k6} zD{$c04a4kOz0&YlGLb;Vs|l8|8oTs-u2BpM=WUmhJmupbdof`&SjlFd+V5;GUM6Nb zBlOz?wU=WvDIpQ#!Q!oyyf$?w&kJuZj_NN~X+x=lm#wUE8q2cuP6QoEB}}vRec|!#z1bOT@yX!lSL-IeL2Z(MhUys^QHh^iS!x zr|y+<#qd)XcB=)s^d3(NFqQVBw3-%sxpj!$KD~GZI~&)Htdx*k`oH zr|Kcy?X`2>h#n5E+Y1khXT(tJV23W2HHz=CB*yFte1oY*Bt>#V?uh=nQgL!;_1q{R-3v9ci{KDp#Vh9 z;ZQW=^L+{@lb2kBcTo_X8#{maRT7nCAPPr^8w~#pYX4G25{^KUYHZ%0{V8@ol@kdI zbuIYn{U-t1^Oz15AAagnbDsdSwL$dGyc#x)e*w#o%w zPi1J~cHUZd?jvrRmnKi8Zv($PY$rhlg*dF_AJt-gm_*F%yprrGCovqXTVWqg&RLFP zBBL~*rF{axv6|EN#TFNNk%ybHdk4F=%WsYhD18ON(_`f;iV#`~CazuzIuN-+a4AdA zi#$as-EBp*>f5Y?Ns5nNKmnCR^g^dTvv7z7tKvJ(s;v%l|DAD)3`gk~!vT+y^E(Yb zhZkX@z_agu<<<4)hk8ikqE`F);eAWNjiSzlDvf?;i#?EJ9SxG_Kzt!8#+30ZO!6K8 z(6?tDUt~W=_Pbe}Yi1aIRd=CMKLv~vLB#-*gG<{HG!=E;$&8Wlv0A^1@QQ=Ib!DfG za80ws^;U6ZaQwt8_CfTlT(!F?T){XOQWZ&WX#yhMRDQY02zIUhWp6*uViVMyH&)z| za|5S2)7G&Xm<|SG0Td~P5PzIO_F53renjEC`>^x8ge(kIy+qtrt8HT56n0|`q~FTW zzJ+7Ohm%I@d&~4npC;%}N6+G}6 zAF9QUI3S-I8CC3-pE5_K-<0HpH_qHodDK?F;vVS)*-`7BP!lBLVkj z%X>I!#u{(?{({MH;k{VD=(xH2X}33t5I`xUe~W4IJaTNoz<47$Bf(X!GJH8A<}n&_ zt=Ddyoqr%Hf?sDM?hGEtYmR6M7Q1>}{av*(B0N#!^BA z?@|g*P&>$tL^VP6JP@pyR95Gx0E3-ilXbsK-S;5If|AAcOm1p?X8q51eRnf>B;j3M zYPf)Qk)5YH9ZA)%6*Jn?jn*+My}Z2+s6!e&4%hXt??4Xa*`tB??w5yT7lvN~TLOn7 zE@d~+?kT)oaLMtyW6kJx>W>i2%kebJ46Sm`SDl|f`D?$t8cqO**u0MR9~8suAE~<+ zYG0Gk0KAMv^qa>^J+*<4PKBv4P5ep_wwdtQSXj#yZbSB?brxq9^Q)dVxOgR0xsP_Kod#aH_c1G=GMy?-)=D z8Rh*J`R?5%VTYwKkQD7lp=dRs`pnav%3|S-p{#-YYMU*cZM|%d=rJ87eXejOw~6}| zi+foXFLe0_EfH$)`?Z2+RB4Mc#8hiMWQU64=LTlB01eHyKDYLqaQ{3>BsqtV{zDA3 zgxhi((i|-mERk}z;aQ~a)M>-$>ULWi60IWR4`8D0E|~I~s4fV~i((GWS>ug^ve>xK|_q|n_XkMF$A&%KLP!jna^4hoa zh4hUvofJ17l8xS!kQ264{64k-dB1Gz6EIrP&=3XR{6vMc{P+D%(}}FRi=~O8`}+$m6#1(GfJ>a zUtAvtT6DEOvDa+6t=g;fp0^)GyzZkS%jA|={x+ZOi01y{`75lf^+c0Ax#@X8PrZ8e zs)Q?&W`b-3u{?5UZO}2?y1w2f7P*W(gy!GwF4T%*)9MH88=^Q{S;5$t*l`?@zgutD zQR!sk5-WQxZaa#@#DeKIby^}ki*i2 z`@FYaK*!iRf9mG%xKKj`&SdisMGiSSkl_A!O7tJx%yS_3P5bRcwy7k%a3_jPo_IOC zAa(3Ih0t;0RGyaPF)xt9m1n%LVpVg@dF|_2Xc!J|Q0Lv{V1XJnSE0Uyb&c-!V|RSd zag>d^_F*kN3em^?wH7{K-&@t#Z66!dqOHi;Z;(U^}|@;A|A0_rZ< z=7YH8o%{Yyp9$=-Y))!gtVDAUyY>XAPgpU_`Lssci`v+eipya2~r51WdF<0H4Yqj3`eW?rK+`$%n zVdy;aQ%Ss}0k+ucqlyB}&!7C6o1?y-2Exn-HCE^U!TS^b;r-F6v(Ic$sm`YNEy?kJ zPQFmzt^Gz0St>kEP%pSt$Dl4=>#1JoD$ix)pwDE>A_PU8b&NRYUjvbI77 zn(^mJt!HK>(Plr13ibey{>@UVM`i(S%^Tnu3P?w8Ii-+Fo2W<+gf)gvhANA(Z-SzB zg~sNvi^ae+TF)aKJ2F6X5=_;`#@Q?hZVuL*AfE(I%uSvM{@2N@f#lAJgZ}xCj;r52 zZwuLR9Z8Y5Kk>RtDks2qk zp-c~%6_wc5n>?}%;>yqTd1o??T(o$0#ie~o958Oh5fS+Yfzm*5a`; zgqqhFRm~L3XP5mNtHxG=`6!ieB6eIx9s~%qF6dE zUwd;V+i3(1JovQq^#0{SKU&_Rv?Ez6W~d~Wv~p6JIjs;Ehq&D#z)4b4$-9%M5*g-r z^IcM;hFZnWT#gw^i5O~LV-GlctgA&UmtXn$fTT5@<#1oS<+GH!pr=!>qmPU!iRytG zBt2}N0^trc8mM4|v~~@){m3tk=&I-6l!U7wg_jiNKDFm)!V4fav)I`I3uLiFhX?VD z_!y6c#Lc*apQ(!@$G@ustx=hOVf`+C>Fdbx8c-9YO`t*ilhyzVh4$OmETA>sNzu^H zpt4nXO?zyk!CskUsOY}})50?4jHqvnt>Oq8R@RPUS!i4!Bf;OH3#uuSav1qxI_36sIo zYKMsUT1Q96@7_XMV~r-CCE-B%tALV(sj_m6fNa&CwK9tmm1)`C9BRR9AZhn*I?-kL ze5?DMpc_Yqa;B$z^$GnY9~z8le^J)SGIvkm??#F4*8pyacZJ8Kx~3cu!bNuwMT_Xy zKtD?syJ3ekaTS^Y8EGjnyWa)WNrz;!5V7#>_30Q`egqx6wot_;x8pa&a$u(wz@+DL z?lLw)yE}Uu?6lx~)`@e>7V~b;E!uyJ>twq$)14|y)4rmGaNbzp(TG`2)tD#iRubJf zGdrB(FPb(2Aj@xNYdy-m{URhB6Pvcb;WAXHsXVK{w5ZnFsgioY;VA9hUux8Ld5Fzz z?x1eo;tZK)4_r@=Xjll9XPSADmm)_n?}rL0alzJ3c6BNhma559$eQ2o9*^rOhMoPi z@;)$5_Z82KddG6Gu;qEaOL=o?-IX1kowZe$yDMwb-(UViPki|V^oD?*M0&{2Sm4j3 z7D*T`;dPuv>GEHZb%4%{U8^nWQAgUNiB^O|?YBb|Wy;TjL>-DZye*_5&bwmKUtv!K)?u9MqW1 zXQUxfCRe#LD0-+PoXj)Wxzy`G70UpUkyW~Wp>=ySDY8{&I!&?m25?(Ty@Em2wz(-B zvS>vyU>wzSUf!D-bnp~T50t_B<{VmiNQ3l{eJ^nkfguaz#5TmK9@u45^J!#RYxcPJr5e zm(RS{7$R#o*L#1{y#3PXY2*ti{b?;wqO3;nEJT|gRpW(qlL;K;Z*v@)S9K->A+?*_ z6kZ|`DDL(NWpdwo>uKgig89H&%j%?=>S{TY^OVHcRl`acV8L-leb#w z+(MXGrM`~ygc|Q+{xX7petM#V>nPeB@$hJu_?E4na}^?7q0^IO7)0MuGz;a^;U4mV z#Z9UCSZ$_kI{_qU+43x{)3WOtwKrfW`DK^ztb#662j4W6b(CkYA6cBK$ej}izNjQE zUT%qFH21D&=joLyC3qa1U|3q+yumS(w%=c32Eq9R6xxpPV_j^NKd}Hd%-eYMOF!K4 z8LHfmTLe^?ofH=oV+7jO+IE@*)fX}}c;-;a-is-c`TWCPnVSwL>`IlPpCTR)e6vWt`U773{419P~BLZ%}6A5)B_^cp&j;&vh@rs zYUE^|z;w~GYb=;Gc~0Sqr3|s0bp(p#t>0&iFzq1Dgs~l05f4AQBi>D z4ui*{9a;_?o4~mzA@kVT@JKzYW06YJfWYvXt~LTKNz8o3Z3kmzu05k#TNPhn`vEEX zmIzU^KXk*klZ0yP)aIoL+ObQhp91k63Z!6=^CHzx)%3Rj>I?)Zu!l@a|Im)M$^!Bi zQ2HlXuxyENBNT)^uPQa#vk5ej9%DmpoyU+-O8TtV;j)8u&%zh`vus#r(eT8f1VID8 z*NnUN4Hp4P+fD88yUKpq)iwZio=7dvim3f@kH^8f-ly+PkOk+NRS;jyE1Y1VureW$ z^L{j(o=lf_X>*L2+3#eT@%4MPlKp-ZjC9lsR(0)H9~Cc2n5o)O1=b2K&_{dDvlEM1{Z&R|OpimjW?{X)kWts5?u zkR`9XWYzP&-mS%oMA9ja!tEzr z^7N3yx$C8AQ70n*w4SR#_8{));OKv_o?|2+-6r!&>~Es_$KOdPkgK(Va>_b$Yw0b? za}?FNJnD$1lwz~a{^7gFj?TAuh%E8onx#aaOxnN^o9_(2#me^B(}dmf3Ii$T2vbw7 z{T#Pl`*(41PuOOkMv)2RNcok@ahDPO#(OK7Ho8bCf(XJhcq%6^ImMA@n)Y`3XWcgw z;OQXPYT4FK{=^6JD=`MgqAXpCv1B_{Jemr?7W++LB0 z)|I35o2FfvZz*!`SjTIucD&IPpq;#QKC;fYAikC03E=kqvr(u*rQm zYxkZ71(=Iwf#)gwz+NLlWTo2s2y*p)*$HXTwnpJ&uUSMq1&AvK836f2jK1ahrvYoc7ql5k)XzLraYi@0gxVf(UD3++QNbm^f z5cK2ISHJ^nf4-PCdIu%{4A*uCN)quxcJJ0X1@y?)*3)*DMjj#77C#s~t9u?$=B-kXAY}B(<5d2`HWJy^WjxD{Tl1_tMX7=xajVXT~w4ci?p-!8r1A-3+ zrvT^Z#iKNJ**Ct$@Ny@^dGzQ6FJG1hRiPVweUH*#Xufa>G38q>X2nb=X*! z88k#z?}dV7C7_llNvx21c;|hXqm;#45Nr;Vm=z|H3Oz<8sjaiUeG4k+o`3=b7zH*D zP;+p34kB`{4RqETXapn1=o9}v{+9!;cn-#1=ha_w_Vd#hZ?M;n53f!UR;)?RKvcG0 zKzGV~YoHYnH(D|1O{G_?ye-9$5!#2J08rU0TiZX~sh{HNWsOTPwT=${*=F|FuUyA@ zYLh2h7k~cpU(e_@gHvjeLbQx?WUf;~E>}Cs@8{Pr96_I6BO87E%gg-u<0roZlm7bV z@y@@l{^uvaV>2^JbF=mzmU@zv`keFJpq;qOykhkEN&XXh%SD~Xt6ULY!j73u&?Q;E ze|R)9+#7u+uU;ffsUJ!Ff7<)*c&gv`;gX7^G>lMa*&`z)oCcAZO&o-*?3GO#vPV{C z1KHV*-9Wa;c91=fvXA-Pr%xH@?el#;-_P&)<9S|>{&70@xz}}H`@Zh$0{&I>;hGd1X6w#-80|~-HG*Cfy1~%s{`ACf(n5Xupy~1 z5f0H_`epd@PuH}~=9lPejB+a})US$gu%H=Ag& zmkQI(y}AJkUlIF znl>9^fx-$_2JZY4m7GyNe}25Vk40u!L$!%!`3^2-2jE8@ zH@?|CbBB|l+c}mSJK)veIRGn%2m}EXR=enkg$ldqxQSA~KJB98Ce{A>w96f_xX&(k z#FA>e!Wv5${@)|4Vai0bX9ALWAtbz}sN7cO2DO;O2yYd1$e6f_j+ z6U2QHHKZxy&CA=K0Xz>gsZ;I+qa2!BXU3BPn!!WK*&QC8{ilm5RoBE5v$ti&=KHTPS;>=kR7$Ej=!Wu@Srz%QO)qX|82YkTRHT#|xO zf_#AwA8Cp}+)Ve}9+c)~B0T2z%eqp|>sk4)nsQ7!4RF*uBh&=8s z(ix?}wPL!7GZx~{=(5?&1dlOpUcEcCcc$RE4CLvzqT;H0l!m3 z;U>R-?`q_?9uddftihpyFW_pu#y&`$_)PTH=a4Z~Kxs~77prxH7)LN-VqoS7kw#TO z?*Ck?&PyYJCloFsDw^JGkoBnb6>{9&sga1z+eKl1$+k-2?su^y-NB(?=QgoVJP8SN z=i3WguRL2>alnDcDvPJ$)5nyAfjEkJZjSoG9#H->gXW`OB=0tp(~K5aL#SXc{2lba zW0>e9ch5R3ss#UqF&&aa#e_W7JTCF%Ww}Jaz)1g?sEkauk}B@d$y+$!9psDW>P7+C zhSnm*3D$2lLqWaV1gls(@0XVcvO$gU=|ZlB#OpY~aejFsC@@mzBRo8*A#mp1mYL*? z0W}2KJKA2^im!i(5SJLzDX4BtO|*baKk?|a^*HRVk@+!UcW$o8j2~hH1ib~oa_M=F*bAiq z=~o!L@kMm_4(I!o=v~CMw3{cSMI;kg2+1$D8^FK%-8+o?Xn$5>YdIm`c~EyD5m$#g^z|m3g9^5>B+Ma*2pwhA6455l$aI3+JZ`WZMFjHH!G`>1#HIFz=9Qe zmZhYwRi|ceOG@Sh>E)l66U(2tTTRM)KuDu5d2)LB+hop11voq^jruqK48hSd(tcCp zMP!tFZ&B0Gd|e5?cw5ps7$lWw=dIZY?8d<6a{@52c+_~}b}+vl(*v{@r_0~L2awK) zxqnbu6-jEq;LqJ=M(fou<*NjGT&&=#Rz3$j0(EeFk(Ko{KrfMTvdv!?mAh;|K7RTX z<=#srZ<^23(<@KgO!#?u5&CU8A{ST$u+lwd_G>R~J-NTm5QYy9>Gqz!9c)>mWtI(8+;nT}`uIgw!HKTv8RUv6>|Kh2-^=)hGoV0qssBR@$?tqYx@o`5o zN>>fnfq|1V9#i0%V(WqEd)utqK5=j!5zJ&wLRe-D`0rU@5E9dnA-A&MzkcP~cH&*~ zwX~PPORuXNwR|H^$uqcqJ=fYfTv=B)J%?zd;7ad5F*_X;_TdIzTTBRVu@mwokuLA! z4Lk+A{fS9L5T)RWfN;V+IQ|$2b$Kyv6_~$gCc{KRXc2t0+*rA{64=6LZPiUGaDmle zVzAp|HSg^JVmTlrgr4|c+hK4Iuw!}ur7pfTjBs8jpT;c%D`DtjWVM-M=F+ri}~+845Yo7@tU4<0Dfkcqan_H4}3TlXttGDFJZ1E?uR^m zz5_nqIR>^)EPPxN%WoW!^sA5ztAfi4lKPgvBapB>5w zLMt4p0#S ztCJ%;g$o`0od_75IHA6%Umg5rC5=W(x)2Q1=g8x^InG}X+vA(>rEZzh5T26F~=$ zISXJQ|5jkZ#~J+QXUWs6*M5S5JQlt)Z5d}5$#;<)m+1d-B!9f-Q-~9`a4U`po+or! zXXs0uge_32UcZfR^*cbABsQF?-`Mb==^miq)>N+BA|l`^B@f)^Y9F4cM9Mi3WA?g) zr8Czgq^1VsRknKRu+%=BUJ^sh^J#Y05&SP?#Wc2AV<+cn0-*jNkCeltwJ+1}T$E6{fIy(jd>XBKI7h!)u!3tt z)dwX?g35j+vMtG#=JD-sMI}TWo0ukgMzlcttuj#i2IwrZB`0x}?hL0ju*l?rj$ z^a<~fVMJ5@N|jGQOH6(N)f9z1|48g!@I1jzILphVh)ejQQKF+jl+0BbL0MzE6hZMGa_eVtR z#~59EERCU8KzKJ5f!ML+zu}u>b|c5j!N{q!GPBN@*{GwLkSC6hd~s>fO($cvo*9Mc zuHX(?J*qc?s%Sa@4mDXJd4G{XYbvv^z={UU#c*u}J^cdTl=$RH+^d!W__lVYP+4~jy%UYZ4=m_kP9Y2(}Orm5$~y^bs0iaRjs z+ZepZtz_F_M_w5H=Iawpl^xm^LAQ^&4370_YYQPY5yf9m$Gr0kX`*4xg{{pDIkdk( zB-zPk4rLFncy{u}>vVUCD==jvml$nGhgTARs!7Vw{&`=yh(YYKagBe<-RZZIk>^DX zrPZ!jC9o2bx8UXVbZ{xN+uwisKq-W|I>f}Po~x%Irzrjm&%h7i`(D}$5ymfUqxQZ* zmvGn(*x3h8OfadNkQibjN_o_Mt|W#m*NBC%1U)m?~bs2GV;FAY1KYK%jc#a56`%#CVGg zZMM$@r~DUo4(`gnGEbeZ#f9^He4U*|4c00uj=TjX>iX>&Pu{j9oU@HJuMe}elBOtP1h?yWtceW78V`bo+D7xSxFZU)g>+q}8EQJ2q*}lB9q-6tZ7EZTU1` zYe=A^5e+_m^Tep&kam?W6)Qn=Gr#puon?{!i(JUnjJl@N?Md#F5JyQ;mCv>p9fR}o4R?XQT;%Uv;AKLFyYDfp%jJs4yf zcKGzP`NAdo4=6h~_}p0h$wQ{LZg5^+H2Zvsr}n3(eT+n-rLP#g^#@b^(`s$p4C)-N zJ6a>TB_w%bpYRjwgLg6)p(hH^5aAfIm>Q|Sn1 zR=a4}lA7HKyd2YuTD~H;=fWCc}>Y3+HQhwXZsk0hTA!~t4O0)2jRBgFHGvB#btM` zHa-CHtaWqDD&PEbmcIpMWu2^KZKI!DNTA)1=F?f>6Vpa#@COC^jAVyo8K_k#>}?|I z@D)tOaVN&~ROh=26Z9qCrh1bt``!#Xd+T?3XscceevaiG$U4m?*P$PpS zcfcX2U9kzKFe&UVi{iD2ySn}n&!&Wvf?HJ(2EyI@;Q9JZ7j1329-_5SRE^2D7Kq*z zi&&7>4TWYcUb$WF>s*fnPpcx_K=4(Ndc0(imzVfx_bMAkJXlmY9m!i0uB`8o*Oxk) zW!S1y(zh33JSseE%{c4h#8;G zu5qggkYb_|yz)3dH`W^X=_sH073+y!cnM&Ei2k|)q~jwv%YKTjC(;XySk`EbQzTH6 z%>5Y9J}zYtiT{eb`OED7^DDX{AY~gnpV$o6%eGV;p zqnNv|X>ddz>L&Y7;R^mwIt)sTQ0oh z4!IWFd^g2XVfn*$`n{u%2&Q<4p1%~GFkJvFQy@#D~?xSBQG*-2k3mQ6eFs~xY5oH_3Z|_qe=+H)_ z-}SJyAnl;w`ik@P+Ci%PVXOYf{l0-9n_FH*@#;L^snr&;0xHuYd{=(-Y$m%&ca)7f z-)eupp@h`Zjma8J#CuM15mwD z+76=|<`PU*Jy%bA(G!=N8#&%Ak(>ekG8q_wVXb3-b5jB>r@S z*Fj3@BFGxSIXoJ9*Y<%Tc=Z}Bpj-8vHllZ0V6oxcU+Ov&1#m|Ogoe@qmhcC#<^-gL3(|;7;I?yI1)vNU5$VCLGLyOr!>0~cnQq1W-;TCl4{p=MKYe4q$&GxZs^$w&oGf%?@24`UWylA=^iY=^ce;6kw`-+8 z3q(~r)ifbWdZOhojac>JSBL>XBeGPK#TXw5Wj4RNbK{C-+b!@~lt$tuXRx(V$L&wE z{LKR(joaYRU1KYgQ9?V+g@ZTuQOkN;?kH!}DT?z=S{(Ol{7B&rl~FAWcU6q4^;G~z z3wqM|C@q@TFt{eVgnD35*Ph`K5V$g^g7v+fzA=g-EJwC@i(FtQF)GTjz*k#A`o{~0 zaSgh8etfY*+ZP}_g@%Z2r$zxyq0vT(+-xlkxJ_nwcT10i*zG$@u z{2EJA?c?qyqZeFV$t+Os@CMf8s3DH_GOANvMn=ZtbX;DHqOkDOF30*Jnlxur zd;A4`8!l#$5wcCo9y||@n1s)4sNtd%A6i4c_3%b#I~H`Ak55{M#Du*0xXp>Y2y$dq zvnrQwu}uH)#(Ot_5%C~-U*-;OzbecFox=|`)$&c(E}}u`MtC1iO_0+>^?*KnPvKFGRN9-camh{c5=xGZUoO(Yz(?L%UqMSB% z7!pFu-SsdNd0}Mm-H&Y+krObcr^SNJwu<`S=iP=05u+F{W!mAq*)b~VKDbhdaZm9L zxSg?2=YroS@=E_(TviL79ZDH`nGQeO)ls7}EC#gtgo&N20O2uD!Q;<_kHXV}O2Ff^ z1|+NT8|4`l8Rl0nwZjm;KWfy{M!&@tXXz>5BIis7@$j)ClUFLI=SPGx`qGT7zhJ-- zs%uu?w}40_o0X9@(Mj%#phWx}a=jqKZP+4y0BP^rX)--fIUT+3le1iZbyXWi%t~lp z8!f0#!lZh>I+!I;$dk01u=S{)&uPB4H2}4_k*{hjMQ@||axZC>SA7=k$zQ%;L}_;O zDB^8TnQ?BkGg^p*mE{WcsAX5aRniLPv9VY~^_}nAUV5%zVjn}8`nM9&Z%1Z24RGyV zZgExKs)hb;)4`-pJy7_b)p08F!t`(ev+??xBB(+=XY(Yd%k3IPx1mAv?SQ0%mca(i ziS6+3xJ6n0Nvw52%y*|JxR%5H6sP*bJ10%o_1Y#@&7AX*^#$)EIZf_#B5f|iozX|z zUxXRj02&$<(us`c@by?sPP~>zk-Gj2WXNj15Y1y2;B{&_r+~`fhMNjV6JjRCzY1j8 zg0J9t{-Rf1&ON3Ji&R5xvO}t-6j!wUCP0eKc~g)Y3S2S2C;-`xiUvWLK0{jZ{L_Ld zB+m~Q;|!-y!pb=h!t8l?-g0Svwd0-XFFVFsIXlYn5%H~6pt6$QdIjW8 zT(qM)uq}>l9dI7BNzLgUu?n;lKlL7J~DO$hi_}9P5m< zk~9$q`6&b?lo#ittw6MVZQ)8h>th)bJTr`VlM9^&0cb#=e*vn{@n~)WHMhYm85*@bwLm%Z;IwmBy7_#&Bk~*qfiUlv$ZcEg zHBjR$vxsRVXG1#sf_2ThkwW<36#&*8C(YCh(0t2mNvl_dK+@5{`kF+L= zXX1su$)^WStY^Hce)Py8j7{@(A)j#}|741Jj!rcRVmZoQr^4rST`X$YWp8U`-J?i$ zt)XA;H*FoAb_<}5oc%wjjd)H}NeL)1%nTcuvo`iNf4{})erI|Zu(FYF{@VZjKv7F-Wx$+Sn*H6*PMhE!@kJ3ZFT4Z_!fA}Oj|;sl-qfQLNh^+=oBZU+dv1iBONDymz>QarL`uz@i ziWlI#9{%8#c!#!8Kte&?EE$ZM8P;Fg)>#6)ydvCL3VZvk;~EtvT?{eLiG(b4b-xTp zGabz<1}?n2@`keajbZP^`D{O_+9LK(cgberr1JmhwMoC-gH0v0p7^tzy)hJEuFACA#=tQK<3Oz z`|*e_@FcX$ww1pwm7m-43pFO2kA2OH1A*dAQj88<2H)s| z-zdcdy$kH)xVnQb{Q>BQ3=j9_@$b-P4Z7)YA9jA+72$xcd7KIyV5)sW2?>?vU8444 zC)HI!kV}{7_?DB1>BNXW1m>I+enGLW12a9rl4>>$-F_#n`^>qMuJ=9*^$#9 z&qiO;io>_{ru(+A*zXgRS&zCqlDAL_p1{R|T)*>v>etfFpP*~{^^CbNmnAD@fr?Yl z{Xu&^SFdVb>lEkS_v=37%z`Uy?L|=@|Ah^>C}_X1MA7cpvUf$-m$jhIF0=A-?qyEV zyNv`z&pj06Tn^3d7m-(=e#-q$hTi1Z^{&tBE-q(b)Nr$7AvT4uE_osmk(BGi9dTI~ zBrZ!>bUtV)=+5Tn7>cOuh&<)nI^Sk7gpTadP3jHfu&A?*s&B0%cwr(*v{xvN`WhLe zVk29T%j?!z>!wI$(yLL+^WL-HLg3*_i}_Q<&DYw;J_$ZV*m->I`y9T~)KlVDyz7}-cXHj}`r&Da4ma5a@Sy!q( z&q>WMeL2eS=QL44bqX=0KSYU;zF~5k)o${V^WqJv+tF*Y@kg!_Cao3rOc6%a&E0Zd zp&jMx;Vm>(Qt#)8MkBH^GBRx1Kh(o>!`H^r)-Updk{Y90RLdj1Z7H?2vz{fh)yq9e z(QoHKE~TU0>P2>3t4k&;Luq|vN0w4`rOb8dS;YVV4?jQ+DLO^WeH!M z)nT}7wjg@lVa~FIdp)Y1Z#})DJIZNN(OGB8XfCoxOiFN7aCvHY?w&2W_A1;P$!%N5otK>LOG3fC#rEV>Jwc9w~Op6wo-<(p# z963gRol!rXLxqWVyr4T7rP!0%iIgB^VN#S5QIRC@tSA^Bs*RjoYMvaUm!wD9pjEHf zq+0a-G?v#%&u7cY?+_(Tj1N9NKg?-y#=2ISQgN1CJ|+6c+?R8{a?bn_OGWUda_*9_ zRP`RR)y88}WAXZqKlV|HMAqF~YFXzG2d{?F*OY&_H`T55=bO%d?)Qxcnc>+c71l8Y zA)1016%+eZ)|D0#qfv9<)jDC72{JKxej>A{*zoJ55^3b8kdsA2E~wy5(A+;CGs1OF zDFnN83m)z<>DfcaA78>McC#0!iGa>d!em$+ho0UJ&8$}d0N8mVXQSvIOccihej(OK z5xZ2%O+Z4&Wpl9$DmSo$?}PUnL_XbrvWWbEO+h*4FRjgu&HfxGq-S5AN+E!hvA&K+ zXZOVY1JUMo{#vbT6KIGOu1DaWELu5|r3U+&G>PB2QKKd1JeV?|F^3Tg8>C-@y*y9o z48y_&y)f{7HBPqVC$Kd_w*s|(@Yg%AfM%n=YZyMAU9DHk6G&x88nA@xpEd9{ck|a` zOZ7p6rM1HhD``kg^oOQE|1_VW4LBzC>=EOGF?j;l(% zCfM5356DzA@VC4Yxmg3Kv<6IgUwHf@1Xx612{iZEa5r}I`$I1$Xo&x6!LnC~wPc?W zsr0OY{m1!pu-~LYCkm!~n>C4DH1h>r%!vHGF>CA+EGiel9y4GmP4B_hKJ^;6=7GQc z1IC-hB{lAY2|3-bcyT{7Br|$$w5QY2yckX>yRGT9DteG{F=)f6(e5& z|#psL%)!BXgr3b1PnUpPc(7gV66 z&+;c1Kxlp>7IL`;1EkAlk{;(|0+40P>*T^<5f6f5bF5H+xve#NYS_WA;lILPZtjPI? z0pzCn8mz&A(%U;k|$k_ZMatlql*>1GsA)VfWIlddph`FlKSYAtjtXQrsX^yS2NdZ zUkz=ziAZDHcuXgLFBOg_f@gxaw)|JaFWCu8pm4P9@mFBlT3Cgsi_K)p=GnO z(fKb>C50z_kvCI_@|IM%SCKt%v4Vottn6&Arbtx5l=&DFbF8sVe11=4iHWY=EmB%( z8v@eAj0y8GtAf$F)^V9Pf?MVo02mTvVRs+9G87&qGk|55zX=4$j|j3dN3shGBd$co z&VKhzj$J5nW`1~}yjs4OQOYDPzBn(;uE==qZAxTVYI?ELrIaW>b!1Y=(rUN()L;j=dS;Z(5GcBk(9?0s4hX7YlC!^DmlrXKbi@ zt*C2ui8(F#NYs$LU~@GUPA1X2Xv{}LU3D)Yl;nht#oI*+mgJRWlLA699aj)+mYT`WZkOWY<8$k4)=#zRvRH^3lh3Y} zS(QsejybOpg+3|0t|BtmRG65P9B*5T)5f)hIsub6l>A`~sm`k>0$3xBUM{2}b&X_9 zkx*L416!R7RwR6*AD#s_(hAs`$g3)ao{nWCrD>Q%#W}B5a5q-7TFIvMh=FTrZ&cA= z7$o>GKuK+W`dKLx?pT20>dnt7ow<$W<#WniAGfTDDAWybHOdBL0Jb=2hyhI4t<4ys z&4qfy3OwNi%}sg=i5ZG&N_p$kGD{;z)yY;s1)8KBwcas9H5CDdn)QBHq!T!bw}pxyz3hVic!tUu+{n+$#{-M-TP|yy4oI|n_FJJ|ICzo z3$@<|!j6kWg%pC|kBNX6o3Ba137!Pi)r<)&U%okauNGU3R@y{M zjg#`ZEvy}NeS>>Bb)m5}8W9wQuA2OyINn!XCpmK=t%#R2DgK*U-uoy81;weFCW;qk zFIgfdYx{NAaOMPQ$DM^+O76}@Po|_;_LmFK**8}^^HOZkA`$g_)|ioOsqg!-Wm-%S zU}Gs>%`#Xx2UEtG1eU}gBC9YW_==dl$w8_4{HZlbfPOr5Zj;Wv`(1Cxut*>~CgNMu z<_}2y=(sUDpPx{WnYmz{D%jeB5;a^8^s&{cJ*oYm_hfyqkT4E`Nu5ea;aL0` z)M|U7?Kvak?k@Xr+AWJ>1{~kuPN)I|=fnX}U%K=WZTao5B~!DyntQ;lSO}U=7zSU7 z{Fbnm*gZ%bq(4meKHRPdKBnLdj(NsoHeNP}w6&$Bacm5+^wY{;m_tkwM?T%maNJt{ zM@O<#YXPr>vBH+qm81q-6NgD1Td%;=2D(p>rk*h5*u4(Dke?;*c1&k*Y?ey@>U~P# zr=3#FSh1Ycm$7)K_vWoXygsFcgec1BCIpf^i>l*XLA2tQ?_X-3vPtU{1F;-f0)_x^ z0~NBwAP5@W07rI%48ExX{1)ufC+TuWf^^|=kfn*!0#uC*&x8zx07~>=zzg0@Ztxpt zo&nwD^zHtATOjhQGt3hs?N7$ZLxws58ZO50K#G5V0a_7bTA?_Ey@W~vzH^0JcSDu? zgRbVlEUCIcZvolh5n}1tD=*3qV&Uo@R}zetL?@o~XM~N#T?G4+fSI{ta}htFO)A1| z!-BCJ*dhVnu{5qb`$q--qcjbi1;;KXGqkBE{{96ekaJda-bXj){PW>opfV6th12ZJ z*f_3n1vHFyML>Ao7a;)Kkhe9W*rJq24#-$(aw-TwRDinN{F*K0I(CmxfbU#;%V;16 z4hPs~JE)_A-B4-?8k!Kip4cGt^8~PE5e*B(ZZHLgcrH&iqiffoW~o35(Pf;5bRhBylg5^NAslL8Q`2C#4CHNQIdN`r z35uQ{vkqYorSS-C1NY>!Kj*x$23vrIgFzws5MpWq4HCmcOxPfVu>cSv&g)2GHLQK=g^JHfepQXZ!7Y+*WkgamA8y|Vx}N>a1! zcnU!^U|4an^zmb#HZ>mr?8I3Ph&8Bj2sF?)L_jEM7f{lR;bJwr0TkX4-*RtN{g{GF6F;Ak7I0hr(2cYt-L!M{{@kCa9!fwYvmZuX5Y{|}?aie&%`1((t~l2pIc3M5k{l(*eK|EA zo@TR1F95M|h`tENG>yI`7$&yz*&ljR>*y1^) zjm&-NJR=dpf{Zrq$q&j&bOwpbvBmQq*OmPWN$c4FD*oODXU*QrOVxv4O}S+?l1xoUaMc8-VXsD(q?(kdID`6Bh| z`ec^bDxpx?B`Ooh>WzS;H@M+p4bc(bP7xOwc-ioyqp}JM1B{Kj#XCDY9U!U&E<1^m zva;xKD@qhtRHGE?>mA|YOcTsm>-VNywz{W&qgWWQb9Bff(jg0ZgJa_XpZhR2xKt(v zcGVpPuprA!OY4Wl>~c3m%fcI=eh)CJg*7>TX*g&&Iw@+%%4kF%K6k(a&O4wdj1Bx! zGoZNmycyub29)a$oHs&gc3ro+=k@X}N7ufMTQ}8)b2p+;4K^RAv|!i+?Qwnb7ri+WeP^8j<}0u?pQW%` z4J(3kBRjg1o#ut5e)?eROCTj4EWQZgA+$_xd2ldcrj~0XNNs0<~q<>nII6 z=xPIjDjZo;oeP1t>;9)vZC1mBja9ep2EOOU5{!?#A#!t#<5N;5zfCbZ>_5_|hXpLy z2OLk&$gKSQ00o75!jr}i9=s(jS-w7IY*LcI-Z)8aEBpRsGi0Jk42IqE$$?;)9L_;c zxcx0qZ28q}soT*>#%8HSaLJb4nO2g%kh1Dq1nEJfC#ONf%)}xmH8plPsyEwaToLX> z4-6AAx7_8R)K${C@BZBO@o0#7M(vjXxJBHDQ{mWPWmE2z)Hi%rkiB3&*JY6JfOfT< z0ti^blf{F!yam||?hwQK&Z&6rRCO_s>+^O;ei2uw&fB`|_515(s>4I`$Pl zF-3@hi%Zm&WF`NGa>8M<-lo2TUtecVRYhfNaY|q+>EWg~^*0j;^({4?TYoibU7&A2 zZk>;?ohc>yYs-ql-IP2P+XUKQTzmzf{B(8AXRK4)<9ZJF$mPPPW9qje#zM04`BeXX=S+m_W+0{j zj9MM2_70gGyx6cFik5W9 z#`W4Cg!+6ePj;N#(8jySnuqvyMAc z>5ViXjjd|Zkdwy+Ap0UBJI-S*KVC|Dl#(nzF$8;fG@&0{dcsh=-bO#-rJvn`fHf;C*X|-1~b3(KzIKq9sLgagP2#{y4ow@v55c z%;pvHU+Cl)Qrg8ROM9mGGwlGe`wo`)--%mkkJ3wqauq8bh2I|eaa?W zp0+R5a!!Bezzp%X(E(>s(u=o~5N^aHr{R(K?PNTq-SSg`FQx-ewY#ur;xqA=jCs!H z2HD7y+&qC$u_6wx61j-O10g76L>ihw!ZoNbVR)bYeiIXF%QXlF9k1hQ%i6xQYenPN`;u@-Sh0IwHJF#g`O05F_mq;|$O-X@I}>digzw z(1S_ha2OlZE>81`hGT1op)wjnkx5}a8dYVHkoz!dzd#@*B=y6vdr=c9#JFBo*q4h} zZODejXEd(33NI;ocWLLZMne3B)P6x=L+l!Ne zk?o#?3 zcc?A@Wq*p)&4FsHm6Tp{Ma(A;+0D3-_-vc(7bDG50o2s|Qw5?J5#6DNjWd+u9Sgj4 zV*7k}G(@lO65n$tGJ{4rz+!lT%o$2XK8LVr4RvbiCWZ#O<*V@R%W!SPy*`(Colv&J z6n6R2Rzy-d2Rg@*cbpKz*T98GWc+ac~K|>XWOaN zsKgK>-zhL%8h@)6y>0Or42!u2Mm&&?^nkSV^5E>}j6J0ElSg#<$hHx2iRoUi%Y6>G z=KKK~b4G0%3Z#-IyAQ<2iC3cxqcAwXhw>a{_qKB`y|jNetUSiW%k?3Ir&AMQyt2|{ z!cbc>^nA>BPSLVUSg`0lk8=o4`*m6k>w7@SXkg~mRv@thKfvZBnPPre-D9WSwyr&{ zefv)qdaM)gfk@cDb%9b#6VN%J`L~iT2C_cKrGH$x{bhLjSz}NLb64J{b8iO~P79yT z;k0LE2o@u_1GXnrW~7Y0y^S!H?Y{?841$4zLJ;2D38gg8e3ocIaVn#tT5)+w|cLh=$R?vNtx(dQhKY+cxO# z!VpOlD@G7~MXv;q<}ybPwyFVw4Pda*YS!&2PxM6!hF~nI*+FMwO99xKWnKqW<-VxG zelpJN@!mdn%1P-71D)hxi1JCq6AVU54|Ra@vzWts2h-Tib1q;YumO|LMABm({%-V} z-~4HM4S*yh`jK+WkAFA0?mto`PstT7G50%!MaKLpHNe|s;FJ54N&Q_am6 zxQ!@F+wtivA|qoNv85L--V1Q&CvPx457A4A^ps#U$snw38vtE7j!E}kIU!66rBZ6s z!+^tRQKKQ(Oc;VZMEAV5wFkKs)BFltG89nwFL&Ton2{iG{R2fPTp`~8a27$piA}1I zUYo~K1>`ovIo-QZ$p5oN5P^_9MpGW)ZLr&hB>#CFfLOZ#*u{Wd62RuI|CwyI37=ga zu*(E@rNFKj+|>iH^~zmE2x8{_El74X!Ch5&*B00{hIXyNU2}NXAF%5X+4Ttht*Z1N z{Ar+R*Cn>=6Wn!*?s|oH-Qxd0+zZ@Ul>*yhJ2tJTT`{;T26x5at{D6;#o$^=(K7luL+!^s4#s!nUG{r0<6OQ%eoE`L z(YM-~mG$wul`-#pGV$_bZ{Og^xJ#SH8(UchN48r=o1O^>kSu-JJv=!XzL8|^SLB2N z9+_S9h%zXb^PgQge|LL!oPf;k0!xMdzwD0pjfibF@oVObf7|~&3ES*#RiCDRw|YFH zcQhKHE~GB~)*!XN+v`qqh%jl41m#i2L!<2eS=fs7jnalB;d+^W>tpm&Ds5mi)I8WhRcEONLP5*J$&B2e9h{*lL&mH@=KrAHc2?aMuaA>jeDQPC%9tSQF<@ zP}NAeAx@AiCqyvg@jut!Hl3lr_}7;U4dZit?U}k?bBxIB2FJ>|{_RjFkA;SZd&Wye zm!r{$SBn01W&hes9agHr=1waW^;w(!((LUPZ;Stiy>4AU-B~t4K`LJ=K_6CH^}|IT zmMqY;ELZ^fJMFg;SNP4Hs}757~aAyMdn{@B2Hhg))obOis%X&>WWs>kVZ@aUPFO@@7Gf@^vJVmALCVrLsT zC6d$9$`*P|%D=~ddN?;0^hzNeDt1(A%RIg&{x7dXaPd|Ia8{iJjg20B_8#?wBjd*7qt{Md z;&vaId#&7)*NmE)sz9UBQx=iVki=5|48Q=NLsT`4jae{6Q|?WXo|Scy6<+NA=I3y` zA^fW_r|+5d1{4Za{_yJM`TT)(4tK1)U;mhQl$x+McozaHe;}?tGbRi-v9Z1%9Vh4& z_gs%P?nav6Dw=ij>(@Jl&g%k4jvTo!<+M5HL`U3=;g;8~$O4gDf2%XM}@|`hL~pbVMYPn)DQVuTM;fbHkhb6`jd4pDXgM z&V;PH4;5q&TCa?rPi0~$YgrYnb4tJa$cokB^l3+rPoJdB%+04utlHAl`gX|T^ACYT zcd@}6K|(^(H`Y8jIrMym>z)#<1t3P-Cnhe(GtN?LWvzS&u(i-DCBO{){*Ga5*n zH0RncEB}_clwLSKlB0n1OIjW)wuweHr=mD0k7#K+36PMGmK1e2uXdvcu3B5$^dSq7 zdf{-+)oYwhCEOIYRwZn!2CVt%t+P#8Kh-Y<67rEJ=qK#~|3rl(Z>C Certificate Authority - Self-signed + Self-Signed )} From 7d5d88ac2b4b1ed6e8841079054583a8a1cbf11f Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Tue, 25 Nov 2025 02:15:10 +0530 Subject: [PATCH 035/109] fix: minor bugs in project role access tree --- .../AccessTree/utils/createFolderNode.ts | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts b/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts index a40398ba7b..b05ea1c52c 100644 --- a/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts +++ b/frontend/src/components/permissions/AccessTree/utils/createFolderNode.ts @@ -87,17 +87,24 @@ const shouldShowConditionalAccess = ( folderPath: string, conditionalFields: string[] ): boolean => { - return actionRuleMap.some((rule) => { + // Find all rules that apply to this environment/path + const applicableRules = actionRuleMap.filter((rule) => { const ruleConditions = rule[action]?.conditions; if (!ruleConditions) return false; - - // Check if any of the conditional fields are present - const hasConditionalField = conditionalFields.some((field) => ruleConditions[field]); - if (!hasConditionalField) return false; - - // Check if base conditions (environment and secretPath) apply return doBaseConditionsApply(ruleConditions, environment, folderPath); }); + + // If no rules apply, don't show conditional + if (applicableRules.length === 0) return false; + + // Check if ALL applicable rules have conditional fields and if at least one rule applies without conditional fields, show full access + const allRulesHaveConditionalFields = applicableRules.every((rule) => { + const ruleConditions = rule[action]?.conditions; + if (!ruleConditions) return false; + return conditionalFields.some((field) => ruleConditions[field]); + }); + + return allRulesHaveConditionalFields; }; const determineAccessLevel = ( From 38b0ba58574464c75294b2215a3a2123889d53cb Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Tue, 25 Nov 2025 03:17:39 +0530 Subject: [PATCH 036/109] fix: adds tooltip to env --- .../OverviewPage/OverviewPage.tsx | 41 +++++++++++++++---- 1 file changed, 33 insertions(+), 8 deletions(-) diff --git a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx index f3abbec97d..6dcf148452 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx @@ -10,6 +10,8 @@ import { faArrowRight, faArrowRightToBracket, faArrowUp, + faCheck, + faCopy, faFilter, faFingerprint, faFolder, @@ -79,6 +81,7 @@ import { usePopUp, useResetPageHelper, useResizableHeaderHeight, + useTimedReset, useToggle } from "@app/hooks"; import { @@ -194,6 +197,15 @@ export const OverviewPage = () => { } }; + const [isCopied, , setIsCopied] = useTimedReset({ + initialState: false + }); + + const copyToClipboard = (value: string) => { + navigator.clipboard.writeText(value); + setIsCopied(true); + }; + const [filter, setFilter] = useState(DEFAULT_FILTER_STATE); const [filterHistory, setFilterHistory] = useState< Map @@ -1324,18 +1336,31 @@ export const OverviewPage = () => { > {name}

- ) : ( - "" - ) +
+ {collapseEnvironments ? ( +

{name}

+ ) : ( + "" + )} +
+

{slug}

+ copyToClipboard(slug)} + > + + +
+
} side="bottom" - sideOffset={-1} - align="end" + sideOffset={5} + align="center" className="max-w-xl text-xs normal-case" rootProps={{ - disableHoverableContent: true + disableHoverableContent: false }} >
Date: Tue, 25 Nov 2025 03:29:29 +0530 Subject: [PATCH 037/109] fix: labelling --- .../IdentitySection/IdentityAuthTemplateModal.tsx | 2 +- .../IdentityProjectsSection/IdentityAddToProjectModal.tsx | 2 +- .../GatewayTab/components/GatewayCliDeploymentMethod.tsx | 6 +++--- .../components/GatewayCliSystemdDeploymentMethod.tsx | 6 +++--- .../RelayTab/components/RelayCliDeploymentMethod.tsx | 6 +++--- .../RelayTab/components/RelayCliSystemdDeploymentMethod.tsx | 6 +++--- .../RelayTab/components/RelayTerraformDeploymentMethod.tsx | 6 +++--- 7 files changed, 17 insertions(+), 17 deletions(-) diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityAuthTemplateModal.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityAuthTemplateModal.tsx index 6db81f19e7..d676d4c8ba 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityAuthTemplateModal.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityAuthTemplateModal.tsx @@ -154,7 +154,7 @@ export const IdentityAuthTemplateModal = ({ popUp, handlePopUpToggle }: Props) = onOpenChange={handleClose} > - + diff --git a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx index c44a89725b..2d688ae959 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliDeploymentMethod.tsx @@ -55,10 +55,10 @@ const formSchemaWithIdentity = baseFormSchema.extend({ id: z.string(), name: z.string() }, - { required_error: "Identity is required" } + { required_error: "Machine identity is required" } ) .nullable() - .refine((val) => val !== null, { message: "Identity is required" }) + .refine((val) => val !== null, { message: "Machine identity is required" }) }); const formSchemaWithToken = baseFormSchema.extend({ @@ -307,7 +307,7 @@ export const GatewayCliDeploymentMethod = () => { setIdentityToken(e.target.value)} - placeholder="Enter identity token..." + placeholder="Enter machine identity token..." isError={Boolean(errors.identityToken)} /> {errors.identityToken &&

{errors.identityToken}

} diff --git a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx index 1d4a7dfe5e..fd316c08b5 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/GatewayTab/components/GatewayCliSystemdDeploymentMethod.tsx @@ -55,10 +55,10 @@ const formSchemaWithIdentity = baseFormSchema.extend({ id: z.string(), name: z.string() }, - { required_error: "Identity is required" } + { required_error: "Machine identity is required" } ) .nullable() - .refine((val) => val !== null, { message: "Identity is required" }) + .refine((val) => val !== null, { message: "Machine identity is required" }) }); const formSchemaWithToken = baseFormSchema.extend({ @@ -329,7 +329,7 @@ export const GatewayCliSystemdDeploymentMethod = () => { setIdentityToken(e.target.value)} - placeholder="Enter identity token..." + placeholder="Enter machine identity token..." isError={Boolean(errors.identityToken)} /> {errors.identityToken &&

{errors.identityToken}

} diff --git a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx index 54b176861b..48c09944a5 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliDeploymentMethod.tsx @@ -41,10 +41,10 @@ const formSchemaWithIdentity = baseFormSchema.extend({ id: z.string(), name: z.string() }, - { required_error: "Identity is required" } + { required_error: "Machine identity is required" } ) .nullable() - .refine((val) => val !== null, { message: "Identity is required" }) + .refine((val) => val !== null, { message: "Machine identity is required" }) }); const formSchemaWithToken = baseFormSchema.extend({ @@ -261,7 +261,7 @@ export const RelayCliDeploymentMethod = () => { setIdentityToken(e.target.value)} - placeholder="Enter identity token..." + placeholder="Enter machine identity token..." isError={Boolean(errors.identityToken)} /> {errors.identityToken &&

{errors.identityToken}

} diff --git a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx index bc82ac4a0e..cb2a9e0cdb 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayCliSystemdDeploymentMethod.tsx @@ -41,10 +41,10 @@ const formSchemaWithIdentity = baseFormSchema.extend({ id: z.string(), name: z.string() }, - { required_error: "Identity is required" } + { required_error: "Machine identity is required" } ) .nullable() - .refine((val) => val !== null, { message: "Identity is required" }) + .refine((val) => val !== null, { message: "Machine identity is required" }) }); const formSchemaWithToken = baseFormSchema.extend({ @@ -302,7 +302,7 @@ export const RelayCliSystemdDeploymentMethod = () => { setIdentityToken(e.target.value)} - placeholder="Enter identity token..." + placeholder="Enter machine identity token..." isError={Boolean(errors.identityToken)} /> {errors.identityToken &&

{errors.identityToken}

} diff --git a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx index 143952e22a..550b52947d 100644 --- a/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx +++ b/frontend/src/pages/organization/NetworkingPage/components/RelayTab/components/RelayTerraformDeploymentMethod.tsx @@ -42,10 +42,10 @@ const formSchemaWithIdentity = baseFormSchema.extend({ id: z.string(), name: z.string() }, - { required_error: "Identity is required" } + { required_error: "Machine identity is required" } ) .nullable() - .refine((val) => val !== null, { message: "Identity is required" }) + .refine((val) => val !== null, { message: "Machine identity is required" }) }); const formSchemaWithToken = baseFormSchema.extend({ @@ -381,7 +381,7 @@ resource "aws_eip_association" "eip_assoc" { setIdentityToken(e.target.value)} - placeholder="Enter identity token..." + placeholder="Enter machine identity token..." isError={Boolean(errors.identityToken)} /> {errors.identityToken &&

{errors.identityToken}

} From d25ab57204c3b01b653a20c59b90c82440344359 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 11:17:40 -0800 Subject: [PATCH 038/109] Update docs --- docs/docs.json | 2 +- .../getting-started/concepts/client-integrations.mdx | 2 +- .../platform/pki/integration-guides/gloo-mesh.mdx | 2 +- .../pki/{pki-issuer.mdx => k8s-cert-manager.mdx} | 9 ++++++--- 4 files changed, 9 insertions(+), 6 deletions(-) rename docs/documentation/platform/pki/{pki-issuer.mdx => k8s-cert-manager.mdx} (94%) diff --git a/docs/docs.json b/docs/docs.json index 57f44596fd..8da9a2a280 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -752,7 +752,7 @@ { "group": "Infrastructure Integrations", "pages": [ - "documentation/platform/pki/pki-issuer", + "documentation/platform/pki/k8s-cert-manager", "documentation/platform/pki/integration-guides/gloo-mesh", "documentation/platform/pki/integration-guides/windows-server-acme", "documentation/platform/pki/integration-guides/nginx-certbot", diff --git a/docs/documentation/getting-started/concepts/client-integrations.mdx b/docs/documentation/getting-started/concepts/client-integrations.mdx index bcd9358306..2a575039ab 100644 --- a/docs/documentation/getting-started/concepts/client-integrations.mdx +++ b/docs/documentation/getting-started/concepts/client-integrations.mdx @@ -24,7 +24,7 @@ Infisical offers a non-exhaustive set of clients and interfaces to support a wid - [External Secrets Operator (ESO)](https://external-secrets.io/latest/provider/infisical): Allows Infisical to act as a backend provider for syncing secrets into Kubernetes `Secret` objects using the widely adopted External Secrets Operator. -- [Kubernetes PKI Issuer](/documentation/platform/pki/pki-issuer): A controller that issues X.509 certificates from Infisical PKI using the cert-manager Issuer and Certificate CRDs. +- [Kubernetes PKI Issuer](/documentation/platform/pki/k8s-cert-manager): A controller that issues X.509 certificates from Infisical PKI using the cert-manager Issuer and Certificate CRDs. - [Secret Syncs](/integrations/secret-syncs/overview): Native integrations to forward secrets to services like GitHub, GitLab, AWS Secrets Manager, Vercel, and more. diff --git a/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx b/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx index d1f1273fd0..0f312af011 100644 --- a/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx +++ b/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx @@ -25,7 +25,7 @@ When you deploy a `Certificate` CRD in your workload cluster, `cert-manager` use Infisical verifies the request against your certificate templates and returns the signed certificate. From there, Istio's control plane will automatically use this intermediate CA to sign leaf certificates for workloads in the service mesh, enabling secure mTLS communication across your entire Gloo Mesh infrastructure. -Follow the [Infisical PKI Issuer guide](/documentation/platform/pki/pki-issuer) for detailed instructions on how to set up the Infisical PKI Issuer and cert-manager for your Istio intermediate CA certificates in Gloo Mesh clusters. +Follow the [Kubernetes Cert Manager guide](/documentation/platform/pki/k8s-cert-manager) for detailed instructions on how to set up the Infisical PKI Issuer and cert-manager for your Istio intermediate CA certificates in Gloo Mesh clusters. For Gloo Mesh-specific configuration, ensure that: diff --git a/docs/documentation/platform/pki/pki-issuer.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx similarity index 94% rename from docs/documentation/platform/pki/pki-issuer.mdx rename to docs/documentation/platform/pki/k8s-cert-manager.mdx index a1d07c98bb..a5c9f81432 100644 --- a/docs/documentation/platform/pki/pki-issuer.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -1,13 +1,16 @@ --- -title: "Kubernetes Issuer" +title: "Kubernetes cert-manager" description: "Learn how to automatically provision and manage TLS certificates in Kubernetes using Infisical PKI" --- ## Concept -The Infisical PKI Issuer is an installable Kubernetes [cert-manager](https://cert-manager.io/) controller that uses Infisical PKI to sign certificate requests. The issuer is perfect for getting X.509 certificates for ingresses and other Kubernetes resources and capable of automatically renewing certificates as needed. +The Infisical PKI provides [ACME (Automated Certificate Management Environment)](https://en.wikipedia.org/wiki/Automatic_Certificate_Management_Environment) integration for various of ACME clients to issue and renew certificates automatically. +Under Kubernetes environment, [cert-manager](https://cert-manager.io) is the most popular issuer to issue certificates via ACME. +The issuer is perfect for getting X.509 certificates for ingresses and other Kubernetes resources and capable of automatically renewing certificates as needed. -As part of the workflow, you install `cert-manager`, the Infisical PKI Issuer, and configure resources to represent the connection details to your Infisical PKI and the certificates you wish to issue. Each issued certificate and corresponding private key is made available in a Kubernetes secret. +As part of the workflow, you install `cert-manager` and configure resources to represent the connection details to your Infisical PKI and the certificates you wish to issue. +Each issued certificate and corresponding private key is made available in a Kubernetes secret. We recommend reading the [cert-manager documentation](https://cert-manager.io/docs/) for a fuller understanding of all the moving parts. From c3fda7d20df7ced629809536d52c0643f2906c04 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 11:28:46 -0800 Subject: [PATCH 039/109] update doc --- .../platform/pki/k8s-cert-manager.mdx | 38 +++++-------------- 1 file changed, 10 insertions(+), 28 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index a5c9f81432..02c00dbddd 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -18,28 +18,27 @@ We recommend reading the [cert-manager documentation](https://cert-manager.io/do A typical workflow for using the Infisical PKI Issuer to issue certificates for your Kubernetes resources consists of the following steps: -1. Creating a machine identity in Infisical. -2. Creating a Kubernetes secret to store the credentials of the machine identity. +1. Creating a certificate profile with ACME as the enrollment method in Infisical. +2. Creating a Kubernetes secret to store the EAB (External Account Binding) credentials of the ACME certificate profile. 3. Installing `cert-manager` into your Kubernetes cluster. -4. Installing the Infisical PKI Issuer controller into your Kubernetes cluster. -5. Creating an `Issuer` or `ClusterIssuer` resource in your Kubernetes cluster to represent the Infisical PKI issuer you wish to use. -6. Create the approver policy to accept certificate request. -7. Creating a `Certificate` resource in your Kubernetes cluster to represent a certificate you wish to issue. As part of this step, you specify the Kubernetes `Secret` to create and store the issued certificate and private key. -8. Consuming the issued certificate across your Kubernetes resources from the specified Kubernetes `Secret`. +4. Creating an `Issuer` or `ClusterIssuer` resource in your Kubernetes cluster to represent the Infisical PKI issuer you wish to use. +5. Create the approver policy to accept certificate request. +6. Creating a `Certificate` resource in your Kubernetes cluster to represent a certificate you wish to issue. As part of this step, you specify the Kubernetes `Secret` to create and store the issued certificate and private key. +7. Consuming the issued certificate across your Kubernetes resources from the specified Kubernetes `Secret`. ## Guide In the following steps, we explore how to install the Infisical PKI Issuer using [kubectl](https://github.com/kubernetes/kubectl) and use it to obtain certificates for your Kubernetes resources. - + - Follow the instructions [here](/documentation/platform/identities/universal-auth) to configure a [machine identity](/documentation/platform/identities/machine-identities) in Infisical with Universal Auth. + Follow the instructions [here](/documentation/platform/pki/enrollment-methods/acme) to create a certificate profile with ACME as the enrollment method. - By the end of this step, you should have a **Client ID** and **Client Secret** on hand as part of the Universal Auth configuration for the Infisical PKI Issuer to authenticate with Infisical; this will be useful in steps 4 and 5. + By the end of this step, you should have a **ACME Directory URL**, **EAB KID** and **EAB Secret** on hand as part of the credentials for the Infisical PKI ACME service to authenticate with Infisical; this will be useful in steps 4 and 5. - Currently, the Infisical PKI Issuer only supports authenticating with Infisical via the [Universal Auth](/documentation/platform/identities/universal-auth) authentication method. + Currently, the Infisical PKI ACME service only supports authenticating with Infisical via the dedicated EAB credentials generated for each certificate profile as the authentication method. We're planning to add support for [Kubernetes Auth](/documentation/platform/identities/kubernetes-auth) in the near future. @@ -51,23 +50,6 @@ In the following steps, we explore how to install the Infisical PKI Issuer using kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.3/cert-manager.yaml ``` - - Install the Infisical PKI Issuer controller into your Kubernetes cluster using one of the following methods: - - - - ```bash - helm repo add infisical-helm-charts 'https://dl.cloudsmith.io/public/infisical/helm-charts/helm/charts/' - helm install infisical-pki-issuer infisical-helm-charts/infisical-pki-issuer - ``` - - - ```bash - kubectl apply -f https://raw.githubusercontent.com/Infisical/infisical-issuer/main/build/install.yaml - ``` - - - Start by creating a Kubernetes `Secret` containing the **Client Secret** from step 1. As mentioned previously, this will be used by the Infisical PKI issuer to authenticate with Infisical. From 64f7a8321258691b17fbd531721240a962f38aac Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 11:38:33 -0800 Subject: [PATCH 040/109] More doc --- .../platform/pki/k8s-cert-manager.mdx | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 02c00dbddd..3ef294829a 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -21,7 +21,7 @@ A typical workflow for using the Infisical PKI Issuer to issue certificates for 1. Creating a certificate profile with ACME as the enrollment method in Infisical. 2. Creating a Kubernetes secret to store the EAB (External Account Binding) credentials of the ACME certificate profile. 3. Installing `cert-manager` into your Kubernetes cluster. -4. Creating an `Issuer` or `ClusterIssuer` resource in your Kubernetes cluster to represent the Infisical PKI issuer you wish to use. +4. Creating an `Issuer` or `ClusterIssuer` resource in your Kubernetes cluster to connect to the Infisical PKI certificate profile you wish to use. 5. Create the approver policy to accept certificate request. 6. Creating a `Certificate` resource in your Kubernetes cluster to represent a certificate you wish to issue. As part of this step, you specify the Kubernetes `Secret` to create and store the issued certificate and private key. 7. Consuming the issued certificate across your Kubernetes resources from the specified Kubernetes `Secret`. @@ -35,7 +35,7 @@ In the following steps, we explore how to install the Infisical PKI Issuer using Follow the instructions [here](/documentation/platform/pki/enrollment-methods/acme) to create a certificate profile with ACME as the enrollment method. - By the end of this step, you should have a **ACME Directory URL**, **EAB KID** and **EAB Secret** on hand as part of the credentials for the Infisical PKI ACME service to authenticate with Infisical; this will be useful in steps 4 and 5. + By the end of this step, you should have a **ACME Directory URL**, **EAB KID** and **EAB Secret** on hand as part of the credentials for the Infisical PKI ACME server to authenticate with Infisical; this will be useful in steps 4 and 5. Currently, the Infisical PKI ACME service only supports authenticating with Infisical via the dedicated EAB credentials generated for each certificate profile as the authentication method. @@ -50,30 +50,30 @@ In the following steps, we explore how to install the Infisical PKI Issuer using kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.3/cert-manager.yaml ``` - + Start by creating a Kubernetes `Secret` containing the **Client Secret** from step 1. As mentioned previously, this will be used by the Infisical PKI issuer to authenticate with Infisical. ```bash - kubectl create secret generic issuer-infisical-client-secret \ + kubectl create secret generic infisical-acme-eab-secret \ --namespace \ - --from-literal=clientSecret= + --from-literal=eabSecret= ``` - ```yaml secret-issuer.yaml + ```yaml acme-eab-secret.yaml apiVersion: v1 kind: Secret metadata: - name: issuer-infisical-client-secret + name: infisical-acme-eab-secret namespace: data: - clientSecret: + eabSecret: ``` ```bash - kubectl apply -f secret-issuer.yaml + kubectl apply -f acme-eab-secret.yaml ``` From 5252815b43451802a89ef4bdc82fdf865e3c1456 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 13:45:47 -0800 Subject: [PATCH 041/109] docs --- .../platform/pki/k8s-cert-manager.mdx | 48 ++++++++++++------- 1 file changed, 31 insertions(+), 17 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 3ef294829a..1454208d68 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -13,14 +13,15 @@ As part of the workflow, you install `cert-manager` and configure resources to r Each issued certificate and corresponding private key is made available in a Kubernetes secret. We recommend reading the [cert-manager documentation](https://cert-manager.io/docs/) for a fuller understanding of all the moving parts. +For the ACME part, please reference to the [ACME](https://cert-manager.io/docs/configuration/acme/) section. ## Workflow A typical workflow for using the Infisical PKI Issuer to issue certificates for your Kubernetes resources consists of the following steps: 1. Creating a certificate profile with ACME as the enrollment method in Infisical. -2. Creating a Kubernetes secret to store the EAB (External Account Binding) credentials of the ACME certificate profile. -3. Installing `cert-manager` into your Kubernetes cluster. +2. Installing `cert-manager` into your Kubernetes cluster. +3. Creating a Kubernetes secret to store the EAB (External Account Binding) credentials of the ACME certificate profile. 4. Creating an `Issuer` or `ClusterIssuer` resource in your Kubernetes cluster to connect to the Infisical PKI certificate profile you wish to use. 5. Create the approver policy to accept certificate request. 6. Creating a `Certificate` resource in your Kubernetes cluster to represent a certificate you wish to issue. As part of this step, you specify the Kubernetes `Secret` to create and store the issued certificate and private key. @@ -38,7 +39,7 @@ In the following steps, we explore how to install the Infisical PKI Issuer using By the end of this step, you should have a **ACME Directory URL**, **EAB KID** and **EAB Secret** on hand as part of the credentials for the Infisical PKI ACME server to authenticate with Infisical; this will be useful in steps 4 and 5. - Currently, the Infisical PKI ACME service only supports authenticating with Infisical via the dedicated EAB credentials generated for each certificate profile as the authentication method. + Currently, the Infisical PKI ACME server only supports authenticating with Infisical via the dedicated EAB credentials generated for each certificate profile as the authentication method. We're planning to add support for [Kubernetes Auth](/documentation/platform/identities/kubernetes-auth) in the near future. @@ -78,26 +79,36 @@ In the following steps, we explore how to install the Infisical PKI Issuer using - - Next, create the Infisical PKI Issuer by filling out `url`, `clientId`, `projectId` or `certificateTemplateName`, and applying the following configuration file for the `Issuer` resource. + + Next, create the cert-manager Issuer or ClusterIssuer by filling out `acme_server_url`, `your_email`, `acme_eab_kid`, and applying the following configuration file for the `Issuer` resource. This configuration file specifies the connection details to your Infisical PKI CA to be used for issuing certificates. ```yaml infisical-issuer.yaml - apiVersion: infisical-issuer.infisical.com/v1alpha1 + apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: issuer-infisical - namespace: spec: - url: "https://app.infisical.com" # the URL of your Infisical instance - projectId: # the ID of the project you want to use to issue certificates - certificateTemplateName: # the name of the certificate template you want to use to issue certificates against - authentication: - universalAuth: - clientId: # the Client ID from step 1 - secretRef: # reference to the Secret created in step 4 - name: "issuer-infisical-client-secret" - key: "clientSecret" + acme: + # the URL of your Infisical certificate profile with + # ACME enrollment method from step 1 + server: + # your email address, any email could work. + # currently we just ignore the value + email: + externalAccountBinding: + keyID: # the EAB secret value from step 1 + keySecretRef: # reference to the Secret created in step 3 + name: "issuer-infisical-client-secret" + key: "clientSecret" + privateKeySecretRef: + name: issuer-infisical-account-key + solvers: + - http01: + ingress: + # this doesn't need to be nginx, you can use any + # ingressClassName available in your Kubernetes cluster + ingressClassName: nginx ``` ``` @@ -107,7 +118,7 @@ In the following steps, we explore how to install the Infisical PKI Issuer using You can check that the issuer was created successfully by running the following command: ```bash - kubectl get issuers.infisical-issuer.infisical.com -n -o wide + kubectl get issuers.cert-manager.io -n -o wide ``` ```bash @@ -122,6 +133,9 @@ In the following steps, we explore how to install the Infisical PKI Issuer using If you want to create a single `Issuer` that can be consumed in multiple namespaces, you should consider creating a `ClusterIssuer` resource. This is almost identical to the `Issuer` resource, however is non-namespaced so it can be used to issue `Certificates` across all namespaces. You can read more about the `Issuer` and `ClusterIssuer` resources [here](https://cert-manager.io/docs/configuration/). + + Also, currently Infisical ACME server only supports HTTP-01 and requires all the certificate orders passing the challenge before issuing certificates. + We will allow users to opt-out challenge in the near future and also provide support DNS-01 as well. From 0d80eb6fae4d7fb10dba63e2ad54b26441a76e48 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 13:54:16 -0800 Subject: [PATCH 042/109] docs --- .../platform/pki/k8s-cert-manager.mdx | 69 ++++--------------- 1 file changed, 15 insertions(+), 54 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 1454208d68..c62dbf97ac 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -23,9 +23,8 @@ A typical workflow for using the Infisical PKI Issuer to issue certificates for 2. Installing `cert-manager` into your Kubernetes cluster. 3. Creating a Kubernetes secret to store the EAB (External Account Binding) credentials of the ACME certificate profile. 4. Creating an `Issuer` or `ClusterIssuer` resource in your Kubernetes cluster to connect to the Infisical PKI certificate profile you wish to use. -5. Create the approver policy to accept certificate request. -6. Creating a `Certificate` resource in your Kubernetes cluster to represent a certificate you wish to issue. As part of this step, you specify the Kubernetes `Secret` to create and store the issued certificate and private key. -7. Consuming the issued certificate across your Kubernetes resources from the specified Kubernetes `Secret`. +5. Creating a `Certificate` resource in your Kubernetes cluster to represent a certificate you wish to issue. As part of this step, you specify the Kubernetes `Secret` to create and store the issued certificate and private key. +6. Consuming the issued certificate across your Kubernetes resources from the specified Kubernetes `Secret`. ## Guide @@ -52,7 +51,7 @@ In the following steps, we explore how to install the Infisical PKI Issuer using ``` - Start by creating a Kubernetes `Secret` containing the **Client Secret** from step 1. As mentioned previously, this will be used by the Infisical PKI issuer to authenticate with Infisical. + Start by creating a Kubernetes `Secret` containing the **EAB Secret** from step 1. As mentioned previously, this will be used by the Infisical PKI issuer to authenticate with Infisical. @@ -138,50 +137,6 @@ In the following steps, we explore how to install the Infisical PKI Issuer using We will allow users to opt-out challenge in the near future and also provide support DNS-01 as well. - - If you create a `CertificateRequest` now, you'll notice it's neither approved nor denied. This is expected because by default cert-manager approver controller requires an approver-policy. - - To enable approval, create the following YAML file and apply it: - - ```yaml infisical-approver-policy.yaml - apiVersion: rbac.authorization.k8s.io/v1 - kind: ClusterRole - metadata: - name: infisical-issuer-approver - rules: - # Permission to approve or deny CertificateRequests for signers in cert-manager.io API group - - apiGroups: ['cert-manager.io'] - resources: ['signers'] - verbs: ['approve'] - resourceNames: - # Grant approval permissions for namespaced issuers - - "issuers.infisical-issuer.infisical.com/default.issuer-infisical" - # Grant approval permissions for cluster-scoped issuers - - "clusterissuers.infisical-issuer.infisical.com/clusterissuer-infisical" - --- - # Bind the cert-manager service account to the new role - apiVersion: rbac.authorization.k8s.io/v1 - kind: ClusterRoleBinding - metadata: - name: infisical-issuer-approver-binding - subjects: - - kind: ServiceAccount - name: cert-manager - namespace: cert-manager - roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: infisical-issuer-approver - ``` - - ``` - kubectl apply -f infisical-approver-policy.yaml - ``` - - This configuration creates a `ClusterRole` named `infisical-issuer-approver` that grants approval permissions for specific Infisical issuer types. It then binds this role to the cert-manager service account, allowing it to approve certificate requests from your Infisical issuers. - - For information, check out [cert manager approval policy doc](https://cert-manager.io/docs/policy/approval/approver-policy/). - Finally, create a `Certificate` by applying the following configuration file. @@ -194,17 +149,23 @@ In the following steps, we explore how to install the Infisical PKI Issuer using name: certificate-by-issuer namespace: spec: - commonName: certificate-by-issuer.example.com # the common name for the certificate - secretName: certificate-by-issuer # the name of the Kubernetes Secret to create and store the certificate and private key in + # the common name for the certificate + commonName: certificate-by-issuer.example.com + # the name of the Kubernetes Secret to create and store + # the certificate and private key in + secretName: certificate-by-issuer issuerRef: name: issuer-infisical - group: infisical-issuer.infisical.com + group: issuers.cert-manager.io kind: Issuer - privateKey: # the algorithm and key size to use + # the algorithm and key size to use + privateKey: algorithm: ECDSA size: 256 - duration: 48h # the ttl for the certificate - renewBefore: 12h # the time before the certificate expiry that the certificate should be automatically renewed + # the ttl for the certificate + duration: 48h + # the time before the certificate expiry that the certificate should be automatically renewed + renewBefore: 12h ``` The above sample configuration file specifies a certificate to be issued with the common name `certificate-by-issuer.example.com` and ECDSA private key using the P-256 curve, valid for 48 hours; the certificate will be automatically renewed by `cert-manager` 12 hours before expiry. From 747820c7dd97de022d3f9790ccd8909ecb6029f0 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 13:57:01 -0800 Subject: [PATCH 043/109] k8s doc --- docs/documentation/platform/pki/k8s-cert-manager.mdx | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index c62dbf97ac..652ef7cb60 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -164,7 +164,8 @@ In the following steps, we explore how to install the Infisical PKI Issuer using size: 256 # the ttl for the certificate duration: 48h - # the time before the certificate expiry that the certificate should be automatically renewed + # the time before the certificate expiry that the certificate should + # be automatically renewed renewBefore: 12h ``` @@ -210,7 +211,7 @@ In the following steps, we explore how to install the Infisical PKI Issuer using cert-manager.io/certificate-name: certificate-by-issuer cert-manager.io/common-name: certificate-by-issuer.example.com cert-manager.io/ip-sans: - cert-manager.io/issuer-group: infisical-issuer.infisical.com + cert-manager.io/issuer-group: issuers.cert-manager.io cert-manager.io/issuer-kind: Issuer cert-manager.io/issuer-name: issuer-infisical cert-manager.io/uri-sans: @@ -255,11 +256,4 @@ In the following steps, we explore how to install the Infisical PKI Issuer using You can read more about the `renewBefore` field [here](https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec). - - If you see log messages similar to: - ``` - "CertificateRequest has not been approved yet. Ignoring.","controller":"certificaterequest","controllerGroup":"cert-manager.io","controllerKind":"CertificateRequest","CertificateRequest":{"name":"skynet-infisical-rta-rsa2048-1","namespace":"infisical-system"},"namespace":"infisical-system","name":"skynet-infisical-rta-rsa2048-1","reconcileID":"bfb7cad9-d867-45b5-b3a3-0139e731b7a6"} - ``` - This indicates that the `CertificateRequest` has been created, but `cert-manager` has not yet approved it. This typically occurs because a necessary approver policy is missing. Refer to the documentation above to create an approver policy. - From 7bfb4b2969355931b8d781dd8b16f64a08bab168 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 14:03:52 -0800 Subject: [PATCH 044/109] typo --- docs/documentation/platform/pki/k8s-cert-manager.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 652ef7cb60..53e0188ed5 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -35,7 +35,7 @@ In the following steps, we explore how to install the Infisical PKI Issuer using Follow the instructions [here](/documentation/platform/pki/enrollment-methods/acme) to create a certificate profile with ACME as the enrollment method. - By the end of this step, you should have a **ACME Directory URL**, **EAB KID** and **EAB Secret** on hand as part of the credentials for the Infisical PKI ACME server to authenticate with Infisical; this will be useful in steps 4 and 5. + By the end of this step, you should have a **ACME Directory URL**, **EAB KID** and **EAB Secret** on hand as part of the credentials for the Infisical PKI ACME server to authenticate with Infisical; this will be useful in step 4. Currently, the Infisical PKI ACME server only supports authenticating with Infisical via the dedicated EAB credentials generated for each certificate profile as the authentication method. From aa556f41ce443262fc1291732e4d75982965128b Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Tue, 25 Nov 2025 03:36:15 +0530 Subject: [PATCH 045/109] fix: review comment --- .../secret-manager/OverviewPage/OverviewPage.tsx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx index 6dcf148452..ddc7e69eda 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx @@ -197,13 +197,13 @@ export const OverviewPage = () => { } }; - const [isCopied, , setIsCopied] = useTimedReset({ - initialState: false + const [copiedSlug, , setCopiedSlug] = useTimedReset({ + initialState: "" }); - const copyToClipboard = (value: string) => { + const copyToClipboard = (value: string, slug: string) => { navigator.clipboard.writeText(value); - setIsCopied(true); + setCopiedSlug(slug); }; const [filter, setFilter] = useState(DEFAULT_FILTER_STATE); @@ -1348,9 +1348,9 @@ export const OverviewPage = () => { variant="plain" colorSchema="secondary" ariaLabel="Copy environment slug" - onClick={() => copyToClipboard(slug)} + onClick={() => copyToClipboard(slug, slug)} > - +
@@ -1362,6 +1362,7 @@ export const OverviewPage = () => { rootProps={{ disableHoverableContent: false }} + key={`tooltip-${name}-${index + 1}`} >
Date: Mon, 24 Nov 2025 14:09:38 -0800 Subject: [PATCH 046/109] docs --- docs/documentation/platform/pki/k8s-cert-manager.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 53e0188ed5..97de5e8778 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -17,7 +17,7 @@ For the ACME part, please reference to the [ACME](https://cert-manager.io/docs/c ## Workflow -A typical workflow for using the Infisical PKI Issuer to issue certificates for your Kubernetes resources consists of the following steps: +A typical workflow for using cert-manager with Infisical PKI via ACME to issue certificates for your Kubernetes resources consists of the following steps: 1. Creating a certificate profile with ACME as the enrollment method in Infisical. 2. Installing `cert-manager` into your Kubernetes cluster. @@ -28,7 +28,7 @@ A typical workflow for using the Infisical PKI Issuer to issue certificates for ## Guide -In the following steps, we explore how to install the Infisical PKI Issuer using [kubectl](https://github.com/kubernetes/kubectl) and use it to obtain certificates for your Kubernetes resources. +In the following steps, we explore how to install the cert-manager using [kubectl](https://github.com/kubernetes/kubectl) and use it to obtain certificates for your Kubernetes resources. From 0b421cf6a5082525c0ec36f1dcf5ddfa41f076d4 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Tue, 25 Nov 2025 03:43:55 +0530 Subject: [PATCH 047/109] fix: lint --- .../components/MachineIdentitiesTable.tsx | 2 +- .../AccessManagementPage/AccessManagementPage.tsx | 8 ++++---- .../IdentitySection/IdentityAuthTemplateModal.tsx | 4 +++- .../components/IdentitySection/IdentitySection.tsx | 2 +- .../components/IdentitySection/IdentityTable.tsx | 2 +- .../components/IdentitySection/OrgIdentityLinkForm.tsx | 2 +- .../components/IdentitySection/OrgIdentityModal.tsx | 4 ++-- .../IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx | 4 ++-- .../IdentityProjectsSection/IdentityProjectsTable.tsx | 2 +- .../GatewayTab/components/GatewayCliDeploymentMethod.tsx | 4 ++-- .../components/GatewayCliSystemdDeploymentMethod.tsx | 4 ++-- .../RelayTab/components/RelayCliDeploymentMethod.tsx | 4 ++-- .../components/RelayCliSystemdDeploymentMethod.tsx | 4 ++-- .../components/RelayTerraformDeploymentMethod.tsx | 4 ++-- .../pages/project/AccessControlPage/AccessControlPage.tsx | 2 +- .../components/IdentityTab/IdentityTab.tsx | 2 +- .../IdentityTab/components/ProjectIdentityModal.tsx | 2 +- .../IdentityTab/components/ProjectLinkIdentityModal.tsx | 4 ++-- .../IdentityDetailsByIDPage/IdentityDetailsByIDPage.tsx | 4 ++-- 19 files changed, 33 insertions(+), 31 deletions(-) diff --git a/frontend/src/pages/admin/ResourceOverviewPage/components/MachineIdentitiesTable.tsx b/frontend/src/pages/admin/ResourceOverviewPage/components/MachineIdentitiesTable.tsx index c2fc1ac842..0347fbcf92 100644 --- a/frontend/src/pages/admin/ResourceOverviewPage/components/MachineIdentitiesTable.tsx +++ b/frontend/src/pages/admin/ResourceOverviewPage/components/MachineIdentitiesTable.tsx @@ -1,3 +1,4 @@ +import { useState } from "react"; import { faEllipsisV, faMagnifyingGlass, @@ -7,7 +8,6 @@ import { } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { ServerCogIcon } from "lucide-react"; -import { useState } from "react"; import { createNotification } from "@app/components/notifications"; import { diff --git a/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx b/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx index f88717e600..9b5a8e7d32 100644 --- a/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx @@ -1,9 +1,9 @@ -import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; -import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { useNavigate, useSearch } from "@tanstack/react-router"; import { useState } from "react"; import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; +import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { useNavigate, useSearch } from "@tanstack/react-router"; import { OrgPermissionGuardBanner } from "@app/components/permissions/OrgPermissionCan"; import { Button, PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; @@ -18,8 +18,8 @@ import { } from "@app/context"; import { OrgAccessControlTabSections } from "@app/types/org"; -import { OrgGroupsTab, OrgIdentityTab, OrgMembersTab, OrgRoleTabSection } from "./components"; import { UpgradePrivilegeSystemModal } from "./components/UpgradePrivilegeSystemModal/UpgradePrivilegeSystemModal"; +import { OrgGroupsTab, OrgIdentityTab, OrgMembersTab, OrgRoleTabSection } from "./components"; export const AccessManagementPage = () => { const { t } = useTranslation(); diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityAuthTemplateModal.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityAuthTemplateModal.tsx index d676d4c8ba..6871dd3f3b 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityAuthTemplateModal.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityAuthTemplateModal.tsx @@ -154,7 +154,9 @@ export const IdentityAuthTemplateModal = ({ popUp, handlePopUpToggle }: Props) = onOpenChange={handleClose} > Date: Mon, 24 Nov 2025 14:15:23 -0800 Subject: [PATCH 048/109] Proofread --- .../platform/pki/k8s-cert-manager.mdx | 52 +++++++++++-------- 1 file changed, 29 insertions(+), 23 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 97de5e8778..980a169730 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -5,44 +5,50 @@ description: "Learn how to automatically provision and manage TLS certificates i ## Concept -The Infisical PKI provides [ACME (Automated Certificate Management Environment)](https://en.wikipedia.org/wiki/Automatic_Certificate_Management_Environment) integration for various of ACME clients to issue and renew certificates automatically. -Under Kubernetes environment, [cert-manager](https://cert-manager.io) is the most popular issuer to issue certificates via ACME. -The issuer is perfect for getting X.509 certificates for ingresses and other Kubernetes resources and capable of automatically renewing certificates as needed. +The Infisical PKI provides ACME (Automated Certificate Management Environment) integration, enabling various ACME clients to issue and renew certificates automatically. +In Kubernetes environments, [cert-manager](https://cert-manager.io) is the most popular tool for issuing certificates via ACME. +The issuer is perfect at obtaining X.509 certificates for Ingresses and other Kubernetes resources and can automatically renew them before expiration. -As part of the workflow, you install `cert-manager` and configure resources to represent the connection details to your Infisical PKI and the certificates you wish to issue. -Each issued certificate and corresponding private key is made available in a Kubernetes secret. +The typical workflow involves installing `cert-manager` and configuring resources that represent the connection details to your Infisical PKI as well as the certificates you want to issue. +Each issued certificate and its corresponding private key are stored in a Kubernetes `Secret`. -We recommend reading the [cert-manager documentation](https://cert-manager.io/docs/) for a fuller understanding of all the moving parts. -For the ACME part, please reference to the [ACME](https://cert-manager.io/docs/configuration/acme/) section. +We recommend reading the official [cert-manager documentation](https://cert-manager.io/docs/) for a complete overview. +For the ACME-specific configuration, refer to the [ACME section](https://cert-manager.io/docs/configuration/acme/). ## Workflow -A typical workflow for using cert-manager with Infisical PKI via ACME to issue certificates for your Kubernetes resources consists of the following steps: +A typical workflow for using cert-manager with Infisical PKI via ACME consists of the following steps: -1. Creating a certificate profile with ACME as the enrollment method in Infisical. -2. Installing `cert-manager` into your Kubernetes cluster. -3. Creating a Kubernetes secret to store the EAB (External Account Binding) credentials of the ACME certificate profile. -4. Creating an `Issuer` or `ClusterIssuer` resource in your Kubernetes cluster to connect to the Infisical PKI certificate profile you wish to use. -5. Creating a `Certificate` resource in your Kubernetes cluster to represent a certificate you wish to issue. As part of this step, you specify the Kubernetes `Secret` to create and store the issued certificate and private key. -6. Consuming the issued certificate across your Kubernetes resources from the specified Kubernetes `Secret`. +1. Create a certificate profile in Infisical with ACME as the enrollment method. +2. Install `cert-manager` in your Kubernetes cluster. +3. Create a Kubernetes `Secret` containing the EAB (External Account Binding) credentials for the ACME certificate profile. +4. Create an `Issuer` or `ClusterIssuer` resource that connects to the desired Infisical PKI certificate profile. +5. Create a `Certificate` resource defining the certificate you wish to issue and the target `Secret` where the certificate and private key will be stored. +6. Use the resulting Kubernetes `Secret` in your Ingresses or other resources. ## Guide -In the following steps, we explore how to install the cert-manager using [kubectl](https://github.com/kubernetes/kubectl) and use it to obtain certificates for your Kubernetes resources. +The following steps show how to install cert-manager (using `kubectl`) and obtain certificates from Infisical PKI. - + - Follow the instructions [here](/documentation/platform/pki/enrollment-methods/acme) to create a certificate profile with ACME as the enrollment method. + Follow the instructions [here](/documentation/platform/pki/enrollment-methods/acme) to create a certificate profile that uses ACME enrollment. - By the end of this step, you should have a **ACME Directory URL**, **EAB KID** and **EAB Secret** on hand as part of the credentials for the Infisical PKI ACME server to authenticate with Infisical; this will be useful in step 4. + After completion, you will have the following values: + - **ACME Directory URL** + - **EAB Key ID (KID)** + - **EAB Secret** - - Currently, the Infisical PKI ACME server only supports authenticating with Infisical via the dedicated EAB credentials generated for each certificate profile as the authentication method. + These will be needed in later steps. - We're planning to add support for [Kubernetes Auth](/documentation/platform/identities/kubernetes-auth) in the near future. - - + + Currently, the Infisical PKI ACME server only supports authentication via dedicated EAB credentials generated per certificate profile. + + Support for [Kubernetes Auth](/documentation/platform/identities/kubernetes-auth) is planned for the near future. + + + Install `cert-manager` into your Kubernetes cluster by following the instructions [here](https://cert-manager.io/docs/installation/) or by running the following command: From cdc1e7cc16cf259423335d535444b8c9e0653b66 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 14:26:23 -0800 Subject: [PATCH 049/109] doc --- .../platform/pki/k8s-cert-manager.mdx | 345 +++++++++--------- 1 file changed, 176 insertions(+), 169 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 980a169730..7bbf183cb4 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -49,198 +49,205 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai - - Install `cert-manager` into your Kubernetes cluster by following the instructions [here](https://cert-manager.io/docs/installation/) or by running the following command: + - ```bash - kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.3/cert-manager.yaml - ``` - - - Start by creating a Kubernetes `Secret` containing the **EAB Secret** from step 1. As mentioned previously, this will be used by the Infisical PKI issuer to authenticate with Infisical. + Install cert-manager in your Kubernetes cluster by following the official guide [here](https://cert-manager.io/docs/installation/) or by applying the manifest directly: - - - ```bash - kubectl create secret generic infisical-acme-eab-secret \ - --namespace \ - --from-literal=eabSecret= - ``` - - - ```yaml acme-eab-secret.yaml - apiVersion: v1 - kind: Secret - metadata: - name: infisical-acme-eab-secret - namespace: - data: - eabSecret: - ``` + ```bash + kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.3/cert-manager.yaml + ``` - ```bash - kubectl apply -f acme-eab-secret.yaml - ``` - - - - - Next, create the cert-manager Issuer or ClusterIssuer by filling out `acme_server_url`, `your_email`, `acme_eab_kid`, and applying the following configuration file for the `Issuer` resource. - This configuration file specifies the connection details to your Infisical PKI CA to be used for issuing certificates. + + + Create a Kubernetes `Secret` that contains the **EAB Secret (HMAC key)** obtained in step 1. + cert-manager uses this secret to authenticate with the Infisical ACME server via External Account Binding (EAB). - ```yaml infisical-issuer.yaml - apiVersion: cert-manager.io/v1 - kind: Issuer - metadata: + + + ```bash + kubectl create secret generic infisical-acme-eab-secret \ + --namespace \ + --from-literal=eabSecret= + ``` + + + ```yaml acme-eab-secret.yaml + apiVersion: v1 + kind: Secret + metadata: + name: infisical-acme-eab-secret + namespace: + data: + eabSecret: + ``` + + ```bash + kubectl apply -f acme-eab-secret.yaml + ``` + + + + + + Next, create the cert-manager Issuer or ClusterIssuer by filling out `acme_server_url`, `your_email`, `acme_eab_kid`, and applying the following configuration file for the `Issuer` resource. + This configuration file specifies the connection details to your Infisical PKI CA to be used for issuing certificates. + + ```yaml infisical-issuer.yaml + apiVersion: cert-manager.io/v1 + kind: Issuer + metadata: + name: issuer-infisical + spec: + acme: + # the URL of your Infisical certificate profile with + # ACME enrollment method from step 1 + server: + # your email address, any email could work. + # currently we just ignore the value + email: + externalAccountBinding: + keyID: # the EAB secret value from step 1 + keySecretRef: # reference to the Secret created in step 3 + name: "issuer-infisical-client-secret" + key: "clientSecret" + privateKeySecretRef: + name: issuer-infisical-account-key + solvers: + - http01: + ingress: + # this doesn't need to be nginx, you can use any + # ingressClassName available in your Kubernetes cluster + ingressClassName: nginx + ``` + + ``` + kubectl apply -f infisical-issuer.yaml + ``` + + You can check that the issuer was created successfully by running the following command: + + ```bash + kubectl get issuers.cert-manager.io -n -o wide + ``` + + ```bash + NAME AGE + issuer-infisical 21h + ``` + + + An `Issuer` is a namespaced resource, and it is not possible to issue certificates from an `Issuer` in a different namespace. + This means you will need to create an `Issuer` in each namespace you wish to obtain `Certificates` in. + + If you want to create a single `Issuer` that can be consumed in multiple namespaces, you should consider creating a `ClusterIssuer` resource. This is almost identical to the `Issuer` resource, however is non-namespaced so it can be used to issue `Certificates` across all namespaces. + + You can read more about the `Issuer` and `ClusterIssuer` resources [here](https://cert-manager.io/docs/configuration/). + + Also, currently Infisical ACME server only supports HTTP-01 and requires all the certificate orders passing the challenge before issuing certificates. + We will allow users to opt-out challenge in the near future and also provide support DNS-01 as well. + + + + + + Finally, create a `Certificate` by applying the following configuration file. + This configuration file specifies the details of the (end-entity/leaf) certificate to be issued. + + ```yaml certificate-issuer.yaml + apiVersion: cert-manager.io/v1 + kind: Certificate + metadata: + name: certificate-by-issuer + namespace: + spec: + # the common name for the certificate + commonName: certificate-by-issuer.example.com + # the name of the Kubernetes Secret to create and store + # the certificate and private key in + secretName: certificate-by-issuer + issuerRef: name: issuer-infisical - spec: - acme: - # the URL of your Infisical certificate profile with - # ACME enrollment method from step 1 - server: - # your email address, any email could work. - # currently we just ignore the value - email: - externalAccountBinding: - keyID: # the EAB secret value from step 1 - keySecretRef: # reference to the Secret created in step 3 - name: "issuer-infisical-client-secret" - key: "clientSecret" - privateKeySecretRef: - name: issuer-infisical-account-key - solvers: - - http01: - ingress: - # this doesn't need to be nginx, you can use any - # ingressClassName available in your Kubernetes cluster - ingressClassName: nginx - ``` + group: issuers.cert-manager.io + kind: Issuer + # the algorithm and key size to use + privateKey: + algorithm: ECDSA + size: 256 + # the ttl for the certificate + duration: 48h + # the time before the certificate expiry that the certificate should + # be automatically renewed + renewBefore: 12h + ``` - ``` - kubectl apply -f infisical-issuer.yaml - ``` + The above sample configuration file specifies a certificate to be issued with the common name `certificate-by-issuer.example.com` and ECDSA private key using the P-256 curve, valid for 48 hours; the certificate will be automatically renewed by `cert-manager` 12 hours before expiry. + The certificate is issued by the issuer `issuer-infisical` created in the previous step and the resulting certificate and private key will be stored in a secret named `certificate-by-issuer`. - You can check that the issuer was created successfully by running the following command: + Note that the full list of the fields supported on the `Certificate` resource can be found in the API reference documentation [here](https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec). - ```bash - kubectl get issuers.cert-manager.io -n -o wide - ``` + You can check that the certificate was created successfully by running the following command: - ```bash - NAME AGE - issuer-infisical 21h - ``` + ```bash + kubectl get certificates -n -o wide + ``` - - An `Issuer` is a namespaced resource, and it is not possible to issue certificates from an `Issuer` in a different namespace. - This means you will need to create an `Issuer` in each namespace you wish to obtain `Certificates` in. + ```bash + NAME READY SECRET ISSUER STATUS AGE + certificate-by-issuer True certificate-by-issuer issuer-infisical Certificate is up to date and has not expired 20h + ``` - If you want to create a single `Issuer` that can be consumed in multiple namespaces, you should consider creating a `ClusterIssuer` resource. This is almost identical to the `Issuer` resource, however is non-namespaced so it can be used to issue `Certificates` across all namespaces. + + + Since the actual certificate and private key are stored in a Kubernetes secret, we can check that the secret was created successfully by running the following command: - You can read more about the `Issuer` and `ClusterIssuer` resources [here](https://cert-manager.io/docs/configuration/). + ```bash + kubectl get secret certificate-by-issuer -n + ``` - Also, currently Infisical ACME server only supports HTTP-01 and requires all the certificate orders passing the challenge before issuing certificates. - We will allow users to opt-out challenge in the near future and also provide support DNS-01 as well. - - - + ```bash + NAME TYPE DATA AGE + certificate-by-issuer kubernetes.io/tls 2 26h + ``` - Finally, create a `Certificate` by applying the following configuration file. - This configuration file specifies the details of the (end-entity/leaf) certificate to be issued. + We can `describe` the secret to get more information about it: - ```yaml certificate-issuer.yaml - apiVersion: cert-manager.io/v1 - kind: Certificate - metadata: - name: certificate-by-issuer - namespace: - spec: - # the common name for the certificate - commonName: certificate-by-issuer.example.com - # the name of the Kubernetes Secret to create and store - # the certificate and private key in - secretName: certificate-by-issuer - issuerRef: - name: issuer-infisical - group: issuers.cert-manager.io - kind: Issuer - # the algorithm and key size to use - privateKey: - algorithm: ECDSA - size: 256 - # the ttl for the certificate - duration: 48h - # the time before the certificate expiry that the certificate should - # be automatically renewed - renewBefore: 12h - ``` + ```bash + kubectl describe secret certificate-by-issuer -n default + ``` - The above sample configuration file specifies a certificate to be issued with the common name `certificate-by-issuer.example.com` and ECDSA private key using the P-256 curve, valid for 48 hours; the certificate will be automatically renewed by `cert-manager` 12 hours before expiry. - The certificate is issued by the issuer `issuer-infisical` created in the previous step and the resulting certificate and private key will be stored in a secret named `certificate-by-issuer`. + ```bash + Name: certificate-by-issuer + Namespace: default + Labels: controller.cert-manager.io/fao=true + Annotations: cert-manager.io/alt-names: + cert-manager.io/certificate-name: certificate-by-issuer + cert-manager.io/common-name: certificate-by-issuer.example.com + cert-manager.io/ip-sans: + cert-manager.io/issuer-group: issuers.cert-manager.io + cert-manager.io/issuer-kind: Issuer + cert-manager.io/issuer-name: issuer-infisical + cert-manager.io/uri-sans: - Note that the full list of the fields supported on the `Certificate` resource can be found in the API reference documentation [here](https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec). + Type: kubernetes.io/tls - You can check that the certificate was created successfully by running the following command: + Data + ==== + ca.crt: 1306 bytes + tls.crt: 2380 bytes + tls.key: 227 bytes + ``` - ```bash - kubectl get certificates -n -o wide - ``` + Here, `ca.crt` is the Root CA certificate, `tls.crt` is the requested certificate followed by the certificate chain, and `tls.key` is the private key for the certificate. - ```bash - NAME READY SECRET ISSUER STATUS AGE - certificate-by-issuer True certificate-by-issuer issuer-infisical Certificate is up to date and has not expired 20h - ``` - - - Since the actual certificate and private key are stored in a Kubernetes secret, we can check that the secret was created successfully by running the following command: + We can decode the certificate and print it out using `openssl`: - ```bash - kubectl get secret certificate-by-issuer -n - ``` + ```bash + kubectl get secret certificate-by-issuer -n default -o jsonpath='{.data.tls\.crt}' | base64 --decode | openssl x509 -text -noout + ``` - ```bash - NAME TYPE DATA AGE - certificate-by-issuer kubernetes.io/tls 2 26h - ``` + In any case, the certificate is ready to be used as Kubernetes Secret by your Kubernetes resources. - We can `describe` the secret to get more information about it: - - ```bash - kubectl describe secret certificate-by-issuer -n default - ``` - - ```bash - Name: certificate-by-issuer - Namespace: default - Labels: controller.cert-manager.io/fao=true - Annotations: cert-manager.io/alt-names: - cert-manager.io/certificate-name: certificate-by-issuer - cert-manager.io/common-name: certificate-by-issuer.example.com - cert-manager.io/ip-sans: - cert-manager.io/issuer-group: issuers.cert-manager.io - cert-manager.io/issuer-kind: Issuer - cert-manager.io/issuer-name: issuer-infisical - cert-manager.io/uri-sans: - - Type: kubernetes.io/tls - - Data - ==== - ca.crt: 1306 bytes - tls.crt: 2380 bytes - tls.key: 227 bytes - ``` - - Here, `ca.crt` is the Root CA certificate, `tls.crt` is the requested certificate followed by the certificate chain, and `tls.key` is the private key for the certificate. - - We can decode the certificate and print it out using `openssl`: - - ```bash - kubectl get secret certificate-by-issuer -n default -o jsonpath='{.data.tls\.crt}' | base64 --decode | openssl x509 -text -noout - ``` - - In any case, the certificate is ready to be used as Kubernetes Secret by your Kubernetes resources. - + From 17c4a204f49d11f7b0cb774fbb40a6e837c9aa0b Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 14:31:40 -0800 Subject: [PATCH 050/109] docs --- .../platform/pki/k8s-cert-manager.mdx | 41 ++++++++----------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 7bbf183cb4..89bae475d9 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -89,35 +89,35 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai - Next, create the cert-manager Issuer or ClusterIssuer by filling out `acme_server_url`, `your_email`, `acme_eab_kid`, and applying the following configuration file for the `Issuer` resource. - This configuration file specifies the connection details to your Infisical PKI CA to be used for issuing certificates. + Next, create a cert-manager `Issuer` (or `ClusterIssuer`) by replacing the placeholders ``, ``, and `` in the configuration below and applying it. + This resource configures cert-manager to use your Infisical PKI collection's ACME server for certificate issuance. ```yaml infisical-issuer.yaml apiVersion: cert-manager.io/v1 kind: Issuer metadata: name: issuer-infisical + namespace: spec: acme: - # the URL of your Infisical certificate profile with - # ACME enrollment method from step 1 + # ACME server URL from your Infisical certificate profile (Step 1) server: - # your email address, any email could work. - # currently we just ignore the value + # Email address for ACME account (any valid email works; currently ignored by Infisical) email: externalAccountBinding: - keyID: # the EAB secret value from step 1 - keySecretRef: # reference to the Secret created in step 3 - name: "issuer-infisical-client-secret" - key: "clientSecret" + # EAB Key ID from Step 1 + keyID: + # Reference to the Kubernetes Secret containing the EAB HMAC key (created in Step 3) + keySecretRef: + name: issuer-infisical-client-secret + key: clientSecret privateKeySecretRef: - name: issuer-infisical-account-key + name: issuer-infisical-account-key solvers: - http01: ingress: - # this doesn't need to be nginx, you can use any - # ingressClassName available in your Kubernetes cluster - ingressClassName: nginx + # Replace with your actual ingress class if different + className: nginx ``` ``` @@ -136,15 +136,10 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai ``` - An `Issuer` is a namespaced resource, and it is not possible to issue certificates from an `Issuer` in a different namespace. - This means you will need to create an `Issuer` in each namespace you wish to obtain `Certificates` in. - - If you want to create a single `Issuer` that can be consumed in multiple namespaces, you should consider creating a `ClusterIssuer` resource. This is almost identical to the `Issuer` resource, however is non-namespaced so it can be used to issue `Certificates` across all namespaces. - - You can read more about the `Issuer` and `ClusterIssuer` resources [here](https://cert-manager.io/docs/configuration/). - - Also, currently Infisical ACME server only supports HTTP-01 and requires all the certificate orders passing the challenge before issuing certificates. - We will allow users to opt-out challenge in the near future and also provide support DNS-01 as well. + - Currently, the Infisical ACME server only supports the HTTP-01 challenge and requires successful challenge completion before issuing certificates. Support for optional challenges and DNS-01 is planned for a future release. + - An `Issuer` is namespace-scoped. Certificates can only be issued using an `Issuer` that exists in the same namespace as the `Certificate` resource. + - If you need to issue certificates across multiple namespaces with a single resource, create a `ClusterIssuer` instead. The configuration is identical except `kind: ClusterIssuer` and no `metadata.namespace`. + - More details: https://cert-manager.io/docs/configuration/acme/ From 6716c5cb278ecfd8175e975ebc5b26beae2be0f4 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 14:33:39 -0800 Subject: [PATCH 051/109] proofread --- .../platform/pki/k8s-cert-manager.mdx | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 89bae475d9..1218b0f2a4 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -102,17 +102,19 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai acme: # ACME server URL from your Infisical certificate profile (Step 1) server: - # Email address for ACME account (any valid email works; currently ignored by Infisical) + # Email address for ACME account + # (any valid email works; currently ignored by Infisical) email: externalAccountBinding: - # EAB Key ID from Step 1 - keyID: - # Reference to the Kubernetes Secret containing the EAB HMAC key (created in Step 3) - keySecretRef: - name: issuer-infisical-client-secret - key: clientSecret + # EAB Key ID from Step 1 + keyID: + # Reference to the Kubernetes Secret containing the EAB + # HMAC key (created in Step 3) + keySecretRef: + name: infisical-acme-eab-secret + key: eabSecret privateKeySecretRef: - name: issuer-infisical-account-key + name: issuer-infisical-account-key solvers: - http01: ingress: From a497b05d88c6aa6ac5d42c2f2715c77f0450d059 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 14:38:07 -0800 Subject: [PATCH 052/109] doc --- .../platform/pki/k8s-cert-manager.mdx | 30 +++++++++---------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 1218b0f2a4..f9049cb0b7 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -145,9 +145,9 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai - + - Finally, create a `Certificate` by applying the following configuration file. + Finally, request a certificate from Infisical ACME server by creating a cert-manager `Certificate` resource. This configuration file specifies the details of the (end-entity/leaf) certificate to be issued. ```yaml certificate-issuer.yaml @@ -157,24 +157,22 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai name: certificate-by-issuer namespace: spec: - # the common name for the certificate commonName: certificate-by-issuer.example.com - # the name of the Kubernetes Secret to create and store - # the certificate and private key in - secretName: certificate-by-issuer - issuerRef: - name: issuer-infisical - group: issuers.cert-manager.io - kind: Issuer - # the algorithm and key size to use + # name of the resulting Kubernetes Secret + secretName: certificate-by-issuer-tls + # total validity period of the certificate + duration: 48h + # cert-manager will attempt renewal 12 hours before expiry + renewBefore: 12h privateKey: algorithm: ECDSA + # uses NIST P-256 curve size: 256 - # the ttl for the certificate - duration: 48h - # the time before the certificate expiry that the certificate should - # be automatically renewed - renewBefore: 12h + issuerRef: + name: issuer-infisical + # use ClusterIssuer if you created a ClusterIssuer instead + kind: Issuer + group: cert-manager.io ``` The above sample configuration file specifies a certificate to be issued with the common name `certificate-by-issuer.example.com` and ECDSA private key using the P-256 curve, valid for 48 hours; the certificate will be automatically renewed by `cert-manager` 12 hours before expiry. From edd8e618de5253e2631323854d6c69d745888a9e Mon Sep 17 00:00:00 2001 From: Daniel Hougaard Date: Mon, 24 Nov 2025 15:05:19 -0800 Subject: [PATCH 053/109] Update identity-kubernetes-auth-service.ts --- .../identity-kubernetes-auth-service.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/backend/src/services/identity-kubernetes-auth/identity-kubernetes-auth-service.ts b/backend/src/services/identity-kubernetes-auth/identity-kubernetes-auth-service.ts index 9322e48cb6..212cb0894a 100644 --- a/backend/src/services/identity-kubernetes-auth/identity-kubernetes-auth-service.ts +++ b/backend/src/services/identity-kubernetes-auth/identity-kubernetes-auth-service.ts @@ -270,7 +270,13 @@ export const identityKubernetesAuthServiceFactory = ({ } ) .catch((err) => { + const tokenReviewerJwtSnippet = `${tokenReviewerJwt?.substring?.(0, 10) || ""}...${tokenReviewerJwt?.substring?.(tokenReviewerJwt.length - 10) || ""}`; + const serviceAccountJwtSnippet = `${serviceAccountJwt?.substring?.(0, 10) || ""}...${serviceAccountJwt?.substring?.(serviceAccountJwt.length - 10) || ""}`; if (err instanceof AxiosError) { + logger.error( + { response: err.response, host, port, tokenReviewerJwtSnippet, serviceAccountJwtSnippet }, + "tokenReviewCallbackRaw: Kubernetes token review request error (request error)" + ); if (err.response) { const { message } = err?.response?.data as unknown as { message?: string }; @@ -281,6 +287,11 @@ export const identityKubernetesAuthServiceFactory = ({ }); } } + } else { + logger.error( + { error: err as Error, host, port, tokenReviewerJwtSnippet, serviceAccountJwtSnippet }, + "tokenReviewCallbackRaw: Kubernetes token review request error (non-request error)" + ); } throw err; }); From 9fdce60708ec11fc0805fcecfe7f85f264d3a944 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 16:39:44 -0800 Subject: [PATCH 054/109] k8s doc --- .../platform/pki/k8s-cert-manager.mdx | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index f9049cb0b7..67fa256962 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -5,7 +5,7 @@ description: "Learn how to automatically provision and manage TLS certificates i ## Concept -The Infisical PKI provides ACME (Automated Certificate Management Environment) integration, enabling various ACME clients to issue and renew certificates automatically. +The Infisical PKI provides [ACME (Automated Certificate Management Environment)](https://en.wikipedia.org/wiki/Automatic_Certificate_Management_Environment) integration, enabling various ACME clients to issue and renew certificates automatically. In Kubernetes environments, [cert-manager](https://cert-manager.io) is the most popular tool for issuing certificates via ACME. The issuer is perfect at obtaining X.509 certificates for Ingresses and other Kubernetes resources and can automatically renew them before expiration. @@ -54,13 +54,13 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai Install cert-manager in your Kubernetes cluster by following the official guide [here](https://cert-manager.io/docs/installation/) or by applying the manifest directly: ```bash - kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.15.3/cert-manager.yaml + kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.19.1/cert-manager.yaml ``` Create a Kubernetes `Secret` that contains the **EAB Secret (HMAC key)** obtained in step 1. - cert-manager uses this secret to authenticate with the Infisical ACME server via External Account Binding (EAB). + The cert-manager uses this secret to authenticate with the Infisical ACME server. @@ -92,7 +92,7 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai Next, create a cert-manager `Issuer` (or `ClusterIssuer`) by replacing the placeholders ``, ``, and `` in the configuration below and applying it. This resource configures cert-manager to use your Infisical PKI collection's ACME server for certificate issuance. - ```yaml infisical-issuer.yaml + ```yaml issuer-infisical.yaml apiVersion: cert-manager.io/v1 kind: Issuer metadata: @@ -123,7 +123,7 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai ``` ``` - kubectl apply -f infisical-issuer.yaml + kubectl apply -f issuer-infisical.yaml ``` You can check that the issuer was created successfully by running the following command: @@ -157,7 +157,8 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai name: certificate-by-issuer namespace: spec: - commonName: certificate-by-issuer.example.com + dnsNames: + - certificate-by-issuer.example.com # name of the resulting Kubernetes Secret secretName: certificate-by-issuer-tls # total validity period of the certificate @@ -170,9 +171,6 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai size: 256 issuerRef: name: issuer-infisical - # use ClusterIssuer if you created a ClusterIssuer instead - kind: Issuer - group: cert-manager.io ``` The above sample configuration file specifies a certificate to be issued with the common name `certificate-by-issuer.example.com` and ECDSA private key using the P-256 curve, valid for 48 hours; the certificate will be automatically renewed by `cert-manager` 12 hours before expiry. From 740573daabacc57e64c0f3b495fadbc87e4bdcb8 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 16:41:45 -0800 Subject: [PATCH 055/109] doc --- docs/documentation/platform/pki/k8s-cert-manager.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 67fa256962..cf6edc3d50 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -173,7 +173,7 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai name: issuer-infisical ``` - The above sample configuration file specifies a certificate to be issued with the common name `certificate-by-issuer.example.com` and ECDSA private key using the P-256 curve, valid for 48 hours; the certificate will be automatically renewed by `cert-manager` 12 hours before expiry. + The above sample configuration file specifies a certificate to be issued with the dns name `certificate-by-issuer.example.com` and ECDSA private key using the P-256 curve, valid for 48 hours; the certificate will be automatically renewed by `cert-manager` 12 hours before expiry. The certificate is issued by the issuer `issuer-infisical` created in the previous step and the resulting certificate and private key will be stored in a secret named `certificate-by-issuer`. Note that the full list of the fields supported on the `Certificate` resource can be found in the API reference documentation [here](https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec). From a5516e4214a0d4c74c4eb15f0b4d251b52be1873 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 16:45:44 -0800 Subject: [PATCH 056/109] doc --- docs/documentation/platform/pki/k8s-cert-manager.mdx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index cf6edc3d50..8423ca2cad 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -214,9 +214,10 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai Labels: controller.cert-manager.io/fao=true Annotations: cert-manager.io/alt-names: cert-manager.io/certificate-name: certificate-by-issuer - cert-manager.io/common-name: certificate-by-issuer.example.com + cert-manager.io/common-name: + cert-manager.io/alt-names: certificate-by-issuer.example.com cert-manager.io/ip-sans: - cert-manager.io/issuer-group: issuers.cert-manager.io + cert-manager.io/issuer-group: cert-manager.io cert-manager.io/issuer-kind: Issuer cert-manager.io/issuer-name: issuer-infisical cert-manager.io/uri-sans: From 05f4d4bbfa620d2b598a5b97ffacf40a63b58771 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 16:54:15 -0800 Subject: [PATCH 057/109] Update gloo mesh doc as well --- .../platform/pki/integration-guides/gloo-mesh.mdx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx b/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx index 0f312af011..96f4c96cd3 100644 --- a/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx +++ b/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx @@ -21,11 +21,11 @@ With this approach, you get the following benefits: ## General Setup The certificate provisioning workflow begins with setting up your PKI hierarchy in Infisical, where you create root and subordinate certificate authorities. -When you deploy a `Certificate` CRD in your workload cluster, `cert-manager` uses the Infisical PKI Issuer controller to authenticate with Infisical using machine identity credentials and request an intermediate CA certificate. +When you deploy a `Certificate` CRD in your workload cluster, `cert-manager` uses the Infisical PKI ACME server to authenticate with Infisical using EAB credentials and request an intermediate CA certificate. Infisical verifies the request against your certificate templates and returns the signed certificate. From there, Istio's control plane will automatically use this intermediate CA to sign leaf certificates for workloads in the service mesh, enabling secure mTLS communication across your entire Gloo Mesh infrastructure. -Follow the [Kubernetes Cert Manager guide](/documentation/platform/pki/k8s-cert-manager) for detailed instructions on how to set up the Infisical PKI Issuer and cert-manager for your Istio intermediate CA certificates in Gloo Mesh clusters. +Follow the [Kubernetes cert-manager guide](/documentation/platform/pki/k8s-cert-manager) for detailed instructions on how to set up the Infisical PKI Issuer and cert-manager for your Istio intermediate CA certificates in Gloo Mesh clusters. For Gloo Mesh-specific configuration, ensure that: From c272c0552c7b3fd05959ef0915fc2e3aded19525 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 16:55:51 -0800 Subject: [PATCH 058/109] ACME --- .../getting-started/concepts/client-integrations.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/documentation/getting-started/concepts/client-integrations.mdx b/docs/documentation/getting-started/concepts/client-integrations.mdx index 2a575039ab..b74d68f742 100644 --- a/docs/documentation/getting-started/concepts/client-integrations.mdx +++ b/docs/documentation/getting-started/concepts/client-integrations.mdx @@ -24,7 +24,7 @@ Infisical offers a non-exhaustive set of clients and interfaces to support a wid - [External Secrets Operator (ESO)](https://external-secrets.io/latest/provider/infisical): Allows Infisical to act as a backend provider for syncing secrets into Kubernetes `Secret` objects using the widely adopted External Secrets Operator. -- [Kubernetes PKI Issuer](/documentation/platform/pki/k8s-cert-manager): A controller that issues X.509 certificates from Infisical PKI using the cert-manager Issuer and Certificate CRDs. +- [Kubernetes cert-manager](/documentation/platform/pki/k8s-cert-manager): A controller that issues X.509 certificates from Infisical PKI ACME server using the cert-manager Issuer and Certificate CRDs. - [Secret Syncs](/integrations/secret-syncs/overview): Native integrations to forward secrets to services like GitHub, GitLab, AWS Secrets Manager, Vercel, and more. From 44fc9d1f1828ee2fcd7c070a7239e3e0e9f017c6 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 16:57:37 -0800 Subject: [PATCH 059/109] More docs --- .../documentation/platform/pki/integration-guides/gloo-mesh.mdx | 2 +- docs/documentation/platform/pki/k8s-cert-manager.mdx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx b/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx index 96f4c96cd3..c23bac6764 100644 --- a/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx +++ b/docs/documentation/platform/pki/integration-guides/gloo-mesh.mdx @@ -25,7 +25,7 @@ When you deploy a `Certificate` CRD in your workload cluster, `cert-manager` use Infisical verifies the request against your certificate templates and returns the signed certificate. From there, Istio's control plane will automatically use this intermediate CA to sign leaf certificates for workloads in the service mesh, enabling secure mTLS communication across your entire Gloo Mesh infrastructure. -Follow the [Kubernetes cert-manager guide](/documentation/platform/pki/k8s-cert-manager) for detailed instructions on how to set up the Infisical PKI Issuer and cert-manager for your Istio intermediate CA certificates in Gloo Mesh clusters. +Follow the [Kubernetes cert-manager guide](/documentation/platform/pki/k8s-cert-manager) for detailed instructions on how to set up the Infisical PKI ACME certificate profile and cert-manager for your Istio intermediate CA certificates in Gloo Mesh clusters. For Gloo Mesh-specific configuration, ensure that: diff --git a/docs/documentation/platform/pki/k8s-cert-manager.mdx b/docs/documentation/platform/pki/k8s-cert-manager.mdx index 8423ca2cad..e4f293cd78 100644 --- a/docs/documentation/platform/pki/k8s-cert-manager.mdx +++ b/docs/documentation/platform/pki/k8s-cert-manager.mdx @@ -252,7 +252,7 @@ The following steps show how to install cert-manager (using `kubectl`) and obtai The full list of the fields supported on the `Certificate` resource can be found in the API reference documentation [here](https://cert-manager.io/docs/reference/api-docs/#cert-manager.io/v1.CertificateSpec). - Currently, not all fields are supported by the Infisical PKI Issuer. + Currently, not all fields are supported by the Infisical PKI ACME server. From 43bf1a6a5c08da3aaedc75e76bf0c7a7c433df90 Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Mon, 24 Nov 2025 17:20:33 -0800 Subject: [PATCH 060/109] improvements: styling and labeling additions to improve scope context --- frontend/public/locales/en/translations.json | 2 +- .../components/v2/PageHeader/PageHeader.tsx | 68 ++++++++----------- .../components/NavBar/Navbar.tsx | 6 +- .../AccessManagementPage.tsx | 2 +- .../components/OrganizationsTable.tsx | 6 +- .../IntegrationsListPage.tsx | 4 +- .../SettingsPage/SettingsPage.tsx | 16 ++++- .../pages/kms/OverviewPage/OverviewPage.tsx | 2 +- .../pages/kms/SettingsPage/SettingsPage.tsx | 19 +++++- .../AccessManagementPage.tsx | 10 +-- .../OrgGroupsSection/OrgGroupsSection.tsx | 6 +- .../OrgGroupsSection/OrgGroupsTable.tsx | 6 +- .../IdentitySection/IdentitySection.tsx | 8 ++- .../IdentitySection/IdentityTable.tsx | 6 +- .../OrgMembersSection/OrgMembersSection.tsx | 10 +-- .../OrgMembersSection/OrgMembersTable.tsx | 12 ++-- .../OrgRoleTabSection/OrgRoleTable.tsx | 10 +-- .../AppConnectionsPage/AppConnectionsPage.tsx | 4 +- .../AuditLogsPage/AuditLogsPage.tsx | 2 +- .../GroupDetailsByIDPage.tsx | 6 +- .../IdentityDetailsByIDPage.tsx | 6 +- .../ProjectsPage/ProjectsPage.tsx | 4 +- .../SettingsPage/SettingsPage.tsx | 2 +- .../UserDetailsByIDPage.tsx | 8 +-- .../pages/pam/SettingsPage/SettingsPage.tsx | 19 +++++- .../AccessControlPage/AccessControlPage.tsx | 17 ++++- .../GroupsSection/GroupsSection.tsx | 6 +- .../components/GroupsSection/GroupsTable.tsx | 6 +- .../components/IdentityTab/IdentityTab.tsx | 10 +-- .../MembersTab/components/MembersSection.tsx | 6 +- .../MembersTab/components/MembersTable.tsx | 12 ++-- .../ProjectRoleList/ProjectRoleList.tsx | 6 +- .../ServiceTokenSection.tsx | 4 +- .../AppConnectionsPage/AppConnectionsPage.tsx | 2 +- .../project/AuditLogsPage/AuditLogsPage.tsx | 16 ++++- .../GroupDetailsByIDPage.tsx | 6 +- .../IdentityDetailsByIDPage.tsx | 6 +- .../IdentityRoleModify.tsx | 2 +- .../MemberDetailsByIDPage.tsx | 6 +- .../RoleDetailsBySlugPage.tsx | 6 +- .../IntegrationsListPage.tsx | 4 +- .../OverviewPage/OverviewPage.tsx | 8 +-- .../SettingsPage/SettingsPage.tsx | 16 ++++- .../SettingsPage/SettingsPage.tsx | 19 +++++- .../pages/ssh/SettingsPage/SettingsPage.tsx | 20 +++++- 45 files changed, 262 insertions(+), 160 deletions(-) diff --git a/frontend/public/locales/en/translations.json b/frontend/public/locales/en/translations.json index fa23b9630b..a290a28a3f 100644 --- a/frontend/public/locales/en/translations.json +++ b/frontend/public/locales/en/translations.json @@ -289,7 +289,7 @@ } }, "project": { - "title": "Settings", + "title": "Project Settings", "description": "These settings only apply to the currently selected Project.", "danger-zone": "Danger Zone", "delete-project": "Delete Project", diff --git a/frontend/src/components/v2/PageHeader/PageHeader.tsx b/frontend/src/components/v2/PageHeader/PageHeader.tsx index f84edfcd27..61f8afaa60 100644 --- a/frontend/src/components/v2/PageHeader/PageHeader.tsx +++ b/frontend/src/components/v2/PageHeader/PageHeader.tsx @@ -1,17 +1,10 @@ -import { createElement } from "react"; import { ReactNode } from "@tanstack/react-router"; import { LucideIcon } from "lucide-react"; import { twMerge } from "tailwind-merge"; -import { - Badge, - InstanceIcon, - OrgIcon, - ProjectIcon, - SubOrgIcon, - TBadgeProps -} from "@app/components/v3"; +import { InstanceIcon, OrgIcon, ProjectIcon, SubOrgIcon } from "@app/components/v3"; import { ProjectType } from "@app/hooks/api/projects/types"; +import { createElement } from "react"; type Props = { title: ReactNode; @@ -21,41 +14,40 @@ type Props = { scope: "org" | "namespace" | "instance" | ProjectType | null; }; -const SCOPE_NAME: Record, { label: string; icon: LucideIcon }> = { - org: { label: "Organization", icon: OrgIcon }, - [ProjectType.SecretManager]: { label: "Project", icon: ProjectIcon }, - [ProjectType.CertificateManager]: { label: "Project", icon: ProjectIcon }, - [ProjectType.SSH]: { label: "Project", icon: ProjectIcon }, - [ProjectType.KMS]: { label: "Project", icon: ProjectIcon }, - [ProjectType.PAM]: { label: "Project", icon: ProjectIcon }, - [ProjectType.SecretScanning]: { label: "Project", icon: ProjectIcon }, - namespace: { label: "Sub-Organization", icon: SubOrgIcon }, - instance: { label: "Server", icon: InstanceIcon } -}; - -const SCOPE_VARIANT: Record, TBadgeProps["variant"]> = { - org: "org", - [ProjectType.SecretManager]: "project", - [ProjectType.CertificateManager]: "project", - [ProjectType.SSH]: "project", - [ProjectType.KMS]: "project", - [ProjectType.PAM]: "project", - [ProjectType.SecretScanning]: "project", - namespace: "sub-org", - instance: "neutral" +const SCOPE_BADGE: Record, { icon: LucideIcon; className: string }> = { + org: { className: "text-org", icon: OrgIcon }, + [ProjectType.SecretManager]: { className: "text-project", icon: ProjectIcon }, + [ProjectType.CertificateManager]: { className: "text-project", icon: ProjectIcon }, + [ProjectType.SSH]: { className: "text-project", icon: ProjectIcon }, + [ProjectType.KMS]: { className: "text-project", icon: ProjectIcon }, + [ProjectType.PAM]: { className: "text-project", icon: ProjectIcon }, + [ProjectType.SecretScanning]: { className: "text-project", icon: ProjectIcon }, + namespace: { className: "text-sub-org", icon: SubOrgIcon }, + instance: { className: "text-neutral", icon: InstanceIcon } }; export const PageHeader = ({ title, description, children, className, scope }: Props) => (
-

{title}

- {scope && ( - - {createElement(SCOPE_NAME[scope].icon)} - {SCOPE_NAME[scope].label} - - )} +

+ {scope && + createElement(SCOPE_BADGE[scope].icon, { + size: 26, + className: twMerge(SCOPE_BADGE[scope].className, "mr-3 mb-1 inline-block") + })} + {title} +

{children}
diff --git a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx index a3875ba496..37ee0cf18a 100644 --- a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx @@ -1,4 +1,3 @@ -import { useEffect, useState } from "react"; import { faGithub, faSlack } from "@fortawesome/free-brands-svg-icons"; import { faCircleQuestion, faUserCircle } from "@fortawesome/free-regular-svg-icons"; import { @@ -24,6 +23,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useQuery, useQueryClient } from "@tanstack/react-query"; import { Link, useLocation, useNavigate, useRouter, useRouterState } from "@tanstack/react-router"; import { UserPlusIcon } from "lucide-react"; +import { useEffect, useState } from "react"; import { twMerge } from "tailwind-merge"; import { Mfa } from "@app/components/auth/Mfa"; @@ -601,7 +601,7 @@ export const Navbar = () => { }} > - Invite Members + Invite Users ) : null } @@ -705,7 +705,7 @@ export const Navbar = () => { }} > }> - Invite Members + Invite Users ) : null diff --git a/frontend/src/pages/admin/AccessManagementPage/AccessManagementPage.tsx b/frontend/src/pages/admin/AccessManagementPage/AccessManagementPage.tsx index 3dbfd365ee..5f6fdd5e3c 100644 --- a/frontend/src/pages/admin/AccessManagementPage/AccessManagementPage.tsx +++ b/frontend/src/pages/admin/AccessManagementPage/AccessManagementPage.tsx @@ -17,7 +17,7 @@ export const AccessManagementPage = () => {
diff --git a/frontend/src/pages/admin/ResourceOverviewPage/components/OrganizationsTable.tsx b/frontend/src/pages/admin/ResourceOverviewPage/components/OrganizationsTable.tsx index 93d0253ff3..5b1a1b30a8 100644 --- a/frontend/src/pages/admin/ResourceOverviewPage/components/OrganizationsTable.tsx +++ b/frontend/src/pages/admin/ResourceOverviewPage/components/OrganizationsTable.tsx @@ -1,4 +1,3 @@ -import { useMemo, useState } from "react"; import { faArrowDown, faArrowUp, @@ -19,6 +18,7 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; import { CircleQuestionMarkIcon } from "lucide-react"; +import { useMemo, useState } from "react"; import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; @@ -350,8 +350,8 @@ const ViewMembersModalContent = ({ className="my-auto bg-mineshaft-700" title={ members.length - ? "No organization members match search..." - : "No organization members found" + ? "No organization users match search..." + : "No organization users found" } icon={faUsers} /> diff --git a/frontend/src/pages/cert-manager/IntegrationsListPage/IntegrationsListPage.tsx b/frontend/src/pages/cert-manager/IntegrationsListPage/IntegrationsListPage.tsx index 9387074eb5..7c9bc0dbbd 100644 --- a/frontend/src/pages/cert-manager/IntegrationsListPage/IntegrationsListPage.tsx +++ b/frontend/src/pages/cert-manager/IntegrationsListPage/IntegrationsListPage.tsx @@ -1,6 +1,6 @@ +import { useNavigate, useSearch } from "@tanstack/react-router"; import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { useNavigate, useSearch } from "@tanstack/react-router"; import { ProjectPermissionCan } from "@app/components/permissions"; import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; @@ -49,7 +49,7 @@ export const IntegrationsListPage = () => {
diff --git a/frontend/src/pages/cert-manager/SettingsPage/SettingsPage.tsx b/frontend/src/pages/cert-manager/SettingsPage/SettingsPage.tsx index b75ab2afc7..00e4e6733e 100644 --- a/frontend/src/pages/cert-manager/SettingsPage/SettingsPage.tsx +++ b/frontend/src/pages/cert-manager/SettingsPage/SettingsPage.tsx @@ -2,8 +2,11 @@ import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; +import { useOrganization } from "@app/context"; import { ProjectType } from "@app/hooks/api/projects/types"; import { ProjectGeneralTab } from "@app/pages/project/SettingsPage/components/ProjectGeneralTab"; +import { Link } from "@tanstack/react-router"; +import { InfoIcon } from "lucide-react"; const tabs = [ { @@ -15,6 +18,7 @@ const tabs = [ export const SettingsPage = () => { const { t } = useTranslation(); + const { currentOrg } = useOrganization(); return (
@@ -22,7 +26,17 @@ export const SettingsPage = () => { {t("common.head-title", { title: t("settings.project.title") })}
- + + + Looking for organization settings? + + {tabs.map((tab) => ( diff --git a/frontend/src/pages/kms/OverviewPage/OverviewPage.tsx b/frontend/src/pages/kms/OverviewPage/OverviewPage.tsx index be3be82862..3069772a18 100644 --- a/frontend/src/pages/kms/OverviewPage/OverviewPage.tsx +++ b/frontend/src/pages/kms/OverviewPage/OverviewPage.tsx @@ -20,7 +20,7 @@ export const OverviewPage = () => {
{ const { t } = useTranslation(); + const { currentOrg } = useOrganization(); + return (
@@ -24,9 +29,19 @@ export const SettingsPage = () => {
+ > + + Looking for organization settings? + + {tabs.map((tab) => ( diff --git a/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx b/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx index 9b5a8e7d32..13b33ff4da 100644 --- a/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/AccessManagementPage.tsx @@ -1,9 +1,9 @@ -import { useState } from "react"; -import { Helmet } from "react-helmet"; -import { useTranslation } from "react-i18next"; import { faInfoCircle } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate, useSearch } from "@tanstack/react-router"; +import { useState } from "react"; +import { Helmet } from "react-helmet"; +import { useTranslation } from "react-i18next"; import { OrgPermissionGuardBanner } from "@app/components/permissions/OrgPermissionCan"; import { Button, PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; @@ -18,8 +18,8 @@ import { } from "@app/context"; import { OrgAccessControlTabSections } from "@app/types/org"; -import { UpgradePrivilegeSystemModal } from "./components/UpgradePrivilegeSystemModal/UpgradePrivilegeSystemModal"; import { OrgGroupsTab, OrgIdentityTab, OrgMembersTab, OrgRoleTabSection } from "./components"; +import { UpgradePrivilegeSystemModal } from "./components/UpgradePrivilegeSystemModal/UpgradePrivilegeSystemModal"; export const AccessManagementPage = () => { const { t } = useTranslation(); @@ -83,7 +83,7 @@ export const AccessManagementPage = () => {
{!currentOrg.shouldUseNewPrivilegeSystem && ( diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgGroupsTab/components/OrgGroupsSection/OrgGroupsSection.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgGroupsTab/components/OrgGroupsSection/OrgGroupsSection.tsx index a5e2e113cd..bf39f90bd8 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgGroupsTab/components/OrgGroupsSection/OrgGroupsSection.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgGroupsTab/components/OrgGroupsSection/OrgGroupsSection.tsx @@ -51,19 +51,19 @@ export const OrgGroupsSection = () => {
-

Groups

+

Organization Groups

{(isAllowed) => ( )} diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgGroupsTab/components/OrgGroupsSection/OrgGroupsTable.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgGroupsTab/components/OrgGroupsSection/OrgGroupsTable.tsx index 5b4698ec9b..935b1ba384 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgGroupsTab/components/OrgGroupsSection/OrgGroupsTable.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgGroupsTab/components/OrgGroupsSection/OrgGroupsTable.tsx @@ -1,4 +1,3 @@ -import { useMemo } from "react"; import { faArrowDown, faArrowUp, @@ -13,6 +12,7 @@ import { } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; +import { useMemo } from "react"; import { createNotification } from "@app/components/notifications"; import { OrgPermissionCan } from "@app/components/permissions"; @@ -159,7 +159,7 @@ export const OrgGroupsTable = ({ handlePopUpOpen }: Props) => { value={search} onChange={(e) => setSearch(e.target.value)} leftIcon={} - placeholder="Search groups..." + placeholder="Search organization groups..." /> @@ -205,7 +205,7 @@ export const OrgGroupsTable = ({ handlePopUpOpen }: Props) => {
- Role + Organization Role
-

Machine Identities

+

+ Organization Machine Identities +

@@ -129,7 +131,9 @@ export const IdentitySection = withPermission( }} isDisabled={!isAllowed} > - Add Machine Identity + {isSubOrganization + ? "Add Machine Identity to Sub-Organization" + : "Create Organization Machine Identity"} )} diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityTable.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityTable.tsx index 40ca72f46c..451f2c7457 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityTable.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgIdentityTab/components/IdentitySection/IdentityTable.tsx @@ -1,4 +1,3 @@ -import { useCallback, useState } from "react"; import { faArrowDown, faArrowUp, @@ -14,6 +13,7 @@ import { } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; +import { useCallback, useState } from "react"; import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; @@ -200,7 +200,7 @@ export const IdentityTable = ({ handlePopUpOpen }: Props) => { - Filter Machine Identities by Role + Filter Organization Machine Identities by Role {roles?.map(({ id, slug, name }) => ( {
- Role + Organization Role {
-

Users

+

Organization Users

{(isAllowed) => ( )} diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/OrgMembersTable.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/OrgMembersTable.tsx index d81c0a3eb8..fcde13f94d 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/OrgMembersTable.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgMembersTab/components/OrgMembersSection/OrgMembersTable.tsx @@ -1,4 +1,3 @@ -import { Dispatch, SetStateAction, useCallback, useMemo, useState } from "react"; import { faArrowDown, faArrowUp, @@ -17,6 +16,7 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; import { UserCogIcon } from "lucide-react"; +import { Dispatch, SetStateAction, useCallback, useMemo, useState } from "react"; import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; @@ -336,7 +336,7 @@ export const OrgMembersTable = ({ - Apply Roles to Filter Users + Filter Organization Users by Role {roles?.map(({ id, slug, name }) => ( setSearch(e.target.value)} leftIcon={} - placeholder="Search members..." + placeholder="Search organization users..." />
@@ -434,7 +434,7 @@ export const OrgMembersTable = ({
- Role + Organization Role diff --git a/frontend/src/pages/organization/AccessManagementPage/components/OrgRoleTabSection/OrgRoleTable.tsx b/frontend/src/pages/organization/AccessManagementPage/components/OrgRoleTabSection/OrgRoleTable.tsx index ee3c536e89..78dc293e6f 100644 --- a/frontend/src/pages/organization/AccessManagementPage/components/OrgRoleTabSection/OrgRoleTable.tsx +++ b/frontend/src/pages/organization/AccessManagementPage/components/OrgRoleTabSection/OrgRoleTable.tsx @@ -1,4 +1,3 @@ -import { useMemo } from "react"; import { faArrowDown, faArrowUp, @@ -15,6 +14,7 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; import { ServerIcon, WrenchIcon } from "lucide-react"; +import { useMemo } from "react"; import { twMerge } from "tailwind-merge"; import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal"; @@ -199,7 +199,7 @@ export const OrgRoleTable = () => { {(isAllowed) => ( )} @@ -216,7 +216,7 @@ export const OrgRoleTable = () => { value={search} onChange={(e) => setSearch(e.target.value)} leftIcon={} - placeholder="Search roles..." + placeholder="Search organization roles..." className="flex-1" containerClassName="mb-4" /> @@ -441,7 +441,7 @@ export const OrgRoleTable = () => {
diff --git a/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx b/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx index 37d73125cf..5f2290ab38 100644 --- a/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx +++ b/frontend/src/pages/organization/AuditLogsPage/AuditLogsPage.tsx @@ -19,7 +19,7 @@ export const AuditLogsPage = () => {
diff --git a/frontend/src/pages/organization/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx b/frontend/src/pages/organization/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx index 055adfedc3..5bc8da4878 100644 --- a/frontend/src/pages/organization/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx +++ b/frontend/src/pages/organization/GroupDetailsByIDPage/GroupDetailsByIDPage.tsx @@ -1,8 +1,8 @@ -import { Helmet } from "react-helmet"; -import { useTranslation } from "react-i18next"; import { faChevronLeft } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Link, useNavigate, useParams } from "@tanstack/react-router"; +import { Helmet } from "react-helmet"; +import { useTranslation } from "react-i18next"; import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; @@ -88,7 +88,7 @@ const Page = () => { className="mb-4 flex items-center gap-x-2 text-sm text-mineshaft-400" > - Groups + Organization Groups { className="mb-4 flex items-center gap-x-2 text-sm text-mineshaft-400" > - Machine Identities + Organization Machine Identities { {projectListView === ProjectListView.MyProjects ? ( diff --git a/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx b/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx index b3a7c10437..cec33b2896 100644 --- a/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx +++ b/frontend/src/pages/organization/SettingsPage/SettingsPage.tsx @@ -20,7 +20,7 @@ export const SettingsPage = () => {
diff --git a/frontend/src/pages/organization/UserDetailsByIDPage/UserDetailsByIDPage.tsx b/frontend/src/pages/organization/UserDetailsByIDPage/UserDetailsByIDPage.tsx index 3b26f80f05..713ba2e050 100644 --- a/frontend/src/pages/organization/UserDetailsByIDPage/UserDetailsByIDPage.tsx +++ b/frontend/src/pages/organization/UserDetailsByIDPage/UserDetailsByIDPage.tsx @@ -1,8 +1,8 @@ -import { Helmet } from "react-helmet"; -import { useTranslation } from "react-i18next"; import { faChevronLeft } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Link, useNavigate, useParams } from "@tanstack/react-router"; +import { Helmet } from "react-helmet"; +import { useTranslation } from "react-i18next"; import { twMerge } from "tailwind-merge"; import { UpgradePlanModal } from "@app/components/license/UpgradePlanModal"; @@ -34,9 +34,9 @@ import { import { usePopUp } from "@app/hooks/usePopUp"; import { OrgAccessControlTabSections } from "@app/types/org"; +import { UserDetailsSection, UserOrgMembershipModal, UserProjectsSection } from "./components"; import { UserAuditLogsSection } from "./components/UserProjectsSection/UserAuditLogsSection"; import { UserGroupsSection } from "./components/UserProjectsSection/UserGroupsSection"; -import { UserDetailsSection, UserOrgMembershipModal, UserProjectsSection } from "./components"; const Page = withPermission( () => { @@ -112,7 +112,7 @@ const Page = withPermission( className="mb-4 flex items-center gap-x-2 text-sm text-mineshaft-400" > - Users + Organization Users { const { t } = useTranslation(); + const { currentOrg } = useOrganization(); + return (
@@ -16,9 +21,19 @@ export const SettingsPage = () => {
+ > + + Looking for organization settings? + + diff --git a/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx b/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx index 98d47a08a7..42daf794b3 100644 --- a/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx +++ b/frontend/src/pages/project/AccessControlPage/AccessControlPage.tsx @@ -1,6 +1,6 @@ +import { Link, useNavigate, useSearch } from "@tanstack/react-router"; import { Helmet } from "react-helmet"; import { useTranslation } from "react-i18next"; -import { useNavigate, useSearch } from "@tanstack/react-router"; import { PageHeader, Tab, TabList, TabPanel, Tabs } from "@app/components/v2"; import { useOrganization, useProject } from "@app/context"; @@ -8,6 +8,7 @@ import { getProjectBaseURL } from "@app/helpers/project"; import { ProjectType } from "@app/hooks/api/projects/types"; import { ProjectAccessControlTabs } from "@app/types/project"; +import { InfoIcon } from "lucide-react"; import { GroupsTab, IdentityTab, @@ -43,9 +44,19 @@ const Page = () => {
+ > + + Looking for organization access control? + + diff --git a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx index 8415a5e886..b6c0574cca 100644 --- a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsSection.tsx @@ -59,19 +59,19 @@ export const GroupsSection = () => {
-

User Groups

+

Project Groups

{(isAllowed) => ( )} diff --git a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx index c3d850c6b9..0aa22d30f1 100644 --- a/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/GroupsTab/components/GroupsSection/GroupsTable.tsx @@ -1,4 +1,3 @@ -import { useMemo } from "react"; import { faArrowDown, faArrowUp, @@ -11,6 +10,7 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; import { format } from "date-fns"; +import { useMemo } from "react"; import { ProjectPermissionCan } from "@app/components/permissions"; import { @@ -122,7 +122,7 @@ export const GroupTable = ({ handlePopUpOpen }: Props) => { value={search} onChange={(e) => setSearch(e.target.value)} leftIcon={} - placeholder="Search members..." + placeholder="Search project groups..." /> @@ -143,7 +143,7 @@ export const GroupTable = ({ handlePopUpOpen }: Props) => { - + diff --git a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx index 18df31e94f..4159827555 100644 --- a/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/IdentityTab/IdentityTab.tsx @@ -1,4 +1,3 @@ -import { useState } from "react"; import { subject } from "@casl/ability"; import { faArrowDown, @@ -14,6 +13,7 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; import { AnimatePresence, motion } from "framer-motion"; import { LinkIcon, PlusIcon } from "lucide-react"; +import { useState } from "react"; import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; @@ -197,7 +197,7 @@ export const IdentityTab = withProjectPermission(
-

Machine Identities

+

Project Machine Identities

@@ -212,7 +212,7 @@ export const IdentityTab = withProjectPermission( onClick={() => handlePopUpOpen("createIdentity")} isDisabled={!isAllowed} > - Add Machine Identity + Add Machine Identity to Project )} @@ -223,7 +223,7 @@ export const IdentityTab = withProjectPermission( value={search} onChange={(e) => setSearch(e.target.value)} leftIcon={} - placeholder="Search machine identities by name..." + placeholder="Search project machine identities by name..." />
RoleProject Role Added on
@@ -251,7 +251,7 @@ export const IdentityTab = withProjectPermission( - + diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersSection.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersSection.tsx index 38dc5e47e9..5801812353 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersSection.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersSection.tsx @@ -49,19 +49,19 @@ export const MembersSection = () => {
-

Users

+

Project Users

{(isAllowed) => ( )} diff --git a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx index d554f12fb4..51573f8cbf 100644 --- a/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/MembersTab/components/MembersTable.tsx @@ -1,4 +1,3 @@ -import { useCallback, useMemo, useState } from "react"; import { faArrowDown, faArrowUp, @@ -14,6 +13,7 @@ import { } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; +import { useCallback, useMemo, useState } from "react"; import { twMerge } from "tailwind-merge"; import { ProjectPermissionCan } from "@app/components/permissions"; @@ -208,7 +208,7 @@ export const MembersTable = ({ handlePopUpOpen }: Props) => { - Apply Roles to Filter Users + Filter Project Users by Role {projectRoles?.map(({ id, slug, name }) => ( { value={search} onChange={(e) => setSearch(e.target.value)} leftIcon={} - placeholder="Search members..." + placeholder="Search project users..." />
@@ -282,7 +282,7 @@ export const MembersTable = ({ handlePopUpOpen }: Props) => {
- + @@ -462,9 +462,7 @@ export const MembersTable = ({ handlePopUpOpen }: Props) => { )} {!isMembersLoading && !filteredUsers?.length && ( )} diff --git a/frontend/src/pages/project/AccessControlPage/components/ProjectRoleListTab/components/ProjectRoleList/ProjectRoleList.tsx b/frontend/src/pages/project/AccessControlPage/components/ProjectRoleListTab/components/ProjectRoleList/ProjectRoleList.tsx index eeb29725f4..adca1b7ec4 100644 --- a/frontend/src/pages/project/AccessControlPage/components/ProjectRoleListTab/components/ProjectRoleList/ProjectRoleList.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/ProjectRoleListTab/components/ProjectRoleList/ProjectRoleList.tsx @@ -1,4 +1,3 @@ -import { useMemo } from "react"; import { faArrowDown, faArrowUp, @@ -14,6 +13,7 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useNavigate } from "@tanstack/react-router"; import { ServerIcon, WrenchIcon } from "lucide-react"; +import { useMemo } from "react"; import { twMerge } from "tailwind-merge"; import { createNotification } from "@app/components/notifications"; @@ -170,13 +170,13 @@ export const ProjectRoleList = () => { {(isAllowed) => ( )} diff --git a/frontend/src/pages/project/AccessControlPage/components/ServiceTokenTab/components/ServiceTokenSection/ServiceTokenSection.tsx b/frontend/src/pages/project/AccessControlPage/components/ServiceTokenTab/components/ServiceTokenSection/ServiceTokenSection.tsx index 6f2e82e02e..3d5ec31c41 100644 --- a/frontend/src/pages/project/AccessControlPage/components/ServiceTokenTab/components/ServiceTokenSection/ServiceTokenSection.tsx +++ b/frontend/src/pages/project/AccessControlPage/components/ServiceTokenTab/components/ServiceTokenSection/ServiceTokenSection.tsx @@ -1,6 +1,6 @@ -import { useTranslation } from "react-i18next"; import { faPlus } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import { useTranslation } from "react-i18next"; import { createNotification } from "@app/components/notifications"; import { ProjectPermissionCan } from "@app/components/permissions"; @@ -57,7 +57,7 @@ export const ServiceTokenSection = withProjectPermission( > {(isAllowed) => ( + + + + + + + ); +}; From 0d721686e6d5f964995b76d5f6a58b221788917f Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Thu, 20 Nov 2025 18:49:46 -0800 Subject: [PATCH 073/109] Add sandbox switch for dns made easy --- backend/src/lib/config/env.ts | 1 + .../dns-made-easy/dns-made-easy-connection-fns.ts | 13 ++++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/backend/src/lib/config/env.ts b/backend/src/lib/config/env.ts index 11de576670..21e83c2b79 100644 --- a/backend/src/lib/config/env.ts +++ b/backend/src/lib/config/env.ts @@ -119,6 +119,7 @@ const envSchema = z }) .default("{}") ), + DNS_MADE_EASY_SANDBOX_ENABLED: zodStrBool.default("false").optional(), // smtp options SMTP_HOST: zpStr(z.string().optional()), SMTP_IGNORE_TLS: zodStrBool.default("false"), diff --git a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts index fc34940b8c..40bbe945ba 100644 --- a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts +++ b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts @@ -5,7 +5,9 @@ import { crypto } from "@app/lib/crypto/cryptography"; import { BadRequestError } from "@app/lib/errors"; import { AppConnection } from "@app/services/app-connection/app-connection-enums"; import { IntegrationUrls } from "@app/services/integration-auth/integration-list"; +import https from "https"; +import { getConfig } from "@app/lib/config/env"; import { DNSMadeEasyConnectionMethod } from "./dns-made-easy-connection-enum"; import { TDNSMadeEasyConnection, @@ -24,6 +26,11 @@ interface DNSMadeEasyApiResponse { page: number; } +const getDNSMadeEasyUrl = (path: string) => { + const appCfg = getConfig(); + return `${appCfg.DNS_MADE_EASY_SANDBOX_ENABLED ? IntegrationUrls.DNS_MADE_EASY_SANDBOX_API_URL : IntegrationUrls.DNS_MADE_EASY_API_URL}${path}`; +}; + export const makeDNSMadeEasyAuthHeaders = ( apiKey: string, secretKey: string, @@ -92,7 +99,11 @@ export const validateDNSMadeEasyConnectionCredentials = async (config: TDNSMadeE const { apiKey, secretKey } = config.credentials; try { - const resp = await request.get(`${IntegrationUrls.DNS_MADE_EASY_API_URL}/V2.0/dns/managed/`, { + const resp = await request.get(getDNSMadeEasyUrl("/V2.0/dns/managed/"), { + httpAgent: new https.Agent({ + minVersion: "TLSv1.2", + maxVersion: "TLSv1.2" + }), headers: { ...makeDNSMadeEasyAuthHeaders(apiKey, secretKey), Accept: "application/json" From dd0b0e4633c31c02b208b401044feaf74bc144fd Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Thu, 20 Nov 2025 20:05:49 -0800 Subject: [PATCH 074/109] No need to use https agent --- .../dns-made-easy/dns-made-easy-connection-fns.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts index 40bbe945ba..80ee0bee42 100644 --- a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts +++ b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts @@ -1,13 +1,12 @@ import { AxiosError } from "axios"; +import { getConfig } from "@app/lib/config/env"; import { request } from "@app/lib/config/request"; import { crypto } from "@app/lib/crypto/cryptography"; import { BadRequestError } from "@app/lib/errors"; import { AppConnection } from "@app/services/app-connection/app-connection-enums"; import { IntegrationUrls } from "@app/services/integration-auth/integration-list"; -import https from "https"; -import { getConfig } from "@app/lib/config/env"; import { DNSMadeEasyConnectionMethod } from "./dns-made-easy-connection-enum"; import { TDNSMadeEasyConnection, @@ -100,10 +99,6 @@ export const validateDNSMadeEasyConnectionCredentials = async (config: TDNSMadeE try { const resp = await request.get(getDNSMadeEasyUrl("/V2.0/dns/managed/"), { - httpAgent: new https.Agent({ - minVersion: "TLSv1.2", - maxVersion: "TLSv1.2" - }), headers: { ...makeDNSMadeEasyAuthHeaders(apiKey, secretKey), Accept: "application/json" From 551e9b4476220f95a346d8b47b4a3decd95aee95 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Thu, 20 Nov 2025 20:32:55 -0800 Subject: [PATCH 075/109] Add DNS made easy stuff --- .../dns-made-easy-connection-fns.ts | 2 + .../acme/acme-certificate-authority-enums.ts | 3 +- .../acme/acme-certificate-authority-fns.ts | 33 +++++++++++++ .../integration-auth/integration-list.ts | 4 +- frontend/src/hooks/api/ca/constants.tsx | 6 ++- frontend/src/hooks/api/ca/enums.tsx | 3 +- .../components/ExternalCaModal.tsx | 46 ++++++++++++++++++- 7 files changed, 90 insertions(+), 7 deletions(-) diff --git a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts index 80ee0bee42..d42ee465ef 100644 --- a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts +++ b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts @@ -4,6 +4,7 @@ import { getConfig } from "@app/lib/config/env"; import { request } from "@app/lib/config/request"; import { crypto } from "@app/lib/crypto/cryptography"; import { BadRequestError } from "@app/lib/errors"; +import { logger } from "@app/lib/logger"; import { AppConnection } from "@app/services/app-connection/app-connection-enums"; import { IntegrationUrls } from "@app/services/integration-auth/integration-list"; @@ -116,6 +117,7 @@ export const validateDNSMadeEasyConnectionCredentials = async (config: TDNSMadeE message: `Failed to validate credentials: ${error.response?.data?.error?.[0] || error.message || "Unknown error"}` }); } + logger.error(error, "Error validating DNS Made Easy connection credentials"); throw new BadRequestError({ message: "Unable to validate connection: verify credentials" }); diff --git a/backend/src/services/certificate-authority/acme/acme-certificate-authority-enums.ts b/backend/src/services/certificate-authority/acme/acme-certificate-authority-enums.ts index c4703d49fe..09431f4f84 100644 --- a/backend/src/services/certificate-authority/acme/acme-certificate-authority-enums.ts +++ b/backend/src/services/certificate-authority/acme/acme-certificate-authority-enums.ts @@ -1,4 +1,5 @@ export enum AcmeDnsProvider { Route53 = "route53", - Cloudflare = "cloudflare" + Cloudflare = "cloudflare", + DNSMadeEasy = "dns-made-easy" } diff --git a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts index ff95083c6c..00902b7919 100644 --- a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts +++ b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts @@ -44,6 +44,7 @@ import { } from "./acme-certificate-authority-types"; import { cloudflareDeleteTxtRecord, cloudflareInsertTxtRecord } from "./dns-providers/cloudflare"; import { route53DeleteTxtRecord, route53InsertTxtRecord } from "./dns-providers/route54"; +import { TDNSMadeEasyConnection } from "@app/services/app-connection/dns-made-easy/dns-made-easy-connection-types"; type TAcmeCertificateAuthorityFnsDeps = { appConnectionDAL: Pick; @@ -263,6 +264,15 @@ export const orderCertificate = async ( ); break; } + case AcmeDnsProvider.DNSMadeEasy: { + await dnsMadeEasyInsertTxtRecord( + connection as TDNSMadeEasyConnection, + acmeCa.configuration.dnsProviderConfig.hostedZoneId, + recordName, + recordValue + ); + break; + } default: { throw new Error(`Unsupported DNS provider: ${acmeCa.configuration.dnsProviderConfig.provider as string}`); } @@ -291,6 +301,14 @@ export const orderCertificate = async ( ); break; } + case AcmeDnsProvider.DNSMadeEasy: { + await dnsMadeEasyDeleteTxtRecord( + connection as TDNSMadeEasyConnection, + acmeCa.configuration.dnsProviderConfig.hostedZoneId, + recordName, + recordValue + ); + } default: { throw new Error(`Unsupported DNS provider: ${acmeCa.configuration.dnsProviderConfig.provider as string}`); } @@ -413,6 +431,12 @@ export const AcmeCertificateAuthorityFns = ({ }); } + if (dnsProviderConfig.provider === AcmeDnsProvider.DNSMadeEasy && appConnection.app !== AppConnection.DNSMadeEasy) { + throw new BadRequestError({ + message: `App connection with ID '${dnsAppConnectionId}' is not a DNS Made Easy connection` + }); + } + // validates permission to connect await appConnectionService.validateAppConnectionUsageById( appConnection.app as AppConnection, @@ -508,6 +532,15 @@ export const AcmeCertificateAuthorityFns = ({ }); } + if ( + dnsProviderConfig.provider === AcmeDnsProvider.DNSMadeEasy && + appConnection.app !== AppConnection.DNSMadeEasy + ) { + throw new BadRequestError({ + message: `App connection with ID '${dnsAppConnectionId}' is not a DNS Made Easy connection` + }); + } + const ca = await certificateAuthorityDAL.findById(id); if (!ca) { diff --git a/backend/src/services/integration-auth/integration-list.ts b/backend/src/services/integration-auth/integration-list.ts index 9f2ad0ee68..b76e90470f 100644 --- a/backend/src/services/integration-auth/integration-list.ts +++ b/backend/src/services/integration-auth/integration-list.ts @@ -106,8 +106,8 @@ export enum IntegrationUrls { GITHUB_USER_INSTALLATIONS = "https://api.github.com/user/installations", CHEF_API_URL = "https://api.chef.io", - DNS_MADE_EASY_API_URL = "https://api.dnsmadeeasy.com/V2.0", - DNS_MADE_EASY_SANDBOX_API_URL = "https://api.sandbox.dnsmadeeasy.com/V2.0" + DNS_MADE_EASY_API_URL = "https://api.dnsmadeeasy.com", + DNS_MADE_EASY_SANDBOX_API_URL = "https://api.sandbox.dnsmadeeasy.com" } export const getIntegrationOptions = async () => { diff --git a/frontend/src/hooks/api/ca/constants.tsx b/frontend/src/hooks/api/ca/constants.tsx index 16a350dbd2..740d52994f 100644 --- a/frontend/src/hooks/api/ca/constants.tsx +++ b/frontend/src/hooks/api/ca/constants.tsx @@ -16,12 +16,14 @@ export const caStatusToNameMap: { [K in CaStatus]: string } = { export const ACME_DNS_PROVIDER_NAME_MAP: Record = { [AcmeDnsProvider.ROUTE53]: "Route53", - [AcmeDnsProvider.Cloudflare]: "Cloudflare" + [AcmeDnsProvider.Cloudflare]: "Cloudflare", + [AcmeDnsProvider.DNSMadeEasy]: "DNS Made Easy" }; export const ACME_DNS_PROVIDER_APP_CONNECTION_MAP: Record = { [AcmeDnsProvider.ROUTE53]: AppConnection.AWS, - [AcmeDnsProvider.Cloudflare]: AppConnection.Cloudflare + [AcmeDnsProvider.Cloudflare]: AppConnection.Cloudflare, + [AcmeDnsProvider.DNSMadeEasy]: AppConnection.DNSMadeEasy }; export const CA_TYPE_CAPABILITIES_MAP: Record = { diff --git a/frontend/src/hooks/api/ca/enums.tsx b/frontend/src/hooks/api/ca/enums.tsx index a68f3e862e..acd8ce069b 100644 --- a/frontend/src/hooks/api/ca/enums.tsx +++ b/frontend/src/hooks/api/ca/enums.tsx @@ -21,7 +21,8 @@ export enum CaRenewalType { export enum AcmeDnsProvider { ROUTE53 = "route53", - Cloudflare = "cloudflare" + Cloudflare = "cloudflare", + DNSMadeEasy = "dns-made-easy" } export enum CaCapability { diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx index 1fb338a252..e24cc6881d 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx @@ -27,6 +27,10 @@ import { TCloudflareZone, useCloudflareConnectionListZones } from "@app/hooks/api/appConnections/cloudflare"; +import { + TDNSMadeEasyZone, + useDNSMadeEasyConnectionListZones +} from "@app/hooks/api/appConnections/dns-made-easy"; import { AppConnection } from "@app/hooks/api/appConnections/enums"; import { AcmeDnsProvider, @@ -211,6 +215,11 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { enabled: caType === CaType.ACME }); + const { data: availableDNSMadeEasyConnections, isPending: isDNSMadeEasyPending } = + useListAvailableAppConnections(AppConnection.DNSMadeEasy, currentProject.id, { + enabled: caType === CaType.ACME + }); + const { data: availableAzureConnections, isPending: isAzurePending } = useListAvailableAppConnections(AppConnection.AzureADCS, currentProject.id, { enabled: caType === CaType.AZURE_AD_CS @@ -225,11 +234,15 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { caType, availableRoute53Connections, availableCloudflareConnections, + availableDNSMadeEasyConnections, availableAzureConnections ]); const isPending = - isRoute53Pending || isCloudflarePending || (isAzurePending && caType === CaType.AZURE_AD_CS); + isRoute53Pending || + isCloudflarePending || + isDNSMadeEasyPending || + (isAzurePending && caType === CaType.AZURE_AD_CS); const dnsAppConnection = caType === CaType.ACME && configuration && "dnsAppConnection" in configuration @@ -241,6 +254,11 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { enabled: dnsProvider === AcmeDnsProvider.Cloudflare && !!dnsAppConnection.id }); + const { data: dnsMadeEasyZones = [], isPending: isDNSMadeEasyZonesPending } = + useDNSMadeEasyConnectionListZones(dnsAppConnection.id, { + enabled: dnsProvider === AcmeDnsProvider.DNSMadeEasy && !!dnsAppConnection.id + }); + // Populate form with CA data when editing useEffect(() => { if (ca && !isCaLoading) { @@ -500,6 +518,32 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { )} /> )} + {dnsProvider === AcmeDnsProvider.DNSMadeEasy && ( + ( + + zone.id === value)} + onChange={(option) => { + onChange((option as SingleValue)?.id ?? null); + }} + options={dnsMadeEasyZones} + placeholder="Select a zone..." + getOptionLabel={(option) => option.name} + getOptionValue={(option) => option.id} + /> + + )} + /> + )} Date: Thu, 20 Nov 2025 20:45:19 -0800 Subject: [PATCH 076/109] Add more missing stuff --- .../acme/acme-certificate-authority-fns.ts | 4 +- .../acme/dns-providers/dns-made-easy.ts | 129 ++++++++++++++++++ .../api/appConnections/types/app-options.ts | 8 +- 3 files changed, 139 insertions(+), 2 deletions(-) create mode 100644 backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts diff --git a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts index 00902b7919..8dbb9512fe 100644 --- a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts +++ b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts @@ -14,6 +14,7 @@ import { decryptAppConnection } from "@app/services/app-connection/app-connectio import { TAppConnectionServiceFactory } from "@app/services/app-connection/app-connection-service"; import { TAwsConnection } from "@app/services/app-connection/aws/aws-connection-types"; import { TCloudflareConnection } from "@app/services/app-connection/cloudflare/cloudflare-connection-types"; +import { TDNSMadeEasyConnection } from "@app/services/app-connection/dns-made-easy/dns-made-easy-connection-types"; import { TCertificateBodyDALFactory } from "@app/services/certificate/certificate-body-dal"; import { TCertificateDALFactory } from "@app/services/certificate/certificate-dal"; import { TCertificateSecretDALFactory } from "@app/services/certificate/certificate-secret-dal"; @@ -43,8 +44,8 @@ import { TUpdateAcmeCertificateAuthorityDTO } from "./acme-certificate-authority-types"; import { cloudflareDeleteTxtRecord, cloudflareInsertTxtRecord } from "./dns-providers/cloudflare"; +import { dnsMadeEasyDeleteTxtRecord, dnsMadeEasyInsertTxtRecord } from "./dns-providers/dns-made-easy"; import { route53DeleteTxtRecord, route53InsertTxtRecord } from "./dns-providers/route54"; -import { TDNSMadeEasyConnection } from "@app/services/app-connection/dns-made-easy/dns-made-easy-connection-types"; type TAcmeCertificateAuthorityFnsDeps = { appConnectionDAL: Pick; @@ -308,6 +309,7 @@ export const orderCertificate = async ( recordName, recordValue ); + break; } default: { throw new Error(`Unsupported DNS provider: ${acmeCa.configuration.dnsProviderConfig.provider as string}`); diff --git a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts new file mode 100644 index 0000000000..899f4aaf13 --- /dev/null +++ b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts @@ -0,0 +1,129 @@ +import axios from "axios"; + +import { getConfig } from "@app/lib/config/env"; +import { request } from "@app/lib/config/request"; +import { crypto } from "@app/lib/crypto/cryptography"; +import { TDNSMadeEasyConnection } from "@app/services/app-connection/dns-made-easy/dns-made-easy-connection-types"; +import { IntegrationUrls } from "@app/services/integration-auth/integration-list"; + +const getDNSMadeEasyUrl = (path: string) => { + const appCfg = getConfig(); + return `${appCfg.DNS_MADE_EASY_SANDBOX_ENABLED ? IntegrationUrls.DNS_MADE_EASY_SANDBOX_API_URL : IntegrationUrls.DNS_MADE_EASY_API_URL}${path}`; +}; + +const makeDNSMadeEasyAuthHeaders = ( + apiKey: string, + secretKey: string, + currentDate: Date = new Date() +): Record => { + // Format date as "Day, DD Mon YYYY HH:MM:SS GMT" (e.g., "Mon, 01 Jan 2024 12:00:00 GMT") + const requestDate = currentDate.toUTCString(); + + // Generate HMAC-SHA1 signature + const hmac = crypto.nativeCrypto.createHmac("sha1", secretKey); + hmac.update(requestDate); + const hmacSignature = hmac.digest("hex"); + + return { + "x-dnsme-apiKey": apiKey, + "x-dnsme-hmac": hmacSignature, + "x-dnsme-requestDate": requestDate + }; +}; + +export const dnsMadeEasyInsertTxtRecord = async ( + connection: TDNSMadeEasyConnection, + hostedZoneId: string, + domain: string, + value: string +) => { + const { + credentials: { apiKey, secretKey } + } = connection; + + try { + await request.post( + getDNSMadeEasyUrl(`/V2.0/dns/managed/${encodeURIComponent(hostedZoneId)}/records`), + { + type: "TXT", + name: domain, + value, + ttl: 60 + }, + { + headers: { + ...makeDNSMadeEasyAuthHeaders(apiKey, secretKey), + "Content-Type": "application/json", + Accept: "application/json" + } + } + ); + } catch (error) { + if (axios.isAxiosError(error)) { + const errorMessage = + (error.response?.data as { error?: string[] | string })?.error?.[0] || + (error.response?.data as { error?: string[] | string })?.error || + error.message || + "Unknown error"; + throw new Error(typeof errorMessage === "string" ? errorMessage : String(errorMessage)); + } + throw error; + } +}; + +export const dnsMadeEasyDeleteTxtRecord = async ( + connection: TDNSMadeEasyConnection, + hostedZoneId: string, + domain: string, + value: string +) => { + const { + credentials: { apiKey, secretKey } + } = connection; + + try { + // First, list records to find the record ID + const listRecordsResponse = await request.get<{ + data: Array<{ id: number; type: string; name: string; value: string }>; + }>(getDNSMadeEasyUrl(`/V2.0/dns/managed/${encodeURIComponent(hostedZoneId)}/records`), { + headers: { + ...makeDNSMadeEasyAuthHeaders(apiKey, secretKey), + Accept: "application/json" + }, + params: { + type: "TXT", + recordName: domain + } + }); + + const dnsRecords = listRecordsResponse.data?.data; + + if (Array.isArray(dnsRecords) && dnsRecords.length > 0) { + const recordToDelete = dnsRecords.find( + (record) => record.type === "TXT" && record.name === domain && record.value === value + ); + + if (recordToDelete) { + await request.delete( + getDNSMadeEasyUrl(`/V2.0/dns/managed/${encodeURIComponent(hostedZoneId)}/records/${recordToDelete.id}`), + { + headers: { + ...makeDNSMadeEasyAuthHeaders(apiKey, secretKey), + Accept: "application/json" + } + } + ); + } + } + } catch (error) { + if (axios.isAxiosError(error)) { + const errorMessage = + (error.response?.data as { error?: string[] | string })?.error?.[0] || + (error.response?.data as { error?: string[] | string })?.error || + error.message || + "Unknown error"; + throw new Error(typeof errorMessage === "string" ? errorMessage : String(errorMessage)); + } + throw error; + } +}; diff --git a/frontend/src/hooks/api/appConnections/types/app-options.ts b/frontend/src/hooks/api/appConnections/types/app-options.ts index 1f553f6059..d1c991f348 100644 --- a/frontend/src/hooks/api/appConnections/types/app-options.ts +++ b/frontend/src/hooks/api/appConnections/types/app-options.ts @@ -184,6 +184,10 @@ export type TRedisConnectionOption = TAppConnectionOptionBase & { app: AppConnection.Redis; }; +export type TDNSMadeEasyConnectionOption = TAppConnectionOptionBase & { + app: AppConnection.DNSMadeEasy; +}; + export type TAppConnectionOption = | TAwsConnectionOption | TGitHubConnectionOption @@ -225,7 +229,8 @@ export type TAppConnectionOption = | TOktaConnectionOption | TAzureAdCsConnectionOption | TLaravelForgeConnectionOption - | TChefConnectionOption; + | TChefConnectionOption + | TDNSMadeEasyConnectionOption; export type TAppConnectionOptionMap = { [AppConnection.AWS]: TAwsConnectionOption; @@ -257,6 +262,7 @@ export type TAppConnectionOptionMap = { [AppConnection.Flyio]: TFlyioConnectionOption; [AppConnection.GitLab]: TGitlabConnectionOption; [AppConnection.Cloudflare]: TCloudflareConnectionOption; + [AppConnection.DNSMadeEasy]: TDNSMadeEasyConnectionOption; [AppConnection.Bitbucket]: TBitbucketConnectionOption; [AppConnection.Zabbix]: TZabbixConnectionOption; [AppConnection.Railway]: TRailwayConnectionOption; From 924d0298896086ee2b8a7ed5378502165063d18f Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 09:56:24 -0800 Subject: [PATCH 077/109] Implement listing zone --- .../dns-made-easy-connection-fns.ts | 40 +++++++++++++++---- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts index d42ee465ef..40fda4fb26 100644 --- a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts +++ b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts @@ -60,12 +60,6 @@ export const getDNSMadeEasyConnectionListItem = () => { }; export const listDNSMadeEasyZones = async (appConnection: TDNSMadeEasyConnection): Promise => { - // TODO: Implement DNS Made Easy zones listing - // This should call the DNS Made Easy API to list all zones/domains - // Example API endpoint: GET https://api.dnsmadeeasy.com/V2.0/dns/managed - // Authentication: Use API key and secret from appConnection.credentials - // Return format: Array of { id: string, name: string } - if (appConnection.method !== DNSMadeEasyConnectionMethod.APIKeySecret) { throw new Error("Unsupported DNS Made Easy connection method"); } @@ -75,10 +69,42 @@ export const listDNSMadeEasyZones = async (appConnection: TDNSMadeEasyConnection } = appConnection; try { - // TODO: const allZones: TDNSMadeEasyZone[] = []; + let currentPage = 0; + let totalPages = 1; + + // Fetch all pages of zones + while (currentPage < totalPages) { + // eslint-disable-next-line no-await-in-loop + const resp = await request.get(getDNSMadeEasyUrl("/V2.0/dns/managed/"), { + headers: { + ...makeDNSMadeEasyAuthHeaders(apiKey, secretKey), + Accept: "application/json" + }, + params: { + page: currentPage + } + }); + + if (resp.data?.data) { + // Map the API response to TDNSMadeEasyZone format + const zones = resp.data.data.map((zone) => ({ + id: String(zone.id), + name: zone.name + })); + allZones.push(...zones); + + // Update pagination info + totalPages = resp.data.totalPages || 1; + currentPage += 1; + } else { + break; + } + } + return allZones; } catch (error: unknown) { + logger.error(error, "Error listing DNS Made Easy zones"); if (error instanceof AxiosError) { throw new BadRequestError({ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access From b4e16fa1f4dc5fb449b59d1c8b65a04a3cc67ac9 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 10:19:26 -0800 Subject: [PATCH 078/109] Fix insert and del --- .../dns-made-easy-connection-router.ts | 1 - .../acme/dns-providers/dns-made-easy.ts | 5 ++++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/backend/src/server/routes/v1/app-connection-routers/dns-made-easy-connection-router.ts b/backend/src/server/routes/v1/app-connection-routers/dns-made-easy-connection-router.ts index 398bd860e0..e1e0b2860a 100644 --- a/backend/src/server/routes/v1/app-connection-routers/dns-made-easy-connection-router.ts +++ b/backend/src/server/routes/v1/app-connection-routers/dns-made-easy-connection-router.ts @@ -44,7 +44,6 @@ export const registerDNSMadeEasyConnectionRouter = async (server: FastifyZodProv onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { const { connectionId } = req.params; - const zones = await server.services.appConnection.dnsMadeEasy.listZones(connectionId, req.permission); return zones; } diff --git a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts index 899f4aaf13..b3278e5d37 100644 --- a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts +++ b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts @@ -5,6 +5,7 @@ import { request } from "@app/lib/config/request"; import { crypto } from "@app/lib/crypto/cryptography"; import { TDNSMadeEasyConnection } from "@app/services/app-connection/dns-made-easy/dns-made-easy-connection-types"; import { IntegrationUrls } from "@app/services/integration-auth/integration-list"; +import { logger } from "@app/lib/logger"; const getDNSMadeEasyUrl = (path: string) => { const appCfg = getConfig(); @@ -100,7 +101,7 @@ export const dnsMadeEasyDeleteTxtRecord = async ( if (Array.isArray(dnsRecords) && dnsRecords.length > 0) { const recordToDelete = dnsRecords.find( - (record) => record.type === "TXT" && record.name === domain && record.value === value + (record) => record.type === "TXT" && record.name === domain && JSON.parse(record.value) === value ); if (recordToDelete) { @@ -113,6 +114,8 @@ export const dnsMadeEasyDeleteTxtRecord = async ( } } ); + } else { + logger.warn({ domain, value }, `Record to delete not found for domain: ${domain} and value: ${value}`); } } } catch (error) { From 5aa52570736387a23dd7b4b21ae14b1c3ab5a9be Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 10:29:01 -0800 Subject: [PATCH 079/109] Ignore duplicate error --- .../acme/dns-providers/dns-made-easy.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts index b3278e5d37..ebd9105ae2 100644 --- a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts +++ b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts @@ -66,6 +66,12 @@ export const dnsMadeEasyInsertTxtRecord = async ( (error.response?.data as { error?: string[] | string })?.error || error.message || "Unknown error"; + + if (error.status === 400 && error.message.includes("already exists")) { + logger.info({ domain, value }, `Record already exists for domain: ${domain} and value: ${value}`); + return; + } + throw new Error(typeof errorMessage === "string" ? errorMessage : String(errorMessage)); } throw error; From 08d9c4748520ae4732e6d11a6c6b38e8256946b9 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 10:36:51 -0800 Subject: [PATCH 080/109] Add options --- .../components/ExternalCaModal.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx index e24cc6881d..58aa2ba533 100644 --- a/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx +++ b/frontend/src/pages/cert-manager/CertificateAuthoritiesPage/components/ExternalCaModal.tsx @@ -229,7 +229,11 @@ export const ExternalCaModal = ({ popUp, handlePopUpToggle }: Props) => { if (caType === CaType.AZURE_AD_CS) { return availableAzureConnections || []; } - return [...(availableRoute53Connections || []), ...(availableCloudflareConnections || [])]; + return [ + ...(availableRoute53Connections || []), + ...(availableCloudflareConnections || []), + ...(availableDNSMadeEasyConnections || []) + ]; }, [ caType, availableRoute53Connections, From acca6f23237ab36ee1ca9c931f47ab2012b4f561 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 10:49:26 -0800 Subject: [PATCH 081/109] export --- .../dns-made-easy-connection-fns.ts | 2 +- .../acme/dns-providers/dns-made-easy.ts | 34 +++---------------- 2 files changed, 6 insertions(+), 30 deletions(-) diff --git a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts index 40fda4fb26..2707f16371 100644 --- a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts +++ b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts @@ -26,7 +26,7 @@ interface DNSMadeEasyApiResponse { page: number; } -const getDNSMadeEasyUrl = (path: string) => { +export const getDNSMadeEasyUrl = (path: string) => { const appCfg = getConfig(); return `${appCfg.DNS_MADE_EASY_SANDBOX_ENABLED ? IntegrationUrls.DNS_MADE_EASY_SANDBOX_API_URL : IntegrationUrls.DNS_MADE_EASY_API_URL}${path}`; }; diff --git a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts index ebd9105ae2..2824e00059 100644 --- a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts +++ b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts @@ -1,36 +1,12 @@ import axios from "axios"; -import { getConfig } from "@app/lib/config/env"; import { request } from "@app/lib/config/request"; -import { crypto } from "@app/lib/crypto/cryptography"; -import { TDNSMadeEasyConnection } from "@app/services/app-connection/dns-made-easy/dns-made-easy-connection-types"; -import { IntegrationUrls } from "@app/services/integration-auth/integration-list"; import { logger } from "@app/lib/logger"; - -const getDNSMadeEasyUrl = (path: string) => { - const appCfg = getConfig(); - return `${appCfg.DNS_MADE_EASY_SANDBOX_ENABLED ? IntegrationUrls.DNS_MADE_EASY_SANDBOX_API_URL : IntegrationUrls.DNS_MADE_EASY_API_URL}${path}`; -}; - -const makeDNSMadeEasyAuthHeaders = ( - apiKey: string, - secretKey: string, - currentDate: Date = new Date() -): Record => { - // Format date as "Day, DD Mon YYYY HH:MM:SS GMT" (e.g., "Mon, 01 Jan 2024 12:00:00 GMT") - const requestDate = currentDate.toUTCString(); - - // Generate HMAC-SHA1 signature - const hmac = crypto.nativeCrypto.createHmac("sha1", secretKey); - hmac.update(requestDate); - const hmacSignature = hmac.digest("hex"); - - return { - "x-dnsme-apiKey": apiKey, - "x-dnsme-hmac": hmacSignature, - "x-dnsme-requestDate": requestDate - }; -}; +import { + getDNSMadeEasyUrl, + makeDNSMadeEasyAuthHeaders +} from "@app/services/app-connection/dns-made-easy/dns-made-easy-connection-fns"; +import { TDNSMadeEasyConnection } from "@app/services/app-connection/dns-made-easy/dns-made-easy-connection-types"; export const dnsMadeEasyInsertTxtRecord = async ( connection: TDNSMadeEasyConnection, From 8c59579e1e57924be9690e81f41a0c557fef254b Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 11:40:31 -0800 Subject: [PATCH 082/109] Fix wrong record name for dnsme --- .../acme/acme-certificate-authority-fns.ts | 6 +++++- .../acme/dns-providers/dns-made-easy.ts | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts index 8dbb9512fe..445a2f0326 100644 --- a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts +++ b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts @@ -243,7 +243,11 @@ export const orderCertificate = async ( throw new Error("Unsupported challenge type"); } - const recordName = `_acme-challenge.${authz.identifier.value}`; // e.g., "_acme-challenge.example.com" + let recordName = `_acme-challenge.${authz.identifier.value}`; // e.g., "_acme-challenge.example.com" + if (acmeCa.configuration.dnsProviderConfig.provider === AcmeDnsProvider.DNSMadeEasy) { + // For DNS Made Easy, we don't need to provide the domain name in the record name. + recordName = "_acme-challenge"; + } const recordValue = `"${keyAuthorization}"`; // must be double quoted switch (acmeCa.configuration.dnsProviderConfig.provider) { diff --git a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts index 2824e00059..87c21e264e 100644 --- a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts +++ b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts @@ -18,6 +18,7 @@ export const dnsMadeEasyInsertTxtRecord = async ( credentials: { apiKey, secretKey } } = connection; + logger.info({ hostedZoneId, domain, value }, "Inserting TXT record for DNS Made Easy"); try { await request.post( getDNSMadeEasyUrl(`/V2.0/dns/managed/${encodeURIComponent(hostedZoneId)}/records`), @@ -64,6 +65,7 @@ export const dnsMadeEasyDeleteTxtRecord = async ( credentials: { apiKey, secretKey } } = connection; + logger.info({ hostedZoneId, domain, value }, "Deleting TXT record for DNS Made Easy"); try { // First, list records to find the record ID const listRecordsResponse = await request.get<{ From 6b4d5c95f3bace48dc0ba5ace4df82f1d045a96c Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 12:10:30 -0800 Subject: [PATCH 083/109] Add DNS made easy for PKI type --- backend/src/services/app-connection/app-connection-fns.ts | 6 +++--- .../acme/dns-providers/dns-made-easy.ts | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/backend/src/services/app-connection/app-connection-fns.ts b/backend/src/services/app-connection/app-connection-fns.ts index a5d9c1ed88..145c6c3edc 100644 --- a/backend/src/services/app-connection/app-connection-fns.ts +++ b/backend/src/services/app-connection/app-connection-fns.ts @@ -176,7 +176,8 @@ const PKI_APP_CONNECTIONS = [ AppConnection.Cloudflare, AppConnection.AzureADCS, AppConnection.AzureKeyVault, - AppConnection.Chef + AppConnection.Chef, + AppConnection.DNSMadeEasy ]; export const listAppConnectionOptions = (projectType?: ProjectType) => { @@ -223,8 +224,7 @@ export const listAppConnectionOptions = (projectType?: ProjectType) => { getNorthflankConnectionListItem(), getOktaConnectionListItem(), getRedisConnectionListItem(), - getChefConnectionListItem(), - getDNSMadeEasyConnectionListItem() + getChefConnectionListItem() ] .filter((option) => { switch (projectType) { diff --git a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts index 87c21e264e..7dd405a5a7 100644 --- a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts +++ b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts @@ -18,7 +18,7 @@ export const dnsMadeEasyInsertTxtRecord = async ( credentials: { apiKey, secretKey } } = connection; - logger.info({ hostedZoneId, domain, value }, "Inserting TXT record for DNS Made Easy"); + logger.info({ hostedZoneId, domain }, "Inserting TXT record for DNS Made Easy"); try { await request.post( getDNSMadeEasyUrl(`/V2.0/dns/managed/${encodeURIComponent(hostedZoneId)}/records`), @@ -65,7 +65,7 @@ export const dnsMadeEasyDeleteTxtRecord = async ( credentials: { apiKey, secretKey } } = connection; - logger.info({ hostedZoneId, domain, value }, "Deleting TXT record for DNS Made Easy"); + logger.info({ hostedZoneId, domain }, "Deleting TXT record for DNS Made Easy"); try { // First, list records to find the record ID const listRecordsResponse = await request.get<{ From 4722f1f1f357a51042c80881ab2bd2a83939178e Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 15:41:54 -0800 Subject: [PATCH 084/109] Import order --- backend/src/services/app-connection/app-connection-fns.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/services/app-connection/app-connection-fns.ts b/backend/src/services/app-connection/app-connection-fns.ts index 145c6c3edc..d8af3773b2 100644 --- a/backend/src/services/app-connection/app-connection-fns.ts +++ b/backend/src/services/app-connection/app-connection-fns.ts @@ -11,8 +11,8 @@ import { validateOCIConnectionCredentials } from "@app/ee/services/app-connections/oci"; import { getOracleDBConnectionListItem, OracleDBConnectionMethod } from "@app/ee/services/app-connections/oracledb"; -import { TGatewayV2ServiceFactory } from "@app/ee/services/gateway-v2/gateway-v2-service"; import { TGatewayServiceFactory } from "@app/ee/services/gateway/gateway-service"; +import { TGatewayV2ServiceFactory } from "@app/ee/services/gateway-v2/gateway-v2-service"; import { TLicenseServiceFactory } from "@app/ee/services/license/license-service"; import { SECRET_ROTATION_CONNECTION_MAP } from "@app/ee/services/secret-rotation-v2/secret-rotation-v2-maps"; import { SECRET_SCANNING_DATA_SOURCE_CONNECTION_MAP } from "@app/ee/services/secret-scanning-v2/secret-scanning-v2-maps"; From 9ba677ff2bf6b34438896297638f1712e366223d Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 15:45:09 -0800 Subject: [PATCH 085/109] Add missing dns made easy stuff --- .../api/appConnections/dns-made-easy/index.ts | 2 + .../appConnections/dns-made-easy/queries.tsx | 37 +++++++++++++++++++ .../api/appConnections/dns-made-easy/types.ts | 4 ++ 3 files changed, 43 insertions(+) create mode 100644 frontend/src/hooks/api/appConnections/dns-made-easy/index.ts create mode 100644 frontend/src/hooks/api/appConnections/dns-made-easy/queries.tsx create mode 100644 frontend/src/hooks/api/appConnections/dns-made-easy/types.ts diff --git a/frontend/src/hooks/api/appConnections/dns-made-easy/index.ts b/frontend/src/hooks/api/appConnections/dns-made-easy/index.ts new file mode 100644 index 0000000000..2c1906d369 --- /dev/null +++ b/frontend/src/hooks/api/appConnections/dns-made-easy/index.ts @@ -0,0 +1,2 @@ +export * from "./queries"; +export * from "./types"; diff --git a/frontend/src/hooks/api/appConnections/dns-made-easy/queries.tsx b/frontend/src/hooks/api/appConnections/dns-made-easy/queries.tsx new file mode 100644 index 0000000000..6a5df54ac0 --- /dev/null +++ b/frontend/src/hooks/api/appConnections/dns-made-easy/queries.tsx @@ -0,0 +1,37 @@ +import { useQuery, UseQueryOptions } from "@tanstack/react-query"; + +import { apiRequest } from "@app/config/request"; + +import { appConnectionKeys } from "../queries"; +import { TDNSMadeEasyZone } from "./types"; + +const dnsMadeEasyConnectionKeys = { + all: [...appConnectionKeys.all, "dns-made-easy"] as const, + listZones: (connectionId: string) => + [...dnsMadeEasyConnectionKeys.all, "zones", connectionId] as const +}; + +export const useDNSMadeEasyConnectionListZones = ( + connectionId: string, + options?: Omit< + UseQueryOptions< + TDNSMadeEasyZone[], + unknown, + TDNSMadeEasyZone[], + ReturnType + >, + "queryKey" | "queryFn" + > +) => { + return useQuery({ + queryKey: dnsMadeEasyConnectionKeys.listZones(connectionId), + queryFn: async () => { + const { data } = await apiRequest.get( + `/api/v1/app-connections/dns-made-easy/${connectionId}/dns-made-easy-zones` + ); + + return data; + }, + ...options + }); +}; diff --git a/frontend/src/hooks/api/appConnections/dns-made-easy/types.ts b/frontend/src/hooks/api/appConnections/dns-made-easy/types.ts new file mode 100644 index 0000000000..dcf66c1dd0 --- /dev/null +++ b/frontend/src/hooks/api/appConnections/dns-made-easy/types.ts @@ -0,0 +1,4 @@ +export type TDNSMadeEasyZone = { + id: string; + name: string; +}; From a5554c02d579a861fb17449704b06034d3915995 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 16:48:57 -0800 Subject: [PATCH 086/109] Add dns made easy test --- .../bdd/features/pki/acme/external-ca.feature | 183 +++++++++++++++++- backend/bdd/features/steps/pki_acme.py | 34 ++++ 2 files changed, 216 insertions(+), 1 deletion(-) diff --git a/backend/bdd/features/pki/acme/external-ca.feature b/backend/bdd/features/pki/acme/external-ca.feature index 26bfd84ad4..8007e8d4f0 100644 --- a/backend/bdd/features/pki/acme/external-ca.feature +++ b/backend/bdd/features/pki/acme/external-ca.feature @@ -1,6 +1,7 @@ Feature: External CA - Scenario: Issue a certificate from an external CA + @cloudflare + Scenario: Issue a certificate from an external CA with Cloudflare Given I create a Cloudflare connection as cloudflare Then I memorize cloudflare with jq ".appConnection.id" as app_conn_id Given I create a external ACME CA with the following config as ext_ca @@ -172,6 +173,186 @@ Feature: External CA And the value finalized_order.body with jq ".status" should be equal to "valid" And I parse the full-chain certificate from order finalized_order as cert # Note: somehow Pebble is issuing a cert without common name but just SANs + And the value cert with jq "[.extensions.subjectAltName.general_names.[].value] | sort" should be equal to json + """ + [ + "localhost" + ] + """ + + @dnsme + Scenario: Issue a certificate from an external CA with DNS Made Easy + Given I create a DNS Made Easy connection as dnsme + Then I memorize dnsme with jq ".appConnection.id" as app_conn_id + Given I create a external ACME CA with the following config as ext_ca + """ + { + "dnsProviderConfig": { + "provider": "dns-made-easy", + "hostedZoneId": "MOCK_ZONE_ID" + }, + "directoryUrl": "{PEBBLE_URL}", + "accountEmail": "fangpen@infisical.com", + "dnsAppConnectionId": "{app_conn_id}", + "eabKid": "", + "eabHmacKey": "" + } + """ + Then I memorize ext_ca with jq ".id" as ext_ca_id + Given I create a certificate template with the following config as cert_template + """ + { + "subject": [ + { + "type": "common_name", + "allowed": [ + "*" + ] + } + ], + "sans": [ + { + "type": "dns_name", + "allowed": [ + "*" + ] + } + ], + "keyUsages": { + "required": [], + "allowed": [ + "digital_signature", + "key_encipherment", + "non_repudiation", + "data_encipherment", + "key_agreement", + "key_cert_sign", + "crl_sign", + "encipher_only", + "decipher_only" + ] + }, + "extendedKeyUsages": { + "required": [], + "allowed": [ + "client_auth", + "server_auth", + "code_signing", + "email_protection", + "ocsp_signing", + "time_stamping" + ] + }, + "algorithms": { + "signature": [ + "SHA256-RSA", + "SHA512-RSA", + "SHA384-ECDSA", + "SHA384-RSA", + "SHA256-ECDSA", + "SHA512-ECDSA" + ], + "keyAlgorithm": [ + "RSA-2048", + "RSA-4096", + "ECDSA-P384", + "RSA-3072", + "ECDSA-P256", + "ECDSA-P521" + ] + }, + "validity": { + "max": "365d" + } + } + """ + Then I memorize cert_template with jq ".certificateTemplate.id" as cert_template_id + Given I create an ACME profile with ca {ext_ca_id} and template {cert_template_id} as "acme_profile" + When I have an ACME client connecting to "{BASE_URL}/api/v1/pki/acme/profiles/{acme_profile.id}/directory" + Then I register a new ACME account with email fangpen@infisical.com and EAB key id "{acme_profile.eab_kid}" with secret "{acme_profile.eab_secret}" as acme_account + When I create certificate signing request as csr + Then I add names to certificate signing request csr + """ + { + "COMMON_NAME": "localhost" + } + """ + # Pebble has a strict rule to only takes SANs + Then I add subject alternative name to certificate signing request csr + """ + [ + "localhost" + ] + """ + And I create a RSA private key pair as cert_key + And I sign the certificate signing request csr with private key cert_key and output it as csr_pem in PEM format + And I submit the certificate signing request PEM csr_pem certificate order to the ACME server as order + And I select challenge with type http-01 for domain localhost from order in order as challenge + And I serve challenge response for challenge at localhost + And I tell ACME server that challenge is ready to be verified + Given I intercept outgoing requests + """ + [ + { + "scope": "https://api.dnsmadeeasy.com:443", + "method": "POST", + "path": "/V2.0/dns/managed/MOCK_ZONE_ID/records", + "status": 201, + "response": { + "gtdLocation": "DEFAULT", + "failed": false, + "monitor": false, + "failover": false, + "sourceId": 895364, + "dynamicDns": false, + "hardLink": false, + "ttl": 60, + "source": 1, + "name": "_acme-challenge", + "value": "\"MOCK_HTTP_01_VALUE\"", + "id": 12345678, + "type": "TXT" + }, + "responseIsBinary": false + }, + { + "scope": "https://api.dnsmadeeasy.com:443", + "method": "GET", + "path": "/V2.0/dns/managed/MOCK_ZONE_ID/records", + "status": 200, + "response": { + "totalRecords": 1, + "totalPages": 1, + "data": [ + { + "processMulti": false, + "activeThirdParties": [], + "folderId": 2702, + "pendingActionId": 0, + "gtdEnabled": false, + "updated": 1763767936141, + "created": 1763596800000, + "name": "localhost", + "id": 1111111 + } + ], + "page": 0 + }, + "responseIsBinary": false + }, + { + "scope": "https://api.dnsmadeeasy.com:443", + "method": "DELETE", + "path": "/V2.0/dns/managed/MOCK_ZONE_ID/records/1111111", + "status": 200, + "response": "", + "responseIsBinary": false + } + ] + """ + Then I poll and finalize the ACME order order as finalized_order + And the value finalized_order.body with jq ".status" should be equal to "valid" + And I parse the full-chain certificate from order finalized_order as cert And the value cert with jq "[.extensions.subjectAltName.general_names.[].value] | sort" should be equal to json """ [ diff --git a/backend/bdd/features/steps/pki_acme.py b/backend/bdd/features/steps/pki_acme.py index 353ec942da..8a2f433f90 100644 --- a/backend/bdd/features/steps/pki_acme.py +++ b/backend/bdd/features/steps/pki_acme.py @@ -147,6 +147,40 @@ def step_impl(context: Context, var_name: str): context.vars[var_name] = response +@given("I create a DNS Made Easy connection as {var_name}") +def step_impl(context: Context, var_name: str): + jwt_token = context.vars["AUTH_TOKEN"] + conn_slug = faker.slug() + with with_nocks( + context, + definitions=[ + { + "scope": "https://api.dnsmadeeasy.com:443", + "method": "GET", + "path": "/V2.0/dns/managed/", + "status": 200, + "response": {"totalRecords": 0, "totalPages": 1, "data": [], "page": 0}, + "responseIsBinary": False, + } + ], + ): + response = context.http_client.post( + "/api/v1/app-connections/dns-made-easy", + headers=dict(authorization="Bearer {}".format(jwt_token)), + json={ + "name": conn_slug, + "description": "", + "method": "api-token", + "credentials": { + "apiKey": "MOCK_API_KEY", + "secretKey": "MOCK_SECRET_KEY", + }, + }, + ) + response.raise_for_status() + context.vars[var_name] = response + + @given("I create a external ACME CA with the following config as {var_name}") def step_impl(context: Context, var_name: str): jwt_token = context.vars["AUTH_TOKEN"] From 5badff83500e99dfd1e1699e44b0af698ed2946b Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 17:11:49 -0800 Subject: [PATCH 087/109] Create with api-key-secret instead --- backend/bdd/features/steps/pki_acme.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/bdd/features/steps/pki_acme.py b/backend/bdd/features/steps/pki_acme.py index 8a2f433f90..7e2d074761 100644 --- a/backend/bdd/features/steps/pki_acme.py +++ b/backend/bdd/features/steps/pki_acme.py @@ -170,7 +170,7 @@ def step_impl(context: Context, var_name: str): json={ "name": conn_slug, "description": "", - "method": "api-token", + "method": "api-key-secret", "credentials": { "apiKey": "MOCK_API_KEY", "secretKey": "MOCK_SECRET_KEY", From 81aa1b1a3870340ec43db60c5411b313a616c12d Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 18:04:49 -0800 Subject: [PATCH 088/109] Add listDNSMadeEasyRecords --- .../dns-made-easy-connection-fns.ts | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts index 2707f16371..fb2be9a8aa 100644 --- a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts +++ b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts @@ -117,6 +117,74 @@ export const listDNSMadeEasyZones = async (appConnection: TDNSMadeEasyConnection } }; +export const listDNSMadeEasyRecords = async ( + appConnection: TDNSMadeEasyConnection, + options: { zoneId: string; type?: string; name?: string } +): Promise => { + if (appConnection.method !== DNSMadeEasyConnectionMethod.APIKeySecret) { + throw new Error("Unsupported DNS Made Easy connection method"); + } + + const { + credentials: { apiKey, secretKey } + } = appConnection; + const { zoneId, type, name } = options; + + try { + const allRecords: DNSMadeEasyApiResponse["data"] = []; + let currentPage = 0; + let totalPages = 1; + + // Fetch all pages of records + while (currentPage < totalPages) { + // Build query parameters + const queryParams: Array<[string, string | number]> = []; + if (type) { + queryParams.push(["type", type]); + } + if (name) { + queryParams.push(["recordName", name]); + } + queryParams.push(["page", currentPage]); + + // eslint-disable-next-line no-await-in-loop + const resp = await request.get( + getDNSMadeEasyUrl(`/V2.0/dns/managed/${encodeURIComponent(zoneId)}/records`), + { + headers: { + ...makeDNSMadeEasyAuthHeaders(apiKey, secretKey), + Accept: "application/json" + }, + params: queryParams + } + ); + + if (resp.data?.data) { + allRecords.push(...resp.data.data); + + // Update pagination info + totalPages = resp.data.totalPages || 1; + currentPage += 1; + } else { + break; + } + } + + return allRecords; + } catch (error: unknown) { + logger.error(error, "Error listing DNS Made Easy records"); + if (error instanceof AxiosError) { + throw new BadRequestError({ + // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access + message: `Failed to list DNS Made Easy records: ${error.response?.data?.error?.[0] || error.message || "Unknown error"}` + }); + } + throw new BadRequestError({ + message: "Unable to list DNS Made Easy records" + }); + } +}; + export const validateDNSMadeEasyConnectionCredentials = async (config: TDNSMadeEasyConnectionConfig) => { if (config.method !== DNSMadeEasyConnectionMethod.APIKeySecret) { throw new Error("Unsupported DNS Made Easy connection method"); From b553edc80012925dcfcc6ffc19013b3f368ba9e9 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 18:36:02 -0800 Subject: [PATCH 089/109] Fix records query --- .../dns-made-easy-connection-fns.ts | 12 ++++++------ .../acme/dns-providers/dns-made-easy.ts | 17 ++--------------- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts index fb2be9a8aa..850d5ac364 100644 --- a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts +++ b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts @@ -21,7 +21,8 @@ interface DNSMadeEasyApiResponse { data: Array<{ id: number; name: string; - [key: string]: unknown; + type: string; + value: string; }>; page: number; } @@ -124,7 +125,6 @@ export const listDNSMadeEasyRecords = async ( if (appConnection.method !== DNSMadeEasyConnectionMethod.APIKeySecret) { throw new Error("Unsupported DNS Made Easy connection method"); } - const { credentials: { apiKey, secretKey } } = appConnection; @@ -138,14 +138,14 @@ export const listDNSMadeEasyRecords = async ( // Fetch all pages of records while (currentPage < totalPages) { // Build query parameters - const queryParams: Array<[string, string | number]> = []; + const queryParams: Record = {}; if (type) { - queryParams.push(["type", type]); + queryParams.type = type; } if (name) { - queryParams.push(["recordName", name]); + queryParams.recordName = name; } - queryParams.push(["page", currentPage]); + queryParams.page = currentPage; // eslint-disable-next-line no-await-in-loop const resp = await request.get( diff --git a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts index 7dd405a5a7..9356f8c423 100644 --- a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts +++ b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts @@ -4,6 +4,7 @@ import { request } from "@app/lib/config/request"; import { logger } from "@app/lib/logger"; import { getDNSMadeEasyUrl, + listDNSMadeEasyRecords, makeDNSMadeEasyAuthHeaders } from "@app/services/app-connection/dns-made-easy/dns-made-easy-connection-fns"; import { TDNSMadeEasyConnection } from "@app/services/app-connection/dns-made-easy/dns-made-easy-connection-types"; @@ -67,21 +68,7 @@ export const dnsMadeEasyDeleteTxtRecord = async ( logger.info({ hostedZoneId, domain }, "Deleting TXT record for DNS Made Easy"); try { - // First, list records to find the record ID - const listRecordsResponse = await request.get<{ - data: Array<{ id: number; type: string; name: string; value: string }>; - }>(getDNSMadeEasyUrl(`/V2.0/dns/managed/${encodeURIComponent(hostedZoneId)}/records`), { - headers: { - ...makeDNSMadeEasyAuthHeaders(apiKey, secretKey), - Accept: "application/json" - }, - params: { - type: "TXT", - recordName: domain - } - }); - - const dnsRecords = listRecordsResponse.data?.data; + const dnsRecords = await listDNSMadeEasyRecords(connection, { zoneId: hostedZoneId, type: "TXT", name: domain }); if (Array.isArray(dnsRecords) && dnsRecords.length > 0) { const recordToDelete = dnsRecords.find( From 435ef4c5dc4fcacfcfa89eee9b750836fc20034a Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 18:55:57 -0800 Subject: [PATCH 090/109] Better logs --- .../acme/dns-providers/dns-made-easy.ts | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts index 9356f8c423..6744662f10 100644 --- a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts +++ b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts @@ -66,11 +66,12 @@ export const dnsMadeEasyDeleteTxtRecord = async ( credentials: { apiKey, secretKey } } = connection; - logger.info({ hostedZoneId, domain }, "Deleting TXT record for DNS Made Easy"); + logger.info({ zoneId: hostedZoneId, domain }, "Deleting TXT record for DNS Made Easy"); try { const dnsRecords = await listDNSMadeEasyRecords(connection, { zoneId: hostedZoneId, type: "TXT", name: domain }); - if (Array.isArray(dnsRecords) && dnsRecords.length > 0) { + let foundRecord = false; + if (dnsRecords.length > 0) { const recordToDelete = dnsRecords.find( (record) => record.type === "TXT" && record.name === domain && JSON.parse(record.value) === value ); @@ -85,10 +86,12 @@ export const dnsMadeEasyDeleteTxtRecord = async ( } } ); - } else { - logger.warn({ domain, value }, `Record to delete not found for domain: ${domain} and value: ${value}`); + foundRecord = true; } } + if (!foundRecord) { + logger.warn({ zoneId: hostedZoneId, domain, value }, "Record to delete not found"); + } } catch (error) { if (axios.isAxiosError(error)) { const errorMessage = From f2cc6588c371b2b5485c95789ddbf78113c29650 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 19:05:39 -0800 Subject: [PATCH 091/109] Log, add query for nock --- backend/bdd/features/pki/acme/external-ca.feature | 1 + .../acme/dns-providers/dns-made-easy.ts | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/backend/bdd/features/pki/acme/external-ca.feature b/backend/bdd/features/pki/acme/external-ca.feature index 8007e8d4f0..8fcdb9a724 100644 --- a/backend/bdd/features/pki/acme/external-ca.feature +++ b/backend/bdd/features/pki/acme/external-ca.feature @@ -319,6 +319,7 @@ Feature: External CA "scope": "https://api.dnsmadeeasy.com:443", "method": "GET", "path": "/V2.0/dns/managed/MOCK_ZONE_ID/records", + "query": {"type": "TXT", "recordName": "_acme-challenge"}, "status": 200, "response": { "totalRecords": 1, diff --git a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts index 6744662f10..7fda6561d2 100644 --- a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts +++ b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts @@ -19,7 +19,7 @@ export const dnsMadeEasyInsertTxtRecord = async ( credentials: { apiKey, secretKey } } = connection; - logger.info({ hostedZoneId, domain }, "Inserting TXT record for DNS Made Easy"); + logger.info({ hostedZoneId, domain, value }, "Inserting TXT record for DNS Made Easy"); try { await request.post( getDNSMadeEasyUrl(`/V2.0/dns/managed/${encodeURIComponent(hostedZoneId)}/records`), @@ -66,7 +66,7 @@ export const dnsMadeEasyDeleteTxtRecord = async ( credentials: { apiKey, secretKey } } = connection; - logger.info({ zoneId: hostedZoneId, domain }, "Deleting TXT record for DNS Made Easy"); + logger.info({ hostedZoneId, domain, value }, "Deleting TXT record for DNS Made Easy"); try { const dnsRecords = await listDNSMadeEasyRecords(connection, { zoneId: hostedZoneId, type: "TXT", name: domain }); @@ -90,7 +90,7 @@ export const dnsMadeEasyDeleteTxtRecord = async ( } } if (!foundRecord) { - logger.warn({ zoneId: hostedZoneId, domain, value }, "Record to delete not found"); + logger.warn({ hostedZoneId, domain, value }, "Record to delete not found"); } } catch (error) { if (axios.isAxiosError(error)) { From 46ca9f0ff46f886d352aeed40c4b08cd39c4ed76 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 19:22:57 -0800 Subject: [PATCH 092/109] Try to fix query --- backend/bdd/features/pki/acme/external-ca.feature | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/bdd/features/pki/acme/external-ca.feature b/backend/bdd/features/pki/acme/external-ca.feature index 8fcdb9a724..db68c61343 100644 --- a/backend/bdd/features/pki/acme/external-ca.feature +++ b/backend/bdd/features/pki/acme/external-ca.feature @@ -319,7 +319,7 @@ Feature: External CA "scope": "https://api.dnsmadeeasy.com:443", "method": "GET", "path": "/V2.0/dns/managed/MOCK_ZONE_ID/records", - "query": {"type": "TXT", "recordName": "_acme-challenge"}, + "query": {"type": "TXT", "recordName": "_acme-challenge", "page": "0"}, "status": 200, "response": { "totalRecords": 1, From f7f8fd2595af81e2a8d78342a1017bdce7472adc Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 19:31:24 -0800 Subject: [PATCH 093/109] Fix path mock --- .../bdd/features/pki/acme/external-ca.feature | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/backend/bdd/features/pki/acme/external-ca.feature b/backend/bdd/features/pki/acme/external-ca.feature index db68c61343..e46acca3aa 100644 --- a/backend/bdd/features/pki/acme/external-ca.feature +++ b/backend/bdd/features/pki/acme/external-ca.feature @@ -318,23 +318,26 @@ Feature: External CA { "scope": "https://api.dnsmadeeasy.com:443", "method": "GET", - "path": "/V2.0/dns/managed/MOCK_ZONE_ID/records", - "query": {"type": "TXT", "recordName": "_acme-challenge", "page": "0"}, + "path": "/V2.0/dns/managed/MOCK_ZONE_ID/records?type=TXT&recordName=_acme-challenge&page=0", "status": 200, "response": { "totalRecords": 1, "totalPages": 1, "data": [ { - "processMulti": false, - "activeThirdParties": [], - "folderId": 2702, - "pendingActionId": 0, - "gtdEnabled": false, - "updated": 1763767936141, - "created": 1763596800000, - "name": "localhost", - "id": 1111111 + "gtdLocation": "DEFAULT", + "failed": false, + "monitor": false, + "failover": false, + "sourceId": 895364, + "dynamicDns": false, + "hardLink": false, + "ttl": 60, + "source": 1, + "name": "_acme-challenge", + "value": "\"MOCK_CHALLENGE_VALUE\"", + "id": 1111111, + "type": "TXT" } ], "page": 0 From 13022adc5ec07f1974e336d50201d3ae3cd60660 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 21:18:35 -0800 Subject: [PATCH 094/109] Try to see if we can avoid timestamp issue --- .../dns-made-easy/dns-made-easy-connection-fns.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts index 850d5ac364..b66d6eb9cd 100644 --- a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts +++ b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts @@ -35,10 +35,10 @@ export const getDNSMadeEasyUrl = (path: string) => { export const makeDNSMadeEasyAuthHeaders = ( apiKey: string, secretKey: string, - currentDate: Date = new Date() + currentDate?: Date ): Record => { // Format date as "Day, DD Mon YYYY HH:MM:SS GMT" (e.g., "Mon, 01 Jan 2024 12:00:00 GMT") - const requestDate = currentDate.toUTCString(); + const requestDate = (currentDate ?? new Date()).toUTCString(); // Generate HMAC-SHA1 signature const hmac = crypto.nativeCrypto.createHmac("sha1", secretKey); From 606a5848f26eca17839755f4eb8ab1b94dd212ec Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 21:42:01 -0800 Subject: [PATCH 095/109] Add external ca cases for absent CN --- .../bdd/features/pki/acme/external-ca.feature | 24 ++++++++++++------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/backend/bdd/features/pki/acme/external-ca.feature b/backend/bdd/features/pki/acme/external-ca.feature index e46acca3aa..f809b36865 100644 --- a/backend/bdd/features/pki/acme/external-ca.feature +++ b/backend/bdd/features/pki/acme/external-ca.feature @@ -1,7 +1,7 @@ Feature: External CA @cloudflare - Scenario: Issue a certificate from an external CA with Cloudflare + Scenario Outline: Issue a certificate from an external CA with Cloudflare Given I create a Cloudflare connection as cloudflare Then I memorize cloudflare with jq ".appConnection.id" as app_conn_id Given I create a external ACME CA with the following config as ext_ca @@ -93,9 +93,7 @@ Feature: External CA When I create certificate signing request as csr Then I add names to certificate signing request csr """ - { - "COMMON_NAME": "localhost" - } + """ # Pebble has a strict rule to only takes SANs Then I add subject alternative name to certificate signing request csr @@ -180,8 +178,13 @@ Feature: External CA ] """ + Examples: + | subject | + | {"COMMON_NAME": "localhost"} | + | {} | + @dnsme - Scenario: Issue a certificate from an external CA with DNS Made Easy + Scenario Outline: Issue a certificate from an external CA with DNS Made Easy Given I create a DNS Made Easy connection as dnsme Then I memorize dnsme with jq ".appConnection.id" as app_conn_id Given I create a external ACME CA with the following config as ext_ca @@ -273,9 +276,7 @@ Feature: External CA When I create certificate signing request as csr Then I add names to certificate signing request csr """ - { - "COMMON_NAME": "localhost" - } + """ # Pebble has a strict rule to only takes SANs Then I add subject alternative name to certificate signing request csr @@ -362,4 +363,9 @@ Feature: External CA [ "localhost" ] - """ \ No newline at end of file + """ + + Examples: + | subject | + | {"COMMON_NAME": "localhost"} | + | {} | From 4776de1ba7916cd448cfd6aa45e4674fe3ef37b9 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Fri, 21 Nov 2025 21:42:24 -0800 Subject: [PATCH 096/109] Fix CN missing issue for external CA --- backend/src/ee/services/pki-acme/pki-acme-service.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/src/ee/services/pki-acme/pki-acme-service.ts b/backend/src/ee/services/pki-acme/pki-acme-service.ts index 591cac688d..89ba17dd5a 100644 --- a/backend/src/ee/services/pki-acme/pki-acme-service.ts +++ b/backend/src/ee/services/pki-acme/pki-acme-service.ts @@ -776,7 +776,9 @@ export const pkiAcmeServiceFactory = ({ const cert = await orderCertificate( { caId: certificateAuthority!.id, - commonName: certificateRequest.commonName!, + // It is possible that the CSR does not have a common name, in which case we use an empty string + // (more likely than not for a CSR from a modern ACME client like certbot, cert-manager, etc.) + commonName: certificateRequest.commonName ?? "", altNames: certificateRequest.subjectAlternativeNames?.map((san) => san.value), csr: Buffer.from(csrPem), // TODO: not 100% sure what are these columns for, but let's put the values for common website SSL certs for now From 9266dd10606e10f34e3555e5e2dab304fc2aea2e Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Mon, 24 Nov 2025 10:14:26 -0800 Subject: [PATCH 097/109] Extract getAcmeChallengeRecord --- .../acme/acme-certificate-authority-fns.ts | 34 ++++++++++++++----- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts index 445a2f0326..db4340f4e6 100644 --- a/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts +++ b/backend/src/services/certificate-authority/acme/acme-certificate-authority-fns.ts @@ -122,6 +122,22 @@ export const castDbEntryToAcmeCertificateAuthority = ( }; }; +const getAcmeChallengeRecord = ( + provider: AcmeDnsProvider, + identifierValue: string, + keyAuthorization: string +): { recordName: string; recordValue: string } => { + let recordName: string; + if (provider === AcmeDnsProvider.DNSMadeEasy) { + // For DNS Made Easy, we don't need to provide the domain name in the record name. + recordName = "_acme-challenge"; + } else { + recordName = `_acme-challenge.${identifierValue}`; // e.g., "_acme-challenge.example.com" + } + const recordValue = `"${keyAuthorization}"`; // must be double quoted + return { recordName, recordValue }; +}; + export const orderCertificate = async ( { caId, @@ -243,12 +259,11 @@ export const orderCertificate = async ( throw new Error("Unsupported challenge type"); } - let recordName = `_acme-challenge.${authz.identifier.value}`; // e.g., "_acme-challenge.example.com" - if (acmeCa.configuration.dnsProviderConfig.provider === AcmeDnsProvider.DNSMadeEasy) { - // For DNS Made Easy, we don't need to provide the domain name in the record name. - recordName = "_acme-challenge"; - } - const recordValue = `"${keyAuthorization}"`; // must be double quoted + const { recordName, recordValue } = getAcmeChallengeRecord( + acmeCa.configuration.dnsProviderConfig.provider, + authz.identifier.value, + keyAuthorization + ); switch (acmeCa.configuration.dnsProviderConfig.provider) { case AcmeDnsProvider.Route53: { @@ -284,8 +299,11 @@ export const orderCertificate = async ( } }, challengeRemoveFn: async (authz, challenge, keyAuthorization) => { - const recordName = `_acme-challenge.${authz.identifier.value}`; // e.g., "_acme-challenge.example.com" - const recordValue = `"${keyAuthorization}"`; // must be double quoted + const { recordName, recordValue } = getAcmeChallengeRecord( + acmeCa.configuration.dnsProviderConfig.provider, + authz.identifier.value, + keyAuthorization + ); switch (acmeCa.configuration.dnsProviderConfig.provider) { case AcmeDnsProvider.Route53: { From 928aa07efa16c79a89d0452cb35070b893c7f0e2 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Tue, 25 Nov 2025 08:57:29 -0800 Subject: [PATCH 098/109] Throw bad req error instead --- .../dns-made-easy/dns-made-easy-connection-fns.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts index b66d6eb9cd..9d1941ff3c 100644 --- a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts +++ b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-fns.ts @@ -62,7 +62,7 @@ export const getDNSMadeEasyConnectionListItem = () => { export const listDNSMadeEasyZones = async (appConnection: TDNSMadeEasyConnection): Promise => { if (appConnection.method !== DNSMadeEasyConnectionMethod.APIKeySecret) { - throw new Error("Unsupported DNS Made Easy connection method"); + throw new BadRequestError({ message: "Unsupported DNS Made Easy connection method" }); } const { @@ -123,7 +123,7 @@ export const listDNSMadeEasyRecords = async ( options: { zoneId: string; type?: string; name?: string } ): Promise => { if (appConnection.method !== DNSMadeEasyConnectionMethod.APIKeySecret) { - throw new Error("Unsupported DNS Made Easy connection method"); + throw new BadRequestError({ message: "Unsupported DNS Made Easy connection method" }); } const { credentials: { apiKey, secretKey } @@ -187,7 +187,7 @@ export const listDNSMadeEasyRecords = async ( export const validateDNSMadeEasyConnectionCredentials = async (config: TDNSMadeEasyConnectionConfig) => { if (config.method !== DNSMadeEasyConnectionMethod.APIKeySecret) { - throw new Error("Unsupported DNS Made Easy connection method"); + throw new BadRequestError({ message: "Unsupported DNS Made Easy connection method" }); } const { apiKey, secretKey } = config.credentials; From c25573d364d2d5d0c15de577c4fe3ccf459b0d72 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Tue, 25 Nov 2025 09:06:59 -0800 Subject: [PATCH 099/109] Throw error for listing --- .../dns-made-easy/dns-made-easy-connection-service.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-service.ts b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-service.ts index d5da33c930..b50c9b73c8 100644 --- a/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-service.ts +++ b/backend/src/services/app-connection/dns-made-easy/dns-made-easy-connection-service.ts @@ -1,3 +1,4 @@ +import { BadRequestError } from "@app/lib/errors"; import { logger } from "@app/lib/logger"; import { OrgServiceActor } from "@app/lib/types"; @@ -22,7 +23,9 @@ export const dnsMadeEasyConnectionService = (getAppConnection: TGetAppConnection error, `Failed to list DNS Made Easy zones for DNS Made Easy connection [connectionId=${connectionId}]` ); - return []; + throw new BadRequestError({ + message: `Failed to list DNS Made Easy zones: ${error instanceof Error ? error.message : "Unknown error"}` + }); } }; From e0f5900c0a9aaaf28ca50f27ceeb123344e60c66 Mon Sep 17 00:00:00 2001 From: Piyush Gupta Date: Tue, 25 Nov 2025 22:40:26 +0530 Subject: [PATCH 100/109] fix: populate slug conditionally --- .../AddEnvironmentModal.tsx | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/AddEnvironmentModal.tsx b/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/AddEnvironmentModal.tsx index 95f1ebd471..5ff1a1535a 100644 --- a/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/AddEnvironmentModal.tsx +++ b/frontend/src/pages/secret-manager/SettingsPage/components/EnvironmentSection/AddEnvironmentModal.tsx @@ -32,7 +32,13 @@ type ContentProps = { const Content = ({ onComplete }: ContentProps) => { const { currentProject } = useProject(); const { mutateAsync, isPending } = useCreateWsEnvironment(); - const { control, handleSubmit, setValue } = useForm({ + const { + control, + handleSubmit, + setValue, + getValues, + formState: { dirtyFields } + } = useForm({ resolver: zodResolver(schema) }); @@ -53,9 +59,10 @@ const Content = ({ onComplete }: ContentProps) => { onComplete(env); }; - const handleEnvironmentNameChange = (e: React.ChangeEvent) => { - const { value } = e.target; - setValue("environmentName", value); + const handleEnvironmentNameChange = () => { + if (dirtyFields.environmentSlug) return; + + const value = getValues("environmentName"); setValue("environmentSlug", slugify(value, { lowercase: true })); }; @@ -67,7 +74,13 @@ const Content = ({ onComplete }: ContentProps) => { name="environmentName" render={({ field: { onChange, ...field }, fieldState: { error } }) => ( - + { + onChange(e); + handleEnvironmentNameChange(); + }} + /> )} /> From aca7facaebd7de84205ff31daf7cc4a1dba86a2b Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Tue, 25 Nov 2025 09:37:26 -0800 Subject: [PATCH 101/109] Fix DNS record not deleted bug --- .../certificate-authority/acme/dns-providers/dns-made-easy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts index 7fda6561d2..cbfb26a2ec 100644 --- a/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts +++ b/backend/src/services/certificate-authority/acme/dns-providers/dns-made-easy.ts @@ -73,7 +73,7 @@ export const dnsMadeEasyDeleteTxtRecord = async ( let foundRecord = false; if (dnsRecords.length > 0) { const recordToDelete = dnsRecords.find( - (record) => record.type === "TXT" && record.name === domain && JSON.parse(record.value) === value + (record) => record.type === "TXT" && record.name === domain && record.value === value ); if (recordToDelete) { From b9b97690d3cfb442e7443580bacad243e06f578a Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Tue, 25 Nov 2025 12:40:17 -0800 Subject: [PATCH 102/109] Add DNS made easy doc --- docs/docs.json | 1 + .../dns-made-easy/copy-api-credentials.png | Bin 0 -> 75055 bytes .../dns-made-easy-app-connection-created.png | Bin 0 -> 131556 bytes .../dns-made-easy-app-connection-form.png | Bin 0 -> 153024 bytes .../dns-made-easy-app-connection-select.png | Bin 0 -> 124883 bytes .../generate-new-api-credentials.png | Bin 0 -> 75881 bytes .../dns-made-easy/nav-to-account-info.png | Bin 0 -> 189558 bytes .../app-connections/dns-made-easy.mdx | 59 ++++++++++++++++++ 8 files changed, 60 insertions(+) create mode 100644 docs/images/app-connections/dns-made-easy/copy-api-credentials.png create mode 100644 docs/images/app-connections/dns-made-easy/dns-made-easy-app-connection-created.png create mode 100644 docs/images/app-connections/dns-made-easy/dns-made-easy-app-connection-form.png create mode 100644 docs/images/app-connections/dns-made-easy/dns-made-easy-app-connection-select.png create mode 100644 docs/images/app-connections/dns-made-easy/generate-new-api-credentials.png create mode 100644 docs/images/app-connections/dns-made-easy/nav-to-account-info.png create mode 100644 docs/integrations/app-connections/dns-made-easy.mdx diff --git a/docs/docs.json b/docs/docs.json index 8da9a2a280..5afda101b4 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -118,6 +118,7 @@ "integrations/app-connections/cloudflare", "integrations/app-connections/databricks", "integrations/app-connections/digital-ocean", + "integrations/app-connections/dns-made-easy", "integrations/app-connections/flyio", "integrations/app-connections/gcp", "integrations/app-connections/github", diff --git a/docs/images/app-connections/dns-made-easy/copy-api-credentials.png b/docs/images/app-connections/dns-made-easy/copy-api-credentials.png new file mode 100644 index 0000000000000000000000000000000000000000..5570852947d7f1e0e69e6e3c32af3452fde7a0fe GIT binary patch literal 75055 zcmX`S1ymc+_C1UisNhnH7I$|EUfkU&5L&#rhaxT3;t(KMTeP?ar?hyG7K%%X1t^jd zG$g>sd++!E&RVl(&0RBh-MMqmzGu$aJITmE^U1?!4{>mCo@i^So8aIOP~+g>l@mX> zZ;7z(557NMCZTxQAR^^3OV_~%$Ll8VRCR4v z*X-jsIpRB3A}^!4gqdcv#i%F~vC-Y8nfYPCyE~KJyXz74b&ZWbh1CDgnEz3-{hyJE zmMZ_h)>FS-eJO}O3lIoYy>Htl5f+{W{Tf6*7Xkf70B1{dVTaBE0kRD!;32bsT5&)m zz=0VKlS&AH0-9D2Xkjhk0xSz2n44{%$ECw>W7E>oIJmg}jypSVm9@5-CEnX=3`1MU zF6S6JZmX=Ub$`7P9TqW$TC=A7%P&^zl1B~x9a-B4aAy7_6`Vzh{?2YSP zH` zHfofn-ceaHe^gRQUqc24L0VX*> z4%hcIG8~jdO|xa)O@PMeye9K<<0icOwvG^;+@H1<*)G+KAV4pj zA$jHRMsF17EW384aX9bLlg)zU<}`_2_ZJR+ZN1{P$ja+w7t*l*%wqWN>zk&|NP?@Y z(Wz`N`rw6Kv5Ns;;BQ68{eEztf_1Y$>U@|v&5_n8!(pLcxB=U0<*cvq8@`~~&I#1& zKUfE+-Ps8mKfk3sJm9lLA&e+4?+B~`0%l1CL#`n#pzY*<*%y=a$%#-R~vJ* z+YW~NpdvJtmeDqBy|?F|dj8$0x+jfyq+DJXp!8tl;23ET&oro8nN1CQaM|IBCVq65 zGs}!|Fo?iv-b5Y**j}i0?9?5vwlM=798641*nS|fcJEhDI;(%vCJAR2ENqF+ePx^o zqh&s1CmFLAb2;~UG9!ub_odnp7QXE;d%uo;7ubL8eR>ISu<$XQ^Ni`$^XP?tQURc5 zv4Ypo`J2xR+i|=#u2)dC8|4n24_pD0Pv`T|!9tZX0qup3s(qZPYLpKhkv! z5j8Vn=Lp9Jb#|s+b=p}pz{m1u;C2v4NQWLVCv8{$@YJg7|#eImK%0X3rnYVTegMFu=LO-S~87{_;q-eRRG|V&LYOgp2%S$FhZk zpWpC1TP*No^`rmhN8~7}X$UMx*L)0gt3OV2QIOSw|SL3D8O)df4K)9HCUl9;N@suSel@)3EuKX7Uvz`DnBA zV7tr{o}Hu{oOiln33~{P-AW6TqdTeki+zE9cfGh>zZ;#Iz5Q5rYY?|WjEN^g>M&;z zUv~Lm5UnsA#M#l)0~`O_ByiBA&^xJeq$9eppkWJyc20#uo_&VOYLdC`j*$ice3v0y z0I3mK29y0rb!2)i)_JM@caQHS?ujIWnh2f>y>N?O3hK107623gt9c4z0v3E7-8 zEXex5aSlH?$t`))LH>|}!gx&;e9Jci-K_YH=s1-Hy$;F$_cPzbt1qn>1F9xr*2`pY zC=%dz>^8BD(bp%r@!ZMWjn0+ybvWt>dwd4Qab#I4vF50m(D&B6oXv#S2gck}q zf)s7Jgje}O3T3rOsV(mW6B^VXLmE3nH4-?pEt;^O%7~!yxeY#8U-d>XR>l{yy+fO9 zsGdmex;?rpE;ZUVa+%w@N@-esB1XfPvA`uDJrHjq>u1D$Lh?jH8g+|WLG?DjwES8q z|G7IDb}5a#`8O@OEEhFab)1=@D+$5|uR#c0d61U#aq#=+5G}hO8UJ zU)_l7=d>H3W{xW_S1?MxRjkBPn#mxeAV=6y56*`#KQ#JBsHs_4ak|zewRe3Kh zSayCfIe#a+j-Iv9zI?d``~?GhmfyMu)EeIGMued&3H_IUF_oF;H3+OXJA&+6hYGONH z2E)Iec+^8abK=iz(5xK^p0&K>H}&Y<^M}AKVfgeKAFTaw_FxV8B_a_FZ6L{|gPaaI zB7C(n$GBv~yBs5u#25b2bESvh{&RR1I?$R^j4dMDpSMwJ_=v!srbz78$kG|ouXg?o zw^KB9{Kbm@@EMN?3+1pfO|Hz;<481NUKah(Ha4_10xvmFN+8Sh(l)*j=XL0)?VoBEE5`6u7W-buwCBYbG;iXDV}0*35$C--QA zXiEj96B$W*qf_)OTd$@==%FWXvj4JjeVVo)r`K!TbvZ#A_Kj2!Se4>$=Q>UySTVAC-E?Txq{c5kgb)u8 z(vr4DEz?x66$+)T-F4bUp7Q#m-p-3fyS!Jp{$vd zyft{3@1ZReV9@wQ)rrf!7={lX~j8*=&zGsZpb_}r3lMcV;8aE|T` z_>S+t^2IU5vgXYar11GGN6h<)+YM0X&OF)ngy-;hJdr`xY)KJER!3@$?9*0~}S z(qH6c>esPq)+l+Se4a4>XMFbLGGR0?O<<+qbv?yE#dGKcwvb~_CqCRFzH_(`)r!Ux zHEJcCQbQJ$m{ttk0MQv1!-9LC{;`;*u1q$AKovV!<@VxkxV|HM%WXtHM+M#dK~M)^ ze8evbYKgT&oH^K)*h2q-VUE}OT#?e22Ol-u?n>@>Ox*eczK}S*8yzuS7_(1{su{?I zMn!Rs5-_5IkHJ}>E<@+ zNB2seo}OoF^Hc5+wyaT~axU^IC?AU-DEVs1x7?bzfB5?MSIjI4Zq_?n(;Wz5H|N^w z>mXkyHaaFM;i%LfBxIMa?BKo6}r0|c152o!6q;Bx46dL`bN0>19R+9gV5#xm_t~IerylsL}Guv zKTa=f!~aG|pr)ey!5S!F;__xo$y=)K;$3(^0>)Y(R#~&q9Tn_pDYMqD-yZxGh>c6~8pRN=DYw9U);I|qj5W%v*Pr&+POa9~N zAKSUJX}J`NpUclR8eqvgEBcRok}R%=veCbyHg_&hLdG@jiUg=YHas;UhhV~k6xSo{ z6aV#{FFP=K!`u{y0)bPocaA>BUvDSuD|NxN`;>Hu4pG3?>V7TV&h6!0=5bnyu&Ev_ zsvDOHIK*HHt36NhUtcRJcoz0eWmnlgTFNM#_=sb!sJqI70HX7ErC(?cQomxr!utC3 z`WAymAqI#1FGQJKv(Sg@(z`D)Dons~+2hMQ8{z4^Ki^T_yv>}VYsRVIeE*&Uq`%%G zSn%$~{odVkSfOxG0d}|frT@8S^r)fZbS@pp`nk(>JC&$lmP&=Ht@B84u^Be?2bl(G zOr}Za-Pb1nU3&boktayluw*yKpoF{%|%> zX7%hWRMzvmqIof#iq1F7JBuaT;8j15A|@z3AHMcncjBfw??}CX_U}hTOTHIiCG=Ff z19e{GdhtHW|AL7nB^twXBQWmqdfO{;$319L^AVOT3p`H7wOE$U&noj%;?MQyW<0*w z5J9MBLFwd&%4skIyy!Vg|7ij?_=Gq~1efO9Im4U<0rwH&DNDybbtk4)MeJ{kuPeIn zT+H1)_QN5Q@3VvyhF9oBvxz*XUb-I)fa`!>y{q6<#;8r4{Oj$oXNP@TO}^V*mRw^! zbV3>2>o=x7-|>M<+|WF>i=6d^KK}MZrz8<2_`mrQ=DVWZyl+VGUC7r!>lRa;2{^i0 z)=*a^32b(r5Xl2KJbs-nOHJPTUGxV#2Iy}&fU-qeSRp6%5f@#XPc`wL;PPgBTVlsL4p6K0Th?scqZX4*X)inxv@-6BEv>5W-LB#VOnz<6Um#vIpz@{#=oyjx!4kBGTOSLekiiJ zF`@%56K3g9^b)}wd z{vV!^UqoOR==_G5?~%dDlSkQ_LUJ!i^Y)g%fK$mESflfyAgFuNS$%6-dvu{`2e>;h z(69+YJ9~U&yMIbJ1gv0;I)8Fo(Sy}H5D(wUoiklpaO_NJl>o+_QnVC><`6x)nYa~% z=L*!RMgph0)D_|N3OhVW;yKX1Biqrjk@Jk$3A?4j>~i}B`y%)|H~J68BU3Bm4T|%A zPWexg^1IdpUR?a9eR+mT`anV#QT=7c!roeH8}-}#)y`NDU23`#px>S=+PVIdbcqL_ zD|*wnURt;PP_vnAsYBkp>+V1e4Lp9(ix60Bw8V?-DYQUcij*=K9#__#FXSalJ$&_% zop!MZ$;?1VqPyb`lY!R^miWq7TBNb z?rlwb0@k9kl6e_QCYoc=1nJ+}vCUGrm0vjeY$^NxZ_4ZM6U`_9v3XSA%qrePT07#K z36kW5FR`ApgS;__G}&5(eDZLb-<*ZiPvhPNC0wzGrLcolUE;F@W(k~&Z^L>SZ}v*W z_BNEZx2#w6^JO#7YS%o4DsI=sDlBUays6=0i`jM1!_^YcW8?qiO+I(IK#xc56d1=^ z&+Nn5SvG`c>NVbaE#`1VK#^Irei@V=d_&7@u6_NKv;I3xk5Y3-gN>WLBbwLWzAs>C z-1ofH!T!_SuH^>himrXx&QD3pEn$&&galc5>5A1!IG7*DwXrO|xLkA!+phJQkrN|6 zf8b6<&qD@*caOZ=v(>F*3Jz!VI55oL`ghm4E~Z%nzf!Vvf3*Mg9b{+6l570osc<+w zR?6jL8G;6ap;fAT%rwfE{^r!>MQ{wF(!wn-wJ;@fw9IM7O3+HAjo+K4gP^l;odLeA&_8wQN+>C@I*kuC;r$i(N#RB(5R{mRv@) zbVP^v^-;$XNE`ji(gq~NI%;OOzMA|=wCXI!+}JJ1_~P9Bm{|23N$!I8VF)#M)<#LU z$$27(1&&oj`7f6@jB1lbb2B-!2W~wDGw*rMa+D?!H3zL}y{+7BNjY7qATeQDc;;0< zxGy8}7>7jomusJ(s6E@nZhpQkhinB~s+~|Ahk(fN?(_ZS= zx5GVp_EMs;}R1OHjzHUa3B7J5MQ(oXQyaOK#%i-72y9 z@qUcb;i{@;8Y!cxaDZ0|v_iXyw_i#S52&G9(8^5C%``#hsLihEcE2}ue8svo`QS`` zob#APMcvrW1__;x&01{e>J^7=a(F8@<}P5g0%k9c6<@(LD#SjNy_7}VjGQNCl#pxS^ysuB9(x-?+4s&? zYT{+boi^NJBX@m~m5ht|Y;l^G8QN*Z-1!yF%rE)W>3T$r-3+aT9H-a0=$Ka2)+6r7 z!mhTeD{|&FnIkVl1nEYFXz6Dg+6MEQwb#M*YZ=0f>yrw;;G7CcOTD4<#l9nbpn$a$ z#KP|mC%QMG>gjuvzE>6pESVpQK!LBqe)a5DPrv$Wh2RDhabf6uG6P-&W{JjikB5}# zgV!+P`sEEdb`fys%X!o)DbDKl~&;L685RH5YMU8p(vh?U-3h5oM>Bmy$cpv#QD1 ze!*ovILn;*EmAOYy^khZm!_ofrex&PbpH56{C##h2qr>5-%@vBQ8$*sgZVli!V0xI z1|VOf|5Xx-ZGhkTtAakACHZn9Z#!_37PeJQU;OA&*S0#)Lc4!w3;XP?J0>Ey26L;= zIo1ryAQgRSVrBv|wA;ttYL@@r-?cL}P?OixPDd+n-!$3zh<)^nF8Jdh8cS|)q7x!f zhN_i$0nvwXPMg_fSg^CWl!`t|Bf)+=fE#4}sh1vDngWx8FS#c(hfFQUg<0ST;$}0O z==@Gn`+sL-s6W7wF;At5*$rN9(!a0&T9rS!@a-KwC&WPdA^LLcFI4=Rxc(f@SG>a> zWXGV;VDTN5(~v}ueQ3*q4#=d-4m2e~B7&O`qt-Q^N$Sx>Zru{N<_YxzHPLsXIyY(_;A41P+FO4MMgNH{!r>D?5zV%sEnIc zqdC2m>K}4bpTb4%7q`f4W`AV0qHAKO6?LZ;$Co9QCLg*3sDtLCKIj5`nhug~oi_go z)gW55U7yu`&~LB*_ESe$>$uC+h}1aLrRKQ;;_p?Iht<5z3l;;UzXKQwoHJHYt3Ektj} zKU%dp@@7a6eY7w{`I1jw7!X!nsMu5Ex}782T)DgL$*=#yp}J5`#$lKdZa8R`c{=&z z>2Urnc1DtNK}d(zz>$5r|E#49shy+S@RZ-s!LQaGmoM1!uV^clH6?Um&nfJ>hk0gh z^|!|lBT3WmOdd;GG&^y%`wgEnvn{LE-v5eXlAX(lKdzX4;9}IIa5of4zh0NK3OaDl zY?jonzrK|B4@6#U`i_fFEBxFiKaV{ykVeAW9H$tie-b>2y#FaNWA1rf7O#;2Q!|X_ z4!I49Wdz3JzN=7JI5t?Ie{Qrsw3F0$4uTPciZBfRsxUbpjHA;kaCh(Cxt->43Hhq< z?+iF2-&d{>ee_gzd3Ck#>Muvicw^^=9;s@a|&a8&q2`Z)?v$fn>@%r}M zKtjRUdq$P~Bj=fc0aq>XUSqjnZ^7yO08CK`2n_hq1&hD46L{xVQg@)ebIPzl$4EEc zK&<$But~A!eg30JeT}enj9WM2^k(~qyI4=OraKK){STY3y;G8ZP=hI{Thcqmc8Dt5 zJWby5VFfU-Udh{*U^HUdk=Gg{=K7nnVT{exy>GK%Yo}wqNiIrwyt45M`7K+??Sn{6 zgQqXZ5;ZBgGn62der55gt7zB)KwL%*xw#Mv`u>r>eN5VMGP|U|M3}0-h~4q7OFh+t z<+)>@f04tAPxoEGsdV3qss6}T?Cw_=pshy+_Tu+DvEvV4fET~bGmCTiw}#JXx_M0_ z)7AoxmDBE~e&MtIoYpm9UN?P6<_b%>Lp#h&?8X;g2r0qC-S`CrYJT4;whcs*cBFzIek+K55!tfW> zDf`m3P6WjxEKFUg)+^u4S5^?^v(cq&$i003f6r=9gvxVL;RS4j^l$5$oQQd($`$42u~^jGB=Dr}2p4*9 zEcEFV;C?Sh^-O>T_P8LHe}Q}-I1B7dN~CEZ z$}GP`;j)NeA-+||=7354-cD#@5^*NmseRhosGu*!V<{B^CEM!k)2E7h;|f##_e79+$%yJh*dTSzC!6XPaE{K4K6?dv@BOh? z_#M&(-LmHO&nUlK>K#|@ueQkpSd)m)C?T?zvjMtA$A*)q1F1eg^AU^q_>mlot1g^} zBaK8#r`Cj{w-c(p3!WRF8E5?;o-@Ht*FP z1cjR!O2nfEWn=$vj^i)TpE2S&2KW$S3jREr;twcR&r?-iz#Q>*QUXDwWTLyJvT4R4 z%IH5)w}>u36uTn~0bFrKW+wn&*%Z6Co-GtI?IQwCw(YVWm;pdLaHSl0O#iiBKx#Z8 zx$GjVgsV8*lc1izz?2ujuoZ)HUBO5KTz+ zaIN+F( zE_6DPkot&+ug#kcZ>P$DLaawO+wI#~y&Z?tFTZF8suoUBMMI^ZLI_xur`MYyaAOFX z1gglX=?1AfF=_cIaT-IAr#gTw)eQ1_&fcZDPZ)VIY_{b6S)B*F6|N5R>vaZ#(W+}* z!kYbseiYxkwkAN<+<9|9aHYi{SP8Yf5>;sm5IHF?Lgxm~vF}frjcG-RIG?GKwO1JoWPqhDg z*BFYyU22rpy-Q3(G6|jt#sYJe`iqGCCt1Q(G}2#=+$!XIj&m-oraRSILGz4`-Wl82 z6q8p+M%)u@f`*RI-b|h-<{SUP+PS0E2LHm7-p8tX(tbwmilLJE+G81hD42!~pUw0E z`Y34-zI`R4?a)?dC51Jlm~_Np&Rl!Y1md?C0u{tCL-86vK36j=?mfWQhO*XmzhlEd zT)M%*Vg0GBGhYoM4Ul7}S1IG|(l5HwGUwV*+-I~C;>ItZBi!!(h>i4GtBk=9G&yU2 zx<}+?JhIUs&;=RicS3n)oQR%@n24qGOl$HFVp@{Q-~~ zktL=xy63)1a%|gw#3(fz1v$T%_2|oPvfTVvMA$BBaaKT|H~ z9>5Dbtq|KTc{Xn!1f7aAEl3l1#NI^hq(He~VE9C?^67dHmW@7Sm^|t6lgt|gvZFnE zcb_Yr_L*z!h!(L;G564%=?u#E77P=2EMOb%v=9O96T*HLA%ZeqkVn}>Hj?WnXkBWJR9zD5Dx_<<%~(6hK$*o zLfr`{xI?w8zr1b2NzE@ufed zQUvXNDE7bo8Ol2+6qi~|llU)E#-$tE&SzX{u9{uhssN!(#a+_}6t~!Sjl_>V841ZW zy@m#Jp;U;wZYg~5Z)@NUC_+9I@(1) zv)J6aVh1tM5Kmb5;BspesC-e!b=+ zF&#k-#qOk zL7}!M{aGuu7Se>WRc_a56!9DD&AY{brY5N_k*RCH>c*~1f8yhz34ZE}jS|o&k2A(m z{8I|twQiI&cgX87zMJ#mOjO7p2bGq%v>N;6yL{kg3x|bNjJYUn=PPk_+ev-?60C@g zJT?fsNfRtMH|u_OeXSMW@2DX{phzS(*&c1ztUD9%Xy>Kr2Fp*tCJW}ht6ojWt1%@1 zACqbuRM;Ycc)MG#I_}1do`9I#(q9o&|b7;?|OqR=191 zXL!*4njC)fr7Z;t{rPf3hD@>AN22DQDJjwGKXMcCzWSA&SQq#zY~_qup`l7|runaQ zo|AX)CouPW^Aeektl*ZBe`#vfTM_jeIb_eiT)x_Yo!~FS_T%LDraq0(hchtFH=o?s zWTO%UOW!tWlJLqdM>v&N|71^#kwy%Ce3H|W>cJkh^6sGVUG+gG5S7eP#?2!IEw^CxUHW&rdzkUTXHz zEHD_$%ge3YQdEP9ml#;}S*~L}YYt%(3(7iV0f%&?N#LyOAssLEQZL=H+-W!NQ6$%1 zrd#S=n&j9FfX{04OKh3OYp0>UPlx1Y#f^b!vh!?56fw-SN45`ick`T*h*25otd6o3 z0lNBuZQ_Cp>W@;|=rq82lg1&vWVInU}gkpA@IhQPvB6q^O^PB9Wjms=< zQeEYN480$=Tm`vj+Wc7(`>f$~g^ThQ$MU_EQ?*XAeTKCk_Gme$4Odx7s%0yh4;}WH zmx}IedJS_q%RD&&KNWnGs%z|&Dzex^V@?dY;zOIOv1yJSx(-Fn)|p}`rWg|GRGckP z`r@0J@m@Jisi`)qiN5s!n~)+Klabqeve$aZr;2~dS7x{Sv!up<)*JgTznyQEN; z-A|;s2M@|O;+}-TkZXK zwqdOqRm#Za5_Wz{vA_?^l;E>8GU=R~)R}%Y^|0^CBlt=2Q?g&{3gye{rkwuxcw|j# zTQ>tlP5CcI-QVck$#e#W_OSChhlOyQseS{WbN<*oKmSg7$!?@oEECoH>&lE@1e2-yO13^Z^cskPd1tl#`}kZMF+BE zPR^U$-{J&@zF&fyUJn&e$(bNcq>!-O^9XUW^?Z~lK#SDhq~s}j8hxYphW&-OeFDMN zYu|?)t?CE_d9Q`OkopPvv>8wd&~JYnGBr~d#>S=peE&%aoLQ%P2gWM4?F z`oKq~zRMs4Pk?;PM)nW+cz2{`2vX?ZQHoI254m?^NODZ2IN>h=>o8r^-e5T1fy=<4-E<5h^g->z4J3-y)SP~>xED_e0Uv(;}e1z_U>VFOe>xEpCz13xsIU#o84ns#Oh5a zcGcT+YV9Z2o8x(+npJVVPNe9LkMs_R6xKU`&xWr7qparw$BE#Ec@+Vg9;uJT2jZ6_ zl{ydpZ5xS{g!)^20vJVkyZ7;Qw~>kp?)1@|7RvEUa%)06MCwF@b+rOKsn8nb1wScR z5EVBIl?36WJm2s`Q{P6*0`HuOp zP^P;2Z{>}M$GvEwr%yQ#GEow*lr2=MQ~kU@)G1$}?jBr+>ei66be2ZzCOy9Rg>*CA z`1fcc1Yk3|`8^W2RL{7S`T7}U@{t!w1LtbNOLb4H(zLTwlJxbuxWFn8?fhN){JMZk z)qvxA{fR6=uF%#_ijwa0vCh?q0)ONWeyzQ$S7-dy(y7_GK;iHlXJ7i1b+b#506;rPkhQp;`F?Kth@o-D+!YY566Fb;@)YH zecYVMv!Fg#c}-SsU`fkp2dv|n_0Ykyg9cg8Dd{8TM5{sRi0qp)~An3 zZxkNjoF2A&Q&f@NXOf5U;LcCOuP%K*mYfdGC*Z-h-e3G_e|P~mb#0@i5wg80Son|N z%f8Djwl&(hK5=`jHaaR;ua#&;(=Dqn%E`{WXZ)6tJc*t#v(UQKR53Suel=>)qA!|Q z@6U@*_Au7YNUI2@k~l`9b`PlUtk}0!$b8iUY}^!$O|ehWA$F7fzY?9#T|riEValGM znnoOVn!gQ4H(CaX1TTQVayd^`;CjVO@jah6V)h}aj=ELRh4DbeXXdJ$TYOoKW{_|D zJ%k(xJe=wo$0uI7cm34m&t#uEx-!z;odx)OU!7KEl$GtLFN;oMSo>lA6*(2M`6t&TgIFKJ<+5t z6n4_RAe{mkq?y)Xv`a^8{a7O*ZBW}b;{4oq8W2Un-d&!;%yFvHrJ()%qqbwMwa zR?zg}ZBKHJ{hrIM;?Rq83+QI=tT17A6^=OZXo;VNMx?lI(~Kdu87GzHs?^F_B~?fk zJ&G}&`pso-JLUv3<9x%qHof!{sLpqCzOOY7zx{ZM^TLz>eJ$fJn&`s!)tk37(}}rn zXJ@Lq`ahbbd-|!=eI$f?8WEgCl6!kXQDJiM+Rw4)=53^mcY>GB1YgOgZyAjgKP?fW3A0cg9k&dN3DKzG&vn%(Yy*Sq ze8r6q5x!ysx%bSAh=BB+)!PsB<|N6DJ8A4Y5PFO&7tXVv4nfSQ-dq-k6f&x(^;5k*lFipKG4C zzGFYUhuc7iY2D#I7|9HZXyzCpkX|q9(}!&awygU!y)<$9{N(AwCa;JB0mIRB#r?1u zNv=Tx@z2|3xZZ=NGExLK?}NR0P3Jkr`t(Mq^O5>1Tq)3U?S}T3{(8GS^uT!*#y>x* zxs(383P!yX1bJODss-+eAPY6AM^1d#qiN|4N1HWzy4Z>`uMs1nQ+1GWwMDIFpl5ae zv^34>Oq^R}qvgcUx4U(6BB0^GY-tv_^}`7{Kna+2sG^O<6!4jDa6W2j8H0O--5BWe z&nCfP-T#76P473Qbdm?|i5PLod1v)H-@&%`gpB?fM1tcAHWZD$WS1d-=9G2p_sRdqqJh7Ezs!mF$Oor^e9g9u+~*+F zMQdGnq)hOkBdBQ>g;-R@kJ{NY$nc-5N)_wz%sy5z$5=2C*u+j?d}XUsE>y2be=zwc zOEkR8O_9-OQu!a!ZCCuDHNr9TiPEpZ(BrR+8gsoC@%#bG_p})o*Q-(F!}@LD77)F( z0_V;Ewua( zt63dKz671hWQjXXRpr)9+aPDX(6{u@YV(w-uJH zp^vff?u?MVen}0^aZks!Z5hv*)uQ|_8d5mp@Qz{5cJuP`?$xCUZ3(f2f;SZgwX%3v z>|L?D%5FGM!`m;(N8S#Xg3;C`!iLY@J}2C15wtMtz%|VO7f(%-Vz83<61PeqLYAvM zuom9a7i{?++v!%q^=k0*(}JJ9K~-El%7kkRNaT1MLZHeFxZtFTHX^zAtw=J!1J8aP z9ed03CV(b@$hHk8&;8-|^XEQ?wm~|u%cT_rC!lZVAc)WMf8NO!!j$nAPbQWq`ck55 zB13pUs9Z>l&{@_pC}@JQ$t|Qp&#su~J`XXrxGs9XnIA3Yf!RmCXU0o}?KXIeMeBZj zAmC)R@Opn%s)wyoxf-%WA}KuheB#5Ov38GB(82)^**B5*|0fzw_>)LT{kMSB?_cxS z>Ley;STpJIzCBna--H#lP9ensk0r}kWDoHR;C zQ|;9g??&;@|F64mM{i@-_J5H-&r8p-Y& zuSnEPMKbY2i+^i$4ZqiVseL{`P&@5*I)kSSWURvmSAN2CNd0JrR=|6@6Je9_2#*m> z!w3Fa7b)v!Q$N#}2+m%DkuK-TGsbDJPJ`bne*lbQK4dHH@7bFSCvp7`@e3$x-v2eI z`*lC2x=p1gRD1|xYCEasFZT{Qe)y!inO#sbIT=<+DV0osj({yXi285*482dl{>C2L z{t&@4E6xCaQrCecsIw--rKL4ocr;Q9(LxqZS{l-z519V}%)U1Xpf2%QQ17HzEJP?>#ChQh4ZU8yqu|5mOf1M?(`eC=V2LbjILPM*T|icWHo zi0`-ez>?+Q#D_^ORZS$}YW?^yGxuKF`e!Teg#NI>#hq3n&aR%?!i;vl* zZ*i8gvN>wzeY4B9Zzvh5dE&0mGwPY-6SFVF|D9Z9^kOc?YSAe{?Fq&|-s^Y;W>^0P zzc$2W+$hx0bv+u^_s1q~%yer?KQYRyBA8K6WOm=d7i&PHuSVyYNKli)RON+dj+$Ce$MpX%@{uH4uP`XcY&L|X9(d&vnGqd5iQHEFTP6irGb`@B zk8*5P@uJG20vlaQj&@AN!sRO>)O}-3Lc|!C)dTnsSF-~qdM|4Mmy|nYo!R3E86sVAf@&j=#>=dXJ+Debhn8><}F8xI8$d z<-7?%Z$nP}|8_KqxeXfe3h>QrXM_b%dlYPYbTT%Z1QTLTmRkd%Q#G#SyE(;`; zZb4BR=`QJRI5a32w17yb5V^~cS)^AAot|8n7bDws}2 zHZVwGa(D}EoE?_Q$S?uV$@1Wq+EDE*I(Gd&kxR(tU{=}AWR=2ig~VrqZu^ll^+FF` zYt((|@==qo+vDwib=laVXF7@*A!zWMPMD>WI zm%ZGcP=nT^4Gq0-@+h~Qe5WP(!HOf`pWGNm<+goK^U%cku8OmGyroaA;Mb!mr0`U6 zMa9$*A=BcW=_dV3YlVpS%Je~FC7erk%ztFm3!~0b+)rL+vUn5&%7%9|`T2)Btj`OS919+=8p@Q_Pvld0 zxth>AGYe$N1s$sseU=VQQ{1|Xd}U)oLS$$4A%ybeZi&`&QK`Z-Y(m%0n3L| z4#y-l8;Q@E@=P+%%t7luxY8NXTv`Nn(-z2R?5tc{XIwU#JSMur>k5cqcjgu6Lu#k2 z)2`A`=+9UzM+U0r=Bdwg8(y2TYCNN!u5!ah9-tx28p`&>oviiFzPY)kEwyi#CLgH^ zKiQs@VEFZmYMW>Jkj;t6LGx{{W@A#Hp1(=h*0grz-o(SYZ)b1M`;uN1`}6+HG&NTU z8e|OW>ZF(I?(sM_ne5^&^;C#DgKCs}#f0!dBd~?9o@iEEXQ9#phW);5a)0tC*L;JO z8UN`8CztOZ#~*d>CFPdH4~=_krKP`g397rlH8f0Hvze$i$zN0WWHTxqMk%7g#Z@MY z&^`}gmycqjUNX69n}6RMB**oB0AaGyI6L#_&rK`NLDu)bqI08)or*Bh%Oh5;#ySgU zKNFA;Jri`@i{)`}AegTWjb#~r@=r{o=2wFXCQ#y|oFik_a&_?CthKogy#EoFVnf_C z*_~}zZgpv}7POZnxMlw##rIm7giTjZq^H@GdFfR=*5Z&;U$jdCZ}*X^)oNAlut_Aw zvqTZwkdyt{;qp6Ds}-c}4#kgWNz)s(gs%Is4S$|S8EBn>E|ILV-1_~Qvhn(C$tA6d zh-InJ5j~{g^&ak)V93*o@6sh0=$R&&UsFPq|x|};2Xh1rYBZ!*9nEQL?hQ%*8|} zi(P`BX;)}{!wX6nKbAA`XtF55#leV;?4V)|?DgcZYHORn=U_eCmW@blfIu#88-zW7 ztjTQ{B}?^xAa^2-Tg83jrDOHkZhA_nN}1(q(&LiL=1gevd#V1_$;MA%Z09pnhm)TN zr-!+ny?)k7b3As!VLOS|)Gs3=lUPjZ&drT}U%1+25}QUpxxW7Px(K5n!>)gi%Mq{; zbS0y(`A2t+jkUN<3JJNb+_muwFP)ubp0Y7>`TH}F57brRIB8gf+0;&oLg?ga1hqV6 z+NwSeZ?X(?l`?T~hzXR3k0XHoclbrEnLKhmi~A&+zg8rgyDTT5caP7O$~8ClgoGsa zOD~H;rR_ZZHjhnIB}`jJJ28cC=60DWVU+2UKt@pruG1kEgexZY0GNIB6!F0QwuzoYXwn@_(!%QktVW*cTp z$3ds~jn#F3Nb@x=W%_=1S6}SF0A3PGdcjTESpT#sJ3Dg1#G%vY%l7d{lvUQ>kS#U^ z3eu$3QWm_*E{wUmhPI+@qCiXgpWS)ty=#s{<#!5zQbfZx#6d3V@3!$zbulM zx2#FE?0oPG!uBlJ&9U5X*gNCe1Or!g0S}Z|88WrU`?##;US6(cV+eGMYe9pkIKmOV zp>H+Z{Jp+m^ zZb}|$Tlr)R1MBa?Z{J4!_`y0`=Nd(9HEuy?yc^Uz)rvSRxsc(MjT4_?_~%Q^qqvCd z=dX6;WXE){VX`Pq>KTgF>L&gEC%aj3fjakEP8FC8b#UFr(- znv|5K8I+iQ4klUz&$w;ZU{gavLUO+T2P`%zoeV~zQT_UVf$hm5iP)$ZCX1+~kX;?X!p>4LS6k)@Bc6oWJ^>lxvv7wx!1#?GV z>1~Pg4jy|NeG368C9AjRS;X1l?h8M^TU*-s*YnerE(IrBgL2LuXIV=%TFmv*^!wms=>dCJIA4!P;h#fdQ+Od=l(YIS|Pz%G_*11~3B3ESKe7;+yno}9+ zr$Y1*0+!?B=$J`4lNoKSxk#s$Lm?4_6?QRuRN{3b*5PvoQA81rI%Qv9CTJTT z0tCO9`b4t1vP930(EZ7<_tW9klT)s`N9N@TF5BB=IQ}M_gdaXzFL0kQ4*8oTh2c*5%60fIU)bV4IT@bL5obrB&GH4c@>?i>SihcH$$VDr9s%of zYlZXC0(QfGnoEx%q6ejkZofB8e-K!hIxzpUu~0Eie~&~H9de)cs&R6LLG6i!;9D&F zq;&vaUteEN5;R|g2huI!?;vk0;6+jpy;)R9yx-8dhwE+_>F012iBLfXh zN1k1l7qhF^v+l6kTUWitsYUdd?^VKGz#itySzX$&O{oC;W>9{dtv43@gmXu4%xVv`~ zYObI_#&oUIwbs+C6$$#!BgL}`-UVJY^~x+GjykZU;^E=Zy+T3J$oK~>;VTV)u=G_D zZ~TmWK?@a2D=3f+2n@`s&QZkdm9D7z&!cib&Dqa*F0P~$`5F0xxlpQr?JG16TZTtG zYEgvepBj4DK=n0uSk}J-k{*P6>N#?}d&V_swsl+b^KM^0XJ=A@w*6k(ICTBzKm4D~%m1|r|Nr{N`7UBD zwpE@dLZi6qtG)dT2h1!i*Bwqb*nj6eC-*o~t8~&D)b2m?y*UhqprTr$baiw{^$DNr z+>#f4^UPyrck9C6zg$bOE8j`W%#>uS-C#I8JBzKIDoPS`>xyO7W@2TP3kV2U$^0fy z03xIXo8^^PeSQ7=#a|ywZKioxNrl|zJk}5G{QmxA{0nVEL&H$H+?>SPywo|@X`7?X z>=bEp^PIcnn3#tN0NwG}Ord+A#we*sBO@WTc|CGG`tw-kD+#NmPGL^Y8?7o^Rv#aq zD^DMv#+|8({H5o)tSYgG)mK~jtKfWq;oFxoUh?u`sH8?lMw$G%o5%diAQbUG?|&2j=k;X8#`PG#O=y_`;AFNL@y9yBMqUq zM9^0*1vdZjpKEUQw9r+CqHe=Q1ADe11d=CB5~ z$4jkB>s;N9@RJB6>?AT#pZao}X|+I%i`zcI{pjLij@!h9gm{q@<8WcM^o)#CkCS)J zp8woDo+}&~bFBI>T=cFwUEABip+qecPjaHlF6EhiqfQVu`I4iDiae}~ggJL3&wn+s zF1U`OOmBL%VEuqSwiTNA-AS(~f1X8jeapql-7kN=#Ky|EL@xhyN_xeNHE;%^W`J6x zDU6dhwU*ZGdho-aTP59b((nli((8*5Tq-^~-WmJA8K-_>wB5R6$GvDfRTDG~v@?wR zC8e5}ro2*THqV={x2|(OtILje)S}w6AB(Za7VC=^`ql%zYp?g}aHrBh0}sjf~QCY00@`@o zFUl_Soo&?i#QgG=%mr9hY~%XA-tF$*`R`N{Rtvgl?{2|Ft$>;R{^7%iFVc?pcefP; z?f@9x8;jEVTo_I^`8M5!7<*oAX5&I{gK2#R7HKpTY;6l^SeO&X94An_5SF+0>-I%{ zhe?i$~! z>o|PWaq8v15}b1z*LB;hUF%ON@@KHl@V-79YVdS}VK?1fZKHYf#B`H3kX@Z_ua|ly zon!Fx&Ux+&3!kCUxQmgn>lO4DX_md#^FCG8Y=Bm<30hBZ%!)>@rug3Fc6{o;Ya>*M zHcRnV6LnkhaNnz0ccxV&*`2ERrft`t+9$AG@MTwf9aRJi(pHR3@O8;8nj1=%n%yGD zJDb^|J-i;+Uk}Fo>Qdu+dw;)ZT8vy1FG}vFG`PwbCpWYTbO;v?4kz-UDe8Xg_%E z=EP&T%SSQ-f~8q28@#VwdyNfPgLgB6QB9@9Qc?C>?=-Kq6cy=M)CvYxV%VE*N@++5 zSkf7+RiTF>5V_YOWc1%2D-<4;<+7#v89pV|vG@0ppU76qcx~~JqA6qPtMRYK1*f{R zDXY`xuZnZPbZP0iYg`8&{i=1K;$!pbx398j5V2K$ z_Vce(vAPuy`eQ?EBdiIgOS%YJC?S<>4JYqvK%_k_>u@ln9Z)vxPZp+F@z_WUW)3sH zy*lM`-O-pO^dzBvkRMqob4@mu6BpDPEo{YbIfT@dl&p63ap?Sp{tDy;%)@yun8QRKHX{794{kJ z_k|0XbYcb785$xni#UVn>t-IMLCJ?C#4pPWkeNRv3AhaT!oDF9>(t}24xp2akT91| z(C$1IDMG;_QR#W-mx{|=#z$gJoAQ)7`=Y^Vy>IHJ-7any%C@+bkcgE^&g@fth;d@~ zc)Zrg)MJ&x!EJ;F?qZPwEMn+-X~>r^Lv&I=^kVxu2DL^L?PzbeKtS7;QXud;o8SrS z-mXf9AtSiNWFuUEE){cgJs}apMRnel${LD~LDbz;;(XOktb4k-JI`a=8yO-F_UiV#sNH7hMei;$s9Z*rYN?nn(RotqIc!YjQWR9}>$zhH zD^->GYmO&-<2e7#fH;rCtp-xOjy_k0Al1fX)bTSrn~%P>da7k`D8MXhu35<}C3=73 z)II=F>52H>>@jlz8eKEG(@;oa#8fP;%4YIZ^PTx2OaoIPx8hmEG2Hq2{7`{ZRZ?PM zmKMeV|N-DgseFW=19h z?t&LyuJyhNNriOL7T;0}x^DE71qGbeAO5C1Ivv-yN`H$LM!NpP2^Vo)Ox^_y#mv*k zJzw4_^Lrdk{=+_~*??E(huKrqbeE?)3X}9EYqd4`(*$l%!HdYOm~-KEI;u{Lfr3vb z)=nG4U4P#5ynkdJCQSh)vz{nUW3UUz;^|Ji=4JNFNlhyax-E?@VGe2VJRd9Eop4)$ zisjqsim&47o*vpK-y+T~;~$7EAopvFN3F!|zs%2HA`(*c%zvD7aiOF|hb0}&k z==bRrV?Xk9kyY&=^mug1S*6Svo|fjwT?$Bup?rP@yLD=}tSPFu>noF`t5)>5j_vx4 z$*F?)nF61xEQ(=C_`+IIq!00vgdwbstt*#JRPZk;Nv~Z}(}(5_&Yqe%?~vp^GpBLOirq3W0jn&T{3#&yg{W*}@?M&;w0T-YC<);xNsQAT1wZBAXu z{H-s>XT9)_#5uIcf-E2(Q%|?TYg}#ByKwhzp$ukosWwM@@+e1swZCn2JBDRJwSiPw z-iQYULKo47&jDLu3>QjoAm-@Jjv+cy)NFmUm7Z9zs>>?#4+P4rCRP+PK~+AZ=ktrz zxe22~`fZbuMcM+nv69O&tLRFUv3{{c#w0#=#kt`LBe6sj3CDooJRCr*Hsht zz4gT3?+dx9VVrP!{KiT61g^?bhk$3GFN`5iN-w;j%pbMqbZ zy8FZa#>kw)YHCF>5eT-ESUajXGE={HqgPGOkLTG-oW6Hnm$&EhET+%Jj`-e>Ng)aL zpc#HIyaN>v**aN**w!1(x-TOlPe2iQap`5~)3RO0+B_5#ApzwF_AJ zk9K`sjaZ}=N6dHpysM#z-^O#`Q_tghW_?SJOT`#gSLj5m@%%jkb7IbWEz$AOXSgmX zu#Mn%jj^qh;MDO?4*}u+eKDiAyRXck2Q;2PZV!(E+}1zy^EhS135(bRlE+cs?(r#<`x|6r?bsq@^`G}zDWm{u zu{sizHr0wJ2qE=dXu-{ffSzjmdiqzkyiS4eu4#Y;e~LC8b+HVU7$d3 zVJ~Ka)lFyM7i*M{6dau0O^*;DJrAIC5$m4~djExv0?jgKep$26Om3aO!ZDemqyk2f zypMZ%w|NRIs7vG_1OtMI#L7L6O5+Wv5$&|spAoR>;`|LCjhzIK=59IV^nbCi>8|3r zUa|Z!Rj{6yUpPen44sIMFG#F;qQtmDy&1sU)8`d^hy}C~?$46FMEb7RZ29TQTyy?? zHD^8`&4{5;5HqOQM-=0D5VAGhIC{hK*tXSJShReUo=S-!#XMGFQ+n!q(1PYN0ntON zM=N4f^#4Nb$ev6LCOYJhHA8kH#%}X;jG%<=o;eL`PWVQY-Dtb8gMzoLQ z;xpf}m)Mz?xXR0GQtt?gBy?@JmuOA5R`Z#aC(oKMj zMpx&yKek#N{@kq3`TE$QqA59gIG)=|h&g*p-anQZ zIZFL}XQoEEDp(J5qc+Up(61|TG|GB4w)luz!{nn5PT%q#Y!f-@yOYoC)Fb9UYFUJ= zi%<6R0(dq0YOETM?=;F(G^Wc4Fa#88Hg0NT9{;*Z%!9%zSFMsLM|Zzf%ypSqB#HJF z3Hq+}U5A<^iqbx_f^}f>(9wNZz=bBHe*aogH0J2%3p-T<=r{N6;iX0yze-h;i>~~h zm&o76K5~+Jx2}UG6lID11c6z~{a?9iFmgBo3Ddgo-x@=P|9ev5|I5me2wcAmZnLf0 z4g^7)0yUxcCvKkpU&(WHXs*H21aMs#Rl33h<_DW8m(dj|F-t_x4}5nAK*{L10jxzih7YV zK=dNh59u2hD3bG_e+f3JU3!l;sL|q_H}ZYQH#3Dl#MOnjz9{^^T0T?!ads3H zqFKhY39C9Wb2wc6gnpA?*Z7oF*E#Y|Z&?ibM}kbNb3S=RsF zqe$k_z(ocHkWt79o2?jG(|MK#zaWwL29 zG(3_gV)woGt=|R8NW|Ukb$1}H$di7MpfA&1A0RCp0@*K~qy6ykD+%KE06KTfm{P@DMr<;zNx3|l0nZFO4Lx-hw={q5;^cl1-`_h8LCo=uu{ zS34}1OSS5{&1MxDQvLwNTQyE*m%CN-@9%Cdhk$O8v^3}u2MNG(oA<85al6p#(l z(b`$C zPBp^>ww~~x&p1^u+ym+CPiG{fOF~h@Sv>F!EPWs+vc<{1fSH_nSa(x{!KUbJ_MuxS zv7Y4m{P}Yvn0+02{#Bw&xW+c7Z8tiv@4kqly9OxHxB>E6#}buJ^GSG53cLhU#SPe+t1NRh`bfn0jCd^yFW(bnj? zHS#tP!;ch%jIQA2)1`4mo+j!Ek^+&E(Frd-??C^hDvqrv7YpJzv;g5Om72p z+rb3_$NSrJCk?netR!rRi^7op2}_emO$>Q z&`XhEL%azQLu8&CbBf5Px7BxJ-OAm%;(CGmj}l*IrQWBXQB z*lzbR4LXI&UZ|h9>ztJJc>LCo0ME8teb{YBr9JkT05h6qfga9S?aXew-)$Vf)6WnZ z;aW9*I*292 zLq_ay!dI-Z-_G&5y1Lr8zA0}VX0zy@`bxFKEcb?H-5dGDw7Jz|Hb%2wwL%yK3QH|M zNU2Y;2grP#a_H6uYF}q&bU^Y>|BXC9yFvelCdlP$7U=h0L0oYcD@3)Ap^Jj&NE%tz z*+y^AwAyyKJsOF|ar?-T-Fm(;X%^m+LV+l27`ngLg^{*7!1)wJ*~s9C2@4Rird&!v z?j@k0$os=MX$(BpjZTSX+P7F`rKK<8{K(TeLS2=~_XZ-OxVYfoeo~R~Jlh$}W#eox zQBuP9d_!#A`+6L-(YZZ z5XBxvDd7KGbUJ_@DZ!Ke&I1|#?a zPX+ackbvN19-r~`iys24|2$h8Nau{Z(^cOuF5Kax9b_|Js9Wl^F3*29VVw2U{0$K+kkeM6uNKg6|6jK1b3)Ak-_*x(g;J*;qUIH=ELaawk(*~ zO1Mq(cUWv+?tQqq@xnky$AeF`5E3%-sbC`F$G@|tM7VtOYIE8n^##q zLqqU%w7oI)SwRQL@ef&8@|Qf|KUjOA`!CFSS-{>sEH5Z`b-rIjytc)>2q3a@9<{%Bw z=a6NX!CfA;zIo66hA-ms~UfI5G}1YwjOAdF4I} zrOAUfI-<}_zeF`vHwE4c@2vB%I1EeU`)OT;f+8TpCB0oR{3j^@lIXq;rFe*jLlt2& zUHNCbsEKX(ryLq%~zV0#T!+Gu+#tkTm?^oLUNb`dHFrF8_KKLB0_n5;)|Xt+WS2W#}a8XeajlQgG zNFmmC5~p#{9w8Wie2*Z2%hMmNoX`7yPfex6z``2tx&~lrrD9xfcpML#4>-8xL*ZhG zTAPFM`^(FW%N^lvmlQ}uIqt^pE$b=1g{>%!H%Bu3TR9odNn~H_7eA72HEsME02Y}C zz>+3i(N7)cz0dz_jpkQ876a@82TCLSKnUXr9iHE9bM3(M#X%|B(Ob!W6bSkO1?cYN zNL7bG#ZtecLd`W=X%Y61kB^7xT7kps?3?0!rnxzsjr%vy;CpmRfn_`>u}T#Khm;yD zJ&aOeBbbgLZ~$=iMqJ!KGdmj?WV$$7IKblme?>#cshd&v#(1!H;V+$B7*g#aKU?q{S$NH~_EBkmI<`#DtSy&27KkBvUHz!ffG z(&A9S{T@6^J#W6bJT?KCHhvhPhID`hK!~b2sLZ{K3soWWSziNMqHiUXe?cEY!2ucp zSbgp;&3ftm=djh95sUX^*c(*NNmoA_1e^+a{;jX^2oi=b-%oHBz|z_2;D=eM8u?n} zW8HqEw$l@#i-kY|>?HtuqT&7^K;tf*2m~w)pAA>X2ZqAGxZ2va8o4lm^Hmqu^DaSpdsyV-?F|Ulx-~y3( zXSUX5SP!$)&Cd&~uZX?_A?StB?a4541Mxs@lk2XQH#-3ZLwL&r-kH>EKYBE{Ke_f; zYyhEwD)s32f_mG52auizmZ?#8yS|{R=Po1}ccQ+j^!cTf(2|w<(?O1;{7%{7Td$_y)ONz%N!{f^4Rocgf5u3t$mYNs?1C14G1OOhlIhYaLlPs)#baeDrQ()^M__%NV zH??k&{FM|&Us_t`^~K{85ixV)H@LHcIr#LdmkDWrGGOH$xD^L)|CjBBk{WYKYOY#rzO|B5N_L5}R8cqiu1 z|DU3;|6OI-|8sH?V4V!0J9 zd`v9hXuXD8`Wr6=kX3j&;F}i_;G(;|KL37jV1FC-{;THj2WgqNZ$G~`HSLTMDFT=j{0_pnwLbLyrvj3+o+5imnl|}KDu0q|q6aUngPJ=)!tS1E1d(;ew zM#alN1}}$~mI4I^FV)myD=$>OpF9vI9B3d}N5UU1681cM1LUa>Im~Ko4-y~q>GKh-9sE3)%Pg#hRvpb#ncOar6A|k$2`3Bawus)e0-wk|D(k0Bi z{XGXPyV<=h(edaeYF+Zn?dJ7FE*6lf11Tvf^UK_-e;vohBds4-=cQ00p&oP+3h9So z!y!b@SwVurv0dL#7TNo~C01Xz$AIq5uY#~OWcyjQ0)du!y>MeER-U^B8wXIb7L&Ge3zvY;16-93jBrHbrVuS#( z*D{o_IslrJ`#`9*uJ}@Yu5$L))epW%%K#^M5t?noshTk9VH}@BI;eO`~bkBYT zq|wZg^7l5iD+GUZn)F;n?y4uger3^oCbUA z5+KWVK$zy87McXu(mS#bEl! zN;)IdARu_kgJJ=Zw+ag1fo!%_+8XrW8@JWi8=%RW6ioJm)Z1i~1oW_YY6{rM$W1B| z5j8a{+%ijca!>TR+T?oQiFami@!Q^843DU#->&iUHOm}HB8$4NOU&A2^Yxtfx$fpr z)>pkId*PQxe2IeUdLCKzppwRML`mwcib}K>kR}AI)8!I)uHYqgg{0jX>#dV!DKOz0 zfOj$_o)zO1+yfzQ%;GTO1=04e2+n80-tItKIMHdh(m+e5wJH1qUx@9OLN-$`9)zd_ zS*^fJAFj`Kzl8%uGL?o@Evu>4X586YgO&!M`!K!Z=}MdYd6ZM`nb1#R;JcqMJ>_tZ zO{^X>FgWIxk0jR_2HwTh`P_=L|4@5gS2J18u34Hn#E?ZSx-9q;RJ@#76*Y|6+79dv zXDd`)UtCN82x+Mg*4r!uapw_w+CDe$`PrvW=(=k)>&azk5XeNf><=Se-rr|w62Vh; zU?+IbgAHg!3*;AJdioYnTWP|}+j<6+{ptIQW!$=4ris9S0B3Cj+qm5hDyNXy1_{=R zgoNY3vlI&6L~ZR#Yw_LRcfewrma~E-mp$TBb(rH{<{$8?2Srb3k&IGX{e^uf94)Ax z0P1>!czOnM!8OL?L<3q8uj)qEo5PN2xzv_M&vRRE>hUCay+uC^%;^*j5XjCaCvXZq z;N?Sl-;;gsJao+fIoA`ETNrJ$ofYujH~Fsn6PJwFHW8F=ok8#RCQ2m6d9B8t)#WzR zI?D+HI6xr+dNQhIGL9rzO1|OcEyG=#Q^@LX4h0LL^Cwms28E}ZBQmgsz zb^7Jr7gITM8_*8uj?WZWshc=uz+fhXk7NhV(@k)MDRMlx&P}FjLsp#O6_YsK;-vzK zUkf>ujF0_qFvd=^9k&}sSLY$fZ4iWVb^lyRt7Mdwc`*Vl9nXPpn5@S@${W#tJ)F{$|XM&?MiKL@F2Yo=?Qs*LMNXYE;AyUt2cq>-2EEjb(YLxlG(d%5H@sXx zAhuGeM_k7TM^AlV2*)b)9jp1^q7mcLT+ypVdqk_TU7Rf8hp^75CkUv{DL;gIX=#c1 z4ELIdf{jT`st0|d=D4~Jt^+I?RC?kVHa8kgFaHkB zcbw*?rko3GZUbdVO!V~PMcwG~I_`@fUrNfM!Rd@rL&EW>~<St*N$hHXuNipIcehm$?`_#d!6)2@{D zgrs%^9GAz$5RPfBvqE*#&PPE&W{2w^BI>$+*#3Ac!eR<2I`j6{$pERB&=>m|aCYHu zzkb&ZuP+Ux>>GDru$-BY0Ev8y*p?2&p>&uxAZul&Bpsoaz=Eo{W=Um#V!Ut|fB<8hhQ^Wv`H?Ho#Fdm!x5&pr!k7(xj zqFH8Y@k;{29ieds2R@km0VEo89=FwZhLjw@hnUT7|4M3=uBCq9WAz5DFq}^WTV3p> z)QP;9LJ6R0Lok~<0Un)veV8nGwh48tl=isS=kh|ee7Xc{kS$SIi z1z15Y1cZbcFx!o*FC|;>T43g%#1i>rT!G6!sfk@@s$YZl>0UNH33~+I4)iB<8h!~T z<0{0^Jlai&`zJhzQHoXSzkxEo{+x_PkXIbfo`kY`ZmE?Rq-UdIU( zZSOx)!=4DtZ_uq5y~Mx5oW|`eYwdemPSG0*T=(Z-Ef5`by!T>$ghk6x=U(n{^N*Cm zFni(4@us`1Zbmu>P$IpJha|ROu+kYBpMpG&4dLOu{-y7Gn{aSgQ$jTsTp(}pCME!{=<5kIDCDk(2~5y>=`YxYwT9fQBnxC;{) zvhM8B7*4Q9{#^(JZ53^9)d>eDO@4bDmuwf}0axzK7HEn~hNVsaROKl<_?!r3lqkH} zz;U-?T-qiKr3G__F5@B2Y>G$g^ozyg*C<%TOd(Po#psqII=TsoDQ@dit6OgCCLAZ2 z#4abO_NJ;NmbH~CdZIyEscw+JWq9H&8mha#t0_tR`ew7UmEdF2nBnGYJnOz?ExqgMs{ZT)|6@7Z)pOOmS@=Uba;0vw zLfPCYWbO5EnPbg!t=_;ODx!JaxngqKs^j$A9&UxY+_zy?pPd3Uzt*kmte)P2s0A=< z5D8t}0(0tiy{u}-hP<(nONZL%d}v*a@UySp3#TzNi}DB|TmQtTvVa8TkkfX>kMU4> zJp9qe>oh8bTE|vpBE^LcduOQTIT2+L4@wTEupEKTVgF?Q&W;hP7nwAeJE9=Y_hQ=4 z!8ECX^`6f7rv^<`SLFt#hd9PvSmJj38V7wPpqM~}pe6uLfr2gv7CZiJw&Lb{^WyV| zh&a{Oc;diLa>t;B8?h);CX}q!@V}xxU>+?cK_5WBc^63JE^8rx^(CnW)DXwBClbcR z5-CeD4t&VfhLKCfe+_!E;{R{smgRw?lamXkdbzYyr`GXD0|F=`UG)b#WhWuhzw8uH zHU?1K0e39^Ufh4h=D&aZZw+0SaJ_w08Xyo*(f^_gVkm3AmRwrOl~l{d#r5u+FOdHI zCB5E&dN`+s`U$ovox|FhVvc`|5NT;?cuCro6KGH2`>076)GPzqw5a&(#e8YF-haBd zC>9Rdu>Vya31nbc=T5(s?XjuucbEkuK#uvtueF9lc+mbj4>^&)9(0G0KhFdeU_(FU zDAU%A;gs3q*pz>-dU--X+Bt4#vP|lJ4>;66!2pPAYENY*>B1H{G z10g81$OORCwqcx*jBsmfz4gziYxqbbm2F>&x=Y7QmJI1+l^t!JHX$`Cyh$fn*wZl% zUlnT|t&cE~-TC65(u+qb43VN~KNGZ7-f)H;14JDQ2Yz~zpm`sMD;ifk=R-#{r=`yf&7JeL}S0|z%MAy=h6X`QRc_$*V7Tq%W9MK2gj|rqMa_| zx{m?bv5gV`xE6i#b>q#id5VCz9`%=dIc#{cr(b>3Bqg0!_%bTwjbmmqU41Ko`=Wq^}wZ@sI991R-9J zqxZW{{lo%Cl@acZ3Z6jm>j9i2CSHPbqpEX2Y`YTqop5R~s-UEB`M9<*F94@%)-|E< z7<9>e2Z`tnC4-`m&QT zyc76gC*GZH-f+tmUX+c9X8uGRWoI4;_3y7vHlyO=axU=)lo2~xzF>2!t3GIPbTe05 zO*OV*fnv`^)=gOLbT0A&Uyqu+y5$9NrSQ*RNmk6&0hChNlt?OT5k(7$PJM%F$AF=9 z!(EOdO$l7ZlETeLNW7UjOh$7@tyzE!TnJ zKM(X+hKXU44CHHB(7x z&q@@~5g;fi77Bq~;%H>R&#yljlA*v8zf5-cO+ICrlAK(){YrChzDXa5TNSTpuO|w1 z1#5tyz6x;E;O!e3nPHbj@3CtK?9P!eJ)FbC!`i)|cS_A>cmxFLEo9NO&?q{x4;EXW z;#qVk@vtkP+kADvXfgq$^@=ydP^+3`K_Il_FYM;24_f7z!D@Mfy8bDiLzYr=xYg@$ z8kl8U?<{N!y)Dl7&Q@=)r_~?O+RodzprAGUWp=Quv%0<7Zd zlo!jcudb%#y6cR+SMO=cLyy*rX_Vg<9C`md?b#a>NifNlOIUNHjsb|VXAV@ONTTih zd}(tJtecZdfMMEcNJ-U8bd~X|XhD16)pZ=F@y<`;`D9Qo)%~NZP(&7G-WCb*issoh zDDqIZUay?CElX&YX?I}LsV+9sX9fH83@Ci6LUzmuXQ0G_t=;IaW^Xn#f?Wd%p|r|k__c3;fB(42p-`gl-DNH7wp;Wc!Tow; zyC(&=NYVbs`+cH+02bNo(djasYvD# zf}!1HY1S?Hsqu4A2NZMG%~sc=M|q>osPLld7-hb7Z)6#_BXIF01A_oVJrZ)(b=7!a>K=#!oVUIp#a`}3xIc!k>gwomv*%*#h`Olubi$gHMzxGhBPdqF8z_Fs_~w(oz_D8S z!csVJI}Pee&g#+8(FZ!8G#>0C%^rCmZJO*lNObA_<+29uJJv)`$T!kNxe~@H{@R=RQiX4pQEB*ZlQlK@&!bqI0MtO) z2)eVQ?ko=a7S5eCDgvbRD9~r1VypCr8d#!gZw5o}z;@VLbg6z{jDTn=fBoqkh-dnN#2RM0E`Qpgk7VQM#&w)R@4~*k@Yw?b|1-@}$+{8a zID`NSJ`pNX<_i)bT2j(%QAR$$|3TYZM^(AL?V^-)cjp8_8tE=2qy$7tBt%Ii1tusd zh)7E#p-3p*-60?$BA_CYf`W8P?fdojePi!)#@XkLGsZdov6hPklR4jbp6kBq{ox*f zuO8%h`soyRdb|xtA)2mB1*OsB>t zvVgPAW8E@AOc}&XSn%>;`cIbjILt+J<%W--Y)?JCBwKbRFkD-f|Td!ARB*Y;h z-|a9UW~K{KrcbbagbT_n@y73Ob!Ft&ciKngkd-gLlgVdL@ULA|)v$+r#6Tgzr5wX& z(^y2b0;2;LL$C{TVi+Z~{RMI=j~8Nc>(L5P@6V4P!$Fq(+I&&CM>dRmE5HP3S$RKaYYd1{^MQD{^TD6Uya$h(l4RyZ}1M zWR2|7;3gsM?YEW9JqXeSWS1znbnu_~4^yK6!2|aK#+&aKhU`D1l z8E_2k(HFCl;XBM$$-=iHlrYpjIE3ba$?g1TB+x56zATrcy&=S-TiWe~6xudNst-gj zgZRyaLYc~&@!7pH=LBc@+34SVEkbjCmdl$`q0Uki5@aXID5z@cx^boCeczsKaQv{CSGXX4odZD0$1&QgESCuh)ucSK1 zi;TSKF6KbA#)k9Nd%PmIo@bp2W#kL0jInNo)^M_zlxm;|EC)yoKs8!2=! zKKyn2T~zRU1YZ?GWP!p>Yholkv!>)ZsbE{1Dd&>msx5&jhD}g-D7PUTuFn3E z6HADfu6g8Z%!SpfR~U~&yJJ_pgS4Th1Rs}}K}Vc^9H=OX22SJX+_eQ^-q2e1_ z8a)gx6mC1uGOTbY$aR$8FqiyVsf>{)c3{yM!CACama@d5C~f?GNd^d~-MjQ^l;xy2 zmz)Txt(8RNIydLK-m%=iePcBDt@hg+4YgM9PW*LO+xIsMd*3I7NUjxah#0ltsAG0~f@7vAEE7ZJeh#A@vQ> z;9<0CLH{y-0X~E_izKyXypmJkL5sE?l^S~|hAzLn{qKX7=R3Un{b;>(@bhu;a^~%K zZ{s^YKW;)lP;36;SqTFzv; zB5m3013HhwS;pshSoI`tA}A?XWRWU_SGagm84jnaXV{B4?Hh%uoKHnyBV$>O$tA@X zu*StB=4cOCS$PvAdZJ1Hl=%YUyLs5A;f7U0tEuxei)^Jd)EH+sd>beZ24fS_z-&5UnYpIhSJ*sA?uzC9Pk4xg zbX$~tnWVf9>&88hI?%2E>nIG^Fuj|i>ahHp+>Hy%cxc|)fZVQFErx$hpoJ=`l`Tj< zlQfZ(MOG7-^`8|su}^*yb#S9lAHZR1mK8UG?-!kJ^r(h|+y2gf6`L?tBQhc=On2_x zTm3+_RxujDks8*WjV}hPiNs(o>3=KHe)vgR`+Dp+FVZ~?B0pXIPv@*(VZ%*SBqQTL ziyAUB{~r<&3vtjm^-8T%Tm|R48N4S$sgN1L%E3_bmT%Dh!WG&y?uSFq3@GmPWy!|)c^+K<{3lX z^o6}zjtkWEk|3*qxy~GFD11Gy-B2Cm8zw`<)Tf0HeOun7Z=(Gd|0^2sKlRp$sr$&c zOi5(?pTCLcIW%SbOEGY~)v~tE$r5hv;NE5~t6Ly6%t5^m+adHYdK ztIzN8qHXYWi=`^7>(b?qUDJv$zCd*6^l16oOrv)~Rlt$T&}@lC$>Kv^XrHD@$zJu%#mVH5s#zHyH7IsF@I)fK(r-p6tg zDITEq#6E>7br59LMWmcyt}6l&|K)+bXLJY}A2)`4f7Y2x%?Gm*hC{m8aIsTLitDal zhW1<|8t(pF`*v|vPwCdc_BJV+I=kE4a-DWqOTiQ99RttZ}}11l<>2 zEHDWsIhQtEW%XO6KqT~iY9xp$6xs(v6c@yn$CYtsLYL`{*_~wnSqE_WPQb3(M!-zm z9bJ^2Z71N?0A%+y2m(pGgKL$qG8n;ovTWY4jnuZkgwfdJldjZ1eHDxX9$y^``eAT; z`y~fcgbesNN7$a2*9V40fx~|3vBuxAFt3k&SD(Vwf_Chza@qF9DM%`fZD}1 zgS{U?AVl`Wr9XiiQMOpjgL8xumw|Cd*1hYYi<9}$zG)bkXM2)T#lvowpJ&{3YZa|& z{23A(tAAzVLUqjCX}#n6r-InC7^b_2knUK7DUpuz)zuNp^APmG1Y0P2?{D9rW@lsibaZ zOj!ucgOnxw-FfLV!v~AzW2Ol@?o7M0?$Ik3_TYn!`(<}I5$t=LVCxsB@iA8 zws%Ki?B&_jA5s1+;$7IK8Th@NWV*nWSvglQpY?dt2b)>m{@69h$QbNu+F?oj+O)SZs>C*2uXsWcV_xA$m3Iswco5m|S6OgJviY#kk7wZ@PTF2z#n@H*RBjcY8?veS(ITPi~=fUFw#H7E7sfs0Wv@!!YiZJ)fn$W8}0mc6cSc24tFww-;?@e!zi>h5~<)^7^L^RxnJD zujELqjT`BI7Ht5>USfaZMG$Vnz!`swDq^me_RIVDTxOBHIfTzFZ86b*;=a(U1^yE6 zVv)-+RM$O4z@_I0S<`nq&k!?#Q>VpX+u5FQi%BQl?EsGR(~Uq0hbT+&m5Lxfo_OaD zzn7Xp$FSfz2!|nL$noaafh2y3el8CI(H7EI8uV*iJhOJuyRnM{KA!;?% zc)iA|s`uDjs>wk?jff@T+4uhvI-WI^moi+wyHaUo^}OF`kGwEl@saEZofCOxSz2jn zcGB&Lw~u}9y-X@7@T$?#Jsw;YYw&xQCxe8H?SF9k&D;C*o6S4U!&*$3x6q=o zvW-8`lsXv2c$g2NGS_GJZY+t|xPfu2(8MmOE;B+UOa528-9PRNGg-!RxYe)H!j3b7TvBEo*jf|GiBl_*JWH?WO7- z?^EY%TeLlH;bG=_ONi{}-&BZU4pv>&{-@(FU^O+Ar36)+Cw05J{h9UIFN4 zgOGHARMSMY&p(8eaM|hslZoL~Bx=IBJqqRQ9K?!WGc8SrfBzC*zv1@SYjr|*1WwpXAQzGE-`?7q+uO(gPu4+~K07kZdd);@ z-2rlFF{f9tL^-#KOY07g=k}7PJ68Y1cm3n>Gu%Qg3=KQi<`-#E)%SU|s-7}3!397C zZ&T)k2ogOGnXgy%%!-`{99$1(TVjU9GkMSE1}1LNeY5F(>_JyGYGmY|H*60-a|`(y zL~JSK=%9P$7|l1;Y!+Z^*K<+e1BJE7$XxFwIXR1mz+H z*{hrT`5t&BWcLgM0-8Z4da)65tFx=C<~V2X!mV!^vN(cooo}gjmH<4}g6szwdgiFt z8Zrh*G{EskYYQ{<7oeLZO6tT=PG5oHL#)+c7`}W+s;Q;*QD|v+G&DyemKE>OMT+Y? zoo$aHACgyXEOvJ!`31P~Mefu{N;%oQzIvni1l;ZeNcYl?;A_L^wcf%PuPZYlqKH^f zEZuu(JRmk;(!}si_3^OG@_Wc)EFsk)MGdN|s=K(N;8=i44*E1uH--=X6oHlGJy`7d zq0q#xhUOeJhe7BZ;02Q=Bd=TdY(LPwUbnBNiJ4a2jb8uO?6)I6H5UnxV30e-@>K^> ztuI*j*P(FW1)@4Y-P)y))_T1%(+XAd8Ygb`ad`xDj|a{22rdl@+ix6hCCIwJ@(TF% z=2;Mym0CN73I{xaywQBS@ZhzAm&C_ zn~5`R2tL%yH$cI<4pq1n0Y0v2M>u3ORhBt_)VgLUMjY5EK@(YIV98R+ADh4m5}a#b zsEe+tM*E74DythySYD<`eFQFUQbw`mlkf8Z(R~LOX78<@9_p2EbBah|UH{bHb_b@< z?z@-T;`4hHU->-PA|*_Kikaf~udQz+lw^pU$T^I%Gst=sPJ{gQml@52a6<)ORR@(q zFe@r55X^l94mmHs)!ub(s$!(%Vb4eY!O)NA*&ng71|Lk-x*)_^83a@5PI~e*u$lS5lduc7HkTURF^f@rQjnA+${g-2UzUied~}F2D4uO$Vgee%@utT`Pf``#Oiis7Hg2h7fGc$ zeyc5!-+s?UBh?M7Lb~VdXF_~a6}w&ScLC8F>_A*wjpjN{h=G&-C2lx_4xmZI3sMNr z+?2X4I3jyZdu*&bd=59se7Izeuuy~xKgj07L^P`huW1801gBmH;}AzED`Q|{RUdM( z2N52H5l~gzl9=9x+BL=4OhRz&k7^&n08yqAiiBJ!WDck@+ zj{l+|&`%;Eg|+`Dj7o3xv>wD6Z#jHzYv~@og3MP^jizMD{@@+62ZY(k`hv*g>NMn( zAVFVx0T0i)`~Z;{H&_GiSxbKf!yeh-7&_n z8bvV&iRn6$!C|u49ScGf4yYWI2oix*1=1u3o5Tu8lQW}M%qC^HIBcVXSgR_Vm`h=k z{LAjZlC(1rBYw{kroJ9`3-kY8+*zBq*o^Yh}+se+Y!C61xYJrz7;9k9}0S2HOR za~=BN1}``O`I0@{;m^uVEcN6hbV25bMq zMY&~1jOlhx-->`Ej~26t8gs*iiQVE}mH3T6^9UI$+UeK^K&2hO{Y zm@Gp2vmhISiPe>7&vNm;)jgQhmI!Azr3ox%Qot>?e_4Q`7KhP7QM~s$i9pa`<@Ylt z&0U@LRfn2R0mAp6t)t)dG{z~-#mKFXYRg-7jijPKXtVwrfOWUHBNR!b8KWkZhJo zXGz!-`i*Bf*q1(}p4xPTTu5IeS0IRcPEpKCY>KObdoxab6%1IPnK~eCXVusF>K+C> zsqab<2lYx(kR?%lBr|xjafwE0_CZ&u<5^ZsC_O(}R{Glbgafaz*=`EwZc@32qI6fQ z-R%+S1>%>DlxjkwTnmVR5I_?2=r;^&>q;T4WD2`+(}CxwXr1@*K{K>dlKTXHY~(@h z{#%!O4{QU!)i@VuF(C2*-Td4w@7#1@go=^J54bWM64c zVaCq4eTlEg-jJIVl_Q3OCt}?BcA85w$i3XbM%4gAhISMiBeEW*_590nvp+qcW}#7` zdE~cXkor>)S>M26ctm>~W39f#!Blt%@3yGYd)0)+FnES$B`Iiz2H$$t8$Y>tTeI%hzhH2QH%OSb`4HCd8-h9)}EF8gWrrWitAqSJl<=nqWE;PtmhK zR5Wk&Dmr`aERTg>-^< za7%l#raYU$*OYvkA+v06@TGTedR?66%?{f6Yk1Q!!327mL3q`v>BgU^y#Vh)~HwU?VLu@WGW9xwbDRzMRuF{;i-+1bc1BJQay{g(DL@*vSrGML_J@E7u$2oZj zGb76BZ-`gxoa*G58g+}-?E*6`Str<-%q`)V&$YlN^31Xx0;UJtkdxxL|2v! z6yHfAS-O_VD7nbganw0LF7fd5BmH{M)8e56tpAm&OQ%==74Jr2PDb3a#JlpkkX znEW#e9Kj=WXDpO{F_RYCI0#YpFCqJU&;Iu`QSfg)@TN;hVVkQxeH*gqt(o;KlT+PT zu6|~IO_NT0j4^tdPjQF#Mq zq3wUU<@eYoVxl@4k$#h+_Kaew3%zxsLnXsA{N7}j3nAU&gzHZ%r+Q$)DeF~=Odn~o z#d`K%Ez9ai`1rW~rGO(aKHbiTNTG@fCjYM?`VcJ>`-{B1PnWT-E6naC2TfZ11LMF| zLmjrXE0VxL{`~K}Pybj^SjW}XS^vLn$^L(Q;SZ3Td|EiM_OJ8L?9$0^7B-Km3M@^z3;$PQ}ZdjSxrDX-Gfmt*JDu`4Fqp1%zFO2 zf`(BO{vh2X*L;2JA8Y(4x;=Ltsy>?@{z>TWRtJ{##o?iN*~9JswEzCs6ba}O$`yKg~3>e~2Qc^b~WRUspwEaL3>%vN~^{Ex&N09-dZZsa*@&0pO@bOu5=w_2{ zTJeETA_+k*fn}Ep+gU?3Xz%&`tAGHVbC{4P6Pi!|MNR;U@BaCAGeUeC3dm@xF@C8 zbg>)$iOr!pjjs}N?fi7y$LaiT>aB;PX2YJ#=^}EU3~zm}lH0Ht6K>vAHH9dGYTfT9GCF^sZ@aS8YQ1>{iBoSKfuV`<;gn4T`hk7|O84=J?#~BknAG}w1uJZF z{z@;ZB#3|6ypp4ztvENTMn-~o-E}9gp!q&P3fTtAPssY%0s|ai$kV|^Q1Kiv)nwmX z>u#k&+o2O$Dvli?5N+w+1Lr6Ec}9sOGl1oM-&^D{Yd5W~HGkMqGcAT$SxFbULoJT`U6 zeKH?+q1B*@w7s1w>Md8@S7O<%@O{c(!f_K{W!~U$ctoEzZR#PXq(kT-OknX{g8SApn z-*&2SP|Y5}!K=83ImS$|OF4T@bud|QVPw~q{kj{F#}V*5g#{W{Ud;ilAr8eQc}6Au z7y$Pibl}8nTz035j08%odx8kfWeH&(o0ZYrtv#4R#q>7CyNEA`W!!J%TdV%0HwUh@ zs3q$*5H7r@0HQnZ3u-0g6Q2p~)Ez^rA0IBM$0x^u0Qw^U35m2?-G3k2#hx$l?}B;@ zg!vrYg3m{;Ei2Z8VX*5d1=oBEb~rnV*e54K1#FL-Rp(C7HgNo~QbEEC|}HC0(k9B)23JP}GM~9Q~spf&iDS6!ztAhM)j6`?zaj zt1-b)$E75m+@cY1K>mH+aACYC!CF&O`=lG4(6`5E!8+#30-2O9Y3ATuJQTThjnn5# zP-?(GTviU}r!R{XY%u1T$Lu6&ynnXh5^$P_Pl&;B@_ZyM(FP(Lq)?P@uOpPxdW#1Z zTSh91nMUn|Jgox7z!bRVmk;X@l3c|o+{Z5tr7Ov|83-ndPQaJU%Z9Vplpzl>pGg2B zil^oMsdAgGcyL9aYL#7@{?t}PsQ!*r77Idkz;GjNGJ-iVhson(%X-0FWQC!lJ630{ zzK_*E3`P-Yyj$lU0S&)t@P?K@~c0MIXjd_ zw~>S^59i-WI6t>v<7{mnMiVITKqx}=qm=VYv_Kz%~X zjeK!U*IG;^0p)mdq^q5P(n>(x_yE5W{;l;kmEZ#M?*wB}xCW3f71{Do|NCEtJv#6_ zIrwYdGYJy-;pRJLw2+RYh7p=B9OUR;LB4ml)Gob4X(iDspuHR*^999Hb`G$3j^=%G zfOGbxp4JJ#Z2(;F=bylhi8K^On3R}5fu9aTR&tzBI4YHz>11q*^1B;9lz7hQELVf#e{A1ek-tUh^!$aM^iq@cK~(?un% z1V*g0yFP!uN+3nMDpV=RLHQjiLzybqA(WVak`TB&ByM!VG#nP4?u#51V|^6$)fi?5 zMydUg0+bdBffPewawKs9&top+$bZO6Y4B7w8JRqz)BTO!d>92UA^%uET^xSaux5_T zY6eSj_gz`%dra)7)_s~Hqc>u6_FaA5q3l&lET=R0tLoN?wF?~B!cs=(Ak#HEBo`S^g(Lq~R&`qmIg7C2Q{Roza zrlycc>Vh?!RSyI^k#8QqvopKh2nQbI@C-@HO*I~OT z@4#gWgRMmF1XdiX78jQdaO4tzNT(m5w`~inah=?2cn5dpsXr$e+dC|sFT}`ojvUM| z{gvO=Ox-!zQER$kQsj3IIu<@O*IzjVT|~7&@8!I6!O#APXvwd@Uw&-zxDX8=4K zfNfP8E^P7p`v!4&mp<{5rOK7IJX|TC4awD7ov`^^Qpak?`UGfDE*|V>2ZoAJgEG%m znvK_s>?6p=-YHP^ffBrdVd?6faAh%=+~L zSDVos6`N>@34ACcj49h&|1Ng|{&kx#_9-Or(ezWnTxMtcnm#Pi;qXu0k4{Je-AL47 z-&BIlT@_Z(PH6MXu1D(kjjCo~PhzHp8zoh}@ZI$CvKGyHv9h0LW*mkzsAgTD=2G2< zsxh~AOlYZqvpqCl>x(RBWZ=^FTx)S3)4JI6Cr)z;Qk9*+<}k%NH~z{e@&|h-eLpU& z0H0$Os8L0PHQ!Rt9- zz)~hZ2hOrLdy+@yW3HO?{8KJl)gXI@OW^v`4+AT_)Cr`=-Oqx7tro}K^8ZtFbM1Qh zh~jY=zymR)*TbE+0|KFp%U9TsHh;e>>uqmafxG+ZH{sgD0xNu=Xl;C9qweC25}=Gw zLZPmVjVul5ss?rU!m`5VFRcUjs7*=D1R)+G z5fWhjjiFI_^)Img^w@4Zjwp_HW^A@cyVnol%+51o;(P}`=OfE-8|+{A$#*%yvi%LE zRX%Qbt>@9`*bg3k+c@7GJj_9{7eO|ZE@VsLc;$guNAvzTM<^mI=({V2q*u>gRO03Q zT#B3&b;kyV8Rhv9R3FgN3=g4OU0NTjA1@~I58XwZJO0c>^uuuobg_Xd28qGZPaL_; zJs!yUd5oMNk`Dmq=$dv5e2mhS5a(WxdW}*?RpNY zj7{znT0)4G-_W`1QuEnF^m@Bk5gxYZr91+vUycUm_t6w0UUL8>pMJB^>;k7Md4zm9 zX`)c=(F3xWc~lgNW93o2NONcwsbj#5a(p8pr1nR4-DgUlztHi}%X8iLF3UztahK4Rr*`XjPCE!7e$5ihP~_9VVQ; zSXgN@Cxc|@O~Y9+;DGo{^C+-V*7g_>|MY_5n{U?ZxC8G4h;KD|MGlHIheVQVSt6z$ zQ37S#AXbVuONwyqFXTPrFR3;>1doH=mxitjJD1{KiD!I9Qz&=23!m)R@5^_BCuZtbbcHGA?B52XT<&tikP!cJaH& zp&W~Wbw8YZbTH_M0>3)#`4(&_WYCbHoyjYz8>AT$jKSs-NsZDR$$SWr0+oc-_pR4 z=$Kr{X`+|49I^MT9wp*|SP;RdWZBJO@9+34p!Udsmd8HtVmC-0mY&5Zy99*g6eZvU zkTW38DCsgKeT?3|GP3n1VO%6Hl4-CddA-#@{Z+1ShDI`fU9|Xg?jicu{y+&{xS5Df z$Px8G%kBH$9Q}Vy#P7)r@5&CizB@!WWDmNQc`^MP6v+s*;FUHN767O|ZIS5PJ81oy zG|VBvEdz69zSz>4X8z>Bg^r#ucsTg9N2pWRG1pJ|FD4 zpIYiQ@?S}JF$5$*yz902ppFEKDg{A=Z!flniL8bC!Cwu#wqQf=ZJXnv<`F{R+>IRY zk!(pOS9<{j``w2#I{nKDL^G1~`hOq>lc#6#Vd}JmEdVLFGH(c#;!Mda}Yz6V72W3^rd6J#?IHU(%WN>tl8Ybiw(P-^}QLOLVRZ>=YX@Ta=&RmFd+c;grJhx^U z4_Lf33QvZDm4zrQU-!@AMJ+?M_8)67!7H7SO#TOPqHSYvc&yi;o(4V}i3TuM^FQ2p zT*kW*0GEg6%xy<$Ml&5R8ztn0hqZm@q2f_&qkz{jJ_$A5?yK-Ez&vxySITNuEIN;y zSQf&2v*hg1{QVWYR;-Whe~_h`8hO^eFUKt>9*27a{0lnnCpQdA#>6dwZg96i@dABF2%o@aKXb<JBmOc4=h7}NaKh|f&l1Bx$6rADz7Bxc5vs+G!3{+6aD)vxfvsih z-oSAuOeiq<-z%;(qytWeP;RYUEnp2M4T&W<28Ietw+XA<6}C-sbP|lYuSUP!scF8V zbPVsdN*-eb`lDXd08ARB!Zc%T?mO6_J#zuExzw!nW|`F&;9ID&mpdLNC3~$h@@-j!mg#Hn@~_>5t)!cU8(?k3%%XE$R4+2J@{O zz?9XW0?_C|PXPq%y|fBgJ&}Y(R(ut1`G?&U8q{wqbiT)2A9`IWpDQ-J1RvNtE&VK< zDtq!`Og3|DzDmM)`HR)$^BpqYphnX{2)n_AcK-}4YPIv^d2n|!{k#J7dRlufK zRW1uU=buQme?y0Pd<=1Zn#o+|=7$i1=(QsAQ)T}EQ;fUWI^9q!FV_;%K->k-_+U1% z@>_C)=`%uJl%jS9y;=^PFMUh!>ZeGxVmK5NaSAjnCfFpK-6il-$T& zIAv}=U%JTGA%dSkgkoZSd^lGQ(Xc*mE%q15NevwI+wJ>b%8;Gwp3!rZu6^oqP*9o- zF)T zRJ+nS2P*KwU7~%=R8+*f)$G4IBuQmga>{!dox5kq&qcEgS0s(o$IDtF zoLIz$V-=bGD-N*m+W~66r(dj69IPbu(Qb!iCzFYVYYjwB>ALS+?POt`vienym4G?@ zF*ui@i>R*cj?%6nJ3&W@Foe!tNiT*x60;0d$C8A3w4POqA}%L~6ez;1R2&%?6nii6 zAHR-JZH&%G4)NsENb24iazSNzAbDchWiR}heina3?C|jci0`_>*fSSR&k=|bK=dJ3 zd3JaMoq+K{wA}y$Ylqs4YPO0swwkO~_f@d9!k-LR^4S8{H%njGTCm2%95V#EP6&3@ zXJI#ZbtpTy!`i1thJ!ZBV+^KAVPOz6{SIMC#z{=q-&9~W}}#Wmi7KO%vcv19h1+(PEJ zKlB(hwot!M@h>|>f5oMepqo0 z&-sfs8E$G>>J40pnyuP+;8w5X{}dJk7+2$t{C+r}|F_H{@(KPoAn^YkMfv~Z3r&c_ zaPz|6%wfFndVnI>uMa)Pz%rA5@N5uy>;D)*CpW`{SpZZdKxnue0(;R3)@Ukd8Ky~> zbY+BsQL09uz$c*jVD!zk6awu_<2CndxcLqJ7|ki)jBO_i-9Gt(Gqxy^n;jcjqx0yw zvz*c2uW6&F`oBjyx~KEA&9u_d$be!hS^6Yh+>w$k!B`MV{6gK1mQo@v&{>N7L%5JY zmFVy~^A|*h-G53H9*dWODJUdeVJl#lrI+<`7#dj%?d}0S&4}i980@{rqwrWCQ#^U- zi}PdpK(|Y+gS0=*0arr?KN0Iqgw7iMhEiY?yQ6ssUqqN6iHV1Q_x~^<{06`Yc(#2K zs}EYS^nmB0A{hcpzKmdOoWi=X*Gh^|aEG(a1sjYgJPjaB??U{;*HvEt#fnG(ranb3 zYf-EDNO-};=~Xt7A`y@uWC&bL1sHC7)O#cF&G8%7qPn!Z>3lkc9(@|y55dStJd`d$ zlyvEStlcRr1O@3M#VFnTCx7Oz(`fQOUyVO^A3znEZ~8kzDcF0~N4p=fmEMdmwiV zE9Ky}wU7nyqm}X%BE9|qgdRSG@N3^Pa>kSKF59o3g3vcS0msM1>AL*7;W)BLC+cb; zx8DSu^vY#Uec~HlEKm{9U zT#+j#^N`6RTl%qwJj`;2pSaU!+5Kx8Cw!wZS8vs|*975F| z(amonY0(eg+S|CUJ})%OO0M5Un=7?km6Q=2JnlJS8*t^~yZ^49*}?3M4^~MNScv(X ztiImd+8cXRu-r2l#jv@H{z`hDzue&a#{mWGZs-g{}w;x1pq z; zmK04y%YtR14)YSpOV|D~Iv2we>EVX7OF#E__nMv|ME*lR;g<_ReSq`Xn#!x7Gqv^r#PTPIrg}dmm!EHC zu>~X?;fW2HHRx9p7KSZSx-jvW$(uSZ?*``z3;2Uu^a-?lh$S47c|qhdByr+>2)vCYl-yo`!G+| zGpo^Tn;g|oL){`RvIzLb$dnqF;l#OQG|qZY$N^RFJkYruTe&H_iZpVUe!02zm%k-u zY&5T$<*{Dhdl}8(O@u^T4f1f)leQ|AOXhyhebnB#Cv)cUEPE-h);UDh_PlxchK67|8RaOh9@DM}SbLYS^8*Ykhu|_WP5x7P>fzlAAn zk*%nBoM`9AW?IQAv&Y)W<3`YG<|Vq1k=6uHAx%RG_xGWB;XeVCf7rJ6%xuf>RU)%p z*j|Xb-{`lQ^#@!5W@kOpgBG1tTrtv|508hi{|cOsF-0&fmfZhh2APp1!4)%B`8&X| z2PEUQd~teLlDt$hWX9@Zf0XiT4Q}oJZQ(_;vnAPof`sCBj>I7LXMyu==B9>Er-48~ z*}dQ*o34^qNq7Vs!`6Y=(p>P#wa3$nw<3QDS(yvJcvAY^FNh{^n2Hu&w0oI2MS3MC zw6fV=#Q)cul**GRw7@w~zZpxnXRGAr$l3hLvu}ayWyX5gx4!1b9)o>o?*8a+v(qjudlOrJFs0k2xX1hgPffI%@mR%0zfI~`4*j2Z z{MxBw_W;j7-`L75U0^1=wYZ~{R6*)%g(j^76<>f%$hn0S;V>(`M`UbGvHKG7QYwi3 z43d}n6Y76>O|KR3x+;-P&DX-^l#NIZR+s(6xCgN}rBS)lGS*F*U6Qj6MR+Z;7=2-d>8s(@Iy~bIl##QJpk3 zA6Uu1Mr3pLMiT1Yg=@RNqgP9|^e7Pq%%x-~baD!!enG(izjEp($4MW``tkHk1E1=@V<8!V zM`VCBOkIxh?GtD_e>!R++~>g*0CBVObP3m4eGbpL0v7z9u{5BIW+qzAM{tag(o#2&e;bDzu4txc8G&jHH$a0 zuTQ3M)zW~rl&LmRQOb`~^!~+Li7z5d0@1gMVbj~H($&vKXp=1L8U29AKg z!>z~-xE_63CX&A0`wRWSvz2|vKFfxL&-!PS%)$u4&!cT!tYD1fpfq~|>6Nb;<*u!T zRK6ZM;2gfoY-I5(K@RVe<-8v3q8|F|6bt@`e-yF|6eG}@<$KhCh>J<%aILX-NHmwYY7 z4%d0{&cFQB_NCj|r?n&Rp&3i&WxX`|yYT~qZK!Pg=TZ3S1Sgum$#W`PW734Sns1ty zy-2fO2k=GUcg?T)XR^6dQ7XIEB-d(Q?uC;<36;82&i$SM@@c*|zAT^dvN3n)S6gT>b(B_XHyZv^ihdW}vo6_Zo^mg& zj8HgJce$69lIna*-kk1Oxq5d>bSY|=F--6YI%}71rSac<0I6e}p*ZSc23{X+Lal_i zkbXr;NLLTopSSdw-x@Q0oSaSW5*n089gHXVCPyB}>;qr>39fvB1XS=4pj`Qj*7|_fLi(o^H!N|h*8#w%`??G* zN;_Q1lSmXJua8&G{T!bi3r{CAEv+6AUq1y~Xk^J$we02fbd#&*@1v*=DR?Q!N5#@d zJ?(&ljkYg*cj6Kec1?D8%n$RKp)*fO#yFi|YqjC0(4cNj3IehOX=bS%`aCOA6tRQu z#rN6^$3;ZHpSPFpGK;0LEmur?E4!ulMx;zUGSp$DjxF$=UgFuf_H9Dec*VwA` zHFX&62xbSj!X@AAt^Le{aqL&sRz_sB=I;oerm+R@3_R9EZz>W|A_`qS9Us`(d_=#Rq_#mEev2(vCJ(aV?tv zlqF^OCGZ$;S-}S~K08`@RcsCr&~vJQ&*4J90&GgECEBP3*IWvyseXQ}$xLoQ21umd zx8h3D91)I~&RyJA94h)zPSRG(Pp<+2qIXZI#{}m*v5umhL-=CczgKjOuMVd!)$YhFBi)w4ljQQ z600J^D%!n}eXz2w@22I9y7e;6TFiSD50gRx2fr1eF;g>bEP#|Y49IR2yb1mIE{TzA z4i$GB#uK#5<3nW6-mKwd>Fi$>=~ef{QFsx*7o|yAek+cgBkpyEyx=#lhM%VO#~9y- z33{cKaO~bJ$0_@Pko{Z@?gni0KpCZ_-&uA!tk05tqmJ+HdyjZlSL!@7bV zbQ2VbM=h~esHf56s;^3XTYQA&^;_tc1`4f7J|4ceay>3iI%h_U(gr#QW7PNyAGk$N zEFV&Z{PyVY@R-CQ5Q|A$Pyp3p!2m0P3&rHC7ZR#Y(l<297=B~igtl~RemVc?k~G^d zA2Y()U!vXQ_#s}yOxf9p&b!5^tw5km76dR+jt3=uujZCfQs((?gZ8Aktl~gt#pV}V zX{`!9_+VxY&fz~S#%(U~?|s;KI{xl;EqZ}It-L06Gsney&k0yAE8T6S^@8WlxnpK= z+>YAXb&u^Nz07;@$yZ8s46aQ&g{Ya&YVx{iU|^*YsPM~bg^X>jomednir#+z%X}!s zxs|t|v>By%h&4jz9b(fv^~p(Zl`|3_%e|HNa&KmP*fu5m$I~=+$(qgz#pC5c>F=!s zIx-K<_Z%)1NF?WB9c4hOtC|Wc9yUeee+_8M-`SNr8!3}aC2an>JGE0{g3Y6GAiqK zd)uWHPy_@8q|sYK0cq(}=@1nG=@97>X{1qFKsuEWC8bj&B?JTn6huP0q+9m9SnL0e z_sibn{j$d%W3MmI8jlZh$M1@H&htDbHkDqJS6|V~f!p=sZE0$49-LLN3ahuG3J3%D zGcA2L(X-B#g3rswwx8%vRYlU@pOxz;0Do%Un*B3>v&l-=LQ)m`z3are|2$zMJ) zdbr-_##;Z-h9>K!?_{;pva?R%>w10d@O{=_dY+vckFS>O5ZH`--4d(eD&ClkQFXk3}%o^%EvPp{ky%;sn`<;KN z?+^6#)&1@t@@NS&SG(xDe|icn33Che|9Aif7%xWSi57CqnhoQK-sDVo3YFT^OOhfbP=|D%+pSM zWrJFtt+4eQzy6nxR=rFR6o@7mgWH6pmTH)VyAeR)@%aeM zosHnGqzBsqB{Xa+xtNf!kDB`>%b;!sX+2K3x*f>sm5@sHKgw-|#8p7{q!~i5(=a>X zG4*1d1>4l_wbYU|vFGGuw@%#o_{t@ZzgpG#3NGzO5w@om&rPM(wSk z4;W=@q>eLuZxBNFs-yj_5PcI8!EtXc(4|@%*sqGa{)PA2L;HI+gtIf^29D1;fnmlx z(1HwMOE`D@RihwkZuc}QgiiX^7N}JB|E}?fgZbVhvcStUwiDYN ztr9zGsV}|e6W1?d9^}7U{S}HZ7C;<{t?l{8*y>t(1z(fP?=xmH?}xrEnn!oKgv8b1#MnB@P?FsoK|$&0R=D!nXyA1)bOopN;g^K!=}~H%=)ye;DGv%uap`G6xlocg@jfgm}&_YAAhKlhoebebdP2;d#VKMr8 zXaMi-gAw;4%*+M3oxQYIn%{?h6`i!j&;g#_j`PJy)rZ!)A><%}dtCEAc3hhP8$d`; zLW2W{SP`a-l^h)Ss0AJ*)~nv_jwb^xg?DUI$X*#Y0`}WU9f~|f93!|m=CR!{)iv-r zHMzJs#~7c9Pgo}ky`r+pZs;NKw)Xl=y3sNmuy8SPeaI9i`1!648U$h|jzl|M=v_}0 z_eZ(GY?~HiGl@LZSP25V9yk5s9UAKkHI74r8{TeuR>duo0`qn2Ani6&Ov3uP+Wq6R z*YFJdnu|3X0QF)!iB>G>$U-$~QyVBGn>GDbDbF2L2Y>Lqi0a)yjgd+?CynSFLP0lF zW~Ye&nm1RyiYi?}8Dxh(bW_+3X5=(L_lrK_^)k1|i~Tpm7S~BkXWfikt1FT0V|=Qp zWus#5O-QT%7>JydbOlM(Fl)45Fx1;J z?&#w4xWD2DnYB7SC@Ua3M9b@RvQDZip)Fx-%OEfg_;@1!8K=NVPd^0Py4 zh4(=c--RF()=mdnnCUG&ia&I-%@LMa%b!8iO+{WJJ7k?OPNzJV=De-7;$~QrTOV>D zvsTi)+FmWL2tG6{N7Ryf{^|>~q-xO~SN~bu2!feVwRX$2#Nn z&QIQLPMQ)VSS5#@C!HxX*R%QpE`P_DKq_iqm%JRC;&kuFCwK+yBn^`rqAwUMpF?2l zGu3oAZU*W*Y0+mkdje&dxzq3W?ij@45~ro)J;aeh{D6264TS$#%P&>~qO)ZOKeAeQ zs#C_ChaO?ix&fw>oKcHjuyu<89QnHyS4i%B6m^N{+3*HzRbr(IeX@zGWQ;EKA%6fP zi~CO1#^7ik9FRXif~W5+26vT-YvYwpzvkeDDB+YxFPW=A?G4d$V`q*0GZ; zO$vkMOoP1*?DZFhCNxoGi(OUF#5Mi(GTi62tXVrjo26OgB*`=Wl>(9JVz0`v^>Lw2 z+~4dZTqUAh;RoHg)l0Cqcdg?|#a1x4IU;~q*n@gewSwFs(cuuMG<=sI00N0eM}KED zQE?u7&-QvcMJNcK~qNr^qgKSmMHiJl5P3p=dMQY z27B;(P;@`h?Xk%1(^`Nzk_!wXKY$F2@csr^rtVR){{Apa2S zEQ;QRPtVqFfqQEu#0mN#``w5jJ?S$s%e}hM+5%MpW9!)*@`u6)j5Ce!^?MNSq zn&-cz5#jJhF-5D4?0`u7ky3hx51pdp!5k6hDg@hcEF4Cco=lrOFTK!zS+80`J10c_ zI&%}>Tr#^lsu2VW<-0H#M7BkiRr7e$Poa z$AfrozQHWYEi0!Bgsn@R-OY(QG6NiKa$1mi9d}u_E^eVBE~n|JQKWgPaRpPE;DvNa+ngXRT*#S#U>;5cxjg8k(-nJlPF5p~0?rJ@~3&zhWqJMHy7YO}or|m<9%_Q)u z37w*u+e{b+uyudR+hmToe@ruS4Uu^$M@u?N7IQwmh**laXCt;-a4AE4s~9zx{N)qz zacGSd{4cbnljEId|Moh`m3t0Hl@YX>X*Gtd4FOVvZ{Nl0dNMyPs`Lu)OyH-+0$3!FMSN#8uRs+CngTlTf_s~NXvJ?r(hudd@I9pV<(-L2Dd ze=d0U;57xv$=P{eaOL|q6%En&t*?`7yn=wm~3hyZ8 zs-kz zdskuPGM4HFff|0xh-6eKBcqDXg?17$hTB#p{zzTY-a znpH;-y!BwkjqMjp+NqA_)fR`e zEQfX;xQox)I>QRZzAlCJ%P!$o=y);J(ppQrhD`N#pYn5Qch=06@!KA**%#A1&r5!D zO3)CBqE(8Kz0NAZdzXgb%Wi^XLhNnkjVUplOE@7&PJQ+%JK&>Bl45-*xCUN+Z=iIo zR*YL&1#1TVhtbkVa<01?IA^Qh@D6xyNjARG5h56uPw!Pu^bRs48Q>>B{w6Ii8Py?Y z@L=h2&*D>47Ou#p;pknB}%fN*DD! zlZ>;+xzjDC+b!g^;J^Pa-y>H~E4*N~#UR45$!*}=XR9+G<+U^M&`q8$np)>Arh;tc zwB+@56trOx$z(ab*f*WJJfK0p@DvHMPD(!n3q4LNF2ilfe)n8O%paYP^zxUrm$Ytd z@fl9mI~*Vu%v70zZF=8g)C9TJ+j2cZy!PDM>4n(ESIr}kbfbB+TNVC}*Grbm#6ML) zhkO%fygEJgUT@cI+!*)hcGLvBl3ilAP#VcXfS#m|tkSzLjs;p?JDG-Dd8&J?EL&|o z$q%ErmZFWP5AEUE$cekq-VYZC*c8;=+;w6NwH98b;&^z;zlkJett*f-D9ZP@jPQJg z$Ld^X$FWiK)}`*F`0NUV1!$*AnyYRmfQzz_d5Mlz-!h{^l%)ri+=%IRfp zG+RpvX;e4otj*&o;;G)YN)oviS!r~DA$3vvtwV_yL)(PX6cx&hZEHn0y0K+=2n=%D z9H!suRh7$i*(Hx=T`5~C5g(#`iBn+P(Pei5M?E|RLo@4F#Upp^LQtlir!}Y|#rTBN zSBh9%rLn#^MXfYOcF6Dqt*flhfowJK;7yuWN}g|P6-e;&Gp!O28OaVG7I;bAA=yKy{cE1^^ZI;Z`qIFu zMVN`%82Due%I+Ds3tz@A>G%_>^M!>!ux5JLca2o@n;c#4C)(f~Fghj zX*22pKx*;)mmc=BAzaujK3Y`=A0Gza7-M64l}f3v_^DShnxf^AVC;yVJ&k-ZjaSu9 zKX;tFEhwO|IrY=54?J#scdl9W@@$)-kK^DIC)c*+a(5D8a(r)5s&+;-D_F{E@I(GiXAiTh{;^V3G9J zOo0nr$Lg03GqUk=Z`~f#JR+h~|OO2wShA#9nR0ItFoAdvF(M0>dXS*^_ zvvz*$g?#_62SDuBW;214%fEUtE*h-Bd}}9KStjNr3!DnN>0fXx27su+5=zZ~jSuGS zmO_pC6cU|C49tK5mdqF7=Q8EfzZDraeYEEo$dr%Xjm)%ILz!RDnMB#)_H78ZGGY$x z(iif$QTThSWq*Oo7l;DEv`>4b3?a)-G8HmLvgyKVX2fzW_~5JaL z-!)S0GipVdzwgncEoY_PF8ltrT~a=(_0ARQ2#ayrGf~vZ5H$+|2G=!EStur6TnQ&Y z?m84TJ|Srw!xH%oddCzh`3W8qLrqZxXLu0wHrU07S7GDUk8X(9B*+AVNP!*9pS*8v zr%)x=hxpLZb)f@0sJ49uxgxc5tg7JYX`**uI{zMU!&hWrShz(LVe|sE@qvf74U^I8V>`1UIFmw5g(0}q2seAmPAibuGZ#+e`2QO>=u`;f%khK^a^#XxVvj5m zgk%0BY=BFz{lM~3Mfs4zZ$$}59XgR`w2NDl;ua&nE4NbyuUD+v)5)wIp$q|xpDQ0c z8rXL8jJi?wT@|KsefkR;>36Lehr*!>(W#%0=Y{clh-xkkJ!^7_$*&*!URjU}gr=a| z6k3@xPHr1^#GU!~M#O^)hcs+UV@_hxz<1gDsV7{I{Cz~!e5}mJkld=UgCu(Z(k~Hi z#kAsHfu4eXQv6GC@SKZ4x)2msP=wa>ao&Q*l5zYPYULBTxRo+L8);mc&yTj+T$Ujn zbrxw09w5wo3W9Q2Y{d-9pooKMZctC`pwe&Ing78BI!H@Hh@lDc1-L*Krs>*;JTeV! z^DHVnu-P~mzPuXyLOvP^mn%1&aFLC%5ots-pgeH|`MGE_) z(Jb$KI;Shg>nz9)ta-rGuVDy& z?-OK1ZGjLa;tzaXLnwzekG$ITj^ZvIT*NmL{RavVJM#~hh-Rg0*QY(eIWSdh1yBNe z5vx^LsNoxtXvBJPTn|{E$!1w5j!<}S@N*=S%%puW=ZJz#M6mjgj^&`CF_)<@0B3N* zXEE*K0q*4&?fhyh5XHT`5@h+wCBGiR$!o%ojKlbiQb5!FFeB_x>5q|*PCYSq%oh+( zouLT+Jk`7n5_ek_4M8x01;Gi?9qgYu2M3ZOi zWL9X}fRiYSIL5TFZacUz`kmo(yaZLzwOg970~w8LCimp%)RAvG+PJ9v&CcG{2{k}&T&c8;BEhT0=*V5L3nv&<^aQ6BH+ESUPiM2|y;%(D zu(*6ET%2yQmkp>-AeY7vPxK3Cf&bJx(-lJcapr6`vEE1dMq)o+8`oC zuAyldAgE9Hk|cI&RDCu15g8@M<|OK=FK?}`8wX!z?0#k(zGJE#U8EWeCi=assghpP6Ije_6rM>V7(6(3qoxf?t&}PgmBiKR_YKeko_ks5uIuAszT+lYtc=l z#eRZjP0MuKL;Cc`u99&`;r{_UF%5(3-#Ac4K?AI)>;mLR)U=QLS7F!4MC8!@!4yOr zHO;ZjUpOnJ6^p;5HRhIr%%z==oGrJ%!J1(w=?2bL4G5TTcHQVjAA?kF=;4Ku1+JZz z9;p>_5oMpyCJ^d?#*k@^Y3tlWfD!&!Hj>oN6%mr;5>c0sgYg|O%esXg&3-oZP@(&S zZ5zvSZSKsgX&)O8F_PU9QMqo^s9;wWHbK^AWmnF+%|3P#mp0a^@y~w7(067XfjlZ@ z+HC%W791Ux9mCa5i|i!jC8FHX)AIh>i((|}C8AZ4(}V$uLxtd-OZ3FJ8t6P@7{Fab ztOWZ@$xvDUXr-~$xwqr$tyhvF+S{}4EnJ`d~8+ zAq0wtCv0Qg0$|ZhoJQ=2JZPR4dv(L&=ME1r{_|7y9d3DC#bn#ZbHM(o?{=MaSx=Yf zB$w3!AFbt}5V*TbkkZ&muBS!+)C}+{->FQ|Q82aj4e~1Nsst@VdkH*85F^l{uQWs0 zxUa$pW8e|y>Bv#6blyqZMgj>y9;qx3KZ;I}rOm#4$*wxwJnKpZGA#-JB5LV$l3!U9 zN;_BZ0Q`Zny5NWPa()FV^Ie*UC$S0IbxdtOD3{C!7%34A!!@JHXLCl|i z;9;Sa6>u2J+x;S1dIsAQ+MT#Y58cWifO7dNq)qvQfbPJ2qiUyMew9^_&C>L?vgOSY zG1!!+EDfHw9Q7}p?HGbd*UmPTHOA zkc;pZt)w?*prvWTo2!cKmZ2|g+c!;?*!l!0pn(DYErqy4b)xg>dh5;izItsmOSync zXR>NS%*{KK;`z*Zx#>4~$+&K@f5pken2Go^SZ-^V1LLb${0Ct6*@e@^;8_rQFTSa+}>~SRA07P26a&PR1Ra(4KZ_sA8`Re}7a!155oJBuy>s zs3KH)Z}rCd_B#;VAyCoulFm#IWaMR%dqX3r+ney#n{b+-kHCY#=F*Oev$e0}Ns;l0P{tNz9=F+i&ya z`9`-vOIjH_a?@uOXb)7lgFm->?85x_&3183gO3T}HaZddc9Kp^0l4I-Q zt*)jufWw)fI*9(av(~foo-nF>ph|atIyg6d35^(?7cF(^)9m@G?)&kk}V4m!u1|g$V|2&g7ZG7{W zVC7 zDuUvXn*u2w&$GJG`gy0%A6q1=pB}SeWqM%PHPeI*ys&YM-GsPeQ-sYN?#%ebLzc#< z*A+#Wp|Rx_+KexC8T;DCx!!0W6MR$SZfsxUl{ZobU$zq{y%~j0jV=}Hh(*pBhKlDO zZ?d2CEH1xj-w!4z?_9p3d`&YE!x*1k@TAy`n9xqSS0NQ=W!ec;lkGjueP-uVkL_}5F?y0OEXaZMuLA-GvPrt%b7ZpIc2FId$pN=R2Kq1 zyH5N>{lO{W0sQuh1&=!7yPf9k>tJtR8_ZCm??@)maZhgh=|;pYZ)6R=O+uWgCoyT3 zVa9LGl&?M1i1#Sn6uzvbq4W&ZLQTMdq^89YVJ>@nHOgiLuf0Vway&(TY_8P{?rGs0 zHl$P1b`Pvx-&r`VntrQSrdOfDR$C>3G~$sG*)Ew$P7QhQgOq~Z&G#^2kxm1%2atqKQ;WF zyH!(uwVOJE>-w4SB}j)=O_wVk=YRA>&jT)`jmVF7$Yg%$*vJejjs?c z#l1Y1Ga|jvzvyGqf_m?ra*DmXWXJ%_d)6ht;j+m)$S)=MlDHu5!jeM)m3rf!Kq6(vmrc4fRPV6{ zug3<=wqS52N;tIF6EIPP7&gi+8Filxg4<)tRQfN#YChHdk(MHn3JObW;vL6lNCZop(vFTL-;9Oy(J@ zWpzJ6Womz!0#C-Kuu-K_)rbmU5MO>cPtF!<$y853S(B^K7ZZbHrtL}igfNQWsd|O8 zcBpw7v&&*%Rwv#saZaZ#=6LxEjM9jr@s2A;*fO*C)nO%$qj_S&m@se7vZ9>dxp)#W zap@sPMZcc9H$Gi#A2dpFyugWL}jae z{ZMI9c$$%slivLd#gFI0&MhN%){}S4znYCon93LC=#g8+t=osY>d`K!7tpKM-DUol zHD)>DT;&d^fmQPmB;^i7JC ztOI$%kWIO?8|8OJKOJ^)-@P$U&8hdnyy|Dc704Y69CG}*d$Pet2Fv?i$Yf#TV$)Sg z)R{|=zHxpgjq4rIT*&Y7U%h~iaH(r4{zc`PIqi7Lgk7q3P}{j5!6L~`giF7C;;khn z_#2taEfz8iB$VL)oktf%bBq5aSp0uvL;HVGi$Q_r*O!3X1stmPz!{;$KzPQ0Zm$#5x(gl2^KG4rm&iQ{2aud5o4ln`_k{V{ztqxuPq30%EKk~k_c`P-v zJ?J-le!0((rP_dqMt~i<{*;EG^YH6$5)Q+BGdf66pJ#vy%@hFvC*9e3Ee780{sgva z>oCP4DnASxys?cj7vE2gog<3FHCP0M+kbS9LJ-J10N@ z&bw#BAagVU(2xv>ec?r@$A-Zn^bMfUW<^qfu~ozt%I6|r&4AT0j7}j2S=_x6>|inw z0tOgmROV0k+y@wY`^TXIBtf*ZN`S3RTIR+zg4)sqQWTy0jm@PWyod1T+&*@2|3OUR zAOY*2{;gqc|D4eMY*!rk5kWAMw*oQv{1F@?RFAY}?A+4z3C~y=?J>?i_&oRZ4UsSM zFW8a%0ovk^EIEipHvt;LyZNk!Peeg-J>V?*Ic)6nN4n~kwDeyIAg{ETG$I0?is)Li z9Vh@Te$d9Roz+pe<1(_n?f)tcyyq4Y!nI@EsMJ;$VrMLB{ z#Cq(c1O*xmExOv-q3kITN%7#tm|M(RU%C3A4j>~U2pEfW7Ve@P7A$8o7pP|%PdrP+ zUG7B_fi$i3gczno0lJ;S3NSJ8s%%!GB2o{ZD0&LrP!1 z2(ZaipUZ+@#aHG4DbM%YDDg&5FiK5^AxHM5KxFR%V(C zl}cy{bdU*fnddwGF3Ry8u*<6H8hE(>>pS>bfRh`2=J#FK`?x3jVhdIspXLq9+K9z6 zBRhb07>v;1w0)3?34$JtTNinuPgevN8t18 zi!p-T@%!RX;cu!sQUnbEwkZklRp($}3OF?RrJ=xW;^|~3NAkyTjW;98-w>gd=8+8B zpuMkF)Okb#t%P?d4YW0*hUZ`nZdv{cKLdbyl^31xZoDQyPbEb7FNp1mbr2Ua`bd%) z0F*WC;H0!&WaCDL-d4{O&nOI<36r@w13&T?R!f_)Q4)}kj1Xkd__FUb)gVAyFb_n6 zMCIPQ!GKQrVY{YtO^8eeG=(}O%@%>Ye?qX2_4IWOloAEqbxk9D^THeq-xvmstqG*y z^N1Yk_cTzs3lOsQbIoX7As=JBjtkVrO~4kQ8-xF}@)NM2M3ip+dTL*Z>+>8D^}*i2 ztx<(=BQW5U0ugEd!aEFvzovxwmE;=(;IF@ICk?bh!pBKsTom%lz^t^B5rh|FyjNH? zlPD;03#jIk#icN(4E2P*cf-T_o*H`x*k-hT>j0wQNAf#jb{UrcczhOq$%7N?a&PzO zDGdIcsic9*`UJelFd2;Svn48WLLz-lP=Accu>MD!Yy|igHA0zH*1_dkxI3=F5&#k* zbxhe{UK>8hxX?sr17B&;-^Q~+a6b@7f(ySG8`{>RX%I0?iH``VTH9}6Lq9udkB*78 zVW@eF&dmfFP|1RC6p^j(F9Rer_dWNmaUhuoi^0j^gFokaavVpi2(vMhA~0(_E2G?R zxL{Zg=Hy_zc%uEaM*=8DPLo{l$+WfXuqGPIActMCd#FQQ>y~N zA`)6y#%uh6ERh6QP$&EJJ(7*`NY_cH#B+8xV8C3G(~EqUzC@IORd=<|Oa8JBAVw$P z0zeD^v}a%aLoxJ_fftZp)kBY~G7;RV9`MhQR|3+j36Tqegt^+V67`A0i@-(c)Cgg}Xx(u8O^fzKE(+5n0w8H<4q z^krmDIMKjKSE6-WgU28cZ0SNLPh=P51s?F@IL$B_;N13o9z{UJGH&K;ue~{c=|nve zVdtWhLS3KuY#6Yc)ESw|;_i5cS| zi?KZManDyZl*b#`!$so^8fY*KP_;=>;+UN0z(T#-kbI6^mJE?OUQ{$I%~{(c*Y!up zv&erhK>f#7*M7(P_?&{~D8AftnijdcwtyH5IgTafm+M=c9#fSeP|&}@`Dkdr_Kt6c z;8OZ%wbSc}39?bbH>EmC!w9g^=E~>=cVOX)i6VUS4tZzm+`_)!s7-su>FXMQ6@Ww4 zzh9?(LaATKL3)ESlrk>g^2okUV`Sq^pNaG}$|mm0PFxwT*0L}KTxxVGIsn-LqkL!c z*2zVdmKXs=eq>yLSFA3B?)-_N3huWD26<8F<~_P$Kgj2!*Ft~1Rcx*V|AalQt48#s zLp&gPzh9Rg;djx$zxIDrA}RY}_ziGR6A{4e$Qof6sDvC$o&XUEf#MNMTN;+EbgXH{ z-M4oPrIquR@B2*_D+N!zw@!M!^r5~}rE6Vvsrp^dc6Rn6e9lL!+{iD+L_h<~`ICnh z87H($pKuTIz;N}m2thauzS?VNhKFrn5N#8zD{@3${tHVB*x{N?U6A6u$G59Eea%yx z6QczJ-UoD5uOyzH{k(PrENR1ns+lvtdo*=lfhB*=4-qN}Q z#mrCiP5R0Fb%8{YKZ?$vdCe2RSRjtmb2IW^igoqLOMH zK^U0N68|^h6ZrURVgOV<1ERZdSeu2f_LFt3Z%L)2`E>qpVxtY=>;&wbXJOUaA+UB6 z%;_dW*(UC&Gi(HR%q2VB&4tE3Sf*^!*AezvimG;I5AAQxlcN@(n{|ncQi`zC8F)>e z2pVn~b$)Zf;EA05@!LCL!4aFH)*;VBMwAa!#BM7TufQ=$?>B>7s(Hq>@HqUhbJ*S6 zE*uf{cDn#T#Q-#i?j`#(Z*A=B>b8HPT zcO-AMN_oTs-k!z6Htb=<@Iro5O|uo?x;?%SQQ}g6uj(oU%TXbA4mAuYqfhg8aml1~ zu8DVk3#+duhW*M8_??09v-Ql3CY*t&O{xS}V*bzcpRM6e(+KSpa#ZY4Db>UNZ3s2j zSrk;Tk~b5?COk9t!J5vE4lxiXAl?$Pidrqi)A82jKN{iep^OEd5jw|$(4@7AcW=Xk zd(8J(p5%-iqk?JYqy>moqqBM{iV<%cU<&h8J`QW1z8-F8x%|D?qvJCw+EhfAFI2P} zzkZ-W2vwA>M|bi?xEVdSO1W{{?(06Z#T7-x-Q+X%&K!1<`fVl)XSLz92UH_$f3Xgl zHKN?;y^gLk84o^a7y<-lE!h*=()I+W+N06UkRAF@#d`Dn4PI;_pGDgKLtLp-le?B4 z<#+&biRKJ4w4Ldoh{QQSpWjmw6@%*6Ud&BG?R59mX_UIN3}?G~t{Zj%bYE^=wt?$} zz1)k9Yd}N}Z1DHZJk7EtNcC{&c+(38o6C5TK7pb(&JbSQ3kmXp^Nj21?nhuGqu0Mu zbO_&r(G5c1Z*Tz=I$a2R1~H(T%&d-b9yS3B@uIs(`l#?yh{gguq*q2^%i$)?nNFP` z#GBldV|*e3%+Self~WJ=l0^y)^}w-cE!ZwyFCl6VVv-3Ab<)Am$1D0`T98Xs|9W}# zZ%BYlAa4SSgd|5#BA5c=ii~apRf!Z=Ckh86>q3H(-+5;P12HXF2}iHGm8=VC)o(jks~(Wgm|tCWhLY@tIl{xmlBoL{h_Wg`6t7$n1o%Z#q0RfF1n+(R}#j z-z#);v~^T5&C8_pDq>^Y)qQ=(_>l30R=nwLJf1P#g3pvNx_U?8cMCa5FgZ%YA*;+e zHjO^8`Q7z>PE`ZhPJv$o2`^qXM0!UuMiy)mU1B82EK6)i@s7^G&nxLuxZaYULUHhP z2s_p^39ov3(2z%3`=k7YUTX%tD7<1TWAr%aPTZ5u6eLbFh{eNkBp|iQ8Fa%L0HZb& zqmp_%UbIqTyjnIgu8jHkct&MXC^9e3@*j^RZ*!wbPvQOz3;fRNozoG`ZNC`*`Wjexv0|^ zX$9LKUuw^8`lkQW4Ep$OQuTvK6N{$6xz2RGU?=?{S12QOCl60ygw@vrypzY1m?-de z#VwMpW>$ z8)IgTL=i{94ZSN9lC~E|K|V4BNi(8NURoM%6N!7)x8XLysE8$Jc{9JW%y3kqv)IFv zlz>M>LWUqdZxxE?(EJXiD7n9~AvdMOqwT1}+yEQBn2 zudDBDMvha-b=VyeeM&F5CRTB%0(3PuyUik8JqQ7u4pOl7{VZFT5cM%ZdWD}T3f zA*T-i=+Sv!CTgJORvDwPIX|BA`d|^VA5)*bCjZ@AGTtC*Z3ZtUw?(+@0{PN;TJmJ> zl@!KGae@nk*MOYkt$ba;@l5Z01esQR!(E)`O;Bpeicj@Um4w zgGc}ke|vJ`;nIgrwLC`V1>9Lg=~&n(yrs#{JyGP4b;Fb8dlnk<`c~4Kife% zjndDfqrsA>kWtQ*p|q0ssrNFkEv|%PDD4gB<`b2n(02gWf6!|oa=q_%TC4~24W$Zg zrMWuEA+K_+=Av`k${&3jQl`dhV`Oa4Eu=r4JKa_aSBB;(Gftd9Gp-$+*{i4abnumM z5@xs<8)k*aE8ks@osMT^*lNp{l2@`zDU!h1SLoqrVtS_^=om@+W(h<1?h*ZAR|=hG z>PAzw&LDqqK&9CJo+Hn6mk>A+mt1D_S5BxS2W7^kI zLXx{Ri{+^L>oy&?L#OX%x@`}C8(*(~IK<<$EK;W@TE8Fjq1-WKaxY)mGxiny^2r0- z2#b?*CI&}Vd(k{!Mds`iLbH$3D{7G|=_evH2W%UtX1TB0bSIqnIT0;ALvh9P*AYaS ztCO4kd?fu9*7Vu}NtONh_wPx6)=EQVkNgAk%{g|_p%UA9q6?F{oZ+gOukP(%y2xQFwFfi z(#BZ#?RgFJeRpZ>+$$|Lbq7Hb_(bPKI7Oyz$zMa02H}S?g++gt*i!LaK6|};gqw)E z^-ufv4;uN2Hc?VGm2k-aC@XM^o&ouZ5n6>wExLZcnq1z#hd;dwC|FPNAQ0~iU9#qmsz3=Ef|5m1iIqY~focNxUI1>$>^hUOFW6}A04@piTk1@R9 zg}xUPIB%QgM3cDQ`-b8WzQ}gH{KjdcHN$-Bj;qn-vwlGlMECYjpH-fW3=>W0eX>A} zf$s|a=>32%*Zv%vY;~UI;xqbL{#E+7Pg7%b+9BD$B?&=x@f{+=A2$6#zyHy5n?|2m zqoNMTU2c5^73#@%6VQ<4Mfi5ZY%4`3!+P=YL_wT;pr6WtGZnwf@UeB4Yjn{%b%=kP z>Il!_nCKd7L=0p2 z%=`G3ye66^zPsy_3>9+e54&!il8(JG%tx{+8%j$@ebYQfA~EpOX`-|6+)&(^S=~A? zyEUp;BcLo(;*s>6g#J?EpF-#OY%MAQlUq>h%73B0dBzi8BR*NK!Xv)JB@W5F^6C%d zGu$kG6!sW@dH2e2cihnM{=Zsz`rSfNNGl)ii3CM=|K#rCH*V|w_+ZLzM^QiUM@1c9 zSLr^RVfj~10<*CLjnq)8i;sV99u~D|kp#|<@RRhH+0uvCP6Tju-kJ4JmDoAQk!WI= zGWCz{vDRWJ*G?>DU?;;K*VC2W%b^|QbXupTJI}Q7mmzOCyrB2O81g&Q#|(5Ve0c}l zJhn%+{qJuNdwsar6v=RW<`E18k9RHEXcB)YdPzg;Np{iLByUim7d;iR_~cA)z03!@ zMN@bGZbu~s&gws}JQ%_nM|I7J3dJ|>?$-A-a9Mr%YuD4X>MyW75?DsDLN+M6lKOYM zGc5>r`_av(k6gCx7B1}s2951Ams)?%(=!d3?!2S=T893=EBAf>+_55i=*BCS3;XBj zFWQK`bFVyD7i&86i;|E-Tj1>Kr+=n%^^4ypRvvyLLp;jwjVMmZTk#1s?NrEmcjgPXvkkHBmBn(md8Qh%MS%cMM7y z)D-mhsHqS=uz&KS*8Zr2B3lo^zfV4@8?}n@bIkfrC>U$iU2_F6=X)6D~NvbDq z+{tAyJZJYkI?bQ_h6~r|=8~-8#`FwvC#{|F+}=Ei;dTLUfWY#jHYa@IOBV%n-NNnE z;=(7oXC(+rlzxlzS@d5%{BYnqktBgXO=C;He~y}3KyW?07xR3~>1CC4$YbRuSeJ`p z{gd|vJ*7?l)1FoT-hSpdeDPc5T?&@R9=kKMjj6K|RC;^wRf(R-wzQMVJV{}pU2$Jb z>fQL7YWPX4CTOf;g|50=RF|OX4m2RC12j020y%DK@@(!;w*8&Fo)+|ANQX~pq}VC` ztz%8E$?l8Za`~y=Sy-cIDOaguAK7geO;LyZ`4C>PGfLPpm5_)A8=+rB%l?FOW1@&IwYGpQSs*dZCGDqA$iqjTWpP>Uej(K^Bd8GD)o>A2 zrS>@fy2=zvd$IoC^lH)JA#dQ3fDX^-vk^rTrp9_2_KW)@^cR1YnbSY};q}_C->Ju6 zsJxzUlR*$ev~VP=x!qAGQzF{Vg`v5)(D|RePCi;{`?mYMTtAqW&=dcUu48_;{<=tl@9sbidb> z!0{#SL9c6Ulr)=&`3`SI*$D6VmhG`Em0)TvNACaZ?+>*3tZDCrQqyHK(}F&8?;(NB ze|P=|GYbRP4uuRfcRxKlI{oj-=5xcHG~B>IA>pz!_sIWyvb^uBc8%uh+01XG{Ip5J zk;FergU2-_{UJMSV~UD&W_eV&)Lh)@*HXiO<;nNNH=QdtQuLen@{!uYkT&rBzW_j( BX_No} literal 0 HcmV?d00001 diff --git a/docs/images/app-connections/dns-made-easy/dns-made-easy-app-connection-created.png b/docs/images/app-connections/dns-made-easy/dns-made-easy-app-connection-created.png new file mode 100644 index 0000000000000000000000000000000000000000..41d6fd90da6b72d2a99d9475dc5726e691e4f76b GIT binary patch literal 131556 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 Iwe7?H3wr9c>Hq)$ literal 0 HcmV?d00001 diff --git a/docs/images/app-connections/dns-made-easy/dns-made-easy-app-connection-form.png b/docs/images/app-connections/dns-made-easy/dns-made-easy-app-connection-form.png new file mode 100644 index 0000000000000000000000000000000000000000..0e659923165f0fb81a8e0e4ce09ac693da3c636a GIT binary patch literal 153024 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 lSaAjA^?$W&rQYatmzBTheKK(ri3DmNBum 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� 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

!pRUSMe=1bSec!ZwRfFq)lPfTtxrsw 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 I-u&JF0;ZE9v;Y7A literal 0 HcmV?d00001 diff --git a/docs/images/app-connections/dns-made-easy/dns-made-easy-app-connection-select.png b/docs/images/app-connections/dns-made-easy/dns-made-easy-app-connection-select.png new file mode 100644 index 0000000000000000000000000000000000000000..28f67fcf2ab3e51231ef779627b0b0dee89fdab4 GIT binary patch literal 124883 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%0A446BA7Q#$`~U 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 z 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 o@gfv@!)uzg;VAm2e + + Navigate to your DNS Made Easy dashboard and go to **Account Information** under the **Config** top menu. + + ![Navigate to Account Information](/images/app-connections/dns-made-easy/nav-to-account-info.png) + + If your **API Key** and **Secret Key** are already available, proceed to step 2. + + Otherwise, check the **Generate New API Credentials** then click the **Save** button to generate the new API credentials. + + ![Generate API Credentials](/images/app-connections/dns-made-easy/generate-new-api-credentials.png) + + + + After creation, copy your API key and secret key. + + ![Generated API Token](/images/app-connections/dns-made-easy/copy-api-credentials.png) + + + Keep your API key and secret key secure and do not share it. + Anyone with access to this token can manage your DNS Made Easy resources. + + + + + +## Setup DNS Made Easy Connection in Infisical + + + + Navigate to the **App Connections** page in the desired project. ![App + Connections Tab](/images/app-connections/general/add-connection.png) + + + Select the **DNS Made Easy Connection** option from the connection options + modal. ![Select DNS Made Easy + Connection](/images/app-connections/dns-made-easy/dns-made-easy-app-connection-select.png) + + + Enter your DNS Made Easy API key and secret key in the provided fields and + click **Connect to DNS Made Easy** to establish the connection. ![Connect to + DNS Made + Easy](/images/app-connections/dns-made-easy/dns-made-easy-app-connection-form.png) + + + Your **DNS Made Easy Connection** is now available for use in your Infisical + projects. ![DNS Made Easy Connection + Created](/images/app-connections/dns-made-easy/dns-made-easy-app-connection-created.png) + + From f9962282ef4678b53c422b56338fec3040e61e79 Mon Sep 17 00:00:00 2001 From: Fang-Pen Lin Date: Tue, 25 Nov 2025 12:55:49 -0800 Subject: [PATCH 103/109] Update doc for DNS made easy in the acme ca page --- docs/documentation/platform/pki/ca/acme-ca.mdx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/documentation/platform/pki/ca/acme-ca.mdx b/docs/documentation/platform/pki/ca/acme-ca.mdx index 774590c738..27132518dc 100644 --- a/docs/documentation/platform/pki/ca/acme-ca.mdx +++ b/docs/documentation/platform/pki/ca/acme-ca.mdx @@ -17,7 +17,7 @@ their **ACME Directory URL** such as: - ZeroSSL: `https://acme.zerossl.com/v2/DV90`. - SSL.com: `https://acme.ssl.com/sslcom-dv-rsa`. -When Infisical requests a certificate from an ACME-compatible CA, it creates a TXT record at `_acme-challenge.{your-domain}` in your configured DNS provider (e.g. Route53, Cloudflare, etc.); this TXT record contains the challenge token issued by the ACME-compatible CA to validate domain control for the requested certificate. +When Infisical requests a certificate from an ACME-compatible CA, it creates a TXT record at `_acme-challenge.{your-domain}` in your configured DNS provider (e.g. Route53, Cloudflare, DNS Made Easy, etc.); this TXT record contains the challenge token issued by the ACME-compatible CA to validate domain control for the requested certificate. The ACME provider checks for the existence of this TXT record to verify domain control before issuing the certificate back to Infisical. After validation completes successfully, Infisical automatically removes the TXT record from your DNS provider. @@ -120,6 +120,11 @@ In the following steps, we explore how to connect Infisical to an ACME-compatibl For detailed instructions on setting up a Cloudflare connection, see the [Cloudflare Connection](/integrations/app-connections/cloudflare) documentation. + + Navigate to your Certificate Management Project > App Connections and create a new DNS Made Easy connection. + + For detailed instructions on setting up a DNS Made Easy connection, see the [DNS Made Easy Connection](/integrations/app-connections/dns-made-easy) documentation. + From cabf29a48bca6d8e027477ddef7bb4597f8cfe30 Mon Sep 17 00:00:00 2001 From: Tuan Dang Date: Tue, 25 Nov 2025 16:17:19 -0500 Subject: [PATCH 104/109] add dns made easy to app connections list --- docs/snippets/AppConnectionsBrowser.jsx | 463 ++++++++++++++++++++---- 1 file changed, 398 insertions(+), 65 deletions(-) diff --git a/docs/snippets/AppConnectionsBrowser.jsx b/docs/snippets/AppConnectionsBrowser.jsx index dfe5745477..d7001d6eb9 100644 --- a/docs/snippets/AppConnectionsBrowser.jsx +++ b/docs/snippets/AppConnectionsBrowser.jsx @@ -1,70 +1,388 @@ -import React, { useState, useMemo } from 'react'; +import React, { useState, useMemo } from "react"; export const AppConnectionsBrowser = () => { - const [searchTerm, setSearchTerm] = useState(''); - const [selectedCategory, setSelectedCategory] = useState('All'); + const [searchTerm, setSearchTerm] = useState(""); + const [selectedCategory, setSelectedCategory] = useState("All"); - const categories = ['All', 'Cloud Providers', 'Databases', 'CI/CD', 'Monitoring', 'Directory Services', 'Identity & Auth', 'Data Analytics', 'Hosting', 'DevOps Tools', 'Security']; + const categories = [ + "All", + "Cloud Providers", + "Databases", + "CI/CD", + "Monitoring", + "Directory Services", + "Identity & Auth", + "Data Analytics", + "Hosting", + "DevOps Tools", + "Security", + "Networking & DNS", + ]; const connections = [ - {"name": "AWS", "slug": "aws", "path": "/integrations/app-connections/aws", "description": "Learn how to connect your AWS applications to pull secrets from Infisical.", "category": "Cloud Providers"}, - {"name": "Azure Key Vault", "slug": "azure-key-vault", "path": "/integrations/app-connections/azure-key-vault", "description": "Learn how to connect your Azure Key Vault to pull secrets from Infisical.", "category": "Cloud Providers"}, - {"name": "Azure App Configuration", "slug": "azure-app-configuration", "path": "/integrations/app-connections/azure-app-configuration", "description": "Learn how to connect your Azure App Configuration to pull secrets from Infisical.", "category": "Cloud Providers"}, - {"name": "Azure Client Secrets", "slug": "azure-client-secrets", "path": "/integrations/app-connections/azure-client-secrets", "description": "Learn how to connect your Azure Client Secrets to pull secrets from Infisical.", "category": "Cloud Providers"}, - {"name": "Azure DevOps", "slug": "azure-devops", "path": "/integrations/app-connections/azure-devops", "description": "Learn how to connect your Azure DevOps to pull secrets from Infisical.", "category": "CI/CD"}, - {"name": "Azure ADCS", "slug": "azure-adcs", "path": "/integrations/app-connections/azure-adcs", "description": "Learn how to connect your Azure ADCS to pull secrets from Infisical.", "category": "Cloud Providers"}, - {"name": "GCP", "slug": "gcp", "path": "/integrations/app-connections/gcp", "description": "Learn how to connect your GCP applications to pull secrets from Infisical.", "category": "Cloud Providers"}, - {"name": "HashiCorp Vault", "slug": "hashicorp-vault", "path": "/integrations/app-connections/hashicorp-vault", "description": "Learn how to connect your HashiCorp Vault to pull secrets from Infisical.", "category": "Security"}, - {"name": "1Password", "slug": "1password", "path": "/integrations/app-connections/1password", "description": "Learn how to connect your 1Password to pull secrets from Infisical.", "category": "Security"}, - {"name": "Vercel", "slug": "vercel", "path": "/integrations/app-connections/vercel", "description": "Learn how to connect your Vercel application to pull secrets from Infisical.", "category": "Hosting"}, - {"name": "Netlify", "slug": "netlify", "path": "/integrations/app-connections/netlify", "description": "Learn how to connect your Netlify application to pull secrets from Infisical.", "category": "Hosting"}, - {"name": "Railway", "slug": "railway", "path": "/integrations/app-connections/railway", "description": "Learn how to connect your Railway application to pull secrets from Infisical.", "category": "Hosting"}, - {"name": "Fly.io", "slug": "flyio", "path": "/integrations/app-connections/flyio", "description": "Learn how to connect your Fly.io application to pull secrets from Infisical.", "category": "Hosting"}, - {"name": "Render", "slug": "render", "path": "/integrations/app-connections/render", "description": "Learn how to connect your Render application to pull secrets from Infisical.", "category": "Hosting"}, - {"name": "Heroku", "slug": "heroku", "path": "/integrations/app-connections/heroku", "description": "Learn how to connect your Heroku application to pull secrets from Infisical.", "category": "Hosting"}, - {"name": "DigitalOcean", "slug": "digital-ocean", "path": "/integrations/app-connections/digital-ocean", "description": "Learn how to connect your DigitalOcean application to pull secrets from Infisical.", "category": "Hosting"}, - {"name": "Supabase", "slug": "supabase", "path": "/integrations/app-connections/supabase", "description": "Learn how to connect your Supabase application to pull secrets from Infisical.", "category": "Databases"}, - {"name": "Checkly", "slug": "checkly", "path": "/integrations/app-connections/checkly", "description": "Learn how to connect your Checkly application to pull secrets from Infisical.", "category": "Monitoring"}, - {"name": "GitHub", "slug": "github", "path": "/integrations/app-connections/github", "description": "Learn how to connect your GitHub application to pull secrets from Infisical.", "category": "CI/CD"}, - {"name": "GitHub Radar", "slug": "github-radar", "path": "/integrations/app-connections/github-radar", "description": "Learn how to connect your GitHub Radar to pull secrets from Infisical.", "category": "CI/CD"}, - {"name": "GitLab", "slug": "gitlab", "path": "/integrations/app-connections/gitlab", "description": "Learn how to connect your GitLab application to pull secrets from Infisical.", "category": "CI/CD"}, - {"name": "TeamCity", "slug": "teamcity", "path": "/integrations/app-connections/teamcity", "description": "Learn how to connect your TeamCity to pull secrets from Infisical.", "category": "CI/CD"}, - {"name": "Bitbucket", "slug": "bitbucket", "path": "/integrations/app-connections/bitbucket", "description": "Learn how to connect your Bitbucket to pull secrets from Infisical.", "category": "CI/CD"}, - {"name": "Terraform Cloud", "slug": "terraform-cloud", "path": "/integrations/app-connections/terraform-cloud", "description": "Learn how to connect your Terraform Cloud to pull secrets from Infisical.", "category": "DevOps Tools"}, - {"name": "Cloudflare", "slug": "cloudflare", "path": "/integrations/app-connections/cloudflare", "description": "Learn how to connect your Cloudflare application to pull secrets from Infisical.", "category": "Cloud Providers"}, - {"name": "Databricks", "slug": "databricks", "path": "/integrations/app-connections/databricks", "description": "Learn how to connect your Databricks to pull secrets from Infisical.", "category": "Data Analytics"}, - {"name": "Windmill", "slug": "windmill", "path": "/integrations/app-connections/windmill", "description": "Learn how to connect your Windmill to pull secrets from Infisical.", "category": "DevOps Tools"}, - {"name": "Camunda", "slug": "camunda", "path": "/integrations/app-connections/camunda", "description": "Learn how to connect your Camunda to pull secrets from Infisical.", "category": "DevOps Tools"}, - {"name": "Humanitec", "slug": "humanitec", "path": "/integrations/app-connections/humanitec", "description": "Learn how to connect your Humanitec to pull secrets from Infisical.", "category": "DevOps Tools"}, - {"name": "OCI", "slug": "oci", "path": "/integrations/app-connections/oci", "description": "Learn how to connect your OCI applications to pull secrets from Infisical.", "category": "Cloud Providers"}, - {"name": "Zabbix", "slug": "zabbix", "path": "/integrations/app-connections/zabbix", "description": "Learn how to connect your Zabbix to pull secrets from Infisical.", "category": "Monitoring"}, - {"name": "MySQL", "slug": "mysql", "path": "/integrations/app-connections/mysql", "description": "Learn how to connect your MySQL database to pull secrets from Infisical.", "category": "Databases"}, - {"name": "PostgreSQL", "slug": "postgres", "path": "/integrations/app-connections/postgres", "description": "Learn how to connect your PostgreSQL database to pull secrets from Infisical.", "category": "Databases"}, - {"name": "Microsoft SQL Server", "slug": "mssql", "path": "/integrations/app-connections/mssql", "description": "Learn how to connect your SQL Server database to pull secrets from Infisical.", "category": "Databases"}, - {"name": "Oracle Database", "slug": "oracledb", "path": "/integrations/app-connections/oracledb", "description": "Learn how to connect your Oracle database to pull secrets from Infisical.", "category": "Databases"}, - {"name": "Redis", "slug": "redis", "path": "/integrations/app-connections/redis", "description": "Learn how to connect Redis to pull secrets from Infisical.", "category": "Databases"}, - {"name": "LDAP", "slug": "ldap", "path": "/integrations/app-connections/ldap", "description": "Learn how to connect your LDAP to pull secrets from Infisical.", "category": "Directory Services"}, - {"name": "Auth0", "slug": "auth0", "path": "/integrations/app-connections/auth0", "description": "Learn how to connect your Auth0 to pull secrets from Infisical.", "category": "Identity & Auth"}, - {"name": "Okta", "slug": "okta", "path": "/integrations/app-connections/okta", "description": "Learn how to connect your Okta to pull secrets from Infisical.", "category": "Identity & Auth"}, - {"name": "Laravel Forge", "slug": "laravel-forge", "path": "/integrations/app-connections/laravel-forge", "description": "Learn how to connect your Laravel Forge to pull secrets from Infisical.", "category": "Hosting"}, - {"name": "Chef", "slug": "chef", "path": "/integrations/app-connections/chef", "description": "Learn how to connect your Chef to pull secrets from Infisical.", "category": "DevOps Tools"}, - {"name": "Northflank", "slug": "northflank", "path": "/integrations/app-connections/northflank", "description": "Learn how to connect your Northflank projects to pull secrets from Infisical.", "category": "Hosting"} - ].sort(function(a, b) { - return a.name.toLowerCase().localeCompare(b.name.toLowerCase()); + { + name: "AWS", + slug: "aws", + path: "/integrations/app-connections/aws", + description: + "Learn how to connect your AWS applications to pull secrets from Infisical.", + category: "Cloud Providers", + }, + { + name: "Azure Key Vault", + slug: "azure-key-vault", + path: "/integrations/app-connections/azure-key-vault", + description: + "Learn how to connect your Azure Key Vault to pull secrets from Infisical.", + category: "Cloud Providers", + }, + { + name: "Azure App Configuration", + slug: "azure-app-configuration", + path: "/integrations/app-connections/azure-app-configuration", + description: + "Learn how to connect your Azure App Configuration to pull secrets from Infisical.", + category: "Cloud Providers", + }, + { + name: "Azure Client Secrets", + slug: "azure-client-secrets", + path: "/integrations/app-connections/azure-client-secrets", + description: + "Learn how to connect your Azure Client Secrets to pull secrets from Infisical.", + category: "Cloud Providers", + }, + { + name: "Azure DevOps", + slug: "azure-devops", + path: "/integrations/app-connections/azure-devops", + description: + "Learn how to connect your Azure DevOps to pull secrets from Infisical.", + category: "CI/CD", + }, + { + name: "Azure ADCS", + slug: "azure-adcs", + path: "/integrations/app-connections/azure-adcs", + description: + "Learn how to connect your Azure ADCS to pull secrets from Infisical.", + category: "Cloud Providers", + }, + { + name: "GCP", + slug: "gcp", + path: "/integrations/app-connections/gcp", + description: + "Learn how to connect your GCP applications to pull secrets from Infisical.", + category: "Cloud Providers", + }, + { + name: "HashiCorp Vault", + slug: "hashicorp-vault", + path: "/integrations/app-connections/hashicorp-vault", + description: + "Learn how to connect your HashiCorp Vault to pull secrets from Infisical.", + category: "Security", + }, + { + name: "1Password", + slug: "1password", + path: "/integrations/app-connections/1password", + description: + "Learn how to connect your 1Password to pull secrets from Infisical.", + category: "Security", + }, + { + name: "Vercel", + slug: "vercel", + path: "/integrations/app-connections/vercel", + description: + "Learn how to connect your Vercel application to pull secrets from Infisical.", + category: "Hosting", + }, + { + name: "Netlify", + slug: "netlify", + path: "/integrations/app-connections/netlify", + description: + "Learn how to connect your Netlify application to pull secrets from Infisical.", + category: "Hosting", + }, + { + name: "Railway", + slug: "railway", + path: "/integrations/app-connections/railway", + description: + "Learn how to connect your Railway application to pull secrets from Infisical.", + category: "Hosting", + }, + { + name: "Fly.io", + slug: "flyio", + path: "/integrations/app-connections/flyio", + description: + "Learn how to connect your Fly.io application to pull secrets from Infisical.", + category: "Hosting", + }, + { + name: "Render", + slug: "render", + path: "/integrations/app-connections/render", + description: + "Learn how to connect your Render application to pull secrets from Infisical.", + category: "Hosting", + }, + { + name: "Heroku", + slug: "heroku", + path: "/integrations/app-connections/heroku", + description: + "Learn how to connect your Heroku application to pull secrets from Infisical.", + category: "Hosting", + }, + { + name: "DigitalOcean", + slug: "digital-ocean", + path: "/integrations/app-connections/digital-ocean", + description: + "Learn how to connect your DigitalOcean application to pull secrets from Infisical.", + category: "Hosting", + }, + { + name: "Supabase", + slug: "supabase", + path: "/integrations/app-connections/supabase", + description: + "Learn how to connect your Supabase application to pull secrets from Infisical.", + category: "Databases", + }, + { + name: "Checkly", + slug: "checkly", + path: "/integrations/app-connections/checkly", + description: + "Learn how to connect your Checkly application to pull secrets from Infisical.", + category: "Monitoring", + }, + { + name: "GitHub", + slug: "github", + path: "/integrations/app-connections/github", + description: + "Learn how to connect your GitHub application to pull secrets from Infisical.", + category: "CI/CD", + }, + { + name: "GitHub Radar", + slug: "github-radar", + path: "/integrations/app-connections/github-radar", + description: + "Learn how to connect your GitHub Radar to pull secrets from Infisical.", + category: "CI/CD", + }, + { + name: "GitLab", + slug: "gitlab", + path: "/integrations/app-connections/gitlab", + description: + "Learn how to connect your GitLab application to pull secrets from Infisical.", + category: "CI/CD", + }, + { + name: "TeamCity", + slug: "teamcity", + path: "/integrations/app-connections/teamcity", + description: + "Learn how to connect your TeamCity to pull secrets from Infisical.", + category: "CI/CD", + }, + { + name: "Bitbucket", + slug: "bitbucket", + path: "/integrations/app-connections/bitbucket", + description: + "Learn how to connect your Bitbucket to pull secrets from Infisical.", + category: "CI/CD", + }, + { + name: "Terraform Cloud", + slug: "terraform-cloud", + path: "/integrations/app-connections/terraform-cloud", + description: + "Learn how to connect your Terraform Cloud to pull secrets from Infisical.", + category: "DevOps Tools", + }, + { + name: "Cloudflare", + slug: "cloudflare", + path: "/integrations/app-connections/cloudflare", + description: + "Learn how to connect your Cloudflare application to pull secrets from Infisical.", + category: "Cloud Providers", + }, + { + name: "Databricks", + slug: "databricks", + path: "/integrations/app-connections/databricks", + description: + "Learn how to connect your Databricks to pull secrets from Infisical.", + category: "Data Analytics", + }, + { + name: "DNS Made Easy", + slug: "dns-made-easy", + path: "/integrations/app-connections/dns-made-easy", + description: "Learn how to connect Infisical to DNS Made Easy.", + category: "Networking & DNS", + }, + { + name: "Windmill", + slug: "windmill", + path: "/integrations/app-connections/windmill", + description: + "Learn how to connect your Windmill to pull secrets from Infisical.", + category: "DevOps Tools", + }, + { + name: "Camunda", + slug: "camunda", + path: "/integrations/app-connections/camunda", + description: + "Learn how to connect your Camunda to pull secrets from Infisical.", + category: "DevOps Tools", + }, + { + name: "Humanitec", + slug: "humanitec", + path: "/integrations/app-connections/humanitec", + description: + "Learn how to connect your Humanitec to pull secrets from Infisical.", + category: "DevOps Tools", + }, + { + name: "OCI", + slug: "oci", + path: "/integrations/app-connections/oci", + description: + "Learn how to connect your OCI applications to pull secrets from Infisical.", + category: "Cloud Providers", + }, + { + name: "Zabbix", + slug: "zabbix", + path: "/integrations/app-connections/zabbix", + description: + "Learn how to connect your Zabbix to pull secrets from Infisical.", + category: "Monitoring", + }, + { + name: "MySQL", + slug: "mysql", + path: "/integrations/app-connections/mysql", + description: + "Learn how to connect your MySQL database to pull secrets from Infisical.", + category: "Databases", + }, + { + name: "PostgreSQL", + slug: "postgres", + path: "/integrations/app-connections/postgres", + description: + "Learn how to connect your PostgreSQL database to pull secrets from Infisical.", + category: "Databases", + }, + { + name: "Microsoft SQL Server", + slug: "mssql", + path: "/integrations/app-connections/mssql", + description: + "Learn how to connect your SQL Server database to pull secrets from Infisical.", + category: "Databases", + }, + { + name: "Oracle Database", + slug: "oracledb", + path: "/integrations/app-connections/oracledb", + description: + "Learn how to connect your Oracle database to pull secrets from Infisical.", + category: "Databases", + }, + { + name: "Redis", + slug: "redis", + path: "/integrations/app-connections/redis", + description: "Learn how to connect Redis to pull secrets from Infisical.", + category: "Databases", + }, + { + name: "LDAP", + slug: "ldap", + path: "/integrations/app-connections/ldap", + description: + "Learn how to connect your LDAP to pull secrets from Infisical.", + category: "Directory Services", + }, + { + name: "Auth0", + slug: "auth0", + path: "/integrations/app-connections/auth0", + description: + "Learn how to connect your Auth0 to pull secrets from Infisical.", + category: "Identity & Auth", + }, + { + name: "Okta", + slug: "okta", + path: "/integrations/app-connections/okta", + description: + "Learn how to connect your Okta to pull secrets from Infisical.", + category: "Identity & Auth", + }, + { + name: "Laravel Forge", + slug: "laravel-forge", + path: "/integrations/app-connections/laravel-forge", + description: + "Learn how to connect your Laravel Forge to pull secrets from Infisical.", + category: "Hosting", + }, + { + name: "Chef", + slug: "chef", + path: "/integrations/app-connections/chef", + description: + "Learn how to connect your Chef to pull secrets from Infisical.", + category: "DevOps Tools", + }, + { + name: "Northflank", + slug: "northflank", + path: "/integrations/app-connections/northflank", + description: + "Learn how to connect your Northflank projects to pull secrets from Infisical.", + category: "Hosting", + }, + ].sort(function (a, b) { + return a.name.toLowerCase().localeCompare(b.name.toLowerCase()); }); const filteredConnections = useMemo(() => { let filtered = connections; - - if (selectedCategory !== 'All') { - filtered = filtered.filter(connection => connection.category === selectedCategory); + + if (selectedCategory !== "All") { + filtered = filtered.filter( + (connection) => connection.category === selectedCategory + ); } if (searchTerm) { - filtered = filtered.filter(connection => - connection.name.toLowerCase().includes(searchTerm.toLowerCase()) || - connection.description.toLowerCase().includes(searchTerm.toLowerCase()) || - connection.category.toLowerCase().includes(searchTerm.toLowerCase()) + filtered = filtered.filter( + (connection) => + connection.name.toLowerCase().includes(searchTerm.toLowerCase()) || + connection.description + .toLowerCase() + .includes(searchTerm.toLowerCase()) || + connection.category.toLowerCase().includes(searchTerm.toLowerCase()) ); } @@ -77,8 +395,18 @@ export const AppConnectionsBrowser = () => {

- - + +
{ {/* Category Filter */}
- {categories.map(category => ( + {categories.map((category) => (
); -}; \ No newline at end of file +}; From 49f5bf2aef367cd735573d86de50a10a31f91e14 Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Tue, 25 Nov 2025 14:01:33 -0800 Subject: [PATCH 105/109] improvement: refactor and update nav bar styling --- frontend/src/components/v2/Tabs/Tabs.tsx | 4 +- frontend/src/helpers/appConnections.ts | 2 +- .../hooks/api/appConnections/types/index.ts | 2 +- frontend/src/layouts/KmsLayout/KmsLayout.tsx | 4 +- .../components/NavBar/Navbar.tsx | 117 ++++++++---------- .../components/OrgNavBar/OrgNavBar.tsx | 6 +- frontend/src/layouts/PamLayout/PamLayout.tsx | 4 +- .../PkiManagerLayout/PkiManagerLayout.tsx | 4 +- .../ProjectSelect/ProjectSelect.tsx | 22 ++-- .../SecretManagerLayout.tsx | 4 +- .../SecretScanningLayout.tsx | 4 +- frontend/src/layouts/SshLayout/SshLayout.tsx | 4 +- .../DNSMadeEasyConnectionForm.tsx | 4 +- 13 files changed, 87 insertions(+), 94 deletions(-) diff --git a/frontend/src/components/v2/Tabs/Tabs.tsx b/frontend/src/components/v2/Tabs/Tabs.tsx index ebe8eb2edd..47b3d08cd0 100644 --- a/frontend/src/components/v2/Tabs/Tabs.tsx +++ b/frontend/src/components/v2/Tabs/Tabs.tsx @@ -47,8 +47,8 @@ export const Tab = ({ }) => ( { const location = useLocation(); return ( -
-
+
+
{ } }, [subscription, isBillingPage, isModalIntrusive]); - const matches = useRouterState({ select: (s) => s.matches.at(-1)?.context }); - const breadcrumbs = matches && "breadcrumbs" in matches ? matches.breadcrumbs : undefined; - const handleOrgChange = async (orgId: string) => { queryClient.removeQueries({ queryKey: authKeys.getAuthToken }); queryClient.removeQueries({ queryKey: projectKeys.getAllUserProjects() }); @@ -249,7 +245,9 @@ export const Navbar = () => { const isServerAdminPanel = location.pathname.startsWith("/admin"); - const isProjectScope = location.pathname.startsWith(`/organizations/${currentOrg.id}/projects`); + const isProjectScope = + location.pathname.startsWith(`/organizations/${currentOrg.id}/projects`) && + location.pathname !== `/organizations/${currentOrg.id}/projects`; const handleOrgNav = async (org: Organization) => { if (currentOrg?.id === org.id) return; @@ -279,64 +277,59 @@ export const Navbar = () => { }; return ( -
-
+
+
infisical logo
-

/

+

/

{isServerAdminPanel ? ( - <> - - -
Server Console
- -

/

- {breadcrumbs ? ( - // scott: remove /admin as we show server console above - - ) : null} - + + +
Server Console
+ ) : ( <> -
+
+ {/* scott: the below is used to hide the top border from the org nav bar */} + {!isProjectScope && !isSubOrganization && ( +
+
+
+ )} -
- svg]:!text-org" - )} +
+ + + {currentOrg?.name} + + + Organization -
- {getPlan(subscription)} -
{subscription.cardDeclined && ( { )} {isProjectScope && ( <> -

/

- {breadcrumbs ? ( - - ) : null} +

/

+ )} )}
- {subscription && subscription.slug === "starter" && !subscription.has_used_trial && ( + + {subscription && subscription.slug === "starter" && !subscription.has_used_trial ? ( + ) : ( +
+ {getPlan(subscription)} +
)} {/* eslint-disable-next-line no-nested-ternary */} {!location.pathname.startsWith("/admin") ? ( diff --git a/frontend/src/layouts/OrganizationLayout/components/OrgNavBar/OrgNavBar.tsx b/frontend/src/layouts/OrganizationLayout/components/OrgNavBar/OrgNavBar.tsx index 24f4acafea..e56c02cee4 100644 --- a/frontend/src/layouts/OrganizationLayout/components/OrgNavBar/OrgNavBar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/OrgNavBar/OrgNavBar.tsx @@ -19,9 +19,9 @@ export const OrgNavBar = ({ isHidden }: Props) => { const variant = isRootOrganization ? "org" : "namespace"; return ( - <> +
{!isHidden && ( -
+
{ isOpen={popUp?.createOrg?.isOpen} onClose={() => handlePopUpToggle("createOrg", false)} /> - +
); }; diff --git a/frontend/src/layouts/PamLayout/PamLayout.tsx b/frontend/src/layouts/PamLayout/PamLayout.tsx index f04357a883..365d3c3eb9 100644 --- a/frontend/src/layouts/PamLayout/PamLayout.tsx +++ b/frontend/src/layouts/PamLayout/PamLayout.tsx @@ -29,8 +29,8 @@ export const PamLayout = () => { return ( <> -
-
+
+
{ const location = useLocation(); return ( -
-
+
+
{ }, [projects, projectFavorites, currentWorkspace]); return ( -
+
+ {/* scott: the below is used to hide the top border from the org nav bar */} +
+
+
{ projectId: currentWorkspace.id, orgId: currentWorkspace.orgId }} - className="group flex cursor-pointer items-center gap-x-1.5 overflow-hidden hover:text-white" + className="group flex cursor-pointer items-center gap-x-2 overflow-hidden pt-0.5 text-sm text-white" > -

- {currentWorkspace?.name} -

- - - - {currentWorkspace.type ? PROJECT_TYPE_NAME[currentWorkspace.type] : "Project"} - + + {currentWorkspace?.name} + + {currentWorkspace.type ? PROJECT_TYPE_NAME[currentWorkspace.type] : "Project"} @@ -118,7 +118,7 @@ export const ProjectSelect = () => { variant="plain" colorSchema="secondary" ariaLabel="switch-project" - className="px-2 py-1" + className="top-px px-2 py-1" > diff --git a/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx b/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx index 1622609593..0a8d3adbc9 100644 --- a/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx +++ b/frontend/src/layouts/SecretManagerLayout/SecretManagerLayout.tsx @@ -39,8 +39,8 @@ export const SecretManagerLayout = () => { (secretApprovalReqCount?.open || 0) + (accessApprovalRequestCount?.pendingCount || 0); return ( -
-
+
+
{ ); return ( -
-
+
+
{ const location = useLocation(); return ( -
-
+
+
Date: Tue, 25 Nov 2025 14:23:04 -0800 Subject: [PATCH 106/109] style: adjust link styling on secret overview page --- .../pages/secret-manager/OverviewPage/OverviewPage.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx index 0fa741aa42..a7c9bf223e 100644 --- a/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx +++ b/frontend/src/pages/secret-manager/OverviewPage/OverviewPage.tsx @@ -938,7 +938,7 @@ export const OverviewPage = () => {

Inject your secrets using { , { , { , and Date: Tue, 25 Nov 2025 21:20:55 -0300 Subject: [PATCH 107/109] Improve Octopus docs to better highlight spaces managment and permissions --- ...ntegrations-octopus-deploy-create-team.png | Bin 416868 -> 169760 bytes docs/integrations/cicd/octopus-deploy.mdx | 5 +++++ 2 files changed, 5 insertions(+) diff --git a/docs/images/integrations/octopus-deploy/integrations-octopus-deploy-create-team.png b/docs/images/integrations/octopus-deploy/integrations-octopus-deploy-create-team.png index 9cb703e12cce7f2a67c9e3067b579c3c5da02187..3a33e435187248ca4fa4111f86fd686f6013c03c 100644 GIT binary patch literal 169760 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

TWZiG@L8?=CTe!UE{RO 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

2Mj-uT28LTxK@5l5<}GeJ*qPNB(H{+!Me! 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 literal 0 HcmV?d00001 diff --git a/docs/images/app-connections/dns-made-easy/generate-new-api-credentials.png b/docs/images/app-connections/dns-made-easy/generate-new-api-credentials.png new file mode 100644 index 0000000000000000000000000000000000000000..de56f75fd018e708395107f0f40c63e57875654f GIT binary patch literal 75881 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 RRacNlJYD@<);T3K0RRYLjeGzA literal 0 HcmV?d00001 diff --git a/docs/images/app-connections/dns-made-easy/nav-to-account-info.png b/docs/images/app-connections/dns-made-easy/nav-to-account-info.png new file mode 100644 index 0000000000000000000000000000000000000000..56094c55e02cf0418160d2ca6803ebedeacefd53 GIT binary patch literal 189558 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%0DUqS~yZ#Q6SO0@rO8d z*jz6hWpv4)_bkpneIN||U2K*TQ$b#_kZ>6riYDY6Kb*gY8M;vnr#C*|Bw7-cL1_zjqS z&xs}g12=)F$-zsH)K6=;*O1BMuX6`8wR$>2V zSFo!SD3&f`Bwm$f3;^I1snV*y3CG5cq?64-n_)c34~(=YZwUYvT$s+bF(zhAa@VfY zp`0(GIUNp7;c*nstB3Gm#QSZ_MI}V>bW`<|6|S!*de@}G3Zd=$2Y=p&V%&XgMkUo& z`_WJl$4VGcPR5|(?H#G;a(E*|hzap;BOI1ZE%jd^ZA3*v$Spc(_X{Y_-4K3L^Fskg z@&ikEx$CQp0cEmTZbmKsa;du>JX`YeCjs57Kl1(|yCn}qL_pqPKch)zp?OAgC$1iS z?94Th?;;?tk_|Ez9P#Pw56WrLNi)bT%H=@bIymFMhq=cQozX6?7Vm-6fht-jBS393CzdSs~ zh|Bzu_bX`b5~tjODnblDX>qHovk9F)7u&nr@+4pboULDTA7FsrcsC3i%IRlXRo?iOo=zgs#58xye0LyxLwteE zIV6XVMf!B>;%Pl}qbToAsPN5?$$GYb{uwEs+jB#mA^TW`i(YiXGL>W)POI~mF`5>e zpH{Y{!{l}0_dsGVFu49?4vpmK(xq?$P&!bN?6WdLuOawfE~q0)kNjh%(i|fz+h2w4 zhfpE&#;>WrBjdmqusqB;ZznaAcI+I5G07%P@MORxZ*0buNShd+RQ|&b`0()>2>by5 zbyLt)?>UZ1!Z}6xNBhcrlC&LkefC`chcmY8Yyisd8zbmGJFNWGL0)(gz?*|^E^N|n zwu{XyFul(Zu*)kRhxTlLB8xjRBED#Xg~CW{EEX5U*h<6GETDIXQCluoEt^{g9?l#h zCF87Lnkl>J-u;lg4q9kp5wH5e%s8hdTJt7+^gN%Dd`q)uY8lt$=3L~h_&we5v!Srs zT2|3F1zeoV7%5aJ@yB=@-c%r$$HsQ=V5M8Kf2b#&PI0J&dPn3A^;`QqbSN6MBb_35<5v)|34EqP}=We^aCqMKk)SU1u`I%J1zTSIzsNX5r<^ zN3|Io8_t&zQWLXt?w;`PEA;bru%>WjS!S`Qt_$V8}h{eEaCLKXF+YX;U#UA1g z)5*M)h@!T6zP}Yn)$aswgjzG1*7`o-T4X&NOELJHb_1?H%VCgt3DC3Ns5Iju)##1# zxvJ3=){s_#`5hHDJ%}&@8gevRE_Et#KZCJ%yk5+|UuNL@#hb_;XsI(zztjADvQh?y zuMawU*E@Ll67som|7~4|5OGZd_$u+#hPMToU zJCt!04Ma(LYkr*20O+g#*T*~zzyA#jqC-bQRsP0}NRdr`@7VOpryGTiXHOqpe9*q( zu_=PycpVB7Nv&%-^P!8Rb$pnG;Kb*)zZ}|+Zt$gbiqD9e(hJdSSlH{ATxD$`7EZV% ze|GI3CCr5*5I)WHTcEyEFSw`I?u951dR!K6O7lf)kaW++*N9K`vg-B=Zck2T_T@`I zi^=Wh?;dwYNEE5Ht^<8robRJT%HO@!L(!x0*dUEi3_^u5BRPlqoB(WqVis%uN7Z7F5hw5rq<%V0$_hAYVm{R?*)7ae>7IIAr10Q?nE69RmogxT3b31jaQE# zo!Ja#ROitB|CS$X;AmjB;V;bAgq(-9>AjZNUQ1WXHnt0`mHW`WGA$q z6%n+0jtblKEt(w~)y3p1orPh9A}hD$#NiD!ua5Ep?-h6hEqM6VeWuSw*IsG-ZZ`fPj#n=W zmf0=fTWOGqdKaI00h2xawRPVM_Gni1=kBtRQOckAp0_U_Tv3pvz>W^+f_qhwnSq*< zb^6?XC}TC$ahF-4f-F_@5FGihGQtevIEOlBM|G==ER@u`Pl*GSF@X&kxDiH$;Ok9?!#+cm z!;NuaI}W|zl3ZzKhC{i&UPddeg!s6=7{1r}eerM%ZhD#l>-n2`jeIQ$!`pK3lekZW zdHFu_|KSHM;QNYBcYkTo*PA0)q!w)eOs~vysO?S$KY1A{Cu@e_s?=;y3Fz(Zk0I={ zj3vQp{%w*C`u(aU-#yU~fOYVn$L~jP75SR}QFj8A|ADd;bo41TY5T-B)*nS?UWM(+ zLj|3$>CX>E<5yH)E`6JMua&99V6Wl47Lv1hu#R37|AL2^|4*BgnI>>%NE9VDo0Z=8 zP>%KM^t{X5EIhsd)k9~covxr_XbEB7Syqg~8RUC{6}U-?h_-$FXguD#UAguBLK^(n z!*hKiUWD7MD}?dw5Ef24$hD3V(m;txLCqkzz-Vvv+qq~@jP-5DIF(l-oRSDDWe6i^ zyHwKIwmAIy-*;8CtKQ8(cL;8PF^xBDlz(^5g)!Apgky21dNoGp+4aWpeB}eZrZvbC zC%|tEm9*`mM{ADW0vc;i1<(&;;;LbBQAFnaZmN@N zVq?{+7m>t$El$M~NIq**NTF257r9BdIUTsKp!+pXs;W_tnul@>hJ3mXVj^Qi5ORn` zp~q^8+RR#&YW&4`V*wOl-%OVn< zSDoJdM{Vlin&8e0BmFJ7sjkg$_Xd)wD z9zAdamdtV(SG#AJXbV0>5R#qW>5x=wp)ygX0Q?5V8)!mEvN(23G$DROXsx1vzTmE&%fsz;X%pRVw7ut9QBv ziNhmP&u9~W}k$2gDAJqK>kut&YRFi-zZW3LlxBFH;w{bLo6yK3<@3#6@1ymdPwl4KIQMtbVR zOH?2$%{%`*uERZ%Nmnorljo>@?X-3r#nD(YhTf!75MtF>E(Yvq;t$=iX=QRUSm-o5))owrIr@SjdhC zSVE;Yy?%c0wZPS!ca~^^sd%*fc=zJX3p2_O?ZSAEDQVmb?THQtuYT|5Xtg?uFn2f-^j=-rb-mLSDQP|{ibngXwHv1P~Gk$GH7orZXudw zjz$k6MOw&ZfwwGtr9>|^?GN%e(iYym!NGy#6=tTXlb>6+i$=?iOBpd27U(uC3T;Ns zIIv95XeG4B*-RIN`AN?@4mEk2V0~E6wk&Xl>%hxbx>j0}R{)k&oj3ibW`ys7sC0EW;0xw5B`p z)aepVoOrY%@l_c-h5ljD&AwYa#+2Ly7UI;n>gr&FTC1#3@N-Tbf|irbF6}D>11}>g z&>xb|6R(NPU&Aofzsv2M8vSi5k_uep%W%JU0a#his+dEb|+=g|N~+;9EEKJ#>WKw6PgJ{)z2tXC&Y7D$Iq1hQpgn<98t?&p@H}w{h=Ira_w~-}{@E zJn|C~@>s#dU+oIHsOw#+te*g*P4kW7D03Cw55GvPl+$_v_!BlNfc`=`wQ3i+us4{= zM;T8o63t`v+F~iqr0`vnW2uuN$OplgQDMJY!0@Y7$wC%AIx#o>e8hc!m0Zcds9$weQYM|5K z=dpUmK4|mbEc?3{24cO}V*tptP-XtxH(3{Vcal=ITTDP?CmHknt7h@>l(oE|D4R({ z!{mrjZwzhVB_YsBm9Cr_&&rrCOR|m^uwMv9JK14y>hQN+{!&8zd`vzvx(~2|)2NYx z#NNA7`TIjAdK#`GL5CgSLWQniw8`@;etP+0R%f>1)sKZAhCY{Qd~tuTa`~an9@zW% z?C)XtRR;AGEv`HAt9nREhW4gNx22|lkZ{`*e>;+w8joh3PhQ4>jrVeIxqn<+Jgan7~+tZQeWU z{?ksE9bFn~L3x-Z)q-P-T@`ZFg`>{?7;<_~$UNjI- z9x_Ck!v3cF=d6iLI_O*h=N==Dk}r9p-YdKE!`gB=9VArY zudjGhsgrs;mMa#qRJw1_Irg&)1qs*5T{7R);1Kq9mZ0D(XQ`<%YPJ6RX^~1qGc?vF zn&jstW>PWU%muSeJln6$(G+5d+e?)5gT;u#FzmGf+Op`~<4%F61+Po6=zrtVo_AbT zac{sj2uLYI@D5BQhc^14AU}|6FNRKy<}#W78G+?>mDe~88Mo;pe~4%S>pkzJJT!1J z(g)}lD`OdKdSAfdgqr(H^Y!JrMb^JoH{X7@TThT^r1SXOKz2UqOgJnEB6|LuGgtBM zPQ2OqPV~vmEy#A_oqRKU1f5LyYsCmypPOoOzGn#;(h18In zn9F87M<$+XJ}&*!H!o@bHr2my_1_8)M|2wbyOS+mS`v5M`+RL9pI2sNYWLZX`!oo{ z{o59*Hu832N@{-=tE)BL?mNZ`&H%w8ak;M|`?s)%`0pgwzmTe_saF%0v*J^1yBc)b za0Q2ifB?_+!B65}Ge8g;KhJ}HN)+RPnOECbsLNE-u=tQqd879iqG0zQ78P{N6q!vg>iFT z&uVUZD_O5gJ4gM=pHZ_2z3?7?0YB<^MUn1?H&tdr8220ky|D1Tc%JU7wpv5S3spJ{lGY>TUh5m@BLwx0%dr zt@S8SGOgOkWp_e~O4$1mkR`&DN*eR>P2~{B*HW+^(Cf z^9hHGxD>xzt*meV?SVnfBGBowmz8{jPL#R%i^=rDG8DPj$_kNjbu7gykxhPh z6LScDd5FdYEub@F>LgY5@7(#M1TL;2S=RG{#raQ9_AF z`uO=|3g`9%CLy0VA-;eex1!O0i$k^x5WFJP`8(kWy9^BKg30g4YGBxwG3^o3+XBPH zo6@{9V(ndS9^)>*DPPSGVsv%qL*eQr+s~yjK0ZF}1!gKy#EX-VBA!Y-Ha3Gt3GqH0 zA0l+_2E>X`JR44v(YK7{7!h(hH?-v0Fw5X6A+V5bQ6UGvuFg)f8M8o+8Mz+KxfNc% z;N4guE<-#owILX>6w1wAagA8Ag9ML?{nh@ z(Jkc&_u{qxjq&GKan}e0`P#nqlm1g*o(9LM=SOX~&nX1#UtmfCp3pCi$>p$~b$>1y zsk0e(JOvMY%Px>vk)L9Yv+|ipeUOEo|U>vE%?G z>LloXSssdS)Zr`hnSBKVD-j{O4Cy;5dpA2~o!3LO{k#62axha&#MN>nTHj!(kFywL zBU?pCkt9lW^li+LiPbHYLusq|hp^fBoy>({p5ZnjO$mGdL-z$=0^o1tS2~qnX$A~= zdP$T&+mc$hqV=qCmRJW%lND@ho` zi=P9@>#^bxWYkB{?g3pXmo@`4GrFfuFe)K85z&5qCMIHqMx6ihplhzvi}sr(^pTgg z=V<2l-sJUPSx^a?$DuWB&jDi-z#Par@s=l(eCk={%+JwjatYPj$0MnneU*@F)80rz zLH|nvtun08tSm|_QqI`<`ki!gOD_%qq=3WkN3;oKoM-;i4fQ=S4lW12pQ=PHGmLQf z>V{skd8U`io3BpqNnMd*;3srf8;R5bw2GU{Td#A=DQkZ%*(?zoypF3wKb=Y~@&NG_ z*VVS)6=0xL;fkX2!M7gIWE-;hIB+25OmNg8LZSeLe4>L0&$EQInCO0e%N{Ic4?U1! zDH^?ywbVh?iVn9dT%FTLiaD4BpNuokI#$!9OL(0d%?ynEW=Zt66w2v zNU_7f#+PBX*l%rVQP%ad&P`~vriqI*1)~RXn7vM*I61z6lc3~89rIYJW3gOT|qYxpH6lwgK2%~ zIT$V~PxP0VN%MJe88LcJ7BRz`KswW0a-r@oy=1iVPQDi0>8AAq|BmwR>iQpg!^6<9 z@$oqaQ0mp{!9@0%s7gMA&V)_Qg|L$V7bV_I+WQ+awG9vFK$HFbqRrqZCQ~^Jb@qE_ zVktT4&WM_L{?5B3Fs-MdXDUTel*$F@uf>_&3d?vX;FAzxf5RBYEokSFGxkwHx|e# z+AJ&rz%?p`3)ov^2x0H4hQxYm_)GJUPjEe%ElIiEg-u~4#ISpGDw1;2dhz{9Mx-kz z{#}R8zm5H^$*oTO@6N9BK$g&hj!E-i3sk*`;7%J z_s8kaBjx{)92%nsJ3d32zk7fT$p6eXl!G=Z)QDJPWB!TlufSmcG4gl#8Mhvv$@T2` zQ|o(a`UlI_`^KAds<#Y@62Suk)G}%AS*p+T3-e7!mk?sO;EX=ih9glF|Ixbh@qH`7 znRWH5`3=V+n+@m~ak-E)y);ziJEv>O5<3YIMJD`2X9XI$EJj$?7~A)2m47Yb+2Xom z?^A{5a6e0ToabC~vEzOM(uPZUBV586;}myJM8EX>sAp>;UVQJ=`;~6=K{k40I)-i` znf99pRWM#)M0X2MRD?|2jzsTBI|W0)I3x7N@rCi>H5=f+0z1waA^R0bH3Nm17T!oGklh{`=i{4~rXxY~P%OMaJGmj%=LP zRUde#`@1RXrEeyDpFWoWlnA=4)i$aRL7nd`2)gP{;4?xhy;ay^)fRa5 z0ld`gOubW$9zz=T-ySh+0@u*T1yH|nh>*nJgX*8Z8%V&_-_IKAFBwqwDtX`6I zZ;#ewWUTbq&Toiq8hoN)LRj@|f%P=@rd`sH4Y-QoXY%uZYb+4SvlHK3HQR(8Id$*P zMO<<0;|f+^^(2b15d3h+1~o`))SA=&ewl(#{UJ?O#XcL#Jq0UpI(f~S$x;tm8yh+I zQ{63NrBYB9-;3Hmd%C_hq&(NU!#F&{8c#Z^U*r|yX5Ot3ZQRBpuWAqr4_O#;QL7cN zk0GHYdmOZ}yjHW#ATBQchw5oU&cKooCAZo35eDc&^Uttc?R%}j>^2hAarehW^dzKC zq@z4G$_W4mWbNiVf#p~tU0po?rH{|gp&ndP=|HF@dZ-2ij&~_Sq0>5rfQTk+I;LskgwUwgc0>xSycb6QEC%omVt4+vFW`NQ&1%A3 zmhngRXZ&ioc^+sX)j=e7Z9p@tuHjowvJJFQtpcpFzh5uM~GO zaa^XoROuaGtGLN$2~M$V$BS*M7;%yO^m4lX-q%>@YWg43pyKedfYeY32`PslwxOV& zd~bTjMz9dn&9E)}E$am;8p<{{xrhxzHdJuT2?wI*B>=SSC;^8InaQPdXN-;Qjp*Al z&h_rC7rd+{1e)^6&W2&ZTtec@mfvF}mYK-nH5+X?{U!k4wbbCO7p6cRb&CLy^Q zU$eFci%*kRYoatnZc#g_RC`mIysj^(N?jr^g{6`#PL&K(M2 z*r}%XDAnOnhE8Bpn1;o|J8iU+0 z?gYKjw-#_h)Zu9^yQfw|_-0ZvaUR9w&npWVPG6w?Dm>HQeTHO` zW##118g5G6#u4Z?`Z#}h@F#w4&Dl?Elwl!~qOlqE(x(;Whwpz5aI9WkKwn&tyyqnc zkG!?sA1O(<4y$%oLGM#h06y)RCVLIL=It9(sxdoCer#)L?OR`lEt^~Q9^}*$kdbI* zeFr>DazUv_0P_gV`F79;bN=|)nYibmsqdY}@gFK{enIg+*_-pyLUo>7ctQdeGcpW? z&XyOLmg58;HNi9VqA$_2I(?tP<#EiqM-FM#r!=s(XcbaT`8F~VK&P*6pmPba(W<^j z_J`QMVCdC>7mja%yq4BbXD}=UHpge;$IuYQm}4yJE)V6pLj$k-^ieU*~cEq-A`TpRJp~!ZN5=hoKk?aZ^8fL zPL}S^UE0(h&sSvp;1kMSSd{$eO5aB>lhDpImPQBRkN0N|=zxT}V0UfjAS#u5Z*89W zXzi=OTiEfRkxQQ?(JJH90x`?(we9WTgtD*l>xC_hSC$Cwm@I6*i|IJ-di5%A5I_@= z>&s+H>^#gO6Rl->Ub7f;yO@ySR|rs9+BGWWn3A3DXwXmXqLsAu=)5}YSx?+Om6HDw zuZ5U@T~(O!wE}(kjU&2RQr#lZ7E4B$M3Mp`~DNfFEeZewDcMc;?iERhL z7wb6Set?2dXYff#^--okCF=;PF+Scvx|gx!A_Ws8xk+017U3rl0XF~PfVL3WeEm`{ zafQs}21c|7e&q|SY-pR zCMSE95T`@DlHr#H89wL85QrKHx4eyugAgJ!!vQthr)}40W_XVNLFZtsWx!Z-`oFX z_c;AO#;!PU$39Jr^e^{_TMIoRraHvD%D#vuPw4o^1 z2nj6_8}@ZmjK}AJVi{JfFB%jB0s$ASm5o0?|M8TZ7PT4t^cbJApr8QI*U)s!#z=~uey^-`=D z7U4{XSMUH+oLdCM;&aN8V6M{@2OLi+AW&3z{aIi)?Qa)(-q`r)(5%)7LLXiUps-Qr zKlKD8tvsu7pkqy^f81kDwhI(FAC8bt(m_l>>$=(duF5-gLPkbT7Vuw`y<8qRlFWJ~ z)jMDs z*Re!(G;F00uIdbY^srrRt;&Z1|23EFL49RLO3G#Yb6Qy{YUJXDdJw!+|yWcv7Ufny~miy5SYQ zTdB(b_EVQ$HeuoG4*$3e!ib+#G~_|-Dv*){LF{SWxu}j2h9ypU1)~_qzbs; ze@2F|g#YA_qc8x0K<1L|XEX1VHbTOzROIC43-xM@fqdQ(RyH%EW}m?-~$og@da$S`_pliL`OvV@qyuQe9)PnFz&tJv zmoM*-M^1!9oW^aDKs4U^U?KyVh$qMPcpew|u5vPKP;G532`*>qx;`FS{N|B%_rl$> z*J=UKYS!{ZK(vX3wHEqeTEglG$kFMY*s-wjwd}Cu{ z0f(~0J0Rn5*;A>y^`IxYaaGCoHRoHVfjWo4>82T*{Un=QA9MhwRjgau+*&&HZ>rQr zIIIJnQs;|KKy>r=;-TGHO+>^~AQWB?(1+eOo=rM4|L?No4bkywL`g0lhlToid2jq*(=ZgBs?ncJN^%clO9QWW$L=vX)+35ng zna@lDZ~1O+Z#DBJ9}5itDMN4|C{u~NDzE5W>)AEnl)GV2`(gT}C9s)1h?Nc=G`l?B zq8CG{uP95^a-xBq@^w3aJM`)|48y?f_>Ou0ZB z7lhQ#Cg-&!5Wl;$ct0M5^0e4N#B*N~@Frh}!Q8a{S^~UERWgcWfhA;qw9@`;j2&}%PyXt6!;KEVHEQ~(1LGx2&nSL~hWM{m`@yDJ-DR0<1&@bO0Y zb#0)}sQAsXj5~lHwJ8hcCN;$z=sIEiyCQrLisE$lwQ$K0#Qh}cHC4V?54rnwt&MIIIb1e3>nsqEnz-+&F z6XbMKLFp*2z_wDWB)W}Lt2lBLYR&?&j+M#+jTPrwqc5DV_#G|l#1nFCg271+;P8^) zT!626<7xm>^&Es=au6r5(p-|;FQ~E*k<6;uZH*(71@bN7uvi-Lw9r@(zg!C`zLk%o zumbo0d9}4%y&^wYYc-ZVZ*AR@Bo3C2^mpuioR#sa$zi2U=ubUBN?M2&WT*jl2#>`& zi-AoKOUvSYyV#qog^}3`t&(r#bW9aE7QbIF>N{Div7EINTG?BluX-M@b!Gh>(E3_)p#MmzA|RW4gc-VPq^)ZQnJU9VXD91{I}b&=dzl*ukgnqdRuK zlFs4F!tvmrz+Rm=fi`wbX`v%-fp|SuMHylu%1uVGzO%z}R`e8A26J~?+zN2dz--bb zu4Vdhs#mTd<@)Bh%ka_Z%QcQ0U_-W=$)RI}Ds)Yt=Gq)CwI~%l%8v31MFO)4jNus< z7DE7|&qu&PoQ`BBRz&7W)x3LS2pwTDuy^uQs;fT==i%NA%Bzp}FI^NjsW*mPpC=gkP8$ZKkS zuhbE4v~YYNXwUfiSFkbnY5ofwSpEfujJ$nRF7b05iG00BGCaGgQVE1JIkO=H1dcZ8 znCtw$6Z*3mxp<+*j6l9Z@+?lBX(#vT0G2}?V6kmPmfGb&mDHwt)Op|G-|sR!LCHY0 z^xM%lwsu*5KhYB$8v=`;O`Z+4ny%DSZ=>_3CL4y$b>j5o?_gbkH)2Cq^bgD_|D7eE zw$}yfg=4)5#o~1Z`zSaYFXw30_fUHO^LZPh>Yom&WRez1;a@W1Qj3#Q>lD0ve^h}z z^BnJa56RTk$t=d_yeT5w9k|{#RwWNH2Dq1%X>>UgP)zW4kPA!M4)Rcigmdd9044^V zWW|OqAJ?&}L~s?PyMoXe+%zY+OI%cYGQ&$5+;cjO+I={}p3RIBk*3>yJhM{7iqohx z4t;{N_!=d}9L)&c!Zl*njFw)N5*eUckj1IZ_wLrf zV{hvUHlwLxK&H~Y*vGC^1F{B_5!7f;jI}9dc(XAjEKKT5d~P$63V^gry9p~*;Jo$ET==AW+j1oDCV@uQv+sA`g_|WYt6HAt)DQDE{vkK*l8w88zD9pPTHXmHdVV(f zsD%2y?N_bkA&P<^iaJB0@{3>Gf$%<3rjA^0d^FevrWk&e6+4^nM17EaJ)ec6RKdFE zS*fJ-(bKWg`s(cIQkPrA2$wST?wKhQ`TkN%y|-&^0xJ=(Jb4K-@vvEAKULRPj1jW~f8RCc^|xA>7_?Aw%;8at zk|bfsJ*ODuYCruPNkO7hb%Up}px70n* zV)VO-QmkJXJI6#*=^u@cTI}9RfugQtyp7K>_l7LEEwR) z(RAA_=S!gwj;3P=o8z4D*E*#mgJ4-3#EVX6Ts0xndGQAuf~FEYov3b6mq?_ts90X-)pl0#_$VM3BFp>C@B*L&@H5B`o&#%ZE_U)gxc;2q zLVxkYY_$VeI@rIT3a4LC`DG6V+GomO9BSd;);N5NA0MMIdOdQ(sI~9k04t!Ja0qt$ zqxEZ~_=3bcfh`HKfWiEks|#Ala?tAjM{B+x0a!*b;-k7i4a}_JP8D8x;*iaH3ce3> zv1S}s`1(6t-(n<%J&me|3f=yQ zy{3&GNnxRf;C41Sw21vM?-=`Dh@}a<^JLL}dX@0}05B(U==W|Uml3VFl_yB_1u29u z*tZg5*~=Ryde$BN@YqW|6*}=EqmzxdTFi(Ef{bN9gTkFfu9#w9Fl_N01<8H? zFl{eCrzk9e6ut7WUIijVRIfj7apQ*&0@sd${0y<|C1neN4cBpU1Ol zNdth@ZdcTO59FtTf%qL8l~M1X;juQnSjf(PD?tMVZrWkO1q@ z=4>+UpQO-0xZ>?|?U;}&3aYfY;{O=$=fD>rX!ob29e_hS4 z=1(4dQuf)Wv_m$hUtM}UkGnkIo|y`wiQ%S$yWV7>6+LQL6DCZmdc?UF6rh@2Q3!_N2&II<`{`*Q%`lun~3i z2H0o6ISCa}-tG_ti^|QQGbTm)2iX;owsoKYLK#}`nxN)X$}p7mB~hv{+HAjANrIbi z-TrsT-Wu9?pqXZFejd)_HlRzA{<7;FI3e?Kg$P>llZr4QWLHw_11T*O+YC}I^gl4m zXHFv_A|iIP0Q05zl1M!ICG2-Zf?X>OBj)zv*nGjFIgI#0iMzRuDnJ^cp*8<7TG8S1 zfgYnzqBM7!x!*miIxTKGr~5lU3oGe#=RWEcli^8+19xz>swwrUKL-qTAM7>o|T+!Awn&9ri z-QC?KIKefzLvVKpPO!!$xC9bhg1fr~cWEqmf(VHcJEruHRqT^rozc5 z{kMwaDS^MkFzi*p6>V`VwXO7es7J+9R|-*;&%J!nl&&^ z)vX->P0viNxokURkZ3rGCWe_n5SWAHf8Kj-yXF`~B#yDtz7=%SkhF~N;2HY|1Btp% z2I_SHMf#r2v@<3z@KJuHcTXmB>g$;D1{$r^Z>;1EMAp9}{Yl!nVL?c&rlTC=&&2=c zPMKJI3h-87;Q0Dq!nY3wm#K=?Y4mE8wnRaiybdeZY)=<1{a7S{OYR>6f<$90q;V;< zBCs!10%oo&AEryh8iC{tN%l=2L|*H#H91heVvCEFilP4ot(Xyg`YmoXJ8=K(%}9ul z63fYdYO*pdRmx1lDL-rOYFLrDJl*xIUv7FDhxm^iU+dKW@%m1q@|rtnT_725aT7-t zc>g}n{}Qp$VKo989&PvwT$2#%!>!QGqSt0XBrtuO0UWBP6fV03W{z%+vbP*zYU1r9 z6axVY8uc$h3grxIX9iwvIpe_ir@dICy_%2jS}NFJw}_@yrr87ZyiR_Vh|_$b45z??gSN3>8 za!$ge5$Qo2;e-=n@7JgjFb*t9gN$JSMAHWcg5Dm{{o6W`>W%mM{()y#Ss!ih>QVCF zUHpnlnh{!SIX8`;$LsKY941fLM?IE-^}zdVO@ISGvo@$V46$wki^Qe|m<|oBIsn!% z?cNNAAuwU5+|BD4(~wAclM))^aEZP>yD?ZV*I5GKP1@z{*?J7R*t2TvXW5zH)kst# z+8Z#h9f3;uIMAnoPnPTJ*piY1v+}mROm*hlcid9 zKC{#oixDhau>p*+Ew3;NN+qLV8bSfLF1tn67VUN`fN`E;p2lX(dfrk@wRz>sY}Bq> z1wUnbbNUYnnUN(keR;g$YhdyrVfKjMKsu4F+7O3W0BLMMm|Sp_z(1}sgWkFOF~)h<;gVTd$?k^Tu}Tq~?s{7`)G-|mHtB@-hB55`H!$qlnC zX1qADNGME^Z%`3$E(COQE~$_OJ=e|!-xN1@o0FIZsjq?m{30F`#*=3B4XQaAA~32) zOIFG6b=&OT#|pit4_eycX{rLSN!DkySkNtB(4m-}5Pl?zJ`c(!3%Zsb4`nO+0ux;@%DF5vIXa6_ zsa6En`Fsh4mbd7kBjIrmE*mWrNXOt(QeF^3cm@)HSZw(xUEbrhb{{tY1d^$etv2eQ z{vC!MjjL6zJpjzSj{5Ksr_=8MD!zo6;Ix z?A3G`fOoClV$TQrE;kR3b!^+Z0)BPKQ$4out``CxN~BXE#pGPFie?sY-A#aS1OVZJ zTq4+=Z?8|qcH@E8de^u4TN1UQiz$?-V*ug)>s(|A^pO1NO2eKY4Oth?fsx-Sj}P!R z6#=gh;;VzH^hVDst@><{$GQ&P+o6;=B+-rljLz5Q& zUyV3SA+w&bb#~qV4&Z(gu?9#`+^zt+Nnigv+oJ@cLa#lY@MBv>YHV}U*y@Ww`P8!0 zWHy~xgbW@kGn0F0L;(nd4jB9}*PrWD83ebrwT)wNRl}f45e8)Elt6}EZI&+m;~((p zeRU~NgwwWhxZN2zFP^Ul^WRT${{1V?2Jh=qQF z_=sZqv~0DI<%6t?*1=D|p?a8~cybt_G84>odo7x8B5vbfAIQxtu&QF7TN77728+go zNL!FE4hfTCvEHynsb}$j1E5?AjS{7u0Lg0fefj+DR{%1TYtwTwS`-a<9Ig;N9s}F( zU#(SmDR`KWO`BL5K}EBN4PN9+g!XTheErxHJfzNUB33^Mz-BlUVFz2|BH_?T%G?V+ zFUiJszRuGCb7vCLcRY4HbSw>tQq-#JBH6yD0+IsLI6kT%8rcoG`b+>Y49)4oY18Je zus;sHs`$#lty(epiIkBF(t8|kdQH{2EstXQzRm(`=spSWIAHT9O~2i+)q+^fA`Kml zd;N8b-?Z!E`|fBeG5~J2?Y$NyNB~$?=p6E1@;Wc1*YBkz%Gv<2WBVL90%bbYxzvo) zCZ)B?=DGEQ*)F9Q-Fl8gs>qU5Ajjux%KY~kEc(2dr1-fK65()6)-?>O7=&QvnA80S z`dt3rQ*Pb2yRNqpzclGS-k{g#9R_yyLsf?48xup@iz^=MF{x*g+*9xd_Q;iws(3*Y)L0Q7V))nHJy!!~ ze;1TQKmZhTC{EuxJ#GD>%UTV42Y$sdWS$AmQ){lRqN?Vo7ORFAE6V8WEZUNsLe5R5 zAS9;4A<=~!z=)68?S&RIC*u^30Dmn+lZJ0hm4qJ>S-o4@>CanGW)uWE$l{MXIz`E> zWx$fG@L5q4(VFE8XBD*Hkt#~aG>mfb#qb69U*1S*jQ zZtgZ3N|T9*F01ttV%$ex*uu&-Ot^xkw8$kwFa0CeWh zSD#*F4wt*H^eDJavQkEWkPiknYQNw1Fo{BtMvYK*KB*(IXX?Phcm0UjUDlRr7bb~R z%>g>#+4n@kJ5lsCSM}Z!&|`~dSjh6I9YlQkjvmh>+bniG0+Dk@L?hBg)b@%*oQS)&`RGP7OMI56r5!_+;q}>M4 zv3;dI1I{p$?!d|anM@`{l>tX?y+gn%9ttWas_`fMA5AjX(j!>IlXs_^-Pa~x__06H z3)VP>ZNoAr@4S!mie@`$OKJbGG=w9`-=~ZjT)%tbMA(xpQtF}vPTs&~PL_u!?zg+|tG=Q$x?zY2&bV2N)q2vy62x-c6J{3{yAL`uFNGvw; zlq?B-{KW^_nV60(ofJL{DmXPVlob7h=~iHX1W8^v%?JsHgFoW0hlESq%aAVzJghX# zZS_1|n1`j00cQBASrlyFxBFbv4<}5LrorF%m(h;D(>TGy3it|7ul9tPcSAZZ@0>kd zWi%ymLd-%iNXS^uAJ}*)aC>TdqGCZQ4h*DruLE@bW3^r@=bp}uNe2kuP$e||aeBeM zdjTK)`;F5Eru2+SnLIqb&v$k&n~pq6A6Le^h&cE#2#FXy_8%PkH{>3(-$KknF|1?S z4wiKnxR`lQa*vt6C49<*9fG0iNxN98y8Sm30tX}C+oTtIeK0cxWcGf&S72391)flo zTijL^o6v^))#mq~r?@AmGpoJ3)QeK zj_lfl!0gO}aX#y`2a~0D$CBm=OlH)Pdk}mk`1hz{q_h9PaFwE@UL;hd!72S-1k~LW zl(yZ~%<7OE@(MgDMP1{CZ`-if?&RF94BqU^W|x-2nf?hQa0Hj#ynlXLkYOWX8IXi} z?BAH=dH(&gSE9v&AJH9H+@l1&IAfU?68vFQy!yjJUT<*feZm3N^+o=)`FtD&Y+8Pj zI*F0@Htb)0BmHQec2Vv#2BYa_uM@>+74E8Kwi9&19q#A90zIvN4)-52HYpw&_I()A zYO2;IJ?o8^ovxwCN336bJ`q2CJy0=Xy$V&euT6U@mW3W*PW$x!>y33FQoJn^$@TqK zAP!-MdonoL;m2KE!)Sy@90M_gX9z!>D>r#VXxv9)30}Js8wrPb?1)L$`_mF%1(Ap~ zvl9*y@AaQrVe*u&shf=B!-RTh?M2-+YOXdft*h>Un5Ly4LGZykU-L*^J?+Y&^U`)&qj>l< zizwjoE^#sbT+eYvQ~HNdC=z<>f$usR;SCOv3@+I>>3LjJ+lC*y1|A%6ABd@;V5AX| z=mM_pQd|3}``0{{aR}*CxQG9|L#^k=F$FsoY_UIQZtH#yV5sx6men-C`494{mhv<- zGCsJGe#K!u^U$o%eCOl)0m!v_Zy9bl{qA=Xk*gRJPAK}B3OGI@wV{~Y*e!2&h~47r z2nDcF^zx7d$3@_x8kM7E6EqsU`8e7wD?3^XaBo!nz#~Cb>nz=t>FN1AI9*HnoEns$qJTXSB6%B7(0Q~ic8`VjnBQ+)kV z_g%X(^Ux*j7EeL26Ume-N%b#}O1*gS4LM5ORxJQO{QcBIQt|qGaw5_kU+&Vivaa&@ zV2N)H0dRbzuPP=W zN3+#t;M6$$8n<`qe#N+b{2RDzaE;aF)$Oc#jlvsjkD|PWt6}ej;N&v7r$r2fE%$Tp z+aCHRMn1(;;h?d~8V{Dzh^B%^mWS)*z`1ZntVWleca0nT_^ucmRU1v&=|lBO(KxbF zpu)4GR{G2`>cC(3G40h2Ww@U$ooLL4)9m!w?a$c-(kyHIec@{uJJ0spMwfFF(sSXi zpG}rYSxKX!V!q~;leHUk6pMsG4gTCIQe|}zU`eT>)%X{#67ndl;#;hPpvvAzy!73&muMU^2VX4wh% z7N=f%O1v@4(It!Ky#Bpq7fsTo{ro}YNi0t1)f*N*1YPcpX%rkCANuS28x zwZ7#V%2_y~H$1$^^t5^Xk@>-o&~rf`d9e?2m9n!(G6p_KgIGJL{KYTt7&%q|3knEt z2zGsVOnl}yquKq4bkl@#k|LK|)LUB_KSbSCvS1zmv{r={f793>ynEx)u3QnSg+2t< zXf4qeX!pEc*eb(Bfi4(|1#`qd(TRB}nA87wNdiINB8mtnrAskSk(8q?EGY!WJ#4sS zfdh7y@)&M{E}sS<{tKflN6L zjoYlx9o+c<5$r~S`K)iT^i-)YWtZ`5@m;mpi{OHhQOpm#v>ox`_qLnJ0>&7o=JR`6 z>ZGW*3`3<`X1me?vIEy2X80A&4dPpwJ*vMKFlrlo4klUjq9%agpd!JqTqU;GUZFm_ zAJJWpEuupsqv0gxD?BpN?;6XA1~E)2Qj!xRi_jY33v{?Ci0Iy4Ys{)KeqxxLGB7@p zMF(M<(y4Mbi0~=?xK4HEJfYst%L5S-*hRs^JozjSSnB%N(){r*?rAu*v&k#(Ag;ez z(f(`Pvd{Yo<$pJ*mk(fg__}%#DX1fDA_r$Umg$|~crjvq`yrgYJ@kRf-GDxRI*Ki? zN?4(oF?hN;YyIjkNey@q4f5I9%jIpX&Sq^k$|@daGFRUqrX`}5W~k72@aT5glL}*Q zL>GR_$y;=!T;eDRBRp;S^C)xB*a-{G)cZIOB$Q8!ys3*gvGmTG^493-1+u+IW95lG zOrc>Yzx6g{;=!?^cW?QJ@J-oG^N-p;6FNh7UGne5LG2>_MBTodg4TA#XadZ=LudKx zJ0mm9`dr0Va&);QE{HBW^J=`G^fZms2&OCp(av!jBa0#RGI~TKcD@u9UG1Xs-XDLL)Uamv+wt3RJ z2Ke)&b7KZ7q{a3tb(B~f!c^5jo{*8Zh#2dwOOlPIK!9bjST-p(NV)$fR*|ZZxx-&P zB)l}8i2uFnJD&<>*0B${91tbyr9x?BOp>HXC4kIFOf}xnosBh;%+82ZFf&5nH+du^ zYV%WpALVt0eor(U3aLQjO!+XOJQRPA+uPP&11BG%656_!jYknO*iI9x>W|>uRL$!~yAzw;<}7YnQBjM9T*lg6c2wRURjQlx z$Hz}>o@kxd3wtV-%2ZZ0z|sTqy=G(4Sc^>5@zyWA0Eu;<43_Zn1#+(TMVTKnUw8@QZ{O_S%;S$u)GP;`FVdD#A|-dk>3XfJ)XD}OZ& za2?#rszaZ8SSvf&^>v?I*Mo`vPVi;anuO2eW5@i>f6`d~A@lG)`3ucOV`bpuT_!~S zPL*A_jys*zz z(4i+cyf)VKVvPv9aIo-udkDOjhhhgB8WsxAX9M;ESi1}usyfA?eI}O$us-)VzfYPM zDn~%TRWh-40L6h)&p8OUuRog@!TZARLMD=TeDw10vqW5|Kzm5U*NrtB`YnX&W+MYM zW^2Y#?I!19bm)+z{CkOluL5MaImYgGS>s-;tH}dGF$gGei@bvekzzw57s;0bZd~kZ z!5$RX&QVcu39r`PgOja7YJBE~e~Dx%4naggav3892~zT_&4Td9d7~n!2uM`XaotX- zLCI6zELTql>F2@aGdeEx*9p4``CI=zhlS5v|E6EDlMK0YV2gG6U6Ic<9E!H7?U(w# zEQbzF1_0X{`Y`gR`O)bD5NwXcKyb<>pYwx4l~ut8X7r_n6eO79gE8?V6kZYQj`|#p zzsm(O$Cq=O5pvLapm|%$05Nn}FBI&1NwuvBLnpJjU^UJdvA>7Z-fiBS>S%FRgojE% zPuhC{b?g_5NJQ`|aj2(8VF+8%-i|eZhc~1n+oixLnXH_)3nQ zxzE>$r8bk8@MUdMHHkWS@!8xPIy~J#w1v82H*;=k&6U~B@V@zeYt?nr>~py7AG$oU zM`AX6e+q_7tFLzNm^(thQ3b5~bCmSsGo+7j4v~=11@uv;<6dK!l3fyhHba#DkT%s? z+X;@3?Gy6bz~nd>D>7Diq82DAug=aYk71Af_z(00PMo#332x(_+B6{5^?!T0yZk;T z%n2zQdI)Kcdh_Dj} zC1cp-WV`lqOV*zB+{61f(ON+G+-iF+5u*=3o4Kc_jso@*7i3NRV!g$Zu76MV$ zSB@jgx&!w6m(lYJmxf5O8vm-09(EYcf^irn1|e9xFBLuclA#tvck4vI`Sz|#%D?|! zqwb)T!6RcCYy$f!GRqsW*?D}U-tNIaJFcooUL+H}Dqsfb(RvU(iK4-~X~k=7mpY4H zwnx23E@$n(n+gQMYT*t)DJG_4;1E$iB`zYj$L}wHSA4+X<@C1dzFN*}O1E4Adj}%h zJxoVr5*2D}C@*;iWVIhelMFz`6sV=i9Hx|G$48Q+f8gIZ*Q2=HlCJ^C3F$VQV%5*G^#b&ky_4Z_$YRtrOy;Z9nm0obJQXfyNY$^E%hZ?mT zuQLsl-M7)zR6iiphXD+%iPZQ1E!Y4q(ufO=0MZ9WYEoPPi0K39F}a#X0Od194X~YH zNLM6_C*XnuNS|qY!r!9Nf%Dv>cNM3@r*JsX;Vr1U0d<*u->|)F&lkIHu-0F5R$mEX zwtG-NOYc_DC?UN9g;zx(%KO!$hN(bD`aXL=x}q5>9-N5 zihbdh1L_o6;i@*K4?v<=UlRWKM4pqyyI~$!{6LMyS3+xf8ayk$Yv7t!MjEI|E62g? zvEsXCQ45|D9)kB1>uz_uD&7b@3)Bs=e9427F1+tvd_8+rKfvCmOG>g*CojO5wsoUp zi1DBsPwxpdzehU0R!;Ql#|}R*36WQ{$VcdTH4(6@u1a;riN;a-v+U$2#*pe{{?*m!b;8>~dWZA%q1tj25PL$Y3^=dT8FYUu2S!LF>|QRFfwgzepxg$ z#0#tnM2JC`val~kz+qtdJMs)8%v+=*g9(@67re)wNELUPGD)#+946xS6i?^Mbk@zlsLd7&?^aS+CnQaQxzdAT=vInYw{Ukoio4u?w%65RQ{o1ZUddV@Sb=xbU-qEtB2SQp^+SyW4n)Wcw{ z&)G&6^?GuVsKc%#m1mBT-W3eOH3i^=;#QP zc%H5tE>`Dxivf`opJO8cWI5(eI+0SkxE=7W0lZOu0d!SlpkSWC#Q9W_nzA(6w!G>O z);7eE;&3NaCPZ+b*(Sy6kFkT|zu`*dalLS-Rm&KD=zH`mgf2*bSMW|E1FvVtang@w zUqL+=@wnrInb~~I-moZZ^PY%wn8RXYfy%4sVQMv=QQ(o~FEQz0X*|4dQ3;x4SD=92 z#@g7JM7$pXXa+yRYL}N1(B*2 z03&Z|>~#Fbd6oxIY5b?w?*Z6j7(C%MP`@RBt?RA`w!}uWi~%KFa0(L`-+LIJ04^W=ik?Y1dW`U+s8f!WV@cXByLhq*GC}cD?siOc0_{V>y33x;>p@ z>C#po=R7hCpq$EW;JLCE`&S9w{Er0U8YDbztb1+a{rYf_Yy>Q>@Esj*$r`xtp`oC5 zB{08kz>c@67RjJOLjLjdX`amh)&rKOOPed5QU>`05n$B>0xWfQ07BXTu$ZP+fp!Dp z@A8bTs2{)qz^(=GhAWT4Uu|^gv#aii0D_D10Yk|h9*OPX5n3POaCBr}yTegD0FhsH z#?4if;sgbEmA^T}-9{n?cKx9WZNa&PImPVT99WiaN1%2J-yi+&1?;oqZL+{6f^4&f z$E2;a!S%a932=(Z<9ZG@LRNZ~QwdL^QH)-cD3XZ-;tm1v!#~D8VqddH3l26RpCj`& z77iNz;7n(LAF+Vz$6gj-lSx|$?IwDCI3ty$&B?Ggl1xW~5=x3U4%yn?ruaq=s5U?c zxqiyRv>7%@lo9`SL&6BuVLkJ!q>@|Lht1C#2KhFr78BKN+|%n`Lq9t^ z+wm|7moL_2?W05xA;SOMlgfEdAVq`UYr5xY;=>$cdFefLRqszK#fGq-lP}kErKcz9 z6Wai|wu0c$U9|w4?-W^7!+C%_u{R^D(;(N+ImZAbBVP1lVOC6OU~vN}k9pTCYVLBs z3?!Wphkmdzkgin;AA27!Gv-l7&{$wZW2HF*AoxFI_kW+_*phSYS2Zjwd#so$;gV^I zk#FTthtk^r`)Ye11Nxrgx9FHcZr>NfBvlaw;d7!EH9o}(2S$I zFQpdM_+zSlV92LeC&nYdm?It4YfR7b3Z@M7lyG>VMUa=Yn4g(qJeQUifj?9osHODuo434e}lT zKLWM36=zmzxKKh|naz~}Os5pf2qi(GV`GAKY2rw z&<+-td|6~)vSRxLt@*aAO)S#COpgD2)Ez_gz$9`{l8t|4&inN;C(SXmQGr zQ77f)5y-OuGDQ&n?^w7B0i)k5oN^7#R#lwx8QvBcjgL>YLGJQ<4b76X2=k;I{#)$L z=v8w|GkHTba&M6XLR@q}zC1cXz|Q$85*wd&{{U_G@<8C_@pehvTSEAx+r4*l@6;H9 z#5N?#DmU(J7*=}l-5j*cf2)mJN(%689`u*!MVHPdcTp}}`m#1F1_wi}>h7VO?j z(uK15j*Z)&S8T(tw$Ro*8~-RMT~oB`-evy1|Kk;5?1>gxD)PS!ZQ@sC3zYxR4gS4d z8cX2IpCQx27sz$rbe=D0^vuI9x$IEhI*LWi{e|A%KM7NmAz!L-MMukPi?@BVv#>gI zaOQh5M2^8;gf(^o1o#0q%zfmz~TrM~zp{-x_N>%IQLS*DD zxZ@o}LPBBddJf+?-*`wj3$U)?A1F`W>OH>GXlyGFD9Ig?mRUvhQmLPrnw4*q9muMq zG&>bQ8Ru|xoJ6>Amlu{5HZ#L67Djf`7;5mFEc%o;a&d9>aU*2e`Q%VKmZS@xjt$=Y z=qp?^F;23XK>z04w*#|Y88#idk6Bl3-!DU{b};i2$a9H;t;n4C=nPPh`ckFvFmOm6 z;%kkOjoExZFNMD&#U^s{l9hw_&jpTK2g_h^lEq*vC^$SaQP0r=Y_|V9kMaaSn#dEK znp5+!DzbUDZ%ZZxUiw$dJkO6kCb5FS*87kc~%8PxS0 zxICqEx&4A*RAGeB7H{0UF{`7>YHaoV`1F2`H4|P7*}C_&z6YQ04TI7gJo9r+!<#oq z&|Gykrx%(){lR45>?)(_2LCAC2g&l%y89*pzZm_xyW&Q+2E0TAq~sL1v^>*ih&158 z$WFnUF2HFRDKP_wDYj(qYUhjdZ*O}8wD|6OSic|7+NsFo`hsFG;RD^#ZWkOfZ`U4A zpNPO5j?Q-OW#93JSR)I(pV(@b5m?n^1uTO%QU-0M5?`$W})kCI>nf^aFNduXNgXeFnQ+i^bRr1y7RgJR2xR% z%*8r#x#7K0-aC&V(>@#Onbk=gokE_{VTj^>-Jm>NTjf{Hga0=f|NE!|>d?JT`2^Ws zL%Q_cSKdrKKCVj$ug}336kA{AX5ZGn#XeZF=VrLbxS37g389@+_LGAKejAjB+xd+F zw*7~vbL}31ZX!gPu#4AxmbLY-t%h{H47_NFlgjreF%S4+g(66Ma>)07rlW;o?2e~WAwb=fl=Hy_x6{r6&cT*g%kEcFI8ZSj0G}QL_~bA zU8uAhf3#%d$~Xtv>VnBJV+uiP^{@y`>@<@zJVP}~C*LsX71SG>*(xj*%YIENEcZ7H z-jb?Gs*oYbGW4z$a

RoleProject Role Managed by {isFetching ? : null}
RoleProject Role
gueaK$OrM$E}8Fm%TY|#@ga;rg@ppH-;+A{mySi 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 diff --git a/docs/integrations/cicd/octopus-deploy.mdx b/docs/integrations/cicd/octopus-deploy.mdx index 90f06e09a8..e5de57747c 100644 --- a/docs/integrations/cicd/octopus-deploy.mdx +++ b/docs/integrations/cicd/octopus-deploy.mdx @@ -50,6 +50,11 @@ Prerequisites: ![integrations octopus deploy add team](/images/integrations/octopus-deploy/integrations-octopus-deploy-create-team.png) + + If you need to sync only one space, assign the service account to that space. Otherwise, allow access to all spaces for multi-space syncs. + + + On the **Members** tab, click on the **Add Member** button, add your **Infisical Service Account** and click on the **Add** button. ![integrations octopus deploy add service account to team](/images/integrations/octopus-deploy/integrations-octopus-deploy-add-to-team.png) From f9fffad9aee9b62bceb19d55ffcf39a822e8e73a Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Tue, 25 Nov 2025 16:25:59 -0800 Subject: [PATCH 108/109] style: adjust nav bar badge breakpoints --- .../src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx | 2 +- .../ProjectLayout/components/ProjectSelect/ProjectSelect.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx index e28111efcb..e55bdfc094 100644 --- a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx @@ -327,7 +327,7 @@ export const Navbar = () => { {currentOrg?.name} - + Organization {subscription.cardDeclined && ( diff --git a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx index 6096102644..45325d22d5 100644 --- a/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx +++ b/frontend/src/layouts/ProjectLayout/components/ProjectSelect/ProjectSelect.tsx @@ -108,7 +108,7 @@ export const ProjectSelect = () => { > {currentWorkspace?.name} - + {currentWorkspace.type ? PROJECT_TYPE_NAME[currentWorkspace.type] : "Project"} From b607545c2f9d0cbc03946859eaedfdfa1fcceda0 Mon Sep 17 00:00:00 2001 From: Scott Wilson Date: Tue, 25 Nov 2025 17:48:08 -0800 Subject: [PATCH 109/109] style: switch to chevrons and move org badge inside button --- .../components/NavBar/Navbar.tsx | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx index e55bdfc094..e4b4755510 100644 --- a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx @@ -23,7 +23,7 @@ import { import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { useQuery, useQueryClient } from "@tanstack/react-query"; import { Link, useLocation, useNavigate, useRouter } from "@tanstack/react-router"; -import { UserPlusIcon } from "lucide-react"; +import { ChevronRight, UserPlusIcon } from "lucide-react"; import { twMerge } from "tailwind-merge"; import { Mfa } from "@app/components/auth/Mfa"; @@ -279,12 +279,12 @@ export const Navbar = () => { return (

-
+
infisical logo
-

/

+ {isServerAdminPanel ? ( { > {currentOrg?.name} + + Organization + - - Organization - {subscription.cardDeclined && ( { )} {isProjectScope && ( <> -

/

+ )}