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

feat: docs restructuring, add deploy section, bring in v0.14.x #493

Merged
merged 20 commits into from
Nov 15, 2024

Conversation

MSevey
Copy link
Contributor

@MSevey MSevey commented Oct 23, 2024

Overview

This PR handles the major changes outline in #480

These changes include:

  • Remove the Rollkit section and GM tutorial
  • Turn wordle tutorial into Build Your Rollup
  • Create Deploy Your Rollup section with docker compose
  • Remove kurtosis for now until it can be updated with pesistance
  • Bump rollkit versions

Building on top of #497

Closes: #500

Remove GM tutorial, add language around choosing DA and Execution
Remove kurtosis from wordle tutorial.
Rename wordle tutorial in menu to build your rollup.
Create overview for deployments sections.
Create docker compose deployment tutorial.
Create kurtosis deployment tutorial.
Refactor tutorials to reduce duplication.
Copy link
Contributor

coderabbitai bot commented Oct 23, 2024

Note

Reviews paused

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Walkthrough

The changes in this pull request primarily involve modifications to the documentation structure in the .vitepress/config.ts file and the addition of new tutorial content across several markdown files. A new tutorial section titled "Build a Rollup" has been added, while the "Rollkit" section has been removed. New tutorials for deploying rollups using Docker Compose and Kurtosis have been introduced, along with updates to the Wordle app tutorial. The overall organization of the documentation is enhanced for better user navigation.

Changes

File Path Change Summary
.vitepress/config.ts - Added "Build a Rollup" tutorial entry.
- Removed "Rollkit" section.
- Updated "Connect Your DA" section.
- Renamed "Execution" to "Choose Your Execution" and reorganized items.
- Added "Deploy Your Rollup" section with sub-items.
- Modified "Integrations" section for better readability.
tutorials/deploy-overview.md - Added new section "Deploying Your Rollup" outlining deployment flexibility and methods.
- Included a disclaimer about examples being for educational purposes.
tutorials/docker-compose.md - Introduced tutorial for deploying "wordle rollup" using Docker Compose, including prerequisites, Dockerfile setup, and running instructions.
tutorials/kurtosis.md - Added tutorial for deploying the Wordle rollup using Kurtosis, detailing setup, Dockerfile creation, and running commands.
tutorials/wordle.md - Removed "Dependencies" section.
- Added instructions for installing Rollkit CLI.
- Updated method signatures to remove -y flag, indicating user confirmation is required.

Possibly related PRs

Suggested labels

documentation

Suggested reviewers

  • tuxcanfly
  • yarikbratashchuk
  • jcstein
  • gupadhyaya

🐇 In the garden of code, we hop and play,
With tutorials blooming, brightening the way.
Rollups and Docker, we weave with delight,
In the realm of knowledge, we shine so bright!
So gather 'round friends, let’s learn and explore,
With each little change, we open new doors! 🌼


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

github-actions bot commented Oct 23, 2024

PR Preview Action v1.4.8
🚀 Deployed preview to https://rollkit.github.io/docs-preview/./pr-493/
on branch main at 2024-11-15 17:07 UTC

@MSevey MSevey marked this pull request as draft October 23, 2024 15:44
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 6

🧹 Outside diff range and nitpick comments (16)
tutorials/deploy-overview.md (4)

1-3: Consider enhancing the frontmatter with additional metadata.

The frontmatter could be enriched with additional fields to improve documentation organization and searchability.

Consider adding these fields:

 ---
 description: This page provides an overview of some common ways to deploy rollups.
+title: Deploying Your Rollup
+sidebar_label: Overview
+tags: ['deployment', 'tutorial', 'overview']
 ---

11-13: Enhance the transition to deployment methods.

While the transition from helper scripts to production-ready deployments is clear, consider providing a brief overview of what makes these deployment methods more "production-ready" compared to helper scripts.

Add a brief explanation of the benefits, such as:

 In the tutorials so far, you've seen various helper scripts used to make things easier. While great for tutorials, there are better ways to deploy and manage rollups than using various bash scripts. 

-In this section, you'll see a few examples of how you can deploy your rollup environment with all your services running in a more production-ready way.
+In this section, you'll see a few examples of how you can deploy your rollup environment with all your services running in a more production-ready way. These methods offer benefits such as:
+
+* Reproducible deployments across different environments
+* Better service orchestration and management
+* Simplified configuration and maintenance
+* Improved monitoring and logging capabilities

15-17: Strengthen the security implications in the disclaimer.

The current disclaimer is good but could better emphasize security considerations for production deployments.

Consider expanding the warning:

 :::warning Disclaimer
