Skip to content

Commit

Permalink
Release v1.9.8
Browse files Browse the repository at this point in the history
  • Loading branch information
Fannon committed Sep 27, 2024
1 parent f6eca67 commit f05ffa8
Show file tree
Hide file tree
Showing 13 changed files with 135 additions and 39 deletions.
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,14 @@ For a roadmap including expected timeline, please refer to [ROADMAP.md](./ROADMA

## [unreleased]

## [1.9.8]

### Added

- Added explicit `sap:base:v1` policy level to not conflate it with `none`
- So far we only had SAP to use ORD, so we assumed that `none` equals to our `sap:base:v1`.
By introducing this policy level, we can now keep `none` unopinionated.

## [1.9.7]

### Changed
Expand Down
12 changes: 6 additions & 6 deletions dist/types/v1/Document.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ export interface ORDDocument {
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
*
*/
policyLevel?: "none" | "sap:core:v1" | "custom";
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "custom";
/**
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
Expand Down Expand Up @@ -521,7 +521,7 @@ export interface APIResource {
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
*
*/
policyLevel?: "none" | "sap:core:v1" | "custom";
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "custom";
/**
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
Expand Down Expand Up @@ -1133,7 +1133,7 @@ export interface EventResource {
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
*
*/
policyLevel?: "none" | "sap:core:v1" | "custom";
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "custom";
/**
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
Expand Down Expand Up @@ -1389,7 +1389,7 @@ export interface EntityType {
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
*
*/
policyLevel?: "none" | "sap:core:v1" | "custom";
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "custom";
/**
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
Expand Down Expand Up @@ -1868,7 +1868,7 @@ export interface DataProduct {
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
*
*/
policyLevel?: "none" | "sap:core:v1" | "custom";
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "custom";
/**
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
Expand Down Expand Up @@ -2402,7 +2402,7 @@ export interface Package {
* The policy level can be defined on ORD Document level, but also be overwritten on an individual package or resource level.
*
*/
policyLevel?: "none" | "sap:core:v1" | "custom";
policyLevel?: "none" | "sap:base:v1" | "sap:core:v1" | "custom";
/**
* If the fixed `policyLevel` values need to be extended, an arbitrary `customPolicyLevel` can be provided.
* The policy level is inherited from packages to resources they contain, but can be overwritten at resource level.
Expand Down
31 changes: 31 additions & 0 deletions docs/spec-extensions/policy-levels/sap-base-v1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---
title: SAP Base v1
description: "sap:base:v1 compliance level."
sidebar_position: 2
---

# SAP Base Policy Level (v1.0)

## Description

This policy level (aka compliance level) `sap:base:v1` MUST be fulfilled by all SAP applications and services.
It includes the **essential** validations that ensure proper metadata discovery and aggregation.

Usually SAP applications and services will use the more complete and opinionated [`sap:core:v1`](./sap-core-v1.md) policy level.

## General Policies

### Namespaces

- All SAP [namespaces](../../spec-v1/index.md#namespaces) MUST be registered in the SAP namespace-registry.
- All SAP applications MUST use the `sap` vendor namespace.

### Packages

- The vendor of a Package MUST be set and be equal to one of the allowed values: `sap:vendor:SAP:`, `customer:vendor:Customer:`.

### Misc Constraints

- Although `Vendor` is technically not validated by a policy level, we need to ensure that within SAP we don't define the SAP vendor multiple times or reference it differently.
- The SAP `Vendor` MUST NOT be defined by any SAP application or service, as this is done centrally.
- The correct value for a SAP vendor reference is `sap:vendor:SAP:`.
7 changes: 5 additions & 2 deletions docs/spec-extensions/policy-levels/sap-core-v1.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
---
title: SAP Core v1
description: "sap:core:v1 compliance level."
sidebar_position: 1
---

# SAP Core Policy Level (v1.0)

## Description

This policy level (aka compliance level) `sap:core:v1` MUST be fulfilled by all SAP applications and services.
This policy level (aka compliance level) `sap:core:v1` is based on the [`sap:base:v1`](./sap-base-v1.md) policy level and inherits all its expectations.

It MUST be fulfilled by all SAP applications and services.
Exceptions are only allowed on a case by case basis.

This policy level is based on various SAP guidelines and rules - most of them which are already established.
Expand Down Expand Up @@ -135,7 +138,7 @@ The following constraints apply in addition to the constraints defined in the [O
- For [Packages](../../spec-v1/interfaces/document.md#package) with policy level sap, the Governance Guidelines for API Packages MUST be followed.
- This includes the current limitation that Packages MUST NOT contain mixed resource types. E.g., a Package must only contain either APIs or Events, but never both together.
- SAP Business Accelerator Hub publishing becomes slow if too much content is in a Package (> 100 resources). Consider creating smaller packages that are split around the aspect of what needs to be published in one transaction.
- The `vendor` of a Package MUST be set to `sap:vendor:SAP:`.
- The vendor of a Package MUST be set and be equal to one of the allowed values: `sap:vendor:SAP:`, `customer:vendor:Customer:`.

### Consumption Bundle

Expand Down
Loading

0 comments on commit f05ffa8

Please sign in to comment.