Skip to content
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

(DOCSP-38560): Edge Server Admin API Endpoint Documentation #741

Merged
merged 25 commits into from
Apr 26, 2024

Conversation

dacharyc
Copy link
Collaborator

@dacharyc dacharyc commented Apr 19, 2024

Pull Request Info

Jira ticket: https://jira.mongodb.org/browse/DOCSP-38560

A few endpoints aren't testable right now because of bugs or because they're not yet in prod, so adding these todo items which should carry over to the feature branch:

TODOS for Feature Branch:

  • Test Delete API
  • Test Regenerate API
  • Test Rename API
  • Populate data for Get Edge Server Info/metrics object

Release Notes

  • Admin API
    • New Edge Server endpoints:
      • List Edge Server instances
      • Get information about an Edge Server instance
      • Create an Edge Server instance
      • Delete an Edge Server instance
      • Regenerate an Edge Server registration key
      • Rename an Edge Server instance

Review Guidelines

REVIEWING.md

@dacharyc dacharyc added the merge to feature branch Unreleased feature - do not merge to Master label Apr 19, 2024
@dacharyc dacharyc changed the title (Docsp 38560): Edge Server Admin API Endpoint Documentation (DOCSP-38560): Edge Server Admin API Endpoint Documentation Apr 19, 2024
@dacharyc dacharyc requested review from sudssm and rukumar333 April 19, 2024 21:26
source/openapi-admin-v3.yaml Show resolved Hide resolved
example: 6622b8f5118368b943d228a9
description: |-
The unique identifier of the Edge Server instance, of type
ObjectId, as a string. You can use this identifier when configuring
Copy link

Choose a reason for hiding this comment

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

actually, you wouldn't use the edge server ID to configure permissions; you'd use it to delete/ update the edge server. you'duse the user id to configure perms

source/openapi-admin-v3.yaml Show resolved Hide resolved
description: |-
Save this information. When you install the Edge Server code on the
host, enter this registration key. The Edge Server exchanges this
for an API Key that it uses to authenticate with Atlas.
Copy link

Choose a reason for hiding this comment

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

worth adding that it can only be used once?

- "unregistered"
description: |-
The current status of the Edge Server instance.
hostname:
Copy link

Choose a reason for hiding this comment

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

this is not going to be populated for the foreseeable future; we should just omit it

tags:
- edge-server
operationId: adminRegenerateEdgeServerRegistrationKey
summary: Regenerate Edge Server registration key
Copy link

Choose a reason for hiding this comment

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

we should update all instances of "registration key" with "registration token". except, unfortunately, the endpoint itself which we will keep as-is for now

Copy link
Collaborator

@cbullinger cbullinger left a comment

Choose a reason for hiding this comment

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

current draft lgtm. happy to re-review once you apply tech feedback or after additional updates 👍

name:
type: string
example: Edge-Store-42
description: A human-readable name for the Edge Server instance.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
description: A human-readable name for the Edge Server instance.
description: A unique human-readable name for the Edge Server instance.

- edge-server
operationId: adminCreateEdgeServerInstance
summary: Create an Edge Server instance
description: Create a new Edge Server instance.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Do we want to mention any of the registration process here? e.g.

Suggested change
description: Create a new Edge Server instance.
description: Create a new Edge Server instance. The response returns a registration key (token?) that you use to authenticate Edge Server on the host.

description: A human-readable name for the Edge Server instance.
required: true
responses:
"201":
Copy link
Collaborator

Choose a reason for hiding this comment

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

I know we're crunched for time on this, but in general, should we be doc'ing the errors too?