-These examples are for educational purposes only. Before deploying your rollup for production use you should fully understand the services you are deploying and your choice in deployment method.
+These examples are for educational purposes only. Before deploying your rollup for production use:
+* Fully understand the services you are deploying and your choice in deployment method
+* Implement appropriate security measures and monitoring
+* Consider the implications of each component choice on the overall security and reliability of your rollup
+* Conduct thorough testing in a staging environment
 :::

19-20: Add brief descriptions for each deployment method.

Consider providing a quick overview of each deployment option to help readers choose the most appropriate method for their needs.

Enhance the links section:

-* [Deploy with Docker Compose](/tutorials/docker-compose)
-* [Deploy with Kurtosis](/tutorials/kurtosis)
+## Available Deployment Methods
+
+* [Deploy with Docker Compose](/tutorials/docker-compose)
+  * Suitable for local development and testing
+  * Uses Docker Compose for service orchestration
+  * Easier to customize and modify
+
+* [Deploy with Kurtosis](/tutorials/kurtosis)
+  * Provides a more automated deployment experience
+  * Includes built-in testing and verification
+  * Better suited for complex deployments
tutorials/docker-compose.md (3)

18-21: Enhance prerequisites section with version requirements.

Consider adding:

  • Minimum Docker Compose version requirements
  • System requirements (CPU, RAM, disk space)
  • Operating system compatibility notes

186-213: Enhance interaction documentation with troubleshooting guide.

Consider adding:

  1. Common error scenarios and their solutions
  2. Troubleshooting steps for connection issues
  3. Backup and restore procedures for the rollup data
  4. Instructions for viewing logs (docker logs wordle)

222-224: Add cleanup and production deployment sections.

Consider adding:

  1. Cleanup instructions (docker compose down -v)
  2. Production deployment considerations:
    • Security hardening
    • Monitoring and logging
    • Backup strategies
    • High availability setup
tutorials/kurtosis.md (6)

7-9: Improve grammar in the disclaimer message

The warning message could be clearer with better punctuation and structure.

Consider this revision:

-Kurtosis currently does not fully support data persistence across runs, because of this it is not recommended for production use.
+Kurtosis currently does not fully support data persistence across runs; therefore, it is not recommended for production use.
🧰 Tools
🪛 LanguageTool

[typographical] ~8-~8: It appears that a comma is missing.
Context: ...ata persistence across runs, because of this it is not recommended for production us...

(BECAUSE_OF_YOU_COMMA)


22-42: Enhance prerequisites section

Consider adding more specific prerequisites:

  1. Required software versions (Docker, etc.)
  2. System requirements
  3. Expected time to complete

Also, consider making the CLI version output more generic to avoid maintenance overhead when new versions are released.


75-78: Add validation step for Docker image

Consider adding a step to verify the image functionality:

# Verify the image was built correctly
docker run --rm wordle rollkit version

102-141: Enhance Kurtosis configuration documentation

The configuration could benefit from:

  1. Comments explaining each parameter's purpose
  2. Error handling guidance
  3. Common troubleshooting scenarios

Consider adding comments to the Python code:

 def run(plan):
+    # Start the DA node and get its address
+    # The DA node is required for the rollup to submit blocks
     da_address = da_node.run(
         plan,
     )

155-258: Simplify example outputs

Consider shortening the example outputs to show only the relevant parts and add comments explaining what to look for. This will make the tutorial more maintainable and easier to follow.


203-267: Add troubleshooting section

Consider adding a troubleshooting section that covers common issues users might encounter when:

  1. Connecting to the rollup
  2. Executing commands inside the container
  3. Handling network connectivity issues
tutorials/wordle.md (3)

33-36: Installation instructions should specify version requirements.

While the installation command includes a version tag, it would be helpful to specify the minimum required versions of Go and other dependencies upfront.

Consider adding a requirements section:

### Requirements
- Go 1.21 or later
- Rollkit CLI {{constants.rollkitLatestTag}} or later

Line range hint 214-276: Consider adding validation explanations for scaffold commands.

The scaffold commands are correct, but it would be helpful to explain the validation rules that will be implemented (e.g., 5-letter word, alphabets only) before showing the keeper implementation.


589-589: Add transaction response handling guidance.

The tutorial shows how to submit transactions but should explain how to handle common error scenarios and transaction failures.

Add a troubleshooting section:

### Troubleshooting Transaction Errors
- `timeout`: Increase the timeout value or retry with async flag
- `out of gas`: Adjust the gas limit
- `insufficient funds`: Ensure your account has enough tokens

Also applies to: 696-696, 708-708, 720-720

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between a9d0a9b and ef45b40.

📒 Files selected for processing (5)
  • .vitepress/config.ts (3 hunks)
  • tutorials/deploy-overview.md (1 hunks)
  • tutorials/docker-compose.md (1 hunks)
  • tutorials/kurtosis.md (1 hunks)
  • tutorials/wordle.md (11 hunks)
🧰 Additional context used
🪛 Markdownlint
tutorials/docker-compose.md

