๐ What You'll Learn
- Understanding what you're doing
- Finding and preparing your resource
- Adding it to the website
- Creating a pull request
- Getting your resource published
โฑ๏ธ Time needed: ~10-15 minutes for your first contribution
- python3 not found: Install Python from python.org and reopen your terminal
- git not found: Install Git from git-scm.com
- Not in a git repo: Run
cd csoh.orgbefore the script - Working directory not clean: Commit or stash changes, then retry
- URL flagged as unsafe: Use the official site or GitHub repo URL
๐ฏ What is a Resource?
A resource is anything that helps cloud security professionals learn, practice, or advance their careers. Examples:
- ๐ฏ CTF Challenges โ Intentionally broken cloud setups you practice hacking
- ๐ ๏ธ Security Tools โ Software that scans or protects cloud infrastructure
- ๐ Certifications โ Official courses that teach cloud security skills
- ๐งช Hands-On Labs โ Interactive exercises where you learn by doing
- ๐ผ Job Boards โ Places to find cloud security careers
- ๐ค AI Security Resources โ Tools and training for AI/ML security
๐ Quick Start: Add a Resource in 5 Steps
Gather Your Resource Info
Before you do anything technical, write down these details about your resource:
Example:
Pick Your Tags
Tags help people find resources. Pick 2-5 tags from this list:
Resource Types:
Cloud Platforms:
Security Focus:
Other:
Get a Preview Image (Optional)
Preview images are the small screenshot shown for each resource. They're optionalโthe site works without them!
Easy option: Just skip this step! The website will automatically generate thumbnails.
Better option: Provide a custom preview image:
- Take a screenshot of the resource's homepage
- Save it as a JPG file (about 150KB or smaller)
- Name it something clear, like:
cloudgoat-preview.jpg
Edit the Resources HTML File
Don't be scared! HTML is just text with special labels. Here's what you need to do:
- Go to resources.html on GitHub
- Find the section for your resource's category
- Copy an existing resource card (we'll show you how)
- Paste it and change the details
Here's what a resource card looks like:
What to change:
PASTE_YOUR_URL_HEREโ Your resource's URLYour Resource Nameโ The actual nameYour description...โ What you wrote in Step 1- The
<span class="tag">lines โ Your tags
Tag styling: Some tags have special colors:
<span class="tag ctf">= CTF (teal)<span class="tag tool">= Tool (purple)<span class="tag lab">= Lab/Training (green)<span class="tag ai-security">= AI Security (orange)<span class="tag certification">= Certification (blue)<span class="tag job">= Job Search (pink)<span class="tag">= Regular tag (gray)
Add a Preview Image (Optional)
If you took a screenshot in Step 3, follow these sub-steps:
5a. Upload Your Image
- Go to the img/previews/ folder on GitHub
- Click "Add file" โ "Upload files"
- Drag/drop your screenshot
- Write a commit message: "Add preview image for [Resource Name]"
- Click "Commit changes"
5b. Edit preview-mapping.json
- Open preview-mapping.json
- Click the pencil icon to edit
- Find this section and add a new line:
- Scroll down and click "Commit changes"
๐ด Creating a Pull Request (GitHub)
Beginner-Friendly Method: GitHub's Web Interface
You don't need to install anything or learn command-line. Here's the easiest way:
Step A: Fork the Repository
- Go to github.com/CloudSecurityOfficeHours/csoh.org
- Click the "Fork" button (top-right corner)
- This creates your own copy of the project
Step B: Edit the Files
- In your fork, click on
resources.html - Click the pencil icon โ๏ธ to edit
- Find where you want to add your resource (scroll to the right category section)
- Paste your resource card (see Step 4 above)
- Scroll down and click "Commit changes"
- Add a message like: "Add [Resource Name] to resources"
- Click "Commit changes" again
Repeat for preview-mapping.json if you have a custom preview image.
Step C: Create the Pull Request
- Go back to your fork homepage
- You'll see a yellow banner saying "This branch is ahead of CloudSecurityOfficeHours:main"
- Click the "Contribute" button โ "Open pull request"
- Add a title: "Add [Resource Name]"
- Add a description:
- Click "Create pull request"
โ Frequently Asked Questions
Q: Do I need to be a developer to contribute?
A: No! This guide is specifically designed for non-technical people. You just need to copy/paste and follow instructions.
Q: What if I make a mistake?
A: No problem! That's why pull requests exist. You can edit your PR before it's merged, and maintainers can help fix issues.
Q: How long until my resource is published?
A: Usually within a few days. Maintainers review every contribution.
Q: Can I add multiple resources at once?
A: Yes! But start with one to get comfortable with the process.
Q: What if the preview image doesn't show?
A: That's okay! The website will auto-generate a thumbnail. You can always improve it later.
Q: What makes a "good" resource?
A: Anything that helps cloud security professionals learn, practice, or advance their careers. Our community votes with their clicks!
๐ก Pro Tips
- Check if it already exists: Search
resources.htmlto make sure your resource isn't already there - Write clear descriptions: Pretend you're explaining this to a friend who's new to cloud security
- Tag appropriately: Pick tags that help people find it (be specific!)
- Test your link: Make sure the URL you're adding actually works
- Welcome feedback: Maintainers might suggest improvementsโthat's normal!
- Start with one: Add 1-2 resources first. You'll get the hang of it
๐ Need Help?
๐ Ready to Add Your First Resource?
Start with Step 1 above!
By adding a resource, you're helping grow the cloud security community. Every contribution matters.