{"id":13562124,"url":"https://github.com/TheNewNormal/coreos-osx","last_synced_at":"2025-04-03T18:32:43.591Z","repository":{"id":15254086,"uuid":"17983153","full_name":"TheNewNormal/coreos-osx","owner":"TheNewNormal","description":"Local development docker/rkt CoreOS VM App for macOS made very simple","archived":false,"fork":false,"pushed_at":"2017-03-22T08:46:05.000Z","size":118935,"stargazers_count":396,"open_issues_count":6,"forks_count":40,"subscribers_count":21,"default_branch":"master","last_synced_at":"2024-08-01T13:25:21.691Z","etag":null,"topics":["docker","rkt"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"phunguyen95/1359015_project1","license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheNewNormal.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-03-21T14:55:38.000Z","updated_at":"2024-05-31T05:36:33.000Z","dependencies_parsed_at":"2022-08-03T05:15:27.518Z","dependency_job_id":null,"html_url":"https://github.com/TheNewNormal/coreos-osx","commit_stats":null,"previous_names":[],"tags_count":89,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheNewNormal%2Fcoreos-osx","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheNewNormal%2Fcoreos-osx/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheNewNormal%2Fcoreos-osx/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheNewNormal%2Fcoreos-osx/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheNewNormal","download_url":"https://codeload.github.com/TheNewNormal/coreos-osx/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223010456,"owners_count":17072989,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","rkt"],"created_at":"2024-08-01T13:01:04.870Z","updated_at":"2024-11-04T14:30:44.732Z","avatar_url":"https://github.com/TheNewNormal.png","language":"Objective-C","funding_links":[],"categories":["Objective-C","Applications"],"sub_categories":["Development","👨‍💻 Development (9)"],"readme":"CoreOS VM for macOS\n========================\n\n**CoreOS VM** is macOS `status bar app` which allows in an easy way to control CoreOS VM on your Mac. \n\nIt leverages **macOS native Hypervisor virtualisation framework** of using [corectl](https://github.com/TheNewNormal/corectl) command line tool, so there are no needs to use VirtualBox or any other virtualisation software anymore.\n\nThe best use case of this App is to allow to build/test [Docker](https://www.docker.com) and [rkt](https://coreos.com/rkt/) images locally.\nYou can push your Docker images to [Docker Registry](https://github.com/docker/distribution) on `192.168.64.1:5000` run by [Corectl App](https://github.com/TheNewNormal/corectl.app), to store\nyour Docker images and share with Kubernetes Apps for macOS: [Kube-solo](https://github.com/TheNewNormal/kube-solo-osx) and [Kube-Cluster](https://github.com/TheNewNormal/kube-cluster-osx)\n\n**App's menu** looks as per image below:\n\n![CoreOS-OSX](coreos-osx.png \"CoreOS-OSX\")\n\n\nHow to install CoreOS VM for macOS\n----------\n\n**Requirements**\n -----------\n  - **macOS 10.10.3** Yosemite or later \n  - Mac 2010 or later for this to work\n  - **[Corectl App](https://github.com/TheNewNormal/corectl.app) must be installed, which will serve as `corectld` server daemon control.**\n  - [iTerm2](https://www.iterm2.com/) is required, if not found the app it will install it by itself.\n\n\n#### Install:\n- Download [Corectl App](https://github.com/TheNewNormal/corectl.app) `latest dmg` from the [Releases Page](https://github.com/TheNewNormal/corectl.app/releases) and install it to `/Applications` folder, it allows to start/stop/update [corectl](https://github.com/TheNewNormal/corectl) tools needed to run CoreOS VMs on macOS\n- Download `CoreOS latest.dmg` from the [Releases Page](https://github.com/TheNewNormal/coreos-osx/releases). Open downloaded `dmg` file and drag the App e.g. to your Desktop. Start the `CoreOS` app and `Initial setup` will beggin.\n\n**TL;DR**\n\n- App's files are installed to `~/coreos-osx` folder\n- CoreOS ISO files are stored under `~/.coreos/images` folder\n- Mac user home folder is automaticly mounted via NFS (it has to work on Mac end of course) to `/Users/my_user`:`/Users/my_user` on each VM boot\n- macOS `docker` client is installed to `~/coreos-osx/bin` and preset in `OS shell` to be used from there\n- After successful install you can control CoreOS VM via `corevm` cli as well. Cli resides in `~/coreos-osx/bin` folder and has simple commands: `corevm start|stop|status|ip|shell|ssh`, it is specially handy for automation tasks. Just copy the `corevm` to your pre-set path.\n\n\n**The install will do the following:**\n\n- All dependent files/folders will be put under `coreos-osx` folder in the user's home folder e.g `/Users/someuser/coreos-osx`\n- ISO images are stored under `~/.coreos/images`\nThat allows to share the same images between different `corectl` based Apps and also speeds up this App VMs reinstall\n- user-data file will have Docker Socket for the API enabled\n- Will download latest CoreOS ISO image and run `corectl` to initialise VM with docker 2375 port pre-set for docker macOS client\n- Will download and install `docker` macOS client to `~/coreos-osx/bin/`\n- A small shell script `rkt` will be installed to `~/coreos-osx/bin/` which allows to call via ssh remote `rkt` binary on CoreOS VM\n- A small shell script `etcdctl` will be installed to `~/coreos-osx/bin/` which allows to call via ssh remote `etcdctl` binary on CoreOS VM\n- `docker-exec` script (docker exec -it $1 bash -c 'export TERM=xterm \u0026\u0026 bash') will be installed \n into `~/coreos-osx/bin/` too, which allows to enter container with just a simple command:\n docker-exec container_name \n- Also `docker2aci` binary will be installed to `~/coreos-osx/bin/`, which allows to convert docker images to `rkt` aci images\n- Will install [UI for Docker](https://github.com/kevana/ui-for-docker) via unit files\n- Via assigned static IP (it will be shown in first boot and will survive VM's reboots) you can access any port on CoreOS VM\n- user-data file enables docker flag `--insecure-registry` to access insecure registries.\n- Persistent sparse disk (QCow2) `data.img` will be created and mounted to `/data` for these mount binds:\n\n```\n/data/var/lib/docker -\u003e /var/lib/docker\n/data/var/lib/rkt -\u003e /var/lib/rkt\n/data/var/lib/etcd2 -\u003e /var/lib/etcd2\n/data/opt/bin -\u003e /opt/bin\n```\n\n\nHow it works\n------------\n\nJust start `CoreOS OSX` application and you will find a small icon with the CoreOS logo in the Status Bar.\n\n* There you can `Up` and `Halt` CoreOS VM\n* `SSH to core-01` will open VM shell\n* Under `Up` OS Shell will be opened when VM boot finishes up and it will have such environment pre-set:\n\n```\nDOCKER_HOST=tcp://192.168.64.xxx:2375\nETCDCTL_PEERS=http://192.168.64.xxx:2379\n```\n```\nPath to `~/coreos-osx/bin` where docker binary, rkt, etcdclt \nand docker-exec shell scripts are stored\n```\n\n* `OS Shell` opens OS Shell with the same enviroment preset as `Up`\n* `Updates/Check for update of docker macOS client` will update fleet and docker macOS clients to the same versions as CoreOS VM runs.\n* [UI for Docker](https://github.com/kevana/ui-for-docker) will show up all running containers and etc\n* You can upload your saved/exported docker images place in `~/coreos-osx/docker_images` folder via `Upload docker images`\n* Persistent sparse disk `data.img` will be created and mounted to `/data` to these mount binds (data persists between reboots):\n\n```\n/data/var/lib/docker -\u003e /var/lib/docker\n/data/var/lib/rkt -\u003e /var/lib/rkt\n/data/var/lib/etcd2 -\u003e /var/lib/etcd2\n/data/opt/bin -\u003e /opt/bin\n```\n\n### have fun!\n\nCredits\n-----------\n* To [António Meireles](https://github.com/AntonioMeireles) for his awesome [corectl](https://github.com/TheNewNormal/corectl) tool to easily control [xhyve](https://github.com/xhyve-xyz/xhyve)\n* To [Michael Steil](https://github.com/mist64) for the awesome [xhyve](https://github.com/mist64/xhyve) lightweight macOS virtualization solution\n* To Kelsey Hightower for [Docker Registry macOS Setup Guide](https://github.com/kelseyhightower/docker-registry-osx-setup-guide).\n\n\nOther CoreOS VM based Apps for macOS\n-----------\n* Cluster one CoreOS VM App can be found here [CoreOS Cluster for macOS](https://github.com/rimusz/coreos-osx-cluster).\n* Kubernetes Solo Cluster VM App (corectl based) can be found here [Kube Solo for macOS](https://github.com/TheNewNormal/kube-solo-osx).\n* Kubernetes Cluster one CoreOS VM App can be found here [CoreOS Kubernetes Cluster for macOS ](https://github.com/rimusz/coreos-osx-kubernetes-cluster).\n\n## Contributing\n\n**CoreOS VM** is an [open source](http://opensource.org/osd) project release under\nthe [Apache License, Version 2.0](http://opensource.org/licenses/Apache-2.0),\nhence contributions and suggestions are gladly welcomed! \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheNewNormal%2Fcoreos-osx","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FTheNewNormal%2Fcoreos-osx","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FTheNewNormal%2Fcoreos-osx/lists"}