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

Improve Terraform Registry Documentation #1233

Open
publi0 opened this issue Sep 25, 2024 · 4 comments
Open

Improve Terraform Registry Documentation #1233

publi0 opened this issue Sep 25, 2024 · 4 comments
Assignees

Comments

@publi0
Copy link

publi0 commented Sep 25, 2024

Enhance DigitalOcean Terraform Provider Documentation with Subcategories

Current Situation

The current Terraform Registry documentation for the DigitalOcean provider lacks organization, making it difficult to navigate and find specific resources or data sources.

Current Documentation

All resources (including databases) are grouped together, which:

  • Makes it harder to view and distinguish between different options
  • Complicates finding data sources associated with specific resources

Proposed Improvement

Implement subcategories in the resources documentation markdown file to improve organization and readability.

Proposed Documentation with Subcategories

Benefits:

  • Easier to see resources and their corresponding data sources
  • Improved navigation and findability
  • Consistent with other providers' documentation structure

Implementation Challenges

The current Terraform documentation plugin doesn't have a built-in option to define subcategories, requiring manual definition in the markdown files.

Proposed Solution

Create a script to automatically adjust the markdown files and add the necessary subcategory definitions.

If this idea is approved, I volunteer to implement the solution :)

@andrewsomething
Copy link
Member

Hi @publi0!

I think this is a great idea! We'd be very happy to accept a PR adding this. Let us know if you have any questions around categorization.

@publi0
Copy link
Author

publi0 commented Sep 26, 2024

I think the best approach is follow the digitalocean manage menu for categories

image
  1. App Platform

    • Resources:
      • digitalocean_app
    • Data Sources:
      • digitalocean_app
  2. Droplets

    • Resources:
      • digitalocean_droplet
      • digitalocean_droplet_snapshot
    • Data Sources:
      • digitalocean_droplet
      • digitalocean_droplets
      • digitalocean_image
      • digitalocean_images
      • digitalocean_sizes
  3. Kubernetes

    • Resources:
      • digitalocean_kubernetes_cluster
      • digitalocean_kubernetes_node_pool
    • Data Sources:
      • digitalocean_kubernetes_cluster
      • digitalocean_kubernetes_versions
  4. Volumes Block Storage

    • Resources:
      • digitalocean_volume
      • digitalocean_volume_attachment
    • Data Sources:
      • digitalocean_volume
  5. Databases

    • Resources:
      • digitalocean_database_cluster
      • digitalocean_database_db
      • digitalocean_database_replica
      • digitalocean_database_user
      • digitalocean_database_connection_pool
      • digitalocean_database_firewall
      • digitalocean_database_kafka_topic
      • digitalocean_database_mysql_config
      • digitalocean_database_postgresql_config
      • digitalocean_database_redis_config
    • Data Sources:
      • digitalocean_database_ca
      • digitalocean_database_cluster
      • digitalocean_database_replica
      • digitalocean_database_user
      • digitalocean_database_connection_pool
  6. Spaces Object Storage

    • Resources:
      • digitalocean_spaces_bucket
      • digitalocean_spaces_bucket_object
      • digitalocean_spaces_bucket_policy
      • digitalocean_spaces_bucket_cors_configuration
    • Data Sources:
      • digitalocean_spaces_bucket
      • digitalocean_spaces_bucket_object
      • digitalocean_spaces_bucket_objects
      • digitalocean_spaces_buckets
  7. Container Registry

    • Resources:
      • digitalocean_container_registry
      • digitalocean_container_registry_docker_credentials
    • Data Sources:
      • digitalocean_container_registry
  8. Backups & Snapshots

    • Resources:
      • digitalocean_droplet_snapshot
      • digitalocean_volume_snapshot
    • Data Sources:
      • digitalocean_droplet_snapshot
      • digitalocean_volume_snapshot
  9. Networking

    • Resources:
      • digitalocean_domain
      • digitalocean_record
      • digitalocean_certificate
      • digitalocean_loadbalancer
      • digitalocean_firewall
      • digitalocean_floating_ip
      • digitalocean_floating_ip_assignment
      • digitalocean_reserved_ip
      • digitalocean_reserved_ip_assignment
      • digitalocean_vpc
      • digitalocean_vpc_peering
      • digitalocean_cdn
    • Data Sources:
      • digitalocean_domain
      • digitalocean_domains
      • digitalocean_record
      • digitalocean_records
      • digitalocean_certificate
      • digitalocean_loadbalancer
      • digitalocean_firewall
      • digitalocean_floating_ip
      • digitalocean_reserved_ip
      • digitalocean_vpc
      • digitalocean_vpc_peering
  10. Monitoring

    • Resources:
      • digitalocean_monitor_alert
      • digitalocean_uptime_alert
      • digitalocean_uptime_check
  11. Account

    • Resources:
      • digitalocean_project
      • digitalocean_project_resources
      • digitalocean_ssh_key
      • digitalocean_tag
      • digitalocean_custom_image
    • Data Sources:
      • digitalocean_account
      • digitalocean_project
      • digitalocean_projects
      • digitalocean_ssh_key
      • digitalocean_ssh_keys
      • digitalocean_tag
      • digitalocean_tags
      • digitalocean_region
      • digitalocean_regions

@publi0
Copy link
Author

publi0 commented Sep 26, 2024

@andrewsomething I didn't find any Makefile or script referencing the Terraform plugin for generating documentation. Do you use the plugin, or do you build the documentation manually? If it's the latter, a script for automatically adjusting the subcategories wouldn't be necessary

@andrewsomething
Copy link
Member

+1 for following the control panel's categorization.

Do you use the plugin, or do you build the documentation manually?

Currently we are creating the documentation manually.

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

No branches or pull requests

2 participants