@@ -3,25 +3,134 @@ title: Enterprise Edition License Management
33menuTitle : License Management
44weight : 20
55description : >-
6- How to apply a license and check the licensing status of an ArangoDB deployment
6+ How to activate a deployment, obtain and apply a license key, and check the
7+ licensing status of an ArangoDB deployment
78---
89The Enterprise Edition of ArangoDB requires a license so that you can use
910ArangoDB for commercial purposes and have a dataset size over 100 GiB. See
1011[ ArangoDB Editions] ( ../../features/_index.md#arangodb-editions )
1112for details.
1213
13- How to set a license key and to retrieve information about the current license
14- via different interfaces is described below.
14+ There are different license management flows:
1515
16- {{< info >}}
17- If you use the ArangoDB Kubernetes Operator (including the Data Platform),
18- check the [ kube-arangodb documentation] ( https://arangodb.github.io/kube-arangodb/docs/how-to/set_license.html )
19- for more details on how to set a license key in a Kubernetes-managed deployment.
20- {{< /info >}}
16+ - ** Activate a deployment** (from v3.12.6 onward):\
17+ Customers receive license credentials composed of a client ID and a client secret.
18+ You can use a command-line tool to activate deployments with these credentials,
19+ either one-off or continuously.
20+
21+ An activation is generally valid for two weeks and it is recommended to
22+ renew the activation weekly.
23+
24+ {{< info >}}
25+ If you use the ArangoDB Kubernetes Operator (including the Data Platform),
26+ check the [ kube-arangodb documentation] ( https://arangodb.github.io/kube-arangodb/docs/how-to/set_license.html )
27+ for more details on how to set a license key in a Kubernetes-managed deployment.
28+ {{< /info >}}
29+
30+ - ** Apply a license key** :\
31+ Up to v3.12.5, customers received a license key directly and it was typically
32+ valid for one year. From v3.12.6 onward, customers receive license credentials
33+ instead. You can use a command-line tool to generate a license key using these
34+ credentials, and the license key generally expires every two weeks.
35+
36+ You can also activate a deployment instead of generating a license key, but
37+ this requires an internet connection. For air-gapped environments for example,
38+ the license key flow is required and the license key has a longer validity.
39+
40+ How to activate a deployment or apply a license key to it, as well as how to
41+ retrieve information about the current license via different interfaces is
42+ described below.
43+
44+ ## Activate a deployment
45+
46+ 1 . Download the Arango Data Platform CLI tool ` arangodb_operator_platform ` from
47+ < https://github.com/arangodb/kube-arangodb/releases > .
48+ It is available for Linux, macOS, and Windows for the x86-64 as well as 64-bit ARM
49+ architecture (e.g. ` arangodb_operator_platform_linux_amd64 ` ).
50+
51+ It is recommended to rename the downloaded executable to
52+ ` arangodb_operator_platform ` (with an ` .exe ` extension on Windows) and add it to
53+ the ` PATH ` environment variable to make it available as a command in the system.
54+
55+ 2 . Activate a deployment once using the Platform CLI tool. Point it to a running
56+ ArangoDB deployment (running on ` http://localhost:8529 ` in this example) and
57+ supply the license credentials:
58+
59+ ``` sh
60+ arangodb_operator_platform license activate --arango.endpoint http://localhost:8529 --license.client.id " your-corp" --license.client.secret " ..."
61+ ```
62+
63+ Unless authentication is disabled for the deployment, you need to additionally
64+ supply either ArangoDB user credentials or a JWT session token and specify the
65+ authentication method (case-sensitive):
66+
67+ ``` sh
68+ # User credentials
69+ arangodb_operator_platform license activate --arango.authentication Basic --arango.basic.username " root" --arango.basic.password " " ...
70+
71+ # JWT session token
72+ arangodb_operator_platform license activate --arango.authentication Token --arango.token " eyJh..." ...
73+ ```
74+
75+ 3 . You can specify an activation interval to keep the Platform CLI tool running
76+ and have it re-activate the deployment automatically, e.g. once a week:
77+
78+ ``` sh
79+ arangodb_operator_platform license activate --license.interval 168h ...
80+ ```
81+
82+ ## Generate a license key
83+
84+ 1 . Download the Arango Data Platform CLI tool ` arangodb_operator_platform ` from
85+ < https://github.com/arangodb/kube-arangodb/releases > .
86+ It is available for Linux, macOS, and Windows for the x86-64 as well as 64-bit ARM
87+ architecture (e.g. ` arangodb_operator_platform_linux_amd64 ` ).
88+
89+ It is recommended to rename the downloaded executable to
90+ ` arangodb_operator_platform ` (with an ` .exe ` extension on Windows) and add it to
91+ the ` PATH ` environment variable to make it available as a command in the system.
92+
93+ 2 . Create an inventory file using the Platform CLI tool. Point it to a running
94+ ArangoDB deployment (running on ` http://localhost:8529 ` in this example):
95+
96+ ``` sh
97+ arangodb_operator_platform license inventory --arango.endpoint=" http://localhost:8529" inventory.json
98+ ```
99+
100+ Unless authentication is disabled for the deployment, you need to additionally
101+ supply either ArangoDB user credentials or a JWT session token and specify the
102+ authentication method (case-sensitive):
103+
104+ ``` sh
105+ # User credentials
106+ arangodb_operator_platform license inventory --arango.authentication Basic --arango.basic.username " root" --arango.basic.password " " ...
107+
108+ # JWT session token
109+ arangodb_operator_platform license inventory --arango.authentication Token --arango.token " eyJh..." ...
110+ ```
111+
112+ 3 . Determine the ID of the ArangoDB deployment. You can find it in the inventory file
113+ or call the [ ` GET /_admin/deployment/id ` endpoint] ( ../../develop/http-api/administration.md#get-the-deployment-id ) :
114+
115+ ``` sh
116+ # User credentials
117+ curl -uroot: http://localhost:8529/_admin/deployment/id
118+
119+ # JWT session token
120+ curl -H " Authorization: Bearer eyJh..." http://localhost:8529/_admin/deployment/id
121+
122+ # Example result:
123+ # {"id":"6172616e-676f-4000-0000-05c958168340"}
124+ ```
125+
126+ 4 . Generate the license key using the deployment ID, the inventory file, and the
127+ license credentials, and write it to a file:
21128
22- ## Apply a license
129+ ``` sh
130+ arangodb_operator_platform license generate --deployment.id " 6172616e-676f-4000-0000-05c958168340" --inventory inventory.json --license.client.id " your-corp" --license.client.secret " ..." 2> license_key.txt
131+ ```
23132
24- To use the Enterprise Edition, set the license key like so:
133+ ## Apply a license key
25134
26135{{< tabs "interfaces" >}}
27136
@@ -32,6 +141,7 @@ To use the Enterprise Edition, set the license key like so:
321414 . Expand the ** PUT /_ admin/license** sub-panel.
331425 . Click the ** Try it out** button.
341436 . Paste the license key into the text area below the ** Request body** label.
144+ Make sure the key is wrapped in double quotes.
351457 . Make sure the license key is surrounded by double quote marks.
361468 . Click the ** Execute** button.
371479 . Scroll down to ** Server response** to check the result.
0 commit comments