-
Notifications
You must be signed in to change notification settings - Fork 63
Makes route prefix setting routeNamePrefix optional
#868
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Makes route prefix setting routeNamePrefix optional
#868
Conversation
Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
dbwiddis
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While renaming will "fix" the sample, it doesn't solve the underlying problem:
- There is no documentation to users on what is a valid name (and the OpenSearch error message isn't helpful enough to debug the problem without referencing the source code)
- It disallows the existing names for every plugin, many of which we would migrate, e.g.,
opensearch-alerting,opensearch-anomaly-detection,opensearch-knn,opensearch-ml, etc.
The name here isn't actually used for anything programmatic. It's purely decorative and is only used as the response to the initialization command where it is displayed in a log message, and as the "node name". Node names in OpenSearch use hyphens.
Our test cases still use sample-extension as well, and don't fail on an illegal name there. If we're really set on disallowing a hyphen those need to validate the names.
I strongly prefer one of the following two options:
- Simply remove the
routePrefix()method and replace it with a constant in each REST handler, or a local method in a REST handler that uses an allowed prefix - If you keep the route prefix method, add a
setRoutePrefix()method that validates it's a legal prefix.
I agree. However routePrefix only comes into play if an extension developer decides to use it while registering a route. i.e. HelloWorld extension can also be registered without calling routePrefix method. This would still work. |
Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
8ee2f54
Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
|
Added a validation check when extensionName is set to be later used by |
Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
…ePrefix` Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
helloWorldrouteNamePrefix optional
|
@dbwiddis I've update the routePrefix setting to be completely optional in extension-settings.yml |
Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
src/main/java/org/opensearch/sdk/rest/BaseExtensionRestHandler.java
Outdated
Show resolved
Hide resolved
src/main/java/org/opensearch/sdk/rest/BaseExtensionRestHandler.java
Outdated
Show resolved
Hide resolved
…te name prefix Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
0edce76 to
29c3999
Compare
|
@DarshitChanpura I'm still confused, isn't this PR purpose is to add hyphen to the extension name? |
|
If this is about adding support for hyphen then why not update the pattern here? |
We are not meddling with extension name any more. This PR talks about a new optional setting |
This can be addressed in future PRs. As of now there are no restrictions on the way extension is named. The restrictions only apply to |
|
The backport to To backport manually, run these commands in your terminal: # Navigate to the root of your repository
cd $(git rev-parse --show-toplevel)
# Fetch latest updates from GitHub
git fetch
# Create a new working tree
git worktree add ../.worktrees/opensearch-sdk-java/backport-1.x 1.x
# Navigate to the new working tree
pushd ../.worktrees/opensearch-sdk-java/backport-1.x
# Create a new branch
git switch --create backport/backport-868-to-1.x
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x --mainline 1 9e31418e5642cd4772db8641d8baed2392480a16
# Push it to GitHub
git push --set-upstream origin backport/backport-868-to-1.x
# Go back to the original working tree
popd
# Delete the working tree
git worktree remove ../.worktrees/opensearch-sdk-java/backport-1.xThen, create a pull request where the |
|
Cherry-picking this manually into #866 |
…ject#868) * Renames demo extension to `helloWorld` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates uniqueId to not reflect the change Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Adds a validation check for setting extension name Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes checkstyle errors Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Adds routePrefix as an optional setting in .yml Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates dev guide to add documentation for the optional setting `routePrefix` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Renames `routePrefix` to `routeNamePrefix` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Renames erroneous instance of `hello-world` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Addresses PR feedback Signed-off-by: Darshit Chanpura <dchanp@amazon.com> (cherry picked from commit 0103ada30250693c7b986a9667fd0060b414a66e) * Changes allowed route name prefixes Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes error message and removes hyphen from allowed characters in route name prefix Signed-off-by: Darshit Chanpura <dchanp@amazon.com> --------- Signed-off-by: Darshit Chanpura <dchanp@amazon.com> (cherry picked from commit 9e31418)
… Makes route prefix setting routeNamePrefix optional #868 (#866) * Register new routes via SDK as named routes (#827) * WIP on Handler naming and SSL Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add concept of extension shortname via settings Signed-off-by: Craig Perkins <cwperx@amazon.com> * WIP on extension ssl Signed-off-by: Craig Perkins <cwperx@amazon.com> * Get registry from runner Signed-off-by: Craig Perkins <cwperx@amazon.com> * Read settings from extension config file Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update license headers Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove authz changes and only keep TLS Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove authz changes and only keep TLS Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove authz changes and only keep TLS Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove authz changes and only keep TLS Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove authz changes and only keep TLS Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update cert generation documents Signed-off-by: Craig Perkins <cwperx@amazon.com> * Re-add authz changes for sample Hello world extension Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add ssl.transport.enabled in ExtensionsRunner Signed-off-by: Craig Perkins <cwperx@amazon.com> * Name all HelloWorld extension routes Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Merge main into branch Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add instructions for running in SSL only mode Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add all SSL settings to extension settings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update TestExtensionsRunner Signed-off-by: Craig Perkins <cwperx@amazon.com> * Set default enforce_hostname_verification Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Respond to code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * fix merge conflicts Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix typos in debug messages Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add docstrings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove duplicate Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove duplicate Signed-off-by: Craig Perkins <cwperx@amazon.com> * Create ExtensionRouteHandlerFactory Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove extension: from action naming Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add javadoc Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix test compilation errors Signed-off-by: Craig Perkins <cwperx@amazon.com> * Consolidate registerHandler Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix missed registerHandler usage Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix javadoc Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add method to check if class is initialized Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix failing tests Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update helloworld-settings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add shortExtensionName to BaseExtensionRouteHandler Signed-off-by: Craig Perkins <cwperx@amazon.com> * Adds support for legacy action names while registering extension routes on extension start up Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Modifies sample hello extension to conform to the new registration scheme Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Renames route handlers Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Adds certificate generation script Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes spotless errors Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes Javadoc Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Cleans up route handlers to be more readable and adds an interface Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates test to reflect changes in route handler signatures Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes slf4j gradle build issue Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes replaced named route tests Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Changes the way named routes are serialized to conform to core and fixes tests Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Removes mention of shortNames and uses extensionName as permission prefix Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Used builder for named routes Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes broken changes Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates dev guide to state to use credentials when registering extension while security is enabled Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Replaces NamedRouteHandler and update logic to map route handlers for Rest request Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes typos Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Removes references to ReplaceNamedRouteHandlers and DeprecatedNamedRouteHandlers Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Addresses PR feedback Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Refactors ReplacedRoute and deprecated route handlers to use RestResponse Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Forces httpcore5 to 5.2.2 Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates documentation Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Addresses PR feedback Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes broken reference due to changes in core 52a5e3f6e0ca599e3193807134ea42660ecdd195 Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Removes extra resolutionStrategy Signed-off-by: Darshit Chanpura <dchanp@amazon.com> --------- Signed-off-by: Craig Perkins <cwperx@amazon.com> Signed-off-by: Darshit Chanpura <dchanp@amazon.com> Co-authored-by: Craig Perkins <cwperx@amazon.com> (cherry picked from commit 09c22b0) * Makes route prefix setting `routeNamePrefix` optional (#868) * Renames demo extension to `helloWorld` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates uniqueId to not reflect the change Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Adds a validation check for setting extension name Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes checkstyle errors Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Adds routePrefix as an optional setting in .yml Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates dev guide to add documentation for the optional setting `routePrefix` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Renames `routePrefix` to `routeNamePrefix` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Renames erroneous instance of `hello-world` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Addresses PR feedback Signed-off-by: Darshit Chanpura <dchanp@amazon.com> (cherry picked from commit 0103ada30250693c7b986a9667fd0060b414a66e) * Changes allowed route name prefixes Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes error message and removes hyphen from allowed characters in route name prefix Signed-off-by: Darshit Chanpura <dchanp@amazon.com> --------- Signed-off-by: Darshit Chanpura <dchanp@amazon.com> (cherry picked from commit 9e31418)
This reverts commit 9e31418.
…pensearch-project#827) and Makes route prefix setting routeNamePrefix optional opensearch-project#868 (opensearch-project#866)" This reverts commit 32d6567.
…pensearch-project#827) and Makes route prefix setting routeNamePrefix optional opensearch-project#868 (opensearch-project#866)" This reverts commit 32d6567. Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
) and Makes route prefix setting routeNamePrefix optional #868" (#877) * Revert "[Backport 1.x] Register new routes via SDK as named routes (#827) and Makes route prefix setting routeNamePrefix optional #868 (#866)" This reverts commit 32d6567. Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates extension() method call in build.gradle Signed-off-by: Darshit Chanpura <dchanp@amazon.com> --------- Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
…h-project#827) and Makes route prefix setting routeNamePrefix optional opensearch-project#868 (opensearch-project#866) * Register new routes via SDK as named routes (opensearch-project#827) * WIP on Handler naming and SSL Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add concept of extension shortname via settings Signed-off-by: Craig Perkins <cwperx@amazon.com> * WIP on extension ssl Signed-off-by: Craig Perkins <cwperx@amazon.com> * Get registry from runner Signed-off-by: Craig Perkins <cwperx@amazon.com> * Read settings from extension config file Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update license headers Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove authz changes and only keep TLS Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove authz changes and only keep TLS Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove authz changes and only keep TLS Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove authz changes and only keep TLS Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove authz changes and only keep TLS Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update cert generation documents Signed-off-by: Craig Perkins <cwperx@amazon.com> * Re-add authz changes for sample Hello world extension Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add ssl.transport.enabled in ExtensionsRunner Signed-off-by: Craig Perkins <cwperx@amazon.com> * Name all HelloWorld extension routes Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Merge main into branch Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add instructions for running in SSL only mode Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add all SSL settings to extension settings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update TestExtensionsRunner Signed-off-by: Craig Perkins <cwperx@amazon.com> * Set default enforce_hostname_verification Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Respond to code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * fix merge conflicts Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix typos in debug messages Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add docstrings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Address code review feedback Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove duplicate Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove duplicate Signed-off-by: Craig Perkins <cwperx@amazon.com> * Create ExtensionRouteHandlerFactory Signed-off-by: Craig Perkins <cwperx@amazon.com> * Remove extension: from action naming Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add javadoc Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix test compilation errors Signed-off-by: Craig Perkins <cwperx@amazon.com> * Consolidate registerHandler Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix missed registerHandler usage Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix javadoc Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add method to check if class is initialized Signed-off-by: Craig Perkins <cwperx@amazon.com> * Fix failing tests Signed-off-by: Craig Perkins <cwperx@amazon.com> * Update helloworld-settings Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Run spotlessApply Signed-off-by: Craig Perkins <cwperx@amazon.com> * Add shortExtensionName to BaseExtensionRouteHandler Signed-off-by: Craig Perkins <cwperx@amazon.com> * Adds support for legacy action names while registering extension routes on extension start up Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Modifies sample hello extension to conform to the new registration scheme Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Renames route handlers Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Adds certificate generation script Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes spotless errors Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes Javadoc Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Cleans up route handlers to be more readable and adds an interface Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates test to reflect changes in route handler signatures Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes slf4j gradle build issue Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes replaced named route tests Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Changes the way named routes are serialized to conform to core and fixes tests Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Removes mention of shortNames and uses extensionName as permission prefix Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Used builder for named routes Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes broken changes Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates dev guide to state to use credentials when registering extension while security is enabled Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Replaces NamedRouteHandler and update logic to map route handlers for Rest request Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes typos Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Removes references to ReplaceNamedRouteHandlers and DeprecatedNamedRouteHandlers Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Addresses PR feedback Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Refactors ReplacedRoute and deprecated route handlers to use RestResponse Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Forces httpcore5 to 5.2.2 Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates documentation Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Addresses PR feedback Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes broken reference due to changes in core 52a5e3f6e0ca599e3193807134ea42660ecdd195 Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Removes extra resolutionStrategy Signed-off-by: Darshit Chanpura <dchanp@amazon.com> --------- Signed-off-by: Craig Perkins <cwperx@amazon.com> Signed-off-by: Darshit Chanpura <dchanp@amazon.com> Co-authored-by: Craig Perkins <cwperx@amazon.com> (cherry picked from commit 09c22b0) * Makes route prefix setting `routeNamePrefix` optional (opensearch-project#868) * Renames demo extension to `helloWorld` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates uniqueId to not reflect the change Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Adds a validation check for setting extension name Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes checkstyle errors Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Adds routePrefix as an optional setting in .yml Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates dev guide to add documentation for the optional setting `routePrefix` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Renames `routePrefix` to `routeNamePrefix` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Renames erroneous instance of `hello-world` Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Addresses PR feedback Signed-off-by: Darshit Chanpura <dchanp@amazon.com> (cherry picked from commit 0103ada30250693c7b986a9667fd0060b414a66e) * Changes allowed route name prefixes Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Fixes error message and removes hyphen from allowed characters in route name prefix Signed-off-by: Darshit Chanpura <dchanp@amazon.com> --------- Signed-off-by: Darshit Chanpura <dchanp@amazon.com> (cherry picked from commit 9e31418)
…pensearch-project#827) and Makes route prefix setting routeNamePrefix optional opensearch-project#868" (opensearch-project#877) * Revert "[Backport 1.x] Register new routes via SDK as named routes (opensearch-project#827) and Makes route prefix setting routeNamePrefix optional opensearch-project#868 (opensearch-project#866)" This reverts commit 32d6567. Signed-off-by: Darshit Chanpura <dchanp@amazon.com> * Updates extension() method call in build.gradle Signed-off-by: Darshit Chanpura <dchanp@amazon.com> --------- Signed-off-by: Darshit Chanpura <dchanp@amazon.com>
Description
Describe what this change achieves.
Issues Resolved
#827 (comment)
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.