Skip to content

Commit

Permalink
docs: add documentation to add policies and attributes
Browse files Browse the repository at this point in the history
* adjust documentation structure to align with TRG1
* add documentation to add policies and policy attributes

Refs: #178 #197
  • Loading branch information
Phil91 committed Oct 24, 2024
1 parent e6a31f3 commit a1341ec
Show file tree
Hide file tree
Showing 29 changed files with 250 additions and 14 deletions.
2 changes: 1 addition & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Link to Github issue.

Please delete options that are not relevant.

- [ ] I have followed the [contributing guidelines](https://github.com/eclipse-tractusx/policy-hub/blob/main/docs/technical-documentation/dev-process/How%20to%20contribute.md)
- [ ] I have followed the [contributing guidelines](https://github.com/eclipse-tractusx/policy-hub/blob/main/docs/admin/dev-process/How%20to%20contribute.md)
- [ ] I have performed [IP checks](https://eclipse-tractusx.github.io/docs/release/trg-7/trg-7-04#checking-libraries-using-the-eclipse-dash-license-tool) for added or updated 3rd party libraries
- [ ] I have created and linked IP issues or requested their creation by a committer
- [ ] I have performed a self-review of my own code
Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This repository contains the backend code for the Policy-Hub written in C#.

For **information about the policy hub**, please refer to the documentation, especially the context and scope section in the [architecture documentation](./docs/technical-documentation/architecture).
For **information about the policy hub**, please refer to the documentation, especially the context and scope section in the [architecture documentation](./docs/architecture).

For **installation** details, please refer to the [README.md](./charts/policy-hub/README.md) of the provided helm chart.

Expand All @@ -25,7 +25,7 @@ dotnet run

## Known Issues and Limitations

See [Known Knowns](/docs/technical-documentation/known-knowns/known-issues-and-limitations.md).
See [Known Knowns](/docs/known-knowns/known-issues-and-limitations.md).

## Notice for Docker image

Expand Down
2 changes: 1 addition & 1 deletion charts/policy-hub/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This helm chart installs the Catena-X Policy Hub application.

For further information please refer to [Technical Documentation](../../docs/technical-documentation/).
For further information please refer to [Technical Documentation](../../docs/admin/).

The referenced container images are for demonstration purposes only.

Expand Down
2 changes: 1 addition & 1 deletion charts/policy-hub/README.md.gotmpl
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This helm chart installs the Catena-X Policy Hub application.

For further information please refer to [Technical Documentation](../../docs/technical-documentation/).
For further information please refer to [Technical Documentation](../../docs/admin/).

The referenced container images are for demonstration purposes only.

Expand Down
20 changes: 20 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Introduction

This repository provides the backend code for the Policy Hub.

The following table links you to the respective documentations.

| Documentation | Purpose |
| ----------------------------------------------------------------- | ---------------------------------------------------------------------- |
| [Arc42](architecture/Index.md) | Architecture Documentation for the Policy Hub. |
| [How to contribute](./admin/dev-process/How%20to%20contribute.md) | Information relevant, if you contribute in the policy hub development. |
| [Administration Guide](admin/Admin_Guide.md) | Information relevant, if you want to use the policy hub application. |
| [API Documentation](api/API_Doc.md) | Information about the endpoints. |

## NOTICE

This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).

- SPDX-License-Identifier: Apache-2.0
- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation
- Source URL: https://github.com/eclipse-tractusx/policy-hub
14 changes: 14 additions & 0 deletions docs/admin/Admin_Guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Admin Guide

## Getting started

To start the application refer to the [Installation Guide](../../charts/policy-hub/README.md).
It provides information on deployment via helm.

## NOTICE

This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).

- SPDX-License-Identifier: Apache-2.0
- SPDX-FileCopyrightText: 2023 Contributors to the Eclipse Foundation
- Source URL: https://github.com/eclipse-tractusx/policy-hub
142 changes: 142 additions & 0 deletions docs/admin/add-data-process/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
# Summary

The following documentation gives an overview of how to add additional data to the Policy Hub.

## Adding new Policies

To add new policies the following steps must be executed:

### Add Policy

To add new Attributes you need to add an entry to the [policies](/src/database/PolicyHub.Migrations/Seeder/Data/policies.json) Seeding file.

The entry should look like the following:

```json
{
"id": "uuid for the policy, this is needed in the process later on",
"kind_id": "one of the policy kinds mentioned below (as number)",
"technical_key": "the technical key which is used to query it later in the process",
"description": "a description of the policy",
"is_active": "either true if the attribute should be active or false if the attribute shouldn't be active",
"attribute_key_id": "one of the attribute keys mentioned below (as number)",
},
```

**PolicyKindId**

```c#
public enum PolicyKindId
{
BusinessPartnerNumber = 1,
Membership = 2,
Framework = 3,
Purpose = 4,
Dismantler = 5,
ContractReference = 6
}
```

**Attribute Keys**

```c#
public enum AttributeKeyId
{
Regex = 1,
Static = 2,
DynamicValue = 3,
Brands = 4,
Version = 5
}
```

### Assign policy to type

The created policy must be assigned to at least one policy type. To assign the policy to a type you need to add an entry to the [policy_assigned_types](/src/database/PolicyHub.Migrations/Seeder/Data/policy_assigned_types.json) Seeding file.

The entry should look like the following:

```json
{
"policy_id": "value of the id column of the newly added policy",
"policy_type_id": "one of the policy type ids mentioned below (as number)",
"is_active": "either true if the attribute should be active or false if the attribute shouldn't be active"
}
```

**PolicyTypeId**

```c#
public enum PolicyTypeId
{
Access = 1,
Usage = 2
}
```

### Assign policy to use case

The created policy must be assigned to at least one use case. To assign the policy to a use case you need to add an entry to the [policy_assigned_use_cases](/src/database/PolicyHub.Migrations/Seeder/Data/policy_assigned_use_cases.json) Seeding file.

The entry should look like the following:

```json
{
"policy_id": "value of the id column of the newly added policy",
"use_case_id": "one of the use case ids mentioned below (as number)",
"is_active": "either true if the attribute should be active or false if the attribute shouldn't be active"
}
```

**UseCaseId**

```c#
public enum UseCaseId
{
Traceability = 1,
Quality = 2,
PCF = 3,
Behavioraltwin = 4,
Businesspartner = 5,
CircularEconomy = 6,
DemandCapacity = 7
}
```

## Adding new Attributes

To add new Attributes you need to add an entry to the [policy_attributes](/src/database/PolicyHub.Migrations/Seeder/Data/policy_attributes.json) Seeding file.

The entry should look like the following:

```json
{
"id": "uuid",
"policy_id": "id of an policy you want to link the attribute to",
"key": "one of the attribute keys mentioned above (as number)",
"attribute_value": "the specific value of the attribute you want to set",
"is_active": "either true if the attribute should be active or false if the attribute shouldn't be active"
}
```

Depending on the attribute key which is set the output will slightly change. A regex Attribute will check the set value of a policy if it matches the regex. A dynamic value will take the user input of the value field. If non is set by the user `{dynamicValue}` is taken. For `Static`, `Brands` and `Version` Attributes the value will just render the content of the `attribute_value` column.

To make a Attribute available it must be set to `is_active` = `true` and a link to a use case must be added. For that a new entry in the [policy_attribute_assigned_use_cases](/src/database/PolicyHub.Migrations/Seeder/Data/policy_attribute_assigned_use_cases.json) must be added. The entry should look like the following:

```json
{
"attribute_id": "value of the id column of the newly added policy_attribute",
"use_case_id": "one of the use case ids mentioned above (as number)",
"is_active": "either true if the attribute should be active or false if the attribute shouldn't be active"
}
```

It is possible to link an attribute to multiple UseCases.

## NOTICE

This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).

