Skip to content

Commit 86cbe6c

Browse files
committed
Improve dataspace documentation for integrations #31
Signed-off-by: tdruez <tdruez@nexb.com>
1 parent d4700c4 commit 86cbe6c

File tree

4 files changed

+94
-71
lines changed

4 files changed

+94
-71
lines changed

docs/application-settings.rst

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ integrations **globally accessible across all Dataspaces** within your DejaCode
208208
instance.
209209

210210
Alternatively, if you wish to tailor the availability of these features to a specific
211-
Dataspace, you can define and set those values directly within the Dataspace
211+
Dataspace, you can define and set those values directly within the :ref:`dataspace`
212212
configuration. This can be done through the Dataspace admin UI, allowing you to scope
213213
the availability of these integrations exclusively to the designated Dataspace.
214214

@@ -225,6 +225,10 @@ instance.
225225
SCANCODEIO_URL=https://your_scancodeio.url/
226226
SCANCODEIO_API_KEY=insert_your_api_key_here
227227
228+
.. note::
229+
You have the option to define and set those settings directly on your Dataspace.
230+
For detailed instructions, refer to :ref:`dejacode_dataspace_scancodeio`.
231+
228232
.. _dejacode_settings_purldb:
229233

230234
PURLDB
@@ -237,6 +241,10 @@ Provide the URL and API key of your `PurlDB <https://github.com/nexB/purldb>`_ i
237241
PURLDB_URL=https://your-purldb.url/
238242
PURLDB_API_KEY=insert_your_api_key_here
239243
244+
.. note::
245+
You have the option to define and set those settings directly on your Dataspace.
246+
For detailed instructions, refer to :ref:`dejacode_dataspace_purldb`.
247+
240248
.. _dejacode_settings_vulnerablecode:
241249

242250
VULNERABLECODE
@@ -253,6 +261,10 @@ or connect to the public one https://public.vulnerablecode.io/.
253261
VULNERABLECODE_URL=https://public.vulnerablecode.io/
254262
VULNERABLECODE_API_KEY=insert_your_api_key_here
255263
264+
.. note::
265+
You have the option to define and set those settings directly on your Dataspace.
266+
For detailed instructions, refer to :ref:`dejacode_dataspace_vulnerablecode`.
267+
256268
LDAP Integration
257269
================
258270

docs/dataspace.rst

Lines changed: 59 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,39 @@
1+
.. _dataspace:
2+
13
=========
24
Dataspace
35
=========
46

7+
The Dataspace serves as a pivotal mechanism within DejaCode, facilitating the
8+
segregation of data for each organization while maintaining a unified storage
9+
structure in the same database, schema, or table.
10+
Within a given installation, multiple "Dataspace" organizations can be defined,
11+
but there exists only one reference.
12+
13+
This concept is a crucial element employed across DejaCode to effectively separate
14+
**reference data provided by nexB** from the data utilized in a specific DJE
15+
installation.
16+
Essentially, it introduces the notion of a "tenant" within a DJE installation,
17+
enabling the isolation of organization-specific and/or private records.
18+
This segregation supports both multi-tenancy and the coexistence of nexB-provided
19+
reference data and organization-specific or customized data.
20+
21+
The key purposes of this separation include:
22+
23+
1. **Orderly and Simplified Data Updates**: Facilitates smooth and streamlined updates
24+
from nexB reference data, ensuring efficient data synchronization and exchange
25+
across Dataspaces.
26+
2. **Dataspace-Specific Customizations**: Allows for customization of Dataspace-specific
27+
data, such as configurations for license tags or specific preferences, tailoring
28+
the installation to the unique needs of each organization.
29+
3. **Support for Multi-Tenancy**: Enables the sharing of the same DJE instance among
30+
different organizations, each operating within its distinct Dataspace,
31+
promoting multi-tenancy while maintaining data segregation.
32+
33+
In summary, the Dataspace concept in DejaCode plays a pivotal role in maintaining data
34+
integrity, enabling efficient updates, accommodating customization, and supporting
35+
multi-tenancy for a diverse range of organizations within a DJE installation.
36+
537
Setting up your License Library
638
===============================
739

