# Installatie via Wrangler (CLI)

### Vereisten

Voor een succesvolle integratie met Netacea dient u te beschikken over:

1. De nieuwste [Wrangler V2](https://developers.cloudflare.com/workers/wrangler/migration/v1-to-v2/update-v1-to-v2/), [Node.js](https://nodejs.org/en) (versie 16.13.0 of hoger) en [Git ](https://git-scm.com/)geïnstalleerd op uw machine.
2. Een actief Cloudflare-account met toegang tot het Cloudflare Dashboard.
3. Een "Paid" Cloudflare-abonnement om problemen met worker request-limieten e.d. te voorkomen.
4. Toegang tot het Cloudflare Workers-product.

### **Implementatiestappen**

De gedetailleerde GitHub-instructies voor het ophalen van de code, configureren en deployen van de Netacea Cloudflare-plugin vindt u [hier](https://github.com/Netacea/cloudflare-worker-template-typescript).

### Lokale worker aanmaken <a href="#edit-worker" id="edit-worker"></a>

Open Windows Command-Prompt/PowerShell en navigeer naar een directory waar u de Netacea-code kunt opslaan.

Voer binnen die directory het volgende commando uit

{% code overflow="wrap" %}

```
wrangler generate netacea-cloudflare-worker https://github.com/netacea/cloudflare-worker-template-typescript
```

{% endcode %}

Dit gebruikt wrangler om een nieuwe lokale worker-bundel aan te maken (genereren) door de nieuwste Netacea GitHub-code op te halen.

<figure><img src="https://2008922765-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKEeLcLvicQ5Zj7Chjz6g%2Fuploads%2Fgit-blob-eb5d13d51998c5b3a6052838c34b1e07d9b3143c%2Fimage%20(71).png?alt=media" alt=""><figcaption></figcaption></figure>

U kunt dit verifiëren door naar de bovenstaande directory te gaan en de worker met het volgende formaat te bekijken:

<div align="left"><figure><img src="https://2008922765-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKEeLcLvicQ5Zj7Chjz6g%2Fuploads%2Fgit-blob-4943f944ca9f4a61987a04f3c3f5aedc6609b48b%2Fimage%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure></div>

### De worker configureren

Open de src-directory en bewerk het `NetaceaConfig.json`-bestand zodat het overeenkomt met het onderstaande:

```json
{
    "apiKey": "API-KEY-PROVIDED-BY-NETACEA",
    "secretKey": "SECRET-KEY-PROVIDED-BY-NETACEA",
    "mitigationType": "PREFERRED-MITIGATION-TYPE",
    "ingestType": "KINESIS",
    "kinesis": {
      "kinesisStreamName": "NAME-PROVIDED-BY-NETACEA",
      "kinesisAccessKey": "KEY-PROVIDED-BY-NETACEA",
      "kinesisSecretKey": "KEY-PROVIDED-BY-NETACEA"
    },
    "cookieEncryptionKey": "ENCRYPTION-KEY-PROVIDED-BY-NETACEA",
    "netaceaCookieName": "_cookieName",
    "netaceaCaptchaCookieName": "_captchaCookieName",
    "enableDynamicCaptchaContentType": false,
    "timeout": 3000
  }
```

Vervang de waarden door de gegevens die Netacea u heeft verstrekt en **sla** het bestand op.

{% hint style="info" %}
Het attribuut `mitigationType` wordt gebruikt om de modus van de integratie te bepalen. Dit kan een van drie waarden zijn:

* "**INGEST**" - Deze integratiemodus is alleen voor monitoring, wat betekent dat er geen mitigatie-acties worden uitgevoerd. Dit wordt aanbevolen tijdens POC's.
* "**MITIGATE**" - Dit is de "normale" integratiemodus, wat betekent dat de Netacea-oplossing requests monitort en actief mitigeert.
* "**INJECT**" - Deze modus wordt gebruikt in aangepaste oplossingen waarbij de mitigatie-actie door Netacea slechts een aanbeveling is via HTTP-headers die aan het request worden toegevoegd.
  {% endhint %}

{% hint style="info" %}
De cookie- en captcha-naam dienen uniek te zijn.

**Neem voor extra beveiliging geen Netacea of Mitigation op in deze naam.**
{% endhint %}

{% hint style="danger" %}
De variabelen cookieEncryptionKey, netaceaCookieName en netaceaCaptchaCookieName worden gebruikt om de beveiliging te verhogen door de standaard cookienamen en -waarden van Netacea te verbergen voor openbaar zicht.
{% endhint %}

### Wrangler configureren

Navigeer naar de root-directory van de worker en bewerk het `wrangler.toml`-bestand:

```json
name = "netacea-worker"
main = "./dist/worker.js"

account_id = "EXAMPLE_ACCOUNT_ID"
route = "EXAMPLE_ROUTE"

compatibility_date = "2023-05-04"

[observability]
enabled = true

```

Vervang de waarden door de juiste gegevens en **sla** het bestand op wanneer u klaar bent.

{% hint style="info" %}
De [Account ID](https://developers.cloudflare.com/fundamentals/get-started/basic-tasks/find-account-and-zone-ids/#find-zone-and-account-ids) vindt u op uw Cloudflare Dashboard.

De [Route ](https://developers.cloudflare.com/workers/platform/triggers/routes/)verwijst naar het pad waarop de worker moet worden toegepast, bijv. "[www.example.com/\*](http://www.example.com/*)" en kan na deployment worden bewerkt.
{% endhint %}

{% hint style="info" %}
Het inschakelen van de optie **Auto Save** tijdens het wijzigen van configuraties is aan te raden.
{% endhint %}

### npm installeren/bijwerken

Voer binnen de root-directory van de worker de volgende twee commando's uit om te zorgen dat alle benodigde node modules zijn geïnstalleerd/bijgewerkt

```powershell
npm i @netacea/cloudflare@latest
```

```
npm install
```

### De worker deployen naar Cloudflare

Voer het volgende commando uit:

```
npm run deploy
```

Dit kan u vragen om via uw browser in te loggen bij Cloudflare en toegang te verlenen aan wrangler. Log zo nodig in en verleen toegang.

<div align="left"><figure><img src="https://2008922765-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKEeLcLvicQ5Zj7Chjz6g%2Fuploads%2Fgit-blob-0386aac934dd8f1a966969128cd868201699fd19%2Fimage%20(7)%20(7).png?alt=media" alt=""><figcaption></figcaption></figure></div>

<figure><img src="https://2008922765-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKEeLcLvicQ5Zj7Chjz6g%2Fuploads%2Fgit-blob-f6c9f60eb7705f1773cd6c09056c6d3de2e62e68%2Fimage%20(2)%20(9).png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
U kunt het bovenstaande commando gebruiken om dezelfde worker opnieuw te deployen om deze bij te werken (bijv. het wijzigen van de configuratie-eigenschappen). De laatste deployment wordt standaard actief.
{% endhint %}

### Deployment bevestigen

Log in bij Cloudflare, open het dashboard, selecteer het domein waarop u de worker wilt laten werken en selecteer ten slotte "Workers Routes" in het menu. U zou de nieuw gedeployde worker moeten zien, gekoppeld aan de route uit het `wrangler.toml`-bestand.

<figure><img src="https://2008922765-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKEeLcLvicQ5Zj7Chjz6g%2Fuploads%2Fgit-blob-12cb6d8d73e49f99772f9729b3666f42c80f9b6c%2FScreenshot%202024-12-13%20125030.png?alt=media" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
U kunt wijzigingen aanbrengen aan de worker, route, omgeving en meer door op **Edit** te klikken, zonder de worker opnieuw te hoeven deployen via wrangler.
{% endhint %}

Deployments van elke worker zijn te zien door op de Worker te klikken (bijv. test-netacea-worker) en het tabblad Deployment's te selecteren:

<figure><img src="https://2008922765-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKEeLcLvicQ5Zj7Chjz6g%2Fuploads%2Fgit-blob-33ad1be8eccc8e959a613deea8c4cfba5f42a6fa%2FScreenshot%202024-12-13%20124156%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

Voor elke worker kunt u diverse metrics bekijken, de gekoppelde routes zien en de optie hebben om terug te rollen naar een eerdere deployment.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.netacea.com/nl/netacea-plugin-informatie/cloudflare/installation-and-configuration/installation-via-wrangler-cli.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
