TykTechnologies / tyk

Tyk Open Source API Gateway written in Go, supporting REST, GraphQL, TCP and gRPC protocols
Other
9.76k stars 1.09k forks source link

[TT-12885] Add plugin development guide for manual builds #6598

Closed titpetric closed 4 weeks ago

titpetric commented 2 months ago

User description

TT-12885
Summary [Plugin docs] Provide guidance on compiling plugins manually
Type Story Story
Status In Dev
Points N/A
Labels -

https://tyktech.atlassian.net/browse/TT-12885


PR Type

Documentation, Enhancement


Description


Changes walkthrough πŸ“

Relevant files
Configuration changes
Taskfile.yml
Add Taskfile for markdown formatting with mdox                     

docs/Taskfile.yml
  • Added a Taskfile for managing markdown formatting tasks.
  • Introduced a default task to run mdox for formatting markdown files.
  • +8/-0     
    Taskfile.yml
    Add Taskfile for automating plugin development tasks         

    docs/plugins/Taskfile.yml
  • Added a Taskfile for automating plugin development tasks.
  • Defined tasks for checking out repositories, creating workspaces, and
    testing plugins.
  • +61/-0   
    Documentation
    README.md
    Add comprehensive Go plugin development guide                       

    docs/plugins/README.md
  • Added a comprehensive guide for Go plugin development.
  • Included steps for setting up the environment, creating workspaces,
    and testing plugins.
  • Provided troubleshooting tips for common issues and debugging.
  • +245/-0 
    Formatting
    swagger.md
    Fix indentation in swagger generation documentation           

    docs/swagger.md
  • Fixed indentation issues in the documentation for generating swagger
    files.
  • +2/-2     

    πŸ’‘ PR-Agent usage: Comment /help "your question" on any pull request to receive relevant information

    buger commented 2 months ago

    Let's make that PR title a πŸ’― shall we? πŸ’ͺ

    <p>
    Your <em>PR title</em> and <em>story title</em> look <strong>slightly different</strong>. Just checking in to know if it was intentional!
    </p>
    <table>
      <tr>
        <th>Story Title</th>
        <td>[Plugin docs] Provide guidance on compiling plugins manually</td>
      </tr>
      <tr>
          <th>PR Title</th>
          <td>[TT-12885] Add plugin development guide for manual builds</td>
        </tr>
    </table>
    <p>
      Check out this <a href="https://www.atlassian.com/blog/git/written-unwritten-guide-pull-requests">guide</a> to learn more about PR best-practices.
    </p>
    github-actions[bot] commented 2 months ago

    PR Reviewer Guide πŸ”

    Here are some key observations to aid the review process:

    ⏱️ Estimated effort to review: 3 πŸ”΅πŸ”΅πŸ”΅βšͺβšͺ
    πŸ§ͺ No relevant tests
    πŸ”’ No security concerns identified
    ⚑ Recommended focus areas for review

    Documentation Clarity
    The documentation should clarify the use of specific Go versions and the necessity of matching these versions between the gateway and plugins to avoid compatibility issues. It's also recommended to provide more explicit steps or checks to ensure that developers follow these guidelines correctly. Error Handling
    The Taskfile commands for checking out repositories and building projects should include better error handling to ensure that any failures in these steps are caught and handled appropriately. This would prevent the continuation of the workflow in an erroneous state, which could lead to further complications.
    github-actions[bot] commented 2 months ago

    API Changes

    no api changes detected
    github-actions[bot] commented 2 months ago

    PR Code Suggestions ✨

    No code suggestions found for the PR.

    lghiur commented 2 months ago

    @titpetric I would propose to build a plugin together with the steps, like a hello world plugin, that they can copy paste from the guidance and endup with a functional plugin

    lghiur commented 2 months ago

    @titpetric I would propose to build a plugin together with the steps, like a hello world plugin, that they can copy paste from the guidance and endup with a functional plugin

    I see that it uses CustomGoPlugin in the example, which is perfect.

    sonarcloud[bot] commented 4 weeks ago

    Quality Gate Failed Quality Gate failed

    Failed conditions
    0.0% Coverage on New Code (required β‰₯ 80%)

    See analysis details on SonarCloud