-
Notifications
You must be signed in to change notification settings - Fork 71
Outreach student checklist
This page lists some initial tasks that Kata Containers outreach students should consider performing early on in the process.
Before we continue, let's pause for a classic quote from the cover of the Hitchhiker's Guide to the Galaxy...
🔴🔴🔴🔴⚪⚪ ⚪🔴🔴🔴🔴🔴⚪ 🔴⚪⚪⚪⚪⚪🔴 ⚪🔴🔴🔴 🔴🔴🔴🔴🔴🔴🔴
🔴⚪⚪⚪🔴⚪ 🔴⚪⚪⚪⚪⚪🔴 🔴🔴⚪⚪⚪⚪🔴 ⚪🔴🔴🔴 ⚪⚪⚪🔴⚪⚪⚪
🔴⚪⚪⚪⚪🔴 🔴⚪⚪⚪⚪⚪🔴 🔴⚪🔴⚪⚪⚪🔴 ⚪⚪⚪🔴 ⚪⚪⚪🔴⚪⚪⚪
🔴⚪⚪⚪⚪🔴 🔴⚪⚪⚪⚪⚪🔴 🔴⚪⚪🔴⚪⚪🔴 ⚪⚪🔴⚪ ⚪⚪⚪🔴⚪⚪⚪
🔴⚪⚪⚪⚪🔴 🔴⚪⚪⚪⚪⚪🔴 🔴⚪⚪⚪🔴⚪🔴 ⚪⚪⚪⚪ ⚪⚪⚪🔴⚪⚪⚪
🔴⚪⚪⚪🔴⚪ 🔴⚪⚪⚪⚪⚪🔴 🔴⚪⚪⚪⚪🔴🔴 ⚪⚪⚪⚪ ⚪⚪⚪🔴⚪⚪⚪
🔴🔴🔴🔴⚪⚪ ⚪🔴🔴🔴🔴🔴⚪ 🔴⚪⚪⚪⚪⚪🔴 ⚪⚪⚪⚪ ⚪⚪⚪🔴⚪⚪⚪
🔴🔴🔴🔴🔴🔴 ⚪⚪⚪🔴⚪⚪⚪ 🔴⚪⚪⚪⚪⚪🔴 🔴🔴🔴 ⚪🔴🔴🔴🔴⚪
🔴⚪⚪⚪⚪🔴 ⚪⚪🔴⚪🔴⚪⚪ 🔴🔴⚪⚪⚪⚪🔴 ⚪🔴⚪ 🔴⚪⚪⚪⚪🔴
🔴⚪⚪⚪⚪🔴 ⚪🔴⚪⚪⚪🔴⚪ 🔴⚪🔴⚪⚪⚪🔴 ⚪🔴⚪ 🔴⚪⚪⚪⚪⚪
🔴🔴🔴🔴🔴🔴 🔴⚪⚪⚪⚪⚪🔴 🔴⚪⚪🔴⚪⚪🔴 ⚪🔴⚪ 🔴⚪⚪⚪⚪⚪
🔴⚪⚪⚪⚪⚪ 🔴🔴🔴🔴🔴🔴🔴 🔴⚪⚪⚪🔴⚪🔴 ⚪🔴⚪ 🔴⚪⚪⚪⚪⚪
🔴⚪⚪⚪⚪⚪ 🔴⚪⚪⚪⚪⚪🔴 🔴⚪⚪⚪⚪🔴🔴 ⚪🔴⚪ 🔴⚪⚪⚪⚪🔴
🔴⚪⚪⚪⚪⚪ 🔴⚪⚪⚪⚪⚪🔴 🔴⚪⚪⚪⚪⚪🔴 🔴🔴🔴 ⚪🔴🔴🔴🔴⚪
Please continue to refer to this advice whilst reading through the remainder of this document 😄
Ok? Let's do this!
By participating in a Kata Containers Outreach project you agree to be bound by the "Golden Rule":
Golden Rule #1: If in doubt, ask a mentor!
Or in more detail...
Golden Rule #1: If you...
- get stuck
- have questions
- are worried about something
- are confused
- don't understand
- just want to chat ;)
... ask one of your mentors!
Golden Rule #2: Talk to each other regularly and in person if possible.
If at all possible arrange to meet each other daily, in person to talk over progress, issues, and to discuss what you've learned and what you are struggling with.
For details of required skills and knowledge, required hardware, etc, see the pre-flight checklist page.
The table below shows a list of preparatory tasks you should consider attempting.
Note: Not all these tasks are required and they certainly don't all need to be completed simultaneously!
Done? | When? | Category | Type | Task | Notes |
---|---|---|---|---|---|
☐ | environment | required | Install rust toolchain | https://www.rust-lang.org/tools/install or distro-packaged version | |
☐ | (*)
|
code | very strongly recommended | Start reading and writing rust from day 1 | Start reading "the rust book" and write that "hello, world!" program asap! |
☐ | week 1 | project | required | Read and agree to our code of conduct | |
☐ | week 1 | environment | required | Setup a Linux development environment (Ubuntu, Fedora, etc) | You can use a GitHub codespace environment for basic compilation, and you may be able to run a Kata Container in that environment. |
☐ | week 1 | read | strongly recommended | Read the project overview and onboarding presentation | |
☐ | week 1 | environment | strongly recommended | Ensure you have a backup strategy for your development environment | This could be as simple as git push
|
☐ | week 1 ideally | install | required | Learn how to install Kata | Create a Kata container using containerd |
☐ | week 1 ideally | project | recommended | Found a problem? | Please raise a GitHub issue! 😄 |
☐ | week 1 | setup | recommended | Join the Kata community | Join all channels if possible |
☐ | before raising a PR | docs | recommended | Read the Kata contributing guide | Skim and refer back as necessary |
☐ | first 2 weeks ideally | contribute | Raise a "one liner" PR (of any type) | Even a one letter typo PR is good. This will help you ensure git is configured correctly, and give you contact with the community via the PR reviewers. Plus it will help you understand our CI systems and the checks performed on all PRs, which will save you a lot of time later. | |
☐ | within first 6 weeks | contribute | Raise a tiny/small rust PR | Again, it doesn't matter that it's small: we're starting to build up the complexity incrementally | |
☐ | any time | familiarise | recommended | Try out a few tasks in the Things-for-a-developer-to-do-after-installing-Kata | |
☐ | any time | familiarise | recommended | "Lurk" in the Kata Architecture Committee meeting | Just listen in, or participate |
☐ | any time | familiarise | recommended | Look at our project glossary | Feel free to update as necessary |
☐ | any time | familiarise | recommended | Look over our main repository | |
☐ | any time | familiarise | optional | Look over our tests repository | May be of interest, but most outreach test work will be unit testing (in the main repository) |
☐ | any time | familiarise | recommended | Read the Kata design docs (current gen and next gen) | |
☐ | any time | project | desirable | Please add to the suggestions page | This could help you all now and will benefit future outreach projects! |
Key:
-
(*)
: Day 1? Seriously? Yes! 😄
Note:
Yes, some of this is repeated in the table above, but these points are so important that they cannot be stressed enough ;)
- Keep asking questions.
- Ask for help when you need it!
- Start reading and writing rust code as early as possible.
See the Outreach-student-faq.
How are you feeling?
- Good: Great! 😄
- Not so good:
- goto Advice.
- If that doesn't help, goto The Golden Rule.
Term | Description | Notes |
---|---|---|
CI | Continuous Integration (system) | auto-triggered test system |
PR | Pull Request | A set of changes (patches) to review |
See the pre-flight checklist page.