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

chore(api-ref): Uplift API reference docs: #5595

Draft
wants to merge 51 commits into
base: master
Choose a base branch
from
Draft

Conversation

jstirnaman
Copy link
Contributor

@jstirnaman jstirnaman commented Sep 6, 2024

⚠️ For demo only - Don't merge!

  • Adapts code from @jstirnaman's demo site to generate Hugo pages from OpenAPI paths in the InfluxDB spec files.

  • Uses Rapidoc to render the OpenAPI path in a page--effectively treating each endpoint as a standalone API for faster loading.
    To build the API pages, inside DOCS_ROOT, run

    yarn run build-apidocs

Changes as of 9/23:

  • No longer uses Hugo /data or separate files--only pages.
  • Removes dependency on the Hugo-data-to-pages script.
  • For each product endpoint, generate a page with the endpoint spec inside the frontmatter.
  • Writes endpoint specs into each page's frontmatter.
  • Assign a type property for API reference (OpenAPI) paths. For example, if the page structure is content/influxdb/v2/api/v2/[OpenAPI path], then add type: api_path to the frontmatter and, if necessary, specify a layout: layout: api_path.
  • Renders the spec param JSON using Rapidoc.

jstirnaman and others added 30 commits September 6, 2024 12:58
- Adapts code from @jstirnaman's demo site to generate Hugo pages from OpenAPI paths in the InfluxDB spec files.
- Uses Rapidoc to render the OpenAPI path in a page--effectively treating each endpoint as a standalone API for faster loading.
- Run yarn install and then Executing: api-docs/getswagger.sh cloud-v2 -B
No URL was provided. I'll rebuild from the existing spec /Users/ja/Documents/github/docs-v2/api-docs/cloud/v2/ref.yml
10.8.2
Generating OpenAPI path files in static/openapi/influxdb-cloud-v2/paths....
Generating OpenAPI article data in data/article-data/influxdb/cloud-v2...
Executing: HUGO_DATAPAGES_DATA_PATH=data/article-data/influxdb/cloud-v2     HUGO_DATAPAGES_ELEMENT=articles     HUGO_DATAPAGES_TYPE=api     HUGO_DATAPAGES_CONTENT_PATH=content/influxdb/cloud/api/v2     node hugo-data-to-pages/hugo.js clean --force
Removing data-generated files...
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-authorizations
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-buckets
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-checks
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-dashboards
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-dbrps
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-delete
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-flags
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-labels
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-maps
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-me
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-notificationEndpoints
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-notificationRules
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-orgs
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-query
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-resources
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-scripts
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-setup
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-signin
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-signout
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-stacks
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-tasks
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-telegraf
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-telegrafs
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-templates
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-users
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-variables
Removed folder: ./content/influxdb/cloud/api/v2/api-v2-write
Removed folder: ./content/influxdb/cloud/api/v2/api-v2
Removed folder: ./content/influxdb/cloud/api/v2/legacy-authorizations
Removed folder: ./content/influxdb/cloud/api/v2/ping
Removed folder: ./content/influxdb/cloud/api/v2/query
Removed folder: ./content/influxdb/cloud/api/v2/write
Done!
Executing: HUGO_DATAPAGES_DATA_PATH=data/article-data/influxdb/cloud-v2     HUGO_DATAPAGES_ELEMENT=articles     HUGO_DATAPAGES_TYPE=api     HUGO_DATAPAGES_CONTENT_PATH=content/influxdb/cloud/api/v2     node hugo-data-to-pages/hugo.js generate
Building data-generated files...
Created file: ./content/influxdb/cloud/api/v2/api-v2-authorizations/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-buckets/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-checks/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-dashboards/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-dbrps/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-delete/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-flags/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-labels/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-maps/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-me/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-notificationEndpoints/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-notificationRules/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-orgs/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-query/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-resources/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-scripts/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-setup/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-signin/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-signout/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-stacks/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-tasks/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-telegraf/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-telegrafs/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-templates/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-users/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-variables/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2-write/index.md
Created file: ./content/influxdb/cloud/api/v2/api-v2/index.md
Created file: ./content/influxdb/cloud/api/v2/legacy-authorizations/index.md
Created file: ./content/influxdb/cloud/api/v2/ping/index.md
Created file: ./content/influxdb/cloud/api/v2/query/index.md
Created file: ./content/influxdb/cloud/api/v2/write/index.md
Done!
Executing: api-docs/getswagger.sh oss-v2 -B
No URL was provided. I'll rebuild from the existing spec /Users/ja/Documents/github/docs-v2/api-docs/v2/ref.yml
10.8.2
Generating OpenAPI path files in static/openapi/influxdb-oss-v2/paths....
Generating OpenAPI article data in data/article-data/influxdb/oss-v2...
Executing: HUGO_DATAPAGES_DATA_PATH=data/article-data/influxdb/oss-v2     HUGO_DATAPAGES_ELEMENT=articles     HUGO_DATAPAGES_TYPE=api     HUGO_DATAPAGES_CONTENT_PATH=content/influxdb/v2/api/v2     node hugo-data-to-pages/hugo.js clean --force
Removing data-generated files...
Removed folder: ./content/influxdb/v2/api/v2/api-v2-authorizations
Removed folder: ./content/influxdb/v2/api/v2/api-v2-backup
Removed folder: ./content/influxdb/v2/api/v2/api-v2-buckets
Removed folder: ./content/influxdb/v2/api/v2/api-v2-checks
Removed folder: ./content/influxdb/v2/api/v2/api-v2-config
Removed folder: ./content/influxdb/v2/api/v2/api-v2-dashboards
Removed folder: ./content/influxdb/v2/api/v2/api-v2-dbrps
Removed folder: ./content/influxdb/v2/api/v2/api-v2-delete
Removed folder: ./content/influxdb/v2/api/v2/api-v2-flags
Removed folder: ./content/influxdb/v2/api/v2/api-v2-labels
Removed folder: ./content/influxdb/v2/api/v2/api-v2-maps
Removed folder: ./content/influxdb/v2/api/v2/api-v2-me
Removed folder: ./content/influxdb/v2/api/v2/api-v2-notificationEndpoints
Removed folder: ./content/influxdb/v2/api/v2/api-v2-notificationRules
Removed folder: ./content/influxdb/v2/api/v2/api-v2-orgs
Removed folder: ./content/influxdb/v2/api/v2/api-v2-query
Removed folder: ./content/influxdb/v2/api/v2/api-v2-remotes
Removed folder: ./content/influxdb/v2/api/v2/api-v2-replications
Removed folder: ./content/influxdb/v2/api/v2/api-v2-resources
Removed folder: ./content/influxdb/v2/api/v2/api-v2-restore
Removed folder: ./content/influxdb/v2/api/v2/api-v2-scrapers
Removed folder: ./content/influxdb/v2/api/v2/api-v2-setup
Removed folder: ./content/influxdb/v2/api/v2/api-v2-signin
Removed folder: ./content/influxdb/v2/api/v2/api-v2-signout
Removed folder: ./content/influxdb/v2/api/v2/api-v2-sources
Removed folder: ./content/influxdb/v2/api/v2/api-v2-stacks
Removed folder: ./content/influxdb/v2/api/v2/api-v2-tasks
Removed folder: ./content/influxdb/v2/api/v2/api-v2-telegraf
Removed folder: ./content/influxdb/v2/api/v2/api-v2-telegrafs
Removed folder: ./content/influxdb/v2/api/v2/api-v2-templates
Removed folder: ./content/influxdb/v2/api/v2/api-v2-users
Removed folder: ./content/influxdb/v2/api/v2/api-v2-variables
Removed folder: ./content/influxdb/v2/api/v2/api-v2-write
Removed folder: ./content/influxdb/v2/api/v2/api-v2
Removed folder: ./content/influxdb/v2/api/v2/debug-pprof-all
Removed folder: ./content/influxdb/v2/api/v2/debug-pprof-allocs
Removed folder: ./content/influxdb/v2/api/v2/debug-pprof-block
Removed folder: ./content/influxdb/v2/api/v2/debug-pprof-cmdline
Removed folder: ./content/influxdb/v2/api/v2/debug-pprof-goroutine
Removed folder: ./content/influxdb/v2/api/v2/debug-pprof-heap
Removed folder: ./content/influxdb/v2/api/v2/debug-pprof-mutex
Removed folder: ./content/influxdb/v2/api/v2/debug-pprof-profile
Removed folder: ./content/influxdb/v2/api/v2/debug-pprof-threadcreate
Removed folder: ./content/influxdb/v2/api/v2/debug-pprof-trace
Removed folder: ./content/influxdb/v2/api/v2/health
Removed folder: ./content/influxdb/v2/api/v2/legacy-authorizations
Removed folder: ./content/influxdb/v2/api/v2/metrics
Removed folder: ./content/influxdb/v2/api/v2/ping
Removed folder: ./content/influxdb/v2/api/v2/query
Removed folder: ./content/influxdb/v2/api/v2/ready
Removed folder: ./content/influxdb/v2/api/v2/write
Done!
Executing: HUGO_DATAPAGES_DATA_PATH=data/article-data/influxdb/oss-v2     HUGO_DATAPAGES_ELEMENT=articles     HUGO_DATAPAGES_TYPE=api     HUGO_DATAPAGES_CONTENT_PATH=content/influxdb/v2/api/v2     node hugo-data-to-pages/hugo.js generate
Building data-generated files...
Created file: ./content/influxdb/v2/api/v2/api-v2-authorizations/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-backup/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-buckets/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-checks/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-config/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-dashboards/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-dbrps/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-delete/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-flags/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-labels/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-maps/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-me/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-notificationEndpoints/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-notificationRules/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-orgs/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-query/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-remotes/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-replications/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-resources/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-restore/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-scrapers/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-setup/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-signin/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-signout/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-sources/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-stacks/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-tasks/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-telegraf/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-telegrafs/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-templates/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-users/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-variables/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2-write/index.md
Created file: ./content/influxdb/v2/api/v2/api-v2/index.md
Created file: ./content/influxdb/v2/api/v2/debug-pprof-all/index.md
Created file: ./content/influxdb/v2/api/v2/debug-pprof-allocs/index.md
Created file: ./content/influxdb/v2/api/v2/debug-pprof-block/index.md
Created file: ./content/influxdb/v2/api/v2/debug-pprof-cmdline/index.md
Created file: ./content/influxdb/v2/api/v2/debug-pprof-goroutine/index.md
Created file: ./content/influxdb/v2/api/v2/debug-pprof-heap/index.md
Created file: ./content/influxdb/v2/api/v2/debug-pprof-mutex/index.md
Created file: ./content/influxdb/v2/api/v2/debug-pprof-profile/index.md
Created file: ./content/influxdb/v2/api/v2/debug-pprof-threadcreate/index.md
Created file: ./content/influxdb/v2/api/v2/debug-pprof-trace/index.md
Created file: ./content/influxdb/v2/api/v2/health/index.md
Created file: ./content/influxdb/v2/api/v2/legacy-authorizations/index.md
Created file: ./content/influxdb/v2/api/v2/metrics/index.md
Created file: ./content/influxdb/v2/api/v2/ping/index.md
Created file: ./content/influxdb/v2/api/v2/query/index.md
Created file: ./content/influxdb/v2/api/v2/ready/index.md
Created file: ./content/influxdb/v2/api/v2/write/index.md
Done! to generate the paths, metadata, and pages.
- Replaces hugo-data-to-pages with forked repo that accepts a config object and uses a more recent version of js-yaml.
- Uses async to wait for scripts to complete.
…s and simplifying module and function names.
… directory.

