Initialize EAM /appinstances callback (2)#407
Initialize EAM /appinstances callback (2)#407clundie-CL wants to merge 13 commits intocamaraproject:mainfrom
Conversation
|
Hi @hdamker , do you know why the megaLinter stopped after 15 minutes?? |
The question is rather why it ran 15 minutes, that's much too long ... that can be a timeout. Just restarted the job and it failed after a minute ;-) |
|
@hdamker Thanks for taking a look and providing some insights. @JoseMConde and @gunjald PR should be ready now that the linter error has been addressed. |
| the server will return a callback response at the specified URL. | ||
|
|
||
| **WARNING**: This callback endpoint must be exposed on the listener side as `POST {$request.body#/subscriptionRequest/sink}` | ||
| operationId: EdgeApplicationManagementDeploymentCallback |
There was a problem hiding this comment.
I think as an enhancement of the documentation we need to slightly update the description which is not linked with this issue itself. The terms like application deployment, application onboarding and application instantiation seems to have some overlaps which can be improved. So we may have another issue created to take the discussion outside of this issue.
| format: date-time | ||
| example: 2023-01-17T13:18:23.682Z | ||
| description: The subscription expiration time (in date-time format) requested by the API consumer. It must follow [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6) and must have time zone. | ||
| subscriptionMaxEvents: |
There was a problem hiding this comment.
Should we allow for some max limit that the platform can impose? Otherwise I may put an arbitrary big number which could mean unlimited events?
What type of PR is this?
enhancement/feature
What this PR does / why we need it:
This PR continues work from #373 (originally opened by @travishepworth ) to add callback support for POST /appinstances. Travis's PR was opened from a fork on his personal GitHub account and since I don't have permissions to push commits to this repo, I have elected to recreate his branch on the CableLabs' fork and submit this companion PR.
This update addresses reviewer feedback (#373 (comment)) by expanding the
terminationReasonenum to include comprehensive termination scenarios that prevent infinite retry loops and provide developers with actionable diagnostic information.Key additions:
SUBSCRIPTION_DELETED,NETWORK_TERMINATEDDELIVERY_FAILURE(for repeated sink endpoint failures),RESOURCE_DELETED(for deleted app instances/deployments)This aligns with CAMARA CloudEvents standards and webhook API best practices, ensuring developers receive clear signals about why subscriptions terminated and whether they should retry.
Which issue(s) this PR fixes:
Fixes #370
Special notes for reviewers:
This PR addresses the review feedback from #373 regarding the need for expanded termination reasons with diagnostic information. The termination reasons now follow the CAMARA CloudEvents subscription template standard and include reasons that prevent clients from retrying operations that will always fail due to application-level issues.
The implementation remains backward-compatible. No breaking changes to existing callback behavior.
Changelog input