@@ -121,7 +153,7 @@ you do not need.
121153
Assigning Usage Policies to licenses
122154
====================================
123155

124-
There are more than **1,300 Licenses** in your License list from Reference Data, so
156+
There are more than **2,000 Licenses** in your License list from Reference Data, so
125157
you will want to develop a strategy that works for your business requirements to
126158
assign Usage Policies efficiently. The two basic techniques are:
127159

@@ -130,7 +162,7 @@ assign Usage Policies efficiently. The two basic techniques are:
130162
2. Mass update: Select a group of licenses on the **Browse License** form and use Mass
131163
Update to assign a Usage Policy to that group of licenses.
132164

133-
As an example of the first technique, locate and select the license with the Key
165+
As an example of the first technique, locate and select the license with the key
134166
of **apache-2.0** in your list. Your organization probably already has a policy
135167
regarding this very common license; you may simply allow engineering to use
136168
components under that license or you may require additional review of how they
@@ -323,25 +355,15 @@ You can:
323355
DejaCode instance:
324356
https://scancodeio.readthedocs.io/en/latest/command-line-interface.html#scanpipe-create-user-username
325357

326-
4. Set the ScanCode.io server URL and the API key in your local DejaCode settings file
327-
``.env``.
328-
329-
.. code-block:: python
330-
331-
SCANCODEIO_URL=https://<your_scancodeio.url>/
332-
SCANCODEIO_API_KEY=<api_key>
333-
334-
**Restarting the services is required following any changes to .env:**
335-
336-
.. code-block:: bash
337-
338-
docker compose restart web worker
358+
4. Set the ScanCode.io Server URL and API key in your Dataspace Configuration:
339359

340-
5. Enable package scanning on your Dataspace from the **Administration dashboard**.
341-
342-
Select **Dataspaces** and open your Dataspace definition.
343-
In the **Application Process Settings** section, check the
344-
**Enable package scanning** option and save.
360+
- Access your DejaCode web application **Administration dashboard**.
361+
- Navigate to the **Dataspaces** section and select your Dataspace name.
362+
- Within the **Application Process Settings** section, enable the
363+
**Enable package scanning** option.
364+
- Update the values for the **ScanCode.io URL** and **ScanCode.io API key** fields
365+
located in the **Configuration** panel at the bottom of the form.
366+
- Click the **Save** button.
345367

346368
You can now access the **Scans** section from the **Tools** menu and request package
347369
scans from this view.
@@ -363,36 +385,23 @@ and perform an asynchronous query of the PurlDB to find relevant data.
363385

364386
You can:
365387

366-
* Browse and search from a list of over **14 millions Packages**.
388+
* Browse and search from a list of over **21 millions Packages**.
367389
* Get extra information on your local Packages from the **"PurlDB" tab**.
368390
* Create local Packages automatically from entries found in the PurlDB.
369391
* Enhance the **Global search** results with Packages from the PurlDB.
370392
* Check for **new Package versions** from your Products inventory
371393

372394
1. Get in touch with nexB to request your credentials for the **PurlDB** service.
373395

374-
2. Set those credentials in your local DejaCode configuration file ``.env``.
375-
376-
See :doc:`/application-settings` for more details on the configuration system.
377-
378-
.. code-block:: python
379-
380-
PURLDB_URL=https://purldb.url/
381-
PURLDB_USER=PROVIDED_BY_NEXB
382-
PURLDB_PASSWORD=PROVIDED_BY_NEXB
383-
384-
385-
**Restarting the services is required following any changes to .env:**
396+
2. Set the PurlDB Server URL and API key in your Dataspace Configuration:
386397

387-
.. code-block:: bash
388-
389-
docker compose restart web worker
390-
391-
3. Enable **PurlDB access** on your Dataspace from the **Administration dashboard**.
392-
393-
Select **Dataspaces** and open your Dataspace definition.
394-
In the **Application Process Settings** section, check the **Enable PurlDB access**
395-
option and save.
398+
- Access your DejaCode web application **Administration dashboard**.
399+
- Navigate to the **Dataspaces** section and select your Dataspace name.
400+
- Within the **Application Process Settings** section, enable the
401+
**Enable PurlDB access** option.
402+
- Update the values for the **PurlDB URL** and **PurlDB API key** fields
403+
located in the **Configuration** panel at the bottom of the form.
404+
- Click the **Save** button.
396405

397406
You can now access the **PurlDB** section from the **Tools** menu and browse package
398407
from this view.
@@ -423,28 +432,15 @@ You can:
423432
1. Get in touch with nexB to request your credentials for the **VulnerableCodeDB**
424433
service.
425434

426-
2. Set those credentials in your local DejaCode configuration file ``.env``.
427-
428-
See :doc:`/application-settings` for more details on the configuration system.
429-
430-
.. code-block:: python
431-
432-
VULNERABLECODE_URL=https://vulnerablecodedb.url/
433-
VULNERABLECODE_API_KEY=PROVIDED_BY_NEXB
434-
435-
**Restarting the services is required following any changes to .env:**
436-
437-
.. code-block:: bash
438-
439-
docker compose restart web worker
440-
441-
442-
3. Enable **VulnerableCodeDB access** on your Dataspace from the
443-
**Administration dashboard**.
435+
2. Set the VulnerableCodeDB Server URL and API key in your Dataspace Configuration:
444436

445-
Select **Dataspaces** and open your Dataspace definition.
446-
In the **Application Process Settings** section,
447-
check the **Enable VulnerableCodeDB access** option and save.
437+
- Access your DejaCode web application **Administration dashboard**.
438+
- Navigate to the **Dataspaces** section and select your Dataspace name.
439+
- Within the **Application Process Settings** section, enable the
440+
**Enable VulnerableCodeDB access** option.
441+
- Update the values for the **VulnerableCode URL** and **VulnerableCode API key**
442+
fields located in the **Configuration** panel at the bottom of the form.
443+
- Click the **Save** button.
448444

449445
You can now see Vulnerabilities in the Packages user view.
450446
The availability of the services can be checked by clicking on your user name in the

docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ Welcome to the very start of your DejaCode journey!
99
:caption: Getting Started
1010

1111
installation
12-
application-settings
1312
dataspace
13+
application-settings
1414

1515
.. toctree::
1616
:maxdepth: 1

docs/installation.rst

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -107,18 +107,33 @@ Use these credentials to access the application.
107107
For example, with Docker configured for 8 CPUs, allocate a minimum of 8 GB of
108108
memory.
109109

110-
5. Setup AboutCode integrations
111-
-------------------------------
110+
5. Dataspace setup and AboutCode integrations
111+
---------------------------------------------
112112

113-
You can enable DejaCode integrations with other applications in the AboutCode stack.
113+
Upon the initialization of the DejaCode application, the ``nexB`` reference
114+
:ref:`dataspace` is created with a **default set of data**, including license and
115+
organization libraries.
114116

115-
- **ScanCode.io**: Enable package scanning.
117+
Additionally, **AboutCode integrations are pre-configured** to connect to
118+
**public instances** of the following AboutCode applications:
119+
120+
- **ScanCode.io**: Facilitates package scanning.
116121
Refer to :ref:`dejacode_dataspace_scancodeio`.
117-
- **PurlDB**: Access a database of scanned packages.
122+
- **PurlDB**: Provides access to a database of scanned packages.
118123
Refer to :ref:`dejacode_dataspace_purldb`.
119-
- **VulnerableCodeDB**: Access a database of package vulnerabilities.
124+
- **VulnerableCodeDB**: Enables access to a database containing information on package
125+
vulnerabilities.
120126
Refer to :ref:`dejacode_dataspace_vulnerablecode`.
121127

128+
.. warning::
129+
In the scenario of **deploying DejaCode as an enterprise service** within your
130+
organization, it is **strongly recommended to review these configurations**.
131+
Consideration should be given to **running your own instances** of these
132+
applications to ensure that **sensitive or private data** is not inadvertently
133+
submitted to public services. This strategic approach helps to safeguard
134+
organizational data and privacy during package scanning and vulnerability
135+
assessments.
136+
122137
Hardware requirements
123138
=====================
124139

0 commit comments

Comments
 (0)