No longer uses Hugo /data.
Removes dependency on the Hugo-data-to-pages script.
For each product endpoint, generate a page with the endpoint spec inside the frontmatter.
Writes endpoint specs into each page's frontmatter.
Assign a `type` property for API reference (OpenAPI) paths. For example, if the page structure is `content/influxdb/v2/api/v2/[OpenAPI path]`, then add `type: api_path` to the frontmatter and, if necessary, specify a layout: `layout: api_path`.
Renders the spec param JSON using Rapidoc.

TODO:
- Cleanup
- Create additional templates that process page data for nav, filtering, links, code samples, etc.
- Fix circular reference issues in specs that prevent generating a dereferenced JSON bundle (which could also help us our own custom UI...should we choose).
…ents

- Part of investigation into influxdata/DAR#434
- Tested using regex function arguments in InfluxQL functions in InfluxDB v1
and v2.
- Add test setup and a test for v2
- Add examples for v2
- Update lint and test configs
* added influxdb clustered release notes and release-toc shortcode

* added comments to release-toc js

* chore(influxql): Test and improve InfluxQL functions with regex arguments

- Part of investigation into influxdata/DAR#434
- Tested using regex function arguments in InfluxQL functions in InfluxDB v1
and v2.
- Add test setup and a test for v2
- Add examples for v2
- Update lint and test configs