@dacharyc dacharyc merged commit 9b8c1d4 into mongodb:edge-server-public-preview-docs Apr 26, 2024
5 checks passed
@dacharyc dacharyc deleted the DOCSP-38560 branch April 26, 2024 16:42
dacharyc added a commit that referenced this pull request Apr 30, 2024
* Edge Server: Add findAndModify command (#726)

* Add findAndModify command

* Apply review suggestion

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* (DOCSP-38851): Add a Manage Edge Servers page (#728)

* Draft Manage Edge Servers page

* Grammatical and other minor fixes

* Add info about Edge Server using Device Sync

* Formatting fixes

* Refactor enable Device Sync callout to include

* Add info about updating a data model

* Remove placeholders on Configure page in favor of other PR

* Remove 'Register' details as this occurs during configuration

* Add details about supported authentication providers

* Incorporate tech review feedback

* Clarify Edge Server service, instance language, grammar and typo fixes

* Fix wireprotocol to Wire Protocol

* Incorporate review feedback

* Change 'MongoDB URI' reference to 'Driver'

* Clarify details about _id field type

* (DOCSP-38550): Update Edge Server landing page for Public Preview (#739)

* Update Edge Server landing page for public preview

* Add meta description

* Apply suggestions from review

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Add info about the template app to the CTA

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* (DOCSP-38852): Update the 'Configure' page for Public Preview (#733)

* Update the 'Configure' page for Public Preview

* Clarify and add details, improve table styling in procedure

* More details and table formatting fixes

* Incorporate review feedback

* Add table widths to fix formatting

* Incorporate more review feedback

* Incorporate tech review feedback

* Apply tech review feedback

* Clarify linked data source

* Simplify collection/schema in the example copy

* (DOCSP-38553): Update the 'Connect' page for Public Preview (#735)

* Update the 'Connect' page for Public Preview

* Product naming and grammar fixes

* Update server/instance/service language per discussion

* Incorporate review feedback

* Incorporate tech review feedback and test connecting

* Remove the 'Supported Auth Providers' section

* Apply review suggestions

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Incorporate review feedback

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Note that num_local_clients does not include Wire Protocol connections

* (DOCSP-38875): Edge Server Permissions Guide (#745)

* Draft Edge Server permissions page

* Reverse the order of client permissions to match example image

* Rename section and update refs to match

* Wording clarifications

* Apply suggestions from review

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Move explanations above examples

* Apply tech review feedback

* Fix snippet highlighting range

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* (DOCSP-38560): Edge Server Admin API Endpoint Documentation (#741)

* Initial draft of new Edge endpoints

* Remove endpoints to try to get docs to build

* Fix nesting maybe

* Add type for Get response schema

* Add examples

* Add info about user_id, status enum options

* Add examples for combined schema

* Remove inline examples

* Add Edge Server tag

* Change 'examples' to 'example'

* Move examples to schema definition

* Add examples back to inline base definition

* Move base example to schema level instead of inline

* Remove base object and move definitions into separate objects

* Minor tweaks to descriptions and required fields

* Updates based on API code

* Incorporate review feedback

* Note that 'hostname' is not currently populated

* Update HTTP responses for newly-tested endpoints

* Wrap date times in quotes

* Add metrics details

* Fix build error

* Remove 'placeholder' boilerplate

* Update example query to a more general, representative example

* Update the correct query example

* (DOCSP-38554): Add a Monitor Edge Server page (#748)

* WIP draft monitor page

* Populate log details

* Adjust table spacing

* Adjust table spacing

* Adjust table spacing

* Adjust table spacing

* Adjust table spacing

* Apply suggestions from review

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Add BOOTSTRAPPING to the status options

* Move table contents over by one space to fix formatting issue

* Change widths to adjust spacing

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* (DOCSP-39016): Update `edgectl` details for `init`, `query` and `profile` (#747)

* Update edgectl details for release

* Fix unexpected intent error

* Update the cycle registration token flag

* Apply review feedback

* (DOCSP-38863): Address TODOs and placeholders to prepare Feature Branch for merging (#749)

* Populate Admin API details in procedures on the Manage page

* Populate placeholder refs to Metrics and Logs on Manage page

* Fix title underline length issues on Permissions page

* Populate Admin API endpoint placeholder on Permissions page

* Populate Admin API placeholders on Monitor page

* Add info about adding Edge Servers to a Device Sync App

* Add detail about stopping and starting an instance to add a new collection

* Apply suggestions from review

Co-authored-by: lindseymoore <71525840+lindseymoore@users.noreply.github.com>

---------

Co-authored-by: lindseymoore <71525840+lindseymoore@users.noreply.github.com>

* Apply suggestions from review

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Be more explicit in edgectl bool flags and remove unneeded flag

* Fix missing Admin API placeholders

* Add boostrapping state for Edge Server status in the UI

* Capitalize Wire Protocol

* Replace generic Data Services procedure with specific procedure

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>
Co-authored-by: lindseymoore <71525840+lindseymoore@users.noreply.github.com>
MongoCaleb pushed a commit to MongoCaleb/docs-app-services that referenced this pull request Jun 3, 2024
* Edge Server: Add findAndModify command (mongodb#726)

* Add findAndModify command

* Apply review suggestion

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* (DOCSP-38851): Add a Manage Edge Servers page (mongodb#728)

* Draft Manage Edge Servers page

* Grammatical and other minor fixes

* Add info about Edge Server using Device Sync

* Formatting fixes

* Refactor enable Device Sync callout to include

* Add info about updating a data model

* Remove placeholders on Configure page in favor of other PR

* Remove 'Register' details as this occurs during configuration

* Add details about supported authentication providers

* Incorporate tech review feedback

* Clarify Edge Server service, instance language, grammar and typo fixes

* Fix wireprotocol to Wire Protocol

* Incorporate review feedback

* Change 'MongoDB URI' reference to 'Driver'

* Clarify details about _id field type

* (DOCSP-38550): Update Edge Server landing page for Public Preview (mongodb#739)

* Update Edge Server landing page for public preview

* Add meta description

* Apply suggestions from review

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Add info about the template app to the CTA

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* (DOCSP-38852): Update the 'Configure' page for Public Preview (mongodb#733)

* Update the 'Configure' page for Public Preview

* Clarify and add details, improve table styling in procedure

* More details and table formatting fixes

* Incorporate review feedback

* Add table widths to fix formatting

* Incorporate more review feedback

* Incorporate tech review feedback

* Apply tech review feedback

* Clarify linked data source

* Simplify collection/schema in the example copy

* (DOCSP-38553): Update the 'Connect' page for Public Preview (mongodb#735)

* Update the 'Connect' page for Public Preview

* Product naming and grammar fixes

* Update server/instance/service language per discussion

* Incorporate review feedback

* Incorporate tech review feedback and test connecting

* Remove the 'Supported Auth Providers' section

* Apply review suggestions

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Incorporate review feedback

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Note that num_local_clients does not include Wire Protocol connections

* (DOCSP-38875): Edge Server Permissions Guide (mongodb#745)

* Draft Edge Server permissions page

* Reverse the order of client permissions to match example image

* Rename section and update refs to match

* Wording clarifications

* Apply suggestions from review

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Move explanations above examples

* Apply tech review feedback

* Fix snippet highlighting range

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* (DOCSP-38560): Edge Server Admin API Endpoint Documentation (mongodb#741)

* Initial draft of new Edge endpoints

* Remove endpoints to try to get docs to build

* Fix nesting maybe

* Add type for Get response schema

* Add examples

* Add info about user_id, status enum options

* Add examples for combined schema

* Remove inline examples

* Add Edge Server tag

* Change 'examples' to 'example'

* Move examples to schema definition

* Add examples back to inline base definition

* Move base example to schema level instead of inline

* Remove base object and move definitions into separate objects

* Minor tweaks to descriptions and required fields

* Updates based on API code

* Incorporate review feedback

* Note that 'hostname' is not currently populated

* Update HTTP responses for newly-tested endpoints

* Wrap date times in quotes

* Add metrics details

* Fix build error

* Remove 'placeholder' boilerplate

* Update example query to a more general, representative example

* Update the correct query example

* (DOCSP-38554): Add a Monitor Edge Server page (mongodb#748)

* WIP draft monitor page

* Populate log details

* Adjust table spacing

* Adjust table spacing

* Adjust table spacing

* Adjust table spacing

* Adjust table spacing

* Apply suggestions from review

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Add BOOTSTRAPPING to the status options

* Move table contents over by one space to fix formatting issue

* Change widths to adjust spacing

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* (DOCSP-39016): Update `edgectl` details for `init`, `query` and `profile` (mongodb#747)

* Update edgectl details for release

* Fix unexpected intent error

* Update the cycle registration token flag

* Apply review feedback

* (DOCSP-38863): Address TODOs and placeholders to prepare Feature Branch for merging (mongodb#749)

* Populate Admin API details in procedures on the Manage page

* Populate placeholder refs to Metrics and Logs on Manage page

* Fix title underline length issues on Permissions page

* Populate Admin API endpoint placeholder on Permissions page

* Populate Admin API placeholders on Monitor page

* Add info about adding Edge Servers to a Device Sync App

* Add detail about stopping and starting an instance to add a new collection

* Apply suggestions from review

Co-authored-by: lindseymoore <71525840+lindseymoore@users.noreply.github.com>

---------

Co-authored-by: lindseymoore <71525840+lindseymoore@users.noreply.github.com>

* Apply suggestions from review

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>

* Be more explicit in edgectl bool flags and remove unneeded flag

* Fix missing Admin API placeholders

* Add boostrapping state for Edge Server status in the UI

* Capitalize Wire Protocol

* Replace generic Data Services procedure with specific procedure

---------

Co-authored-by: cbullinger <115956901+cbullinger@users.noreply.github.com>
Co-authored-by: lindseymoore <71525840+lindseymoore@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge to feature branch Unreleased feature - do not merge to Master
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants