guettli/learn-suse-virtualization

★ 0Forks 0DartGitHub ↗Compare

README

learn-suse-virtualization

build-deck app-ci latest release

Open-source Anki flashcards for learning the SUSE cloud-native stack (and the VMware terminology you'll want when migrating to it). Each subject is a separate importable Anki deck. The SUSE decks are deep dives aimed at people who already know Kubernetes — they deliberately contain no Kubernetes basics, only what is specific to each product.

Deck What it covers Download
SUSE Virtualization The SUSE HCI product (upstream Harvester) — VMs on Kubernetes via KubeVirt, SUSE Storage/Longhorn, networking, backup, upgrades, GPU passthrough, and more. Targets v1.7. learn-suse-virtualization.apkg
Rancher The SUSE Rancher suite — multi-cluster management, provisioning, Fleet GitOps, auth/RBAC, projects, Apps, monitoring/logging/backup, RKE2 & K3s, NeuVector, Elemental. learn-rancher.apkg
VMware VMware vSphere terminology & concepts — ESXi, vCenter, VMs, DRS/HA, vMotion, storage/VMFS/vSAN, vSS/vDS networking, NSX, snapshots/templates, resource management, products/editions — plus migrating to SUSE Virtualization. Handy when coming from VMware. learn-vmware.apkg

Community learning aids based on the official documentation — not official SUSE products. Sources: https://documentation.suse.com/cloudnative/virtualization/, https://docs.harvesterhci.io/, and https://ranchermanager.docs.rancher.com/.

Get a deck

One-click .apkg (recommended). Download a deck from the table above (the links always point at the newest release — no login required), then in Anki choose File → Import and pick the file. Every card is tagged by subject (suse-virtualization or rancher) plus a per-topic tag.

Plain TSV alternative. Each deck also ships a .tsv on the latest release (e.g. learn-rancher.tsv). Import via File → Import with separator Tab, Allow HTML in fields on, and field mapping 1 → Front, 2 → Back, 3 → Tags.

Re-importing an updated deck updates existing cards instead of duplicating them, because each card has a stable GUID derived from its question text.

Hands-Free Android App

Learn hands-free while walking, commuting, cycling, or working out. The phone reads the question aloud via TTS, waits for your spoken response ("OK" or "Next"), reads the answer, and asks for your recall rating ("Simple", "Medium", or "Hard") using standard Anki SuperMemo-2 (SM-2) spaced repetition.

Runs in your pocket with the screen off via an Android Foreground Service.

Hands-Free Android App

Get the Android APK

  • Direct Download from GitHub Releases: Download the ready-to-install handsfree-anki.apk directly from the Latest Release.
  • Download from GitHub Actions: CI also builds an APK artifact on every push under the Actions tab.
  • Build Locally:
    mise install
    cd app
    flutter build apk --release
    # -> build/app/outputs/flutter-apk/app-release.apk
  • Automated Emulator Test:
    ./scripts/test_in_emulator.sh

Build it yourself

pip install -r requirements.txt
python build.py
# -> dist/learn-suse-virtualization.apkg (+ .tsv)
# -> dist/learn-rancher.apkg (+ .tsv)

Contribute

Cards live under cards/<subject>/, one Markdown file per topic. Format:

# Topic Title            (H1 becomes the card's tag)

Q: A question on one line
A: An answer, which may span multiple lines and use **Markdown**
(lists, `code`, tables) until the next `Q:` or end of file.

Q: Next question
A: ...

Add or fix a card, run python build.py to verify it compiles, and open a PR. Keep questions atomic (one idea per card) and answers concise but complete. To add a new subject/deck, create a cards/<new-subject>/ folder and register it in the DECKS map in build.py with its own stable deck_id/model_id.

Releasing

Releases are cut automatically by CI when the version changes. The version lives in the VERSION file (semver).

  1. Bump VERSION in your PR (e.g. 0.2.1 → 0.3.0).
  2. Merge to main.
  3. CI builds every deck and, seeing a version with no matching tag, creates tag vX.Y.Z and a GitHub Release with each deck's .apkg and .tsv attached.

Merges that don't touch VERSION just build and validate — no duplicate release. Built files are not committed; they live only on Releases (and as CI artifacts on PRs).

License

MIT — content and scripts. Corrections and additions welcome.

Contributors

guettli

Issues