57-57: Column: 1
Hard tabs

(MD010, no-hard-tabs)


58-58: Column: 1
Hard tabs

(MD010, no-hard-tabs)


59-59: Column: 1
Hard tabs

(MD010, no-hard-tabs)


60-60: Column: 1
Hard tabs

(MD010, no-hard-tabs)


93-93: Column: 1
Hard tabs

(MD010, no-hard-tabs)


94-94: Column: 1
Hard tabs

(MD010, no-hard-tabs)

🪛 LanguageTool
tutorials/kurtosis.md

[typographical] ~8-~8: It appears that a comma is missing.
Context: ...ata persistence across runs, because of this it is not recommended for production us...

(BECAUSE_OF_YOU_COMMA)

tutorials/wordle.md

[style] ~78-~78: Consider using a more formal and expressive alternative to ‘amazing’.
Context: ...--> ### 🔥 Ignite {#ignite} Ignite is an amazing CLI tool to help us get started buildin...

(AWESOME)


[uncategorized] ~92-~92: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ocal machine. This tutorial uses a macOS but it should work for Windows. For Windows...

(COMMA_COMPOUND_SENTENCE)


[grammar] ~716-~716: When ‘five-letter’ is used as a modifier, it is usually spelled with a hyphen.
Context: ... for the day. Now let’s try to guess a five letter word: <!-- markdownlint-disable MD013 ...

(WORD_ESSAY_HYPHEN)

🔇 Additional comments (6)
.vitepress/config.ts (3)

Line range hint 221-275: Documentation structure changes look good!

The navigation restructuring aligns well with the PR objectives. The new organization with "Build a Rollup", updated execution options, and the new deployment section provides a clear, logical flow for users.


341-359: Integration section is well-structured

The new integrations are logically organized and provide clear paths for users to implement various features, from smart contract deployment to monitoring and token configuration.


Line range hint 221-275: Verify removal of old sections

The new structure looks good, but let's verify that the old "Rollkit" section and GM tutorial have been properly removed.

tutorials/kurtosis.md (1)

1-282: Overall assessment: Well-structured tutorial with room for enhancement

The tutorial successfully guides users through deploying a Wordle rollup using Kurtosis. The content is logically organized and covers the complete workflow. To further improve it, consider:

  1. Making it more self-contained by including direct content rather than references
  2. Adding comprehensive troubleshooting guidance
  3. Enhancing validation steps
  4. Simplifying example outputs for better maintainability
🧰 Tools
🪛 LanguageTool

[typographical] ~8-~8: It appears that a comma is missing.
Context: ...ata persistence across runs, because of this it is not recommended for production us...

(BECAUSE_OF_YOU_COMMA)

tutorials/wordle.md (2)

73-107: LGTM: Clear module scaffolding explanation.

The section effectively explains the module structure and its integration with Ignite CLI.

🧰 Tools
🪛 LanguageTool

[style] ~78-~78: Consider using a more formal and expressive alternative to ‘amazing’.
Context: ...--> ### 🔥 Ignite {#ignite} Ignite is an amazing CLI tool to help us get started buildin...

(AWESOME)


[uncategorized] ~92-~92: Use a comma before ‘but’ if it connects two independent clauses (unless they are closely connected and short).
Context: ...ocal machine. This tutorial uses a macOS but it should work for Windows. For Windows...

(COMMA_COMPOUND_SENTENCE)


546-581: Verify local DA node requirements.

The tutorial introduces local DA node setup but doesn't specify its system requirements or potential conflicts with other services on port 7980.

jcstein
jcstein previously approved these changes Oct 23, 2024
Copy link
Member

@jcstein jcstein left a comment

Choose a reason for hiding this comment

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

LGTM aside from some nits, left them as suggestions

@MSevey
Copy link
Contributor Author

MSevey commented Oct 23, 2024

@coderabbitai ignore

Copy link
Contributor

coderabbitai bot commented Oct 23, 2024

@coderabbitai ignore

✅ Actions performed

Reviews paused.

@MSevey
Copy link
Contributor Author

MSevey commented Oct 23, 2024

@coderabbitai resolve

Copy link
Contributor

coderabbitai bot commented Oct 23, 2024

✅ Actions performed

Comments resolved.

@MSevey MSevey changed the title feat: docs restructuring, add deploy section feat: docs restructuring, add deploy section, bring in v0.14.x Nov 13, 2024
@MSevey MSevey marked this pull request as ready for review November 14, 2024 17:18
@MSevey MSevey enabled auto-merge (squash) November 15, 2024 15:36
@MSevey MSevey merged commit 84860e8 into main Nov 15, 2024
6 checks passed
@MSevey MSevey deleted the docs-restructure branch November 15, 2024 17:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Modify wordle to include sequencing api changes
4 participants