{"id":17043039,"url":"https://github.com/mizzy/maglica","last_synced_at":"2025-04-12T15:10:48.140Z","repository":{"id":1609083,"uuid":"2216271","full_name":"mizzy/maglica","owner":"mizzy","description":"A Simple Internal Cloud Tool","archived":false,"fork":false,"pushed_at":"2013-12-24T11:31:11.000Z","size":182,"stargazers_count":48,"open_issues_count":10,"forks_count":4,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-26T09:44:56.842Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"JakeWharton/ViewPagerIndicator","license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mizzy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-08-16T14:48:31.000Z","updated_at":"2024-04-05T01:23:28.000Z","dependencies_parsed_at":"2022-09-11T05:51:17.273Z","dependency_job_id":null,"html_url":"https://github.com/mizzy/maglica","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizzy%2Fmaglica","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizzy%2Fmaglica/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizzy%2Fmaglica/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mizzy%2Fmaglica/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mizzy","download_url":"https://codeload.github.com/mizzy/maglica/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248586231,"owners_count":21128997,"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":[],"created_at":"2024-10-14T09:27:33.272Z","updated_at":"2025-04-12T15:10:48.112Z","avatar_url":"https://github.com/mizzy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Overview\n\nMaglica is a Python library and command-line tool for an internal cloud. \n(This tool is primitive beta now.)\n\nThis is very simple and based on libvirt, virt-clone and zeromq (for RPC).\n\nThe name \"Maglica\" is derived from a Bosnian word that means \"Nebula.\"\n\n# Architecture of Maglica\n\nMaglica has four components.\n\n 1. Library\n 2. CLI \n 3. Client worker\n 4. Host workers\n\nMaglica library is a main component of Maglica.Maglica CLI calls the library\nto do the jobs.The library talks to libvirtd on other hosts directly to get\nvirtual machines information.\n\nMaglica client worker is running on the same host which cli runs.\nClient worker binds zeromq PUB socket to tcp://*:5555 and REP socket\nto tcp://*:5556.\n\nClient worker recieves requests from library through REP socket and throws\nrequest to host workers through PUB socket.Also REP socket recives job results\nfrom host workers.\n\nHost workers are running on hosts which virtual machines are running on.\n\nHost workers connect to the PUB socket of a client worker to receive job\nrequests and the REP socket of a client worker to throw job results.\n\n# How to use Maglica\n\nYou must setup libvirtd running on host machines and accessible through\ntcp port. (See http://libvirt.org/remote.html)\n\nRun git clone on a host machine and run the host worker.\n\n    # git clone git://github.com/mizzy/maglica.git\n    # cd maglica\n    # python setup.py install\n    # cp etc/maglica.conf.example /etc/maglica.conf\n\nEdit /etc/maglica.conf that points to the correct client worker host and port.\n\nThen run the host worker.\n\n    # maglica_host_worker\n\nRun git clone on a client machine.\n\n    # git clone git://github.com/mizzy/maglica.git\n    # cd maglica\n    # cp etc/maglica.conf.example /etc/maglica.conf\n\nEdit /etc/maglica.conf that points to host machines.\n\nThen run the client worker.\n\n    # maglica_client_worker\n\nRun maglica command to list up \"original images\" (They are only inactive domains).\n\n    $ maglica image list\n    Name                                     Host\n    ---------------------------------------------------------\n    SL6.0-x86_64.original                    host0.example.jp  \n    SL6.1-x86_64.original                    host0.example.jp  \n    SL6.0-x86_64.original                    host1.example.jp  \n    SL6.1-x86_64.original                    host1.example.jp  \n\nRun maclica command to clone a virtual machine image.\n\n    $ maglica vm clone --image=SL6.1-x86_64.original --hostname=vm0.example.jp\n\nThis command clones the image on a host and rewrites network setting of\nthe image with libguestfs.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmizzy%2Fmaglica","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmizzy%2Fmaglica","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmizzy%2Fmaglica/lists"}