The core of Zero-OS is 0-core, which is the Zero-OS replacement for systemd.
- master - production
See the release schedule in the Zero-OS home repository.
Check the page on how to boot zos in a local setup here. Choose the best one that suits your setup. For development, we would recommend the VM using QEMU.
Before using the client make sure the ./client/py-client is in your PYTHONPATH. Or pip3 install it like ch client/py-client && pip3 install -e .
from zeroos.core0 import client
# password is only required if zos was booted with `organization=<org>` parameter.
# and in that case, the password must be a valid jwt token from itsyou.online
cl = client.Client(host='<IP address of Docker container running Zero-OS>', password='<JWT>')
#validate that core0 is reachable
print(cl.ping())
#then u can do stuff like
print(
cl.system('ps -eF').get()
)
print(
cl.system('ip a').get()
)
#client exposes more tools for disk, bridges, and container mgmt
print(
cl.disk.list()
)Login to your profile at https://itsyou.online and from the settings ( gear icon ) create an API key and copy the values.
- Make sure you are have (or memeber of) an organization.
From command line
export CLIENT_ID='<your client id>'
export CLIENT_SECRET='<your secret>'
export ORG=<oranization name>
export VALIDITY_IN_SECONDS=3600
export JWT=`curl -s -X POST "https://itsyou.online/v1/oauth/access_token?grant_type=client_credentials&client_id=${CLIENT_ID}&client_secret=${CLIENT_SECRET}&response_type=id_token&scope=user:memberof:${ORG}&validity=${VALIDITY_IN_SECONDS}"`
echo $JWT
Simply replace the CLIENT_ID and CLIENT_SECRET values with your own.
- Boot the 0-core as init process
- Manage disks
- Create containers
- Full Namespace isolation
- Host the root filesystem of the containers via ipfs
- Network stack dedicated
- ZeroTier Network integration
- Use flist file format as root metadata
- Remotly administrate the process
- via Python client
- via redis
- change datastore for fuse filesystem from ipfs to Zero-OS Store.
- include of the monitoring of all processes running on the Zero-OS. It produces aggregated statistics on the processes that can be dump into a time series database and displayed used something like Grafana.
- New Flist format, the flist used in the 0-fs is now a distributed as a RocksDB database.
- Creation of the 0-Hub, see https://github.com/zero-os/0-hub
- Improvement of the builtin commands of 0-core and coreX
- Lots and lots of bug fixes
- Containers plugins
- Unprivileged containers (still in beta)
- Libvirt bindings
- Processes API
- Support multiple ZeroTier in container networking
- Support Open vSwitch networking for both containers and KVM domains
corectlcommand line tool to manage Zero-OS from within the node
See the milestones in the Zero-OS home repository: Zero-OS Milestones
All documentation is in the /docs directory, including a table of contents.
In Getting Started with Core0 you find the recommended path to quickly get up and running.