- SPDX-License-Identifier: Apache-2.0
- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation
- Source URL: https://github.com/eclipse-tractusx/policy-hub
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Be aware that migrations coming release branches for release candidates or from

The version needs to be updated in the `src` directory within the 'Directory.Build.props' file.

Also, bump the chart and app version in the [Chart.yaml](../../../charts/policy-hub/Chart.yaml) and the version of the images in the [values.yaml](../../../charts/policy-hub/values.yaml).
Also, bump the chart and app version in the [Chart.yaml](../../../charts/policy-hub/Chart.yaml) and the version of the images in the [values.yaml](../../../charts/charts/policy-hub/values.yaml).

_Consortia relevant: Update the version of the targetRevision tag in the [argocd-app-templates](../../../consortia/argocd-app-templates/), used for consortia-environments._

Expand Down
19 changes: 19 additions & 0 deletions docs/api/API_Doc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# API Documentation

This document provides information on the endpoints.

## OpenAPI Specifications

There is an [OpenAPI 3.0.1 specification document](./hub-service.yaml) available.

## Postman

There is a [postman collection](./postman) containing information on how to provide master data and some basic data to test the application.

## NOTICE

This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).

- SPDX-License-Identifier: Apache-2.0
- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation
- Source URL: https://github.com/eclipse-tractusx/policy-hub
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ Multiple constrains example:

