chromebook-ansible
repo2docker
chromebook-ansible | repo2docker | |
---|---|---|
2 | 2 | |
13 | 1,586 | |
- | 0.3% | |
10.0 | 8.2 | |
over 1 year ago | 7 days ago | |
Shell | Python | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
chromebook-ansible
-
ChromeOS is Linux with Google’s desktop environment
https://docs.github.com/en/code-security/code-scanning/intro...
GitHub Project Templates are designed to be forked; e.g. like an assignment handout to be filled out (that already has an /.github/workflows/actions.yml and README.md headings). Cookiecutter is another way to create a project/assignment/handout/directory/git_repo skeleton; with jinja2 templates to generate file names like `/{{name}}/README.md` and file contents like {% if name %}
Hello World, {{name}}{% endif %} . jinja2 is a useful skill also for ansible [collections of roles of] playbooks of tasks.
chromebook-ansible installs a number of apps by default (including docker and vscode (instead of podman and vscodium or similar)), but because there are variables in the playbook, you can change which parts of the playbook runs by specifying different parameters with ansible inventory: https://github.com/seangreathouse/chromebook-ansible#include... https://github.com/seangreathouse/chromebook-ansible/blob/c8...
It would be helpful to be able to provision [Android and Chromebook] devices with [Ansible] like it is possible with Mac, Windows, and Linux devices (without a domain controller; decentralizedly and for bootstrapping). It appears that there happens to be no way to `adb install play-store://url` with Ansible, but there is news about Ansible support for Enterprise Chromebooks.
There are [vscode] IDE mentions in the chromebook git repos IIRC. The [vscode] [docker/podman extension] could work with aforementioned functionality to limit which containers can be pulled or are running at a given time.
USE CASE (for a "STEM workstations for learning" spec): Create a minimal git repo project from a project template with cookiecutter-pypackage or similar.
A minimal project [template] would have:
/README.md # h1, badges, {{schema:description}}, #install, #usage, #license, #citation
-
New Wiki page: How to Ansible; seangreathouse/chromebook-ansible: Docker, gcloud, gIMP, Master PDF, Terraform, VSCode
Source: https://github.com/seangreathouse/chromebook-ansible ./bootstrap.sh: https://github.com/seangreathouse/chromebook-ansible/blob/master/bootstrap.sh ./chromebook_setup.yml: https://github.com/seangreathouse/chromebook-ansible/blob/master/chromebook_setup.yml
repo2docker
-
ChromeOS is Linux with Google’s desktop environment
For students, unless there are allocated server resources with network access, it SHOULD/MUST scale down to one local offline ARM64 node (because school districts haven't afforded containers on a managed k8s cloud for students at scale fwiu, though universities do with e.g. JupyterHub and BinderHub [4] and Colab).
For Chromebook sysadmins, Instructors, and Students learning about how {Linux*, ChromiumOS, Android, Git, Bash, ZSH, Python, and e.g. PyData Tools supported by NumFOCUS} are developed, for example;
When you git commit to a git branch, and then `git push` that branch to GitHub, and create a Pull Request, GitHub Actions runs the (container,command) tasks defined in the YAML files in the .github/workflows/ directory of the repo; so `git push` to a PR branch runs the CI job and the results are written back as cards in the Pull Request thread on the GitHub Project; saving to the server runs the (container,command) Actions with that revision of the git repo.
Somewhat-equivalent GitOps CI Continuous Integration workflows (without Bazel or Blaze or gtest or gn, or GitHub Enterprise or GitHub Free due to the kids' intererests) that might be supported at least in analogue by Education and Chromebooks: k8s with podman-desktop in a VM, Gitea Actions (nektos/act; like Github Actions), devpod
devpod: https://github.com/loft-sh/devpod :
> Codespaces but open-source, client-only and unopinionated: Works with any IDE and lets you use any cloud, kubernetes or just localhost docker. (with devcontainer.json, like Github Codespaces)
devcontainer.json is supported by a number of tools; e.g. VScode, IntelliJ,: https://containers.dev/supporting
repo2docker has buildpacks (like Heroku and Google AppEngine).
repo2docker buildpacks should probably work with devcontainer.json too?
repo2docker docs > Usage > "REES: Reproducible Execution Environment" describes what all repo2docker will build a container from: https://repo2docker.readthedocs.io/en/latest/usage.html
jupyterhub/repo2docker builds a Dockerfile (Containerfile) from git repo (or a Figshare/Zenodo DOI) that minimally has at least an /environment.yml and /example.py (and probably also at least a /README.md to start with), and installs a current, updated version of jupyter notebook along with whatever's in e.g. /environment.yml per the REES spec. [1][2][3]
[1] repo2docker/buildpacks/base.py: https://github.com/jupyterhub/repo2docker/blob/main/repo2doc...
[2] "Make base_image configurable" https://github.com/jupyterhub/repo2docker/commit/20b08152578...
[3] repo2docker/buildpacks/conda/environment.py-3.11.yml:
-
This Week in Python
repo2docker – Turn repositories into Jupyter-enabled Docker images
What are some alternatives?
devpod - Codespaces but open-source, client-only and unopinionated: Works with any IDE and lets you use any cloud, kubernetes or just localhost docker.
depthboot-builder - A CLI script to create bootable linux images for Chromebooks
Killed by Google - Part guillotine, part graveyard for Google's doomed apps, services, and hardware.
toolbox - Tool for interactive command line environments on Linux
pyasmtool - Explores the python bytecode, provides some tools to access it for fun and profit.
datahub - JupyterHubs for use by Berkeley enrolled students
zero-to-jupyterhub-k8s - Helm Chart & Documentation for deploying JupyterHub on Kubernetes
py-obsidianmd - Python interface to your Obsidian notes
docker-stacks - Ready-to-run Docker images containing Jupyter applications
auto-editor - Auto-Editor: Effort free video editing!