From 257970154749c1da112c06d5a7fdc95cd0c19df0 Mon Sep 17 00:00:00 2001 From: Priyank Gupta Date: Wed, 28 Oct 2026 20:06:18 +0530 Subject: [PATCH] chore: Added new disclaimer to CCV tutorial pages, as requested --- src/content/ccip/llms-full.txt | 221 ++++++++++++++++++ .../evm/deploy-your-first-cell.mdx | 3 + .../ccv-starter-kit/evm/test-your-setup.mdx | 3 + .../how-to/add-a-custom-policy-hook.mdx | 3 + .../how-to/choose-a-secret-backend.mdx | 3 + .../how-to/expose-the-aggregator.mdx | 3 + .../how-to/scale-to-a-committee.mdx | 4 + .../how-to/signer-key-custody-and-kms.mdx | 3 + src/content/ccip/v2/ccv-starter-kit/index.mdx | 2 + .../logging-and-monitoring.mdx | 4 + .../onboard-to-the-indexer.mdx | 3 + .../ccip/v2/ccv-starter-kit/operate-day-2.mdx | 4 + .../ccip/v2/ccv-starter-kit/prerequisites.mdx | 3 + .../ccip/v2/ccv-starter-kit/reference.mdx | 3 + src/features/ccip/CcipCommon.astro | 3 + src/features/ccip/CcvStarterKitDisclaimer.mdx | 18 ++ 16 files changed, 283 insertions(+) create mode 100644 src/features/ccip/CcvStarterKitDisclaimer.mdx diff --git a/src/content/ccip/llms-full.txt b/src/content/ccip/llms-full.txt index 9924c1fc588..ce8197ae29c 100644 --- a/src/content/ccip/llms-full.txt +++ b/src/content/ccip/llms-full.txt @@ -83104,6 +83104,23 @@ Checkpoint: a blocked-address send logs the reason string and never executes. Your cell (the verifier and aggregator) is deployed, the aggregator is exposed, and the signer is registered on chain. Prove it end to end in [Test your setup](/ccip/ccv-starter-kit/evm/test-your-setup). +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Test your setup @@ -83182,6 +83199,23 @@ curl -s https://api.ccip.chain.link/v2/messages/ | jq -r '.status' Checkpoint: the message reached the destination. The cell is ready for onboarding. +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Add a custom policy hook @@ -83259,6 +83293,23 @@ returning a 5xx: both count as a failed call against the 7-day retry window, not Put a short case reference in `reason`, never customer data. The verifier logs and archives it (truncated at 256 characters) and never signs it. +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Choose a secret backend @@ -83368,6 +83419,23 @@ has every field. > `secrets.toml` you mount. See [Signer key custody and > KMS](/ccip/ccv-starter-kit/how-to/signer-key-custody-and-kms). +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Expose the aggregator @@ -83436,6 +83504,23 @@ aggregator's readiness endpoint instead, `/health/ready` on port 8080: > The load balancer is still probing the default `GET /` against the gRPC port and marking the backend unhealthy. > Applying the `HealthCheckPolicy` clears it. +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Scale to a committee @@ -83478,6 +83563,23 @@ malicious provider shows both of them the same wrong chain state, and they can s multiple independent providers per chain with failover, and do not share a provider across cells. See the [RPC requirements](/resources/network-integration#standardized-rpcs-with-slas). +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Signer key custody and KMS @@ -83565,6 +83667,23 @@ holds a long-lived credential. [permissions reference](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) and [key policies](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html). +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # CCV Starter Kit @@ -83674,6 +83793,23 @@ The kit adds two operator capabilities on top of the core cell: - [Operate: day 2](/ccip/ccv-starter-kit/operate-day-2): On-chain and off-chain day-2 operations for both kits, plus troubleshooting. - [Reference](/ccip/ccv-starter-kit/reference): Links to both kits' books, the chart values, and the concept pages. +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Logging and monitoring @@ -83727,6 +83863,23 @@ In steady state with `finality_depth: 0`, the verifier waits for each source mes before it attests, and logs `Healthy` while it waits. A log showing only `Healthy` is a verifier waiting for finality, not a stuck one. +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Onboard to the CCIP indexer @@ -83777,6 +83930,23 @@ your aggregators stay unreachable past that window, it stops and the default exe The attestations are still in your aggregators, so recover those messages the same way you tested: execute them yourself. +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Operate: day 2 @@ -83876,6 +84046,23 @@ The rows are ordered by where they surface, from deploy through onboarding. | `Dropping task - policy hook returned FAIL` in the log | Your endpoint rejected the message | [Add a custom policy hook](/ccip/ccv-starter-kit/how-to/add-a-custom-policy-hook) | | Onboarded, but a message was never executed | All aggregators unreachable for over an hour | [Onboard to the CCIP indexer](/ccip/ccv-starter-kit/onboard-to-the-indexer#after-onboarding) | +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Prerequisites @@ -83939,6 +84126,23 @@ The off-chain kit ships a `local/` folder for experimentation only: a docker-com Docker and docker-compose are available. Use it to try the cell out, not to run it for real. Production is bring-your-own for every dependency above. +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Reference @@ -84003,6 +84207,23 @@ GitHub. The chart sets a default image tag; override it in your chart values to Questions, or want to run a CCV? Email clusersupport\@smartcontract.com. +> **CAUTION: Disclaimer** +> +> Support and maintenance of this CCV Starter Kit does not guarantee the security, availability, or operation of any +> deployment, which may vary depending on its configuration. The code in the CCV Starter Kit, including examples, +> templates, and starter kit components (the “Codebase”), and any code examples or deployment instructions in this +> documentation are provided “AS IS” and “AS AVAILABLE”, may not have been audited, and may omit checks, validations or +> error handling. You are solely responsible for reviewing, testing, auditing and securing any implementation before +> deploying it in a production environment. The security, availability, and operation of any deployment of the Codebase +> varies depending on its configuration. You should not rely on the Codebase or this documentation for production use +> without first conducting your own technical, engineering, and security review. Please review the Chainlink Foundation +> Terms of Service, which provide important information and disclosures. By accessing or using the CCV Starter Kit or +> this documentation, including when using the CCV Starter Kit to deploy or operate a CCV, you acknowledge and agree +> that your access to and use of the CCV Starter Kit and documentation is subject to the [Chainlink Foundation Terms of +> Service](https://chain.link/terms) (the “Terms of Service”), as amended from time to time. Nothing in this notice +> limits the permissions granted under the applicable software license for any code included in the CCV Starter Kit or +> this documentation. + --- # Message Configuration (ExtraArgs) diff --git a/src/content/ccip/v2/ccv-starter-kit/evm/deploy-your-first-cell.mdx b/src/content/ccip/v2/ccv-starter-kit/evm/deploy-your-first-cell.mdx index d5379fe2efc..d5d1ba1d47c 100644 --- a/src/content/ccip/v2/ccv-starter-kit/evm/deploy-your-first-cell.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/evm/deploy-your-first-cell.mdx @@ -14,6 +14,7 @@ whatsnext: --- import { Aside } from "@components" +import CcipCommon from "@features/ccip/CcipCommon.astro" This page stands up an EVM CCV in order, using the project's two starter kits: the [on-chain contracts kit](https://github.com/smartcontractkit/chainlink-ccv-starter-kit-contracts) for the @@ -165,3 +166,5 @@ Checkpoint: a blocked-address send logs the reason string and never executes. Your cell (the verifier and aggregator) is deployed, the aggregator is exposed, and the signer is registered on chain. Prove it end to end in [Test your setup](/ccip/ccv-starter-kit/evm/test-your-setup). + + diff --git a/src/content/ccip/v2/ccv-starter-kit/evm/test-your-setup.mdx b/src/content/ccip/v2/ccv-starter-kit/evm/test-your-setup.mdx index 14de8c3223b..331874ee40b 100644 --- a/src/content/ccip/v2/ccv-starter-kit/evm/test-your-setup.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/evm/test-your-setup.mdx @@ -13,6 +13,7 @@ whatsnext: --- import { Aside } from "@components" +import CcipCommon from "@features/ccip/CcipCommon.astro" Your cell (the verifier and aggregator) is not onboarded yet, so the default executor cannot fetch your attestation and a message sits at `UNTOUCHED`. Prove the verifier and aggregator work by sending a message that @@ -91,3 +92,5 @@ curl -s https://api.ccip.chain.link/v2/messages/ | jq -r '.status' Checkpoint: the message reached the destination. The cell is ready for onboarding. + + diff --git a/src/content/ccip/v2/ccv-starter-kit/how-to/add-a-custom-policy-hook.mdx b/src/content/ccip/v2/ccv-starter-kit/how-to/add-a-custom-policy-hook.mdx index b4572be9573..563822f4a3a 100644 --- a/src/content/ccip/v2/ccv-starter-kit/how-to/add-a-custom-policy-hook.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/how-to/add-a-custom-policy-hook.mdx @@ -13,6 +13,7 @@ whatsnext: --- import { Aside } from "@components" +import CcipCommon from "@features/ccip/CcipCommon.astro" The policy hook is how you apply your own verification logic to every message your CCV signs: your compliance, AML, sanctions, or risk screening. It is an HTTPS endpoint that you build and run; the verifier calls it with @@ -84,3 +85,5 @@ returning a 5xx: both count as a failed call against the 7-day retry window, not Put a short case reference in `reason`, never customer data. The verifier logs and archives it (truncated at 256 characters) and never signs it. + + diff --git a/src/content/ccip/v2/ccv-starter-kit/how-to/choose-a-secret-backend.mdx b/src/content/ccip/v2/ccv-starter-kit/how-to/choose-a-secret-backend.mdx index 32c8296e06e..1f45e5fcf1b 100644 --- a/src/content/ccip/v2/ccv-starter-kit/how-to/choose-a-secret-backend.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/how-to/choose-a-secret-backend.mdx @@ -13,6 +13,7 @@ whatsnext: --- import { Aside } from "@components" +import CcipCommon from "@features/ccip/CcipCommon.astro" A CCV cell is one aggregator plus one verifier. Both read their credentials from secrets you provide when you install the chart. This page explains what those secrets contain, which backends the chart supports for @@ -122,3 +123,5 @@ has every field. + + diff --git a/src/content/ccip/v2/ccv-starter-kit/how-to/expose-the-aggregator.mdx b/src/content/ccip/v2/ccv-starter-kit/how-to/expose-the-aggregator.mdx index 98f1b86fdea..a9ee0dd9621 100644 --- a/src/content/ccip/v2/ccv-starter-kit/how-to/expose-the-aggregator.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/how-to/expose-the-aggregator.mdx @@ -13,6 +13,7 @@ whatsnext: --- import { Aside } from "@components" +import CcipCommon from "@features/ccip/CcipCommon.astro" The aggregator is the only component you expose to the internet; the verifier and everything else in the cell stay private. It serves gRPC, which runs over HTTP/2, so the connection must stay HTTP/2 from the internet all @@ -75,3 +76,5 @@ aggregator's readiness endpoint instead, `/health/ready` on port 8080: The load balancer is still probing the default `GET /` against the gRPC port and marking the backend unhealthy. Applying the `HealthCheckPolicy` clears it. + + diff --git a/src/content/ccip/v2/ccv-starter-kit/how-to/scale-to-a-committee.mdx b/src/content/ccip/v2/ccv-starter-kit/how-to/scale-to-a-committee.mdx index dc6d00dc3e2..e59f2e8b11b 100644 --- a/src/content/ccip/v2/ccv-starter-kit/how-to/scale-to-a-committee.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/how-to/scale-to-a-committee.mdx @@ -12,6 +12,8 @@ whatsnext: "Reference": "/ccip/ccv-starter-kit/reference" --- +import CcipCommon from "@features/ccip/CcipCommon.astro" + A single cell is for learning. In production you run a committee of cells, each fully independent (its own Postgres, secrets, and key custody, never shared), so that no single failure or compromise takes the committee down. The off-chain kit's @@ -47,3 +49,5 @@ Each cell needs its own RPC providers. If two cells read a chain through the sam malicious provider shows both of them the same wrong chain state, and they can sign the same bad message. Use multiple independent providers per chain with failover, and do not share a provider across cells. See the [RPC requirements](/resources/network-integration#standardized-rpcs-with-slas). + + diff --git a/src/content/ccip/v2/ccv-starter-kit/how-to/signer-key-custody-and-kms.mdx b/src/content/ccip/v2/ccv-starter-kit/how-to/signer-key-custody-and-kms.mdx index ed107cbcbc3..c4c90025dc1 100644 --- a/src/content/ccip/v2/ccv-starter-kit/how-to/signer-key-custody-and-kms.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/how-to/signer-key-custody-and-kms.mdx @@ -13,6 +13,7 @@ whatsnext: --- import { Aside } from "@components" +import CcipCommon from "@features/ccip/CcipCommon.astro" The verifier signs message hashes with one key. You choose where that key lives with `keystoreBackend`: @@ -94,3 +95,5 @@ holds a long-lived credential. `kms:GetPublicKey`. See the AWS KMS [permissions reference](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) and [key policies](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html). + + diff --git a/src/content/ccip/v2/ccv-starter-kit/index.mdx b/src/content/ccip/v2/ccv-starter-kit/index.mdx index 0caedb3aeaf..a6b2fb2d3e4 100644 --- a/src/content/ccip/v2/ccv-starter-kit/index.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/index.mdx @@ -159,3 +159,5 @@ The kit adds two operator capabilities on top of the core cell: Links to both kits' books, the chart values, and the concept pages. + + diff --git a/src/content/ccip/v2/ccv-starter-kit/logging-and-monitoring.mdx b/src/content/ccip/v2/ccv-starter-kit/logging-and-monitoring.mdx index 34afe967885..f7713adc84f 100644 --- a/src/content/ccip/v2/ccv-starter-kit/logging-and-monitoring.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/logging-and-monitoring.mdx @@ -13,6 +13,8 @@ whatsnext: "Reference": "/ccip/ccv-starter-kit/reference" --- +import CcipCommon from "@features/ccip/CcipCommon.astro" + The verifier and aggregator export metrics and write logs. This page covers how to collect those metrics, what to watch, and how to read the verifier's startup logs. The [policy hook](/ccip/ccv-starter-kit/how-to/add-a-custom-policy-hook) is a service you run, so collect its logs @@ -59,3 +61,5 @@ a real fault, and check first that the aggregator is running and listening on `: In steady state with `finality_depth: 0`, the verifier waits for each source message to reach chain finality before it attests, and logs `Healthy` while it waits. A log showing only `Healthy` is a verifier waiting for finality, not a stuck one. + + diff --git a/src/content/ccip/v2/ccv-starter-kit/onboard-to-the-indexer.mdx b/src/content/ccip/v2/ccv-starter-kit/onboard-to-the-indexer.mdx index 6162678948a..3deb6669eda 100644 --- a/src/content/ccip/v2/ccv-starter-kit/onboard-to-the-indexer.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/onboard-to-the-indexer.mdx @@ -13,6 +13,7 @@ whatsnext: --- import { CopyText } from "@components" +import CcipCommon from "@features/ccip/CcipCommon.astro" Onboarding registers your committee's aggregator endpoints with the CCIP indexer. Once you are onboarded, the indexer reads your attestations and the default executor runs your messages automatically. It is optional, @@ -57,3 +58,5 @@ your verifier entry instead of `UNKNOWN`. Keep your aggregators reachable: the i your aggregators stay unreachable past that window, it stops and the default executor never runs those messages. The attestations are still in your aggregators, so recover those messages the same way you tested: execute them yourself. + + diff --git a/src/content/ccip/v2/ccv-starter-kit/operate-day-2.mdx b/src/content/ccip/v2/ccv-starter-kit/operate-day-2.mdx index 40db7b08766..1c34632b12f 100644 --- a/src/content/ccip/v2/ccv-starter-kit/operate-day-2.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/operate-day-2.mdx @@ -11,6 +11,8 @@ whatsnext: "Reference": "/ccip/ccv-starter-kit/reference" --- +import CcipCommon from "@features/ccip/CcipCommon.astro" + Day-2 work splits in two: on-chain changes to your verifier contracts, run through the on-chain kit's `make` targets, and off-chain operations on the running cells (your Helm releases). This page maps what those operations are and where each is documented; the kits carry the exact commands. @@ -103,3 +105,5 @@ The rows are ordered by where they surface, from deploy through onboarding. | `policy_unavailable` rising, messages not signed | Policy-hook endpoint down or timing out | [Logging and monitoring](/ccip/ccv-starter-kit/logging-and-monitoring) | | `Dropping task - policy hook returned FAIL` in the log | Your endpoint rejected the message | [Add a custom policy hook](/ccip/ccv-starter-kit/how-to/add-a-custom-policy-hook) | | Onboarded, but a message was never executed | All aggregators unreachable for over an hour | [Onboard to the CCIP indexer](/ccip/ccv-starter-kit/onboard-to-the-indexer#after-onboarding) | + + diff --git a/src/content/ccip/v2/ccv-starter-kit/prerequisites.mdx b/src/content/ccip/v2/ccv-starter-kit/prerequisites.mdx index 27011731452..3e6410715f8 100644 --- a/src/content/ccip/v2/ccv-starter-kit/prerequisites.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/prerequisites.mdx @@ -13,6 +13,7 @@ whatsnext: --- import ToolsUtilitiesGrid from "@components/ToolsUtilitiesGrid/ToolsUtilitiesGrid.astro" +import CcipCommon from "@features/ccip/CcipCommon.astro" The CCV Starter Kit is a brownfield kit: it deploys into a Kubernetes cluster and stateful services you already run, rather than provisioning new infrastructure. You bring the cluster, the database, the secret store, and @@ -172,3 +173,5 @@ providers, no rate limits, and the performance SLAs. Cells in a committee must n The off-chain kit ships a `local/` folder for experimentation only: a docker-compose stack you can run anywhere Docker and docker-compose are available. Use it to try the cell out, not to run it for real. Production is bring-your-own for every dependency above. + + diff --git a/src/content/ccip/v2/ccv-starter-kit/reference.mdx b/src/content/ccip/v2/ccv-starter-kit/reference.mdx index 4a52ba4dbe5..124a1fd0ad8 100644 --- a/src/content/ccip/v2/ccv-starter-kit/reference.mdx +++ b/src/content/ccip/v2/ccv-starter-kit/reference.mdx @@ -13,6 +13,7 @@ whatsnext: --- import { CopyText, DocCards, DocCard } from "@components" +import CcipCommon from "@features/ccip/CcipCommon.astro" The two kits, the concept pages, the tools, and the CCIP resources this guide links, collected in one place. @@ -81,3 +82,5 @@ GitHub. The chart sets a default image tag; override it in your chart values to ## Support Questions, or want to run a CCV? Email . + + diff --git a/src/features/ccip/CcipCommon.astro b/src/features/ccip/CcipCommon.astro index 25bdb64ff5e..a153add06d2 100644 --- a/src/features/ccip/CcipCommon.astro +++ b/src/features/ccip/CcipCommon.astro @@ -32,6 +32,7 @@ import AdvancedPoolHooksComponent from "./AdvancedPoolHooks.mdx" import FtfSupportTutorials from "./FtfSupportTutorials.mdx" import ConceptualDisclaimerComponent from "./ConceptualDisclaimer.mdx" import CcvDefaultVerifierPostureComponent from "./CcvDefaultVerifierPosture.mdx" +import CcvStarterKitDisclaimerComponent from "./CcvStarterKitDisclaimer.mdx" export type Props = { callout?: @@ -69,6 +70,7 @@ export type Props = { | "ftfSupportTutorials" | "conceptualDisclaimer" | "ccvDefaultVerifierPosture" + | "ccvStarterKitDisclaimer" } const { callout } = Astro.props as Props --- @@ -107,3 +109,4 @@ const { callout } = Astro.props as Props {callout === "ftfSupportTutorials" && } {callout === "conceptualDisclaimer" && } {callout === "ccvDefaultVerifierPosture" && } +{callout === "ccvStarterKitDisclaimer" && } diff --git a/src/features/ccip/CcvStarterKitDisclaimer.mdx b/src/features/ccip/CcvStarterKitDisclaimer.mdx new file mode 100644 index 00000000000..7b3414b9bab --- /dev/null +++ b/src/features/ccip/CcvStarterKitDisclaimer.mdx @@ -0,0 +1,18 @@ +import { Aside } from "@components" + +