* chore: tidy functions and remind me where the jQuery is (#5593)

---------

Co-authored-by: Jason Stirnaman <[email protected]>
Co-authored-by: Jason Stirnaman <[email protected]>
…ion strings (#5591)

* fix(clustered): document the use of special symbols PostgeSQL connection strings

* docs: style fixup

Co-authored-by: Scott Anderson <[email protected]>

* docs: style fixup

Co-authored-by: Scott Anderson <[email protected]>

---------

Co-authored-by: Jason Stirnaman <[email protected]>
Co-authored-by: Scott Anderson <[email protected]>
- Closes #5576
- Integrates guidance from influxdata/influxdb_iox#11974 for
Cloud Dedicated and Clustered.
- Updates examples to include filter conditions.
- Fixes sidebar navigation for API pages, moving the v1-compatibility Hugo page into Develop with the API.
- Makes titles consistent for API reference docs.
- Disables linkify autolinking of URLs and email addresses to prevent autolinking example email addresses (I audited content to make sure we don't rely on the autolinking behavior; we use explicit HTML/MD syntax for links)
- Uses standard placeholders and adds test setup for v1-compat write and query.
- Clean up Markdown
- Adds home-sensor-data.lp to Downloads (thought it was already there)
According to code comments, a time part is required for new tables and records.
Co-authored-by: Jason Stirnaman <[email protected]>
Part three of deletion outside of default retention policy feature request work. This updates the InfluxQL documentation to reflect that a retention policy can now be specified in the `FROM` clause for `DELETE`. 

closes influxdata/feature-requests#175
jstirnaman and others added 21 commits September 27, 2024 17:36
…ta with system-tables.md. Fix prepare-content delimiter.
…rnative Name (SAN)

- Example uses Subject Alternative Name extension required by modern clients.
- Updated example is more verbose, but should work cross-platform.
- Added troubleshooting steps.
- Passes tests.
- Reformatted to headings and remove list nesting.
- Cloud Dedicated /ping only reports querier, not ingester, health
- Update v1 docs API and client library recommendations.

Closes 5610
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants