Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ NOTE:

## Table of contents

- [r2.1 - rc](#r21---rc)
- [r1.3](#r13)
- [r1.2 - rc](#r12---rc)
- [r1.1 - rc](#r11---rc)
Expand All @@ -22,6 +23,48 @@ The below sections record the changes for each API version in each release as fo

NOTE: SimpleEdgeDiscovery is part of the EdgeCloud API Sub Project, and was previously developed within the [EdgeCloud](https://github.com/camaraproject/EdgeCloud) repository. Two releases were made within EdgeCloud, v0.81 and r0.9.3-rc. These releases also include the other EdgeCloud APIs and materials, so the changelog below highlights only the changes related to SimpleEdgeDiscovery. Further information and links to the releases in EdgeCloud can be found below.

# r2.1 - rc

This release candidate contains the definition and documentation of
* simple-edge-discovery v2.0.0-rc.1

The API definition(s) are based on
* Commonalities v0.6.0-rc.1 (r3.2)
* Identity and Consent Management v0.4.0-rc.1 (r3.2)

It contains the **following breaking changes** compared to the last public release [r1.3](#r13):

* The API's single operation has been refactored from GET to POST
* The operation resource URI has changed from `/edge-cloud-zones?filter=closest` to `/retrieve-closest-edge-cloud-zone`
* One or more device identifiers must be passed either via a 3-legged access token or in the request body.

- API definition with inline documentation:
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/SimpleEdgeDiscovery/r2.1/code/API_definitions/simple-edge-discovery.yaml&nocors)
- [View it on Swagger Editor](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/SimpleEdgeDiscovery/r2.1/code/API_definitions/simple-edge-discovery.yaml)
- [OpenAPI YAML spec file](https://github.com/camaraproject/SimpleEdgeDiscovery/blob/r2.1/code/API_definitions/simple-edge-discovery.yaml)

### Added

- [x] fix: added DeviceResponse object by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/102
- [x] fix: added section on non-documented errors by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/92

### Changed

- [x] refactor!: changed discovery operation method from GET to POST by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/78
- [x] docs: updated examples and usage description following refactoring to POST by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/81
- [x] refactor!: feature file updated to reflect change from GET to POST by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/118
- [x] fix: updated 200 OK Response to a schema object by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/117
- [x] fix: changed XCorrelator to an object and added resulting $refs by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/116
- [x] fix: updated x-correlator pattern by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/93
- [x] fix: updated x-camara-commonalities to 0.6 by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/101
- [x] test: updated x-correlator in .feature to assert compliance with common schema by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/114

### Removed

- [x] fix: removed 401 AUTHENTICATION_REQUIRED by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/90
- [x] fix: removed 422 IDENTIFIER MISMATCH by @Kevsy in https://github.com/camaraproject/SimpleEdgeDiscovery/pull/89


# r1.3

This release contains the definition and documentation of
Expand Down
12 changes: 9 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,17 @@ Incubating API Repository to evolve and maintain the definitions and documentati

## Release Information

The latest public release is available here: https://github.com/camaraproject/SimpleEdgeDiscovery/releases/latest
* Note: Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until a new release is created. For example, changes may be reverted before a release is created. **For best results, use the latest public release**.

Pre-releases of this sub project are available in https://github.com/camaraproject/SimpleEdgeDiscovery/releases
* **The latest pre-release is [r2.1 - rc](https://github.com/camaraproject/SimpleEdgeDiscovery/releases/tag/r2.1), with the following API version:**

For changes see [CHANGELOG.md](/CHANGELOG.md)
* **simple-edge-discovery v2.0.0-rc.1**
[[YAML]](https://github.com/camaraproject/SimpleEdgeDiscovery/blob/r2.1/code/API_definitions/simple-edge-discovery.yaml)
[[View it on ReDoc]](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/SimpleEdgeDiscovery/r2.1/code/API_definitions/simple-edge-discovery.yaml&nocors)
[[View it on Swagger Editor]](https://camaraproject.github.io/swagger-ui/?url=https://raw.githubusercontent.com/camaraproject/SimpleEdgeDiscovery/r2.1/code/API_definitions/simple-edge-discovery.yaml)

* Previous releases and pre-releases are available [here](https://github.com/camaraproject/SimpleEdgeDiscovery/releases)
* For changes see [CHANGELOG.md](/CHANGELOG.md)

## Contributing
* Meetings (as part of Edge Cloud Sub Project)
Expand Down
1 change: 0 additions & 1 deletion code/API_definitions/README.MD

This file was deleted.

12 changes: 7 additions & 5 deletions code/API_definitions/simple-edge-discovery.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
openapi: 3.0.3
info:
title: Simple Edge Discovery
version: wip
version: 2.0.0-rc.1
x-camara-commonalities: 0.6
description: |
# Find the closest Edge Cloud Zone
Expand Down Expand Up @@ -142,10 +142,12 @@ info:
### Additional CAMARA error responses
The list of error codes in this API specification is not exhaustive. Therefore
the API specification may not document some non-mandatory error statuses as
indicated in `CAMARA API Design Guidelines`.
indicated in `CAMARA API Design Guide`.

Please refer to the `CAMARA_common.yaml` of the Commonalities Release associated
to this API version for a complete list of error responses.
to this API version for a complete list of error responses. The applicable
Commonalities Release can be identified in the `API Readiness Checklist` document
associated to this API version.

As a specific rule, error `501 - NOT_IMPLEMENTED` can be only a possible error
response if it is explicitly documented in the API.
Expand Down Expand Up @@ -187,7 +189,7 @@ externalDocs:
url: https://github.com/camaraproject/EdgeCloud

servers:
- url: "{apiRoot}/simple-edge-discovery/vwip"
- url: "{apiRoot}/simple-edge-discovery/v2rc1"
variables:
apiRoot:
default: https://localhost:9091
Expand All @@ -205,7 +207,7 @@ paths:
post:
security:
- openId:
- simple-edge-discovery:edge-cloud-zones:read
- simple-edge-discovery:read
Copy link
Copy Markdown
Contributor

@hdamker hdamker Jul 8, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for curiosity: why this (breaking) change? (I guess both options are correct)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for curiosity: why this (breaking) change? (I guess both options are correct)

@hdamker changed because the Design Guide says:

"

  • api-name is the API name specified as the base path, prior to the API version, in the servers[*].url property. For example, from /location-verification/v1, it would be location-verification.

  • resource is optional. For APIs with several paths, it may include the resource in the path. For example, from /qod/v1/sessions/{sessionId}, it would be sessions."

"

Since SED has only one path, the optional resource does not apply according to the wording above. As this release is breaking anyway (because of the move from GET to POST) it seems a good time to make the scope name compliant at the same time :)

operationId: readClosestEdgeCloudZone
parameters:
- in: header
Expand Down
6 changes: 3 additions & 3 deletions code/Test_definitions/simple-edge-discovery.feature
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
Feature: CAMARA Simple Edge Discovery API - Operation readClosestEdgeCloudZone
Feature: CAMARA Simple Edge Discovery API, v2.0.0-rc.1 - Operation readClosestEdgeCloudZone

Background:
Given an environment at "apiRoot"
And the resource "/simple-edge-discovery/vwip/retrieve-closest-edge-cloud-zone" |
And the resource "/simple-edge-discovery/v2rc1/retrieve-closest-edge-cloud-zone" |
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" complies with the schema at "#/components/schemas/XCorrelator"
Expand Down Expand Up @@ -63,6 +63,6 @@ Feature: CAMARA Simple Edge Discovery API - Operation readClosestEdgeCloudZone
@simple_edge_discovery_error_scenario_06_operator_cannot_resolve
Scenario: Internal error at operator
Given the request "readClosestEdgeCloudZone" is sent
And the device has been succesfully identified
And the device has been successfully identified
When the operator is unable to resolve due to internal error
Then the response code is 500 INTERNAL
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# API Readiness Checklist

Checklist for simple-edge-discovery v1.0.0
Checklist for simple-edge-discovery v2.0.0-rc.1

| Nr | API release assets | alpha | release-candidate | initial<br>public | stable<br> public | Status | Comments |
|----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|:----:|
| 1 | API definition | M | M | M | M | Y | [link](/code/API_definitions/simple-edge-discovery.yaml) |
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | 0.6 |
| 3 | Guidelines from ICM applied | O | M | M | M | Y | 0.4 |
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/Commonalities/releases/tag/r3.2) |
| 3 | Guidelines from ICM applied | O | M | M | M | Y | [r3.2](https://github.com/camaraproject/IdentityAndConsentManagement/releases/tag/r3.2) |
| 4 | API versioning convention applied | M | M | M | M | Y | |
| 5 | API documentation | M | M | M | M | Y | in yaml |
| 6 | User stories | O | O | O | M | Y | [link](/documentation/API_documentation/SimpleEdgeDiscovery_User_Story.md) |
Expand Down