```

If you want to try it out, check the [postman collection](/docs/developer/Technical-Documentation/requests/policy-hub.postman_collection.json)
If you want to try it out, check the [postman collection](./policy-hub.postman_collection.json)

## NOTICE

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Content and Scope
# System Context and Scope

## Business Context

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Whitebox Overall System
# Building Block View

## Summary

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Build, test, deploy

Details to the build, test and deploy process can get found under the following md file: [Release Process](/docs/technical-documentation/release-process/Release%20Process.md)
Details to the build, test and deploy process can get found under the following md file: [Release Process](/docs/admin/release-process/Release%20Process.md)

## Development Guidelines

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Security Assessment Policy-Hub
# Security Assessment Policy-Hub

| | |
| ------------------------- | -------------------------------------------------------------------------------------------------------- |
Expand Down Expand Up @@ -57,7 +57,7 @@ flowchart LR
### Changes compared to last Security Assessment

* upgrade to .NET 8
* new seeding data
* new seeding data

### Features for Upcoming Versions

Expand All @@ -69,7 +69,7 @@ All potential threats discussed during the assessment were already mitigated.

### Mitigated Threats

N/A
N/A

### Performed Security Checks

Expand Down
15 changes: 15 additions & 0 deletions docs/architecture/08_concepts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Cross-cutting Concepts

## Table of Content

- [Operational concepts](./08_01_operational_concept.md)
- [Developer concepts](./08_02_development_concept.md)
- [Security Concept](./08_03_security_concept.md)

## NOTICE

This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).

- SPDX-License-Identifier: Apache-2.0
- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation
- Source URL: <https://github.com/eclipse-tractusx/policy-hub
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Requirements overview
# Quality Requirements

## What is the Policy Hub Product?

Expand Down
26 changes: 26 additions & 0 deletions docs/architecture/Index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Arc42

This documentation follows the arc42 template to provide a comprehensive overview of the SSI Authority & Schema Registry App.

## Table of Content

- [01. Introduction and Goals (To be added.)](./Index.md)
- [02. Architecture Constraints](./02_architecture_constraints.md)
- [03. Context and Scope](./03_system_scope_and_context.md)
- [04. Solution Strategy](./04_solution_strategy.md)
- [05. Building Block View](./05_building_block_view.md)
- [06. Runtime View (To be added.)](./Index.md)
- [07. Deployment View (To be added.)](./Index.md)
- [08. Concepts](./08_concepts.md)
- [09. Architecture Decisions (To be added)](./Index.md)
- [10. Quality Requirements](./10_quality_requirements.md)
- [11. Technical Risks (To be added)](./Index.md)
- [12. Glossary](12_glossary.md)

## NOTICE

This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).

- SPDX-License-Identifier: Apache-2.0
- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation
- Source URL: https://github.com/eclipse-tractusx/policy-hub
File renamed without changes.
File renamed without changes.

0 comments on commit a1341ec

Please sign in to comment.