Responses are generated using AI and may contain mistakes.
📘 The new DA Apps docs are here! Explore our updated content and improved layout. Looking for the previous version? You can still find the complete Legacy Utilities Docs here.
Ensure you are running the same splice version on your node as is run on the primary validator and other covalidating node(s), keeping up to date with the Canton Foundation schedule.
Before deploying the service, first a GitHub App must be created within your organization’s GitHub account in order to access the shared DAR repository.
Creating a GitHub App requires GitHub Organization Owner permissions.A single GitHub App can be reused for multiple Covalidation Service deployments within the same organization.
3. Exchange Details and Configure and Install Your Covalidation Service
Gather details from the Primary Validator and Covalidating operator on DAR repository, GitHub App installation ID and participant IDs so that each co-validator can be configured correctly.
Configure and Install the Covalidation Service Helm Chart
Party Topology Polling Change party topology polling default to 30s, and make it configurable through syncInterval configuration in helm chart.
Party Topology Acceptance Only auto-accept new party topology onboardings, but do not accept topology changes for existing parties.
Multi-platform Docker Image Support The produced image is now multi-platform and can run on either ARM or AMD Linux platforms.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"DA Apps","description":"A portfolio of Apps and APIs covering all your Digital Asset needs.","colors":{"primary":"#94BCE5","light":"#B5D9FD","dark":"#7493B3"},"logo":{"light":"https://mintcdn.com/digitalasset-374e862b/UGPxP43nUSghpL5l/images/Logo-Black-Blue.svg?fit=max\u0026auto=format\u0026n=UGPxP43nUSghpL5l\u0026q=85\u0026s=535635429a9a2915fd8c5e3acf6b4e5d","dark":"https://mintcdn.com/digitalasset-374e862b/UGPxP43nUSghpL5l/images/Logo-Light.svg?fit=max\u0026auto=format\u0026n=UGPxP43nUSghpL5l\u0026q=85\u0026s=cf2e3d6162476c82adb501ae2c80b8e2","href":"/"},"favicon":{"light":"https://mintcdn.com/digitalasset-374e862b/VmuAcWMRC3_OSsZu/images/1(2).png?fit=max\u0026auto=format\u0026n=VmuAcWMRC3_OSsZu\u0026q=85\u0026s=5dbbfe94a932fe06b0948c245783249d","dark":"https://mintcdn.com/digitalasset-374e862b/VmuAcWMRC3_OSsZu/images/2(1).png?fit=max\u0026auto=format\u0026n=VmuAcWMRC3_OSsZu\u0026q=85\u0026s=a14f8dab86b488f4406f8fb2660a9504"},"appearance":{"default":"system","strict":false},"background":{"decoration":"gradient","color":{"light":"#F3F3F3","dark":"#0E0E0E"}},"navbar":{"links":[{"href":"https://www.digitalasset.com/whatwedo","label":"What we do"},{"href":"https://www.digitalasset.com/about","label":"Company"},{"href":"https://blog.digitalasset.com/blog?_gl=1*1a757dj*_gcl_au*NDI2NDMxMTY5LjE3ODE3MjgyOTA.*_ga*MTA5NDE2ODMzMi4xNzgxNzI4Mjkw*_ga_GVK9ZHZSMR*czE3ODM0NTgyNTgkbzkkZzEkdDE3ODM0NTkyNjYkajYwJGwwJGgw*_ga_XTSQBXBPY3*czE3ODM0NTgyNTgkbzkkZzEkdDE3ODM0NTkyNjYkajYwJGwwJGgw","label":"Insights"}],"primary":{"type":"button","label":"Contact us","href":"https://www.digitalasset.com/contact-us"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/digitalassetcom","x":"https://x.com/digitalasset","youtube":"https://www.youtube.com/@digitalassetcom"},"links":[{"header":"Legal","items":[{"label":"Privacy Policy","href":"https://www.digitalasset.com/privacy-policy"},{"label":"Responsible Disclosure","href":"https://www.digitalasset.com/responsible-disclosure"},{"label":"Phishing Warning","href":"https://www.digitalasset.com/phishing-warning"}]},{"header":"Company","items":[{"label":"About Us","href":"https://www.digitalasset.com/about"},{"label":"Careers","href":"https://www.digitalasset.com/careers"},{"label":"Newsroom","href":"https://www.digitalasset.com/newsroom"},{"label":"Trust Center","href":"https://www.digitalasset.com/trust-center"},{"label":"Partners","href":"https://www.digitalasset.com/our-partners"}]},{"header":"Use cases","items":[{"label":"Asset Tokenization","href":"https://www.digitalasset.com/asset-tokenization"},{"label":"Collateral Mobility","href":"https://www.digitalasset.com/collateral-mobility"},{"label":"Onchain Payments","href":"https://www.digitalasset.com/onchainpayments"},{"label":"Wallets \u0026 Custody","href":"https://www.digitalasset.com/wallets-custody"}]},{"header":"Resources","items":[{"label":"Insights","href":"https://blog.digitalasset.com/blog?_gl=1*1tgw43n*_gcl_au*NDI2NDMxMTY5LjE3ODE3MjgyOTA.*_ga*MTA5NDE2ODMzMi4xNzgxNzI4Mjkw*_ga_GVK9ZHZSMR*czE3ODM6MTA3NTIkbzE0JGcxJHQxNzgzNjExMTc4JGoyOCRsMCRoMA..*_ga_XTSQBXBPY3*czE3ODM2MTA3NTIkbzE0JGcxJHQxNzgzNjExMTc4JGoyOCRsMCRoMA.."},{"label":"Media resources","href":"https://www.digitalasset.com/media-press"},{"label":"Support Portal","href":"https://digitalasset.atlassian.net/helpcenter/DASupport"}]}]},"fonts":{"family":"Instrument Sans","source":"fonts/instrument-sans-latin-500-normal.woff2","format":"woff2"},"icons":{"library":"fontawesome"},"integrations":{"gtm":{"tagId":"GTM-WTDTFZ7C"},"cookies":{}},"banner":{"content":"📘 **The new DA Apps docs are here!** Explore our updated content and improved layout. Looking for the previous version? You can still find the complete [Legacy Utilities Docs here](https://archived.docs.digitalasset.com/utilities/releases/index.html).","type":"warning","color":{"light":"#5E5E5E","dark":"#5E5E5E"}},"thumbnails":{"appearance":"dark","fonts":{"family":"Instrument Sans"}},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"digitalasset-374e862b","hasAudioNarration":false,"actualSubdomain":"digitalasset-374e862b","customDomains":["docs.digitalasset.com"],"gitSource":{"type":"github","owner":"digital-asset","repo":"apps","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aecb38970f8c443a5e80387","collectionId":"2c2b960a-d031-4c95-b4b8-4ec096674eb3","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aecb38970f8c443a5e80387"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aece3eb9f65dcd49618e239","clientVersion":"0.0.4071","searchFilterCounts":[{"language":"default","tag":"Registry","count":95},{"language":"default","tag":"APIs","count":47},{"language":"default","tag":"Docs","count":41},{"language":"default","tag":"Operator Backend API","count":24},{"language":"default","tag":"Open API Spec","count":23},{"language":"default","tag":"Token Standard API","count":21},{"language":"default","tag":"CIP 56 / CIP 112","count":21},{"language":"default","tag":"Off-ledger API","count":19},{"language":"default","tag":"public","count":19},{"language":"default","tag":"registry","count":18}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"covalidation/covalidator-onboarding","slug":"/covalidation/covalidator-onboarding","pageMetadata":{"title":"Covalidating Partner Onboarding","description":"The onboarding process consists of the following steps","href":"/covalidation/covalidator-onboarding"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"The onboarding process consists of the following steps\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,blockquote:`blockquote`,code:`code`,h5:`h5`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CodeBlock,Heading,Mermaid,Table,Tip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Mermaid,{chart:`flowchart TD\n A[Configure Your Validator Node]\n click A \"covalidator-onboarding#1-configure-your-validator-node\" \" \"\n B[Create GitHub App for Reading DAR Repository]\n click B \"covalidator-onboarding#2-create-github-app-for-reading-dar-repository\" \" \"\n C[Exchange Details and Configure and Install Your Covalidation Service]\n click C \"covalidator-onboarding#3-exchange-details-and-configure-and-install-your-covalidation-service\" \" \"\n\n A --> B\n B --> C`}),`\n`,_jsx(Heading,{level:`2`,id:`1-configure-your-validator-node`,children:`1. Configure your Validator Node`}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Ensure you are running the same splice version on your node as is run on the primary validator and other covalidating node(s), keeping up to date with the `,_jsx(_components.a,{href:`https://sv-cal.canton.foundation`,children:`Canton Foundation schedule`}),`.`]})}),`\n`,_jsxs(_components.p,{children:[`Create / configure the validator node which you will use as your covalidating node. If creating a new node, follow the `,_jsx(_components.a,{href:`https://docs.canton.network/global-synchronizer/deployment/onboarding-process`,children:`Canton Network Validator Onboarding Process`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`2-create-github-app-for-reading-dar-repository`,children:`2. Create GitHub App for Reading DAR Repository`}),`\n`,_jsx(_components.p,{children:`Before deploying the service, first a GitHub App must be created within your organization’s GitHub account in order to access the shared DAR repository.`}),`\n`,_jsxs(Tip,{children:[_jsx(_components.p,{children:`Creating a GitHub App requires GitHub Organization Owner permissions.`}),_jsx(_components.p,{children:`A single GitHub App can be reused for multiple Covalidation Service deployments within the same organization.`})]}),`\n`,_jsx(Mermaid,{chart:`flowchart TD\n\nA[Create GitHub App in your organization] --> B[Share Your GitHub App Details with Primary Validator]\nB --> C[Primary Validator installs GitHub App into Organization of DAR repository and Provides Installation ID]`}),`\n`,_jsx(_components.p,{children:`The GitHub App setup process entails:`}),`\n`,_jsx(Heading,{level:`3`,id:`create-a-github-app-in-your-organization`,children:`Create a GitHub App in your organization`}),`\n`,_jsx(_components.p,{children:`Navigate to:`}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Organization Settings → Developer Settings → GitHub Apps`})}),`\n`]}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsxs(_components.p,{children:[`Select `,_jsx(_components.strong,{children:`New GitHub App`}),`.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`4`,id:`configure-the-application`,children:`Configure the application`}),`\n`,_jsx(_components.p,{children:`Use the following settings.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Setting`}),_jsx(_components.th,{children:`Value`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Name`}),_jsx(_components.td,{children:_jsx(_components.code,{children:`\u003cCompany Name> Covalidation`})})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Description`}),_jsxs(_components.td,{children:[`A description such as `,_jsx(_components.code,{children:`Used by the Covalidation Service to synchronize DARs`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Homepage URL`}),_jsx(_components.td,{children:`Your organization’s website`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Expire user authorization tokens`}),_jsx(_components.td,{children:`Disabled`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Webhooks`}),_jsx(_components.td,{children:`Disabled`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`repository-permissions`,children:`Repository Permissions`}),`\n`,_jsx(_components.p,{children:`Configure the following permissions.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Permission`}),_jsx(_components.th,{children:`Access`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Contents`}),_jsx(_components.td,{children:`Read-only`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Webhooks`}),_jsx(_components.td,{children:`Read \u0026 Write`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`installation-scope`,children:`Installation Scope`}),`\n`,_jsx(_components.p,{children:`Select:`}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Any account`})}),`\n`]}),`\n`,_jsx(_components.p,{children:`Then create the application.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`4`,id:`record-required-information`,children:`Record Required Information`}),`\n`,_jsx(_components.p,{children:`After the application has been created, save the following values.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Item`}),_jsx(_components.th,{children:`Required For`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Public Link`}),_jsx(_components.td,{children:`Primary validator GitHub App`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`App ID`}),_jsx(_components.td,{children:`Helm configuration`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Private Key`}),_jsx(_components.td,{children:`Kubernetes Secret`})]})]})]}),`\n`,_jsx(Heading,{level:`4`,id:`generate-private-key`,children:`Generate Private Key`}),`\n`,_jsxs(_components.p,{children:[`Generate a `,_jsx(_components.strong,{children:`Private Key`}),` and store it as a Kubernetes Secret in the namespace where the chart will be installed.`]}),`\n`,_jsx(_components.p,{children:`Example:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`kubectl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` create`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` secret`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` generic`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` github-app-private-key`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --from-file=private-key.pem`})}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`share-your-github-app-details-with-primary-validator`,children:`Share Your GitHub App Details with Primary Validator`}),`\n`,_jsx(_components.p,{children:`After creating the GitHub App:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Send the `,_jsx(_components.strong,{children:`Public Link`}),` to the primary validator.`]}),`\n`,_jsx(_components.li,{children:`Ask them to install the application into the DAR repository.`}),`\n`,_jsxs(_components.li,{children:[`Request the `,_jsx(_components.strong,{children:`Installation ID`}),` from the primary validator.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`primary-validator-installs-github-app-into-organization-of-dar-repository-and-provides-installation-id`,children:`Primary Validator installs GitHub App into Organization of DAR repository and Provides Installation ID`}),`\n`,_jsxs(_components.p,{children:[`Once installed, the primary validator will provide you the `,_jsx(_components.strong,{children:`Installation ID`}),`, which is required when configuring the Helm chart.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`3-exchange-details-and-configure-and-install-your-covalidation-service`,children:`3. Exchange Details and Configure and Install Your Covalidation Service`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Gather details from the Primary Validator and Covalidating operator on DAR repository, GitHub App installation ID and participant IDs so that each co-validator can be configured correctly.`}),`\n`,_jsx(_components.li,{children:`Configure and Install the Covalidation Service Helm Chart`}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`install-the-covalidation-service-helm-chart`,children:`Install the Covalidation Service Helm Chart`}),`\n`,_jsx(Heading,{level:`4`,id:`setup`,children:`Setup`}),`\n`,_jsx(_components.p,{children:`Before installing Covalidation Service, ensure you have:`}),`\n`,_jsx(Card,{title:`Prerequisites`,children:_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Access to your GitHub organization`}),`\n`,_jsx(_components.li,{children:`A primary validator willing to share DARs`}),`\n`,_jsx(_components.li,{children:`A Kubernetes cluster`}),`\n`,_jsx(_components.li,{children:`A Kubernetes namespace for the deployment`}),`\n`,_jsx(_components.li,{children:`Helm 3.x (> 3.17.0)`}),`\n`,_jsx(_components.li,{children:`Kubernetes Secrets containing:`}),`\n`,_jsx(_components.li,{children:`GitHub App private key`}),`\n`,_jsx(_components.li,{children:`Participant OIDC client secret`}),`\n`]})}),`\n`,_jsx(_components.p,{children:`Deploy the service using Helm.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`helm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` upgrade`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --install`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` covalidation-service`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` some-namespace`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -f`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` values.yaml`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` oci://europe-docker.pkg.dev/da-images/public/charts/covalidation-service:latest`})}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`4`,id:`configuration`,children:`Configuration`}),`\n`,_jsx(_components.p,{children:`A minimal configuration looks like the following.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`69`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`69`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`covalidator`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` dars`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` github`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` appID`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cGitHub App ID>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` installID`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cGitHub Installation ID>`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` privateKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` secretKeyRef`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`github-app-private-key`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`private-key.pem`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` repo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` owner`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cPrimary validator GitHub organization>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` repo`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cDAR repository>`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Optional: The branch and directory containing the dars`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:\" # branch: \u003c`main` by default>\"})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # dir: \u003cpath/to/some/dir>`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` participant`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` id`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cParticipant ID>`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` oidc`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` oauthDomain`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cOIDC issuer URL (e.g., https://issuer.example.com)>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` clientID`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cClient ID>`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` clientSecret`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` secretKeyRef`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`participant-oidc-secret`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`client-secret`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Optional: audience`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # audience: \u003cYour validator audience>`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Optional: scopes`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # scopes:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # - \u003csome scope>`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` endpoints`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` ledgerApi`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`participant.namespace:5001`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` adminApi`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`participant.namespace:5002`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` replication`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` participants`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` primary`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cPrimary participant ID>`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # List other covalidator confirmation nodes (if any)`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` covalidators`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cOther covalidator's participant ID>`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # List observation nodes (if any) -`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Available from version 0.9.0+`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` observers`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` - `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cOther observer's participant ID>`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` monitoring`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` otel`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` endpointURL`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\u003cOTEL Monitoring URL>`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # OPTIONAL: sync interval`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # syncInterval:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # # Optional: frequency with which party topology events are synchronized`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # partyTopologyPolling: 30s`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` #`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # # Optional: frequency with which package upload and vetting are synchronized`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # packagePolling: 5m`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # OPTIONAL: log level`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # log:`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # format: auto`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # level: debug`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`4`,id:`configuration-reference`,children:`Configuration Reference`}),`\n`,_jsx(_components.h5,{children:`GitHub`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`appID`})}),_jsx(_components.td,{children:`GitHub App ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`installID`})}),_jsx(_components.td,{children:`Installation ID provided by the primary validator`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`privateKey.secretKeyRef`})}),_jsx(_components.td,{children:`Kubernetes Secret containing the GitHub App private key`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.h5,{children:`DAR Repository`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`owner`})}),_jsx(_components.td,{children:`GitHub organization containing the DAR repository`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`repo`})}),_jsx(_components.td,{children:`Repository name`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`branch`})}),_jsxs(_components.td,{children:[`Optional branch (defaults to `,_jsx(_components.code,{children:`main`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`dir`})}),_jsx(_components.td,{children:`Optional directory containing DAR files`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.h5,{children:`Participant`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`id`})}),_jsx(_components.td,{children:`Participant identifier`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`oauthDomain`})}),_jsx(_components.td,{children:`OIDC issuer URI`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`audience`})}),_jsx(_components.td,{children:`OIDC audience`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`scopes`})}),_jsx(_components.td,{children:`OIDC scopes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`clientID`})}),_jsx(_components.td,{children:`OIDC client ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`clientSecret`})}),_jsx(_components.td,{children:`Kubernetes Secret containing the OIDC client secret`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ledgerApi`})}),_jsx(_components.td,{children:`Ledger API endpoint`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`adminApi`})}),_jsx(_components.td,{children:`Admin API endpoint`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.h5,{children:`Replication`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`primary`})}),_jsx(_components.td,{children:`Primary validator participant ID`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`covalidators`})}),_jsx(_components.td,{children:`Additional covalidator participant IDs`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`observers`})}),_jsx(_components.td,{children:`Additional observer participant IDs (available from version 0.9.0+)`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.h5,{children:`Monitoring`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsx(_components.tbody,{children:_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`endpointURL`})}),_jsx(_components.td,{children:`OTEL monitoring URL and port`})]})})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.h5,{children:`Log`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`format`})}),_jsx(_components.td,{children:`Format of the logger (text, json, auto)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`level`})}),_jsx(_components.td,{children:`Level of logger (debug, info, warning, error)`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.h5,{children:`Sync Interval`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`partyTopologyPolling`})}),_jsx(_components.td,{children:`Interval for party topology sync`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`packagePolling`})}),_jsx(_components.td,{children:`Interval for package upload and vetting sync`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(_components.h5,{children:`Kubernetes Secrets`}),`\n`,_jsx(_components.p,{children:`The chart expects existing Kubernetes Secrets.`}),`\n`,_jsx(_components.h5,{children:`GitHub Private Key`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`privateKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` secretKeyRef`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`github-app-private-key`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`private-key.pem`})]}),`\n`]})})}),`\n`,_jsx(_components.h5,{children:`Participant Client Secret`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`yaml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`yaml`,children:_jsxs(_components.code,{language:`yaml`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:`clientSecret`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` secretKeyRef`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`:`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` name`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`participant-oidc-secret`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#569CD6`},children:` key`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`client-secret`})]}),`\n`]})})}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`4`,id:`deployment-flow`,children:`Deployment Flow`}),`\n`,_jsx(Mermaid,{chart:`sequenceDiagram\n\nparticipant GH as GitHub\nparticipant Repo as DAR Repository\nparticipant Service as Covalidation Service\nparticipant Participant\n\nService->>GH: Authenticate using GitHub App\nGH-->>Service: Installation Token\nService->>Repo: Read DARs\nRepo-->>Service: DAR Files\nService->>Participant: Upload DARs\nParticipant-->>Service: Confirmation`}),`\n`,_jsx(Heading,{level:`4`,id:`uninstall`,children:`Uninstall`}),`\n`,_jsx(_components.p,{children:`Remove the deployment with Helm.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`helm`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` uninstall`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` covalidation-service`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -n`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` some-namespace`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`This removes the Kubernetes resources created by the chart but does not delete Kubernetes Secrets or the GitHub App.`}),`\n`,_jsx(Heading,{level:`4`,id:`release-notes`,children:`Release Notes`}),`\n`,_jsx(_components.p,{children:`Notable changes to the Helm chart are documented below.`}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`2026-08-13`,children:`2026-08-13`}),`\n`,_jsx(Heading,{level:`3`,id:`0-8-1`,children:`0.8.1`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Party Topology Polling`}),` Change party topology polling default to 30s, and make it configurable through `,_jsx(_components.code,{children:`syncInterval`}),` configuration in helm chart.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Party Topology Acceptance`}),` Only auto-accept new party topology onboardings, but do not accept topology changes for existing parties.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Multi-platform Docker Image Support`}),` The produced image is now multi-platform and can run on either ARM or AMD Linux platforms.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Covalidating Partner Onboarding","description":"The onboarding process consists of the following steps","href":"/covalidation/covalidator-onboarding"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"1. Configure your Validator Node","slug":"1-configure-your-validator-node","depth":2,"children":[]},{"title":"2. Create GitHub App for Reading DAR Repository","slug":"2-create-github-app-for-reading-dar-repository","depth":2,"children":[{"title":"Create a GitHub App in your organization","slug":"create-a-github-app-in-your-organization","depth":3,"children":[]},{"title":"Configure the application","slug":"configure-the-application","depth":4,"children":[]},{"title":"Repository Permissions","slug":"repository-permissions","depth":4,"children":[]},{"title":"Installation Scope","slug":"installation-scope","depth":4,"children":[]},{"title":"Record Required Information","slug":"record-required-information","depth":4,"children":[]},{"title":"Generate Private Key","slug":"generate-private-key","depth":4,"children":[]},{"title":"Share Your GitHub App Details with Primary Validator","slug":"share-your-github-app-details-with-primary-validator","depth":3,"children":[]},{"title":"Primary Validator installs GitHub App into Organization of DAR repository and Provides Installation ID","slug":"primary-validator-installs-github-app-into-organization-of-dar-repository-and-provides-installation-id","depth":3,"children":[]}]},{"title":"3. Exchange Details and Configure and Install Your Covalidation Service","slug":"3-exchange-details-and-configure-and-install-your-covalidation-service","depth":2,"children":[{"title":"Install the Covalidation Service Helm Chart","slug":"install-the-covalidation-service-helm-chart","depth":3,"children":[]},{"title":"Setup","slug":"setup","depth":4,"children":[]},{"title":"Configuration","slug":"configuration","depth":4,"children":[]},{"title":"Configuration Reference","slug":"configuration-reference","depth":4,"children":[]},{"title":"Deployment Flow","slug":"deployment-flow","depth":4,"children":[]},{"title":"Uninstall","slug":"uninstall","depth":4,"children":[]},{"title":"Release Notes","slug":"release-notes","depth":4,"children":[]}]},{"title":"2026-08-13","slug":"2026-08-13","depth":2,"children":[{"title":"0.8.1","slug":"0-8-1","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/digitalasset-374e862b/e310d89387b55c9f/osano.js"],"subdomain":"digitalasset-374e862b","siteName":"DA Apps","title":"Covalidating Partner Onboarding - DA Apps","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T19:36:03.446Z","originalFileLocation":"covalidation/covalidator-onboarding.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"The onboarding process consists of the following steps\">\u003cmeta data-mint-head name=\"application-name\" content=\"DA Apps\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/digitalasset-374e862b/1flLRTfPRn7etdiK/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/digitalasset-374e862b/1flLRTfPRn7etdiK/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/digitalasset-374e862b/1flLRTfPRn7etdiK/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/digitalasset-374e862b/1flLRTfPRn7etdiK/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/digitalasset-374e862b/1flLRTfPRn7etdiK/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/digitalasset-374e862b/1flLRTfPRn7etdiK/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/digitalasset-374e862b/1flLRTfPRn7etdiK/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/digitalasset-374e862b/1flLRTfPRn7etdiK/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/digitalasset-374e862b/1flLRTfPRn7etdiK/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Covalidating Partner Onboarding - DA Apps\">\u003cmeta data-mint-head property=\"og:description\" content=\"The onboarding process consists of the following steps\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"DA Apps\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.digitalasset.com/covalidation/covalidator-onboarding\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://digitalasset-374e862b.mintlify.app/_mintlify/api/og/v2?division=Covalidation+Service\u0026amp;title=Covalidating+Partner+Onboarding\u0026amp;description=The+onboarding+process+consists+of+the+following+steps\u0026amp;theme=62f926358252b1ca480ef7c9\u0026amp;signature=1782253cb1833eb4476f4eaf55e8173aebeb1fc63e1a2d26f13212170507581d\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Covalidating Partner Onboarding - DA Apps\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"The onboarding process consists of the following steps\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://digitalasset-374e862b.mintlify.app/_mintlify/api/og/v2?division=Covalidation+Service\u0026amp;title=Covalidating+Partner+Onboarding\u0026amp;description=The+onboarding+process+consists+of+the+following+steps\u0026amp;theme=62f926358252b1ca480ef7c9\u0026amp;signature=1782253cb1833eb4476f4eaf55e8173aebeb1fc63e1a2d26f13212170507581d\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/digitalasset-374e862b/1flLRTfPRn7etdiK/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"DA Apps\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#94BCE5\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.digitalasset.com/covalidation/covalidator-onboarding\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/covalidation/covalidator-onboarding.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.digitalasset.com/#organization\",\"name\":\"DA Apps\",\"url\":\"https://docs.digitalasset.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/digitalasset-374e862b/UGPxP43nUSghpL5l/images/Logo-Black-Blue.svg?fit=max\u0026auto=format\u0026n=UGPxP43nUSghpL5l\u0026q=85\u0026s=535635429a9a2915fd8c5e3acf6b4e5d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.digitalasset.com#website\",\"name\":\"DA Apps\",\"url\":\"https://docs.digitalasset.com\",\"publisher\":{\"@id\":\"https://docs.digitalasset.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.digitalasset.com/covalidation/covalidator-onboarding#webpage\",\"url\":\"https://docs.digitalasset.com/covalidation/covalidator-onboarding\",\"name\":\"Covalidating Partner Onboarding\",\"description\":\"The onboarding process consists of the following steps\",\"dateModified\":\"2026-10-21T19:36:03.446Z\",\"isPartOf\":{\"@id\":\"https://docs.digitalasset.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.digitalasset.com/covalidation/covalidator-onboarding#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.digitalasset.com/covalidation/covalidator-onboarding#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Covalidation Service\",\"item\":\"https://docs.digitalasset.com/covalidation/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Covalidating Partner Onboarding\",\"item\":\"https://docs.digitalasset.com/covalidation/covalidator-onboarding\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.digitalasset.com/covalidation/covalidator-onboarding#article\",\"headline\":\"Covalidating Partner Onboarding\",\"name\":\"Covalidating Partner Onboarding\",\"description\":\"The onboarding process consists of the following steps\",\"url\":\"https://docs.digitalasset.com/covalidation/covalidator-onboarding\",\"mainEntityOfPage\":{\"@id\":\"https://docs.digitalasset.com/covalidation/covalidator-onboarding#webpage\"},\"dateModified\":\"2026-10-21T19:36:03.446Z\",\"publisher\":{\"@id\":\"https://docs.digitalasset.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.digitalasset.com#website\"}}]}\u003c/script>","siteName":"DA Apps","nav":{"global":null,"products":[{"product":"Registry","pages":[{"title":"Registry","href":"/registry/overview"}]},{"product":"USDCx xReserve","pages":[{"title":"USDCx xReserve","href":"/usdcx-xreserve/overview"}]},{"product":"Covalidation Service","pages":[{"group":"Covalidation Service","pages":[{"title":"Overview","href":"/covalidation/overview"},{"title":"Primary Validator Onboarding","description":"Instructions for Onboarding the Primary Validator that makes use of the Covalidation Service.","href":"/covalidation/primary-onboarding"},{"title":"Covalidating Partner Onboarding","href":"/covalidation/covalidator-onboarding"},{"title":"Monitoring","description":"Monitoring and Alerting Best Practices","href":"/covalidation/monitoring"},{"title":"Troubleshooting FAQ and Operational Runbook","href":"/covalidation/troubleshooting"}]}]},{"product":"Legacy Docs","hidden":true,"pages":[{"title":"Legacy Docs","href":"/legacy-docs/legacy-docs/overview"}]}]},"basePath":"","title":"Covalidating Partner Onboarding - DA Apps","buildId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","deploymentId":"dpl_GZsjphRpnhWkstV12jxWNcMHFyox","dynamics":["10e4515597"],"chunks":["BannerMarkdown-B2eHeXx_.js","dist-Dt1IougW.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-DptzKFCt.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}