{"id":15908098,"url":"https://github.com/ignalina/automata","last_synced_at":"2025-03-22T00:31:31.910Z","repository":{"id":220819855,"uuid":"752662230","full_name":"Ignalina/automata","owner":"Ignalina","description":"Scripts to inject \u0026 run scripts on hosts that can be existing or created on the fly.","archived":false,"fork":false,"pushed_at":"2024-08-29T21:17:16.000Z","size":20,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-10-13T14:33:10.862Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ignalina.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-02-04T13:12:53.000Z","updated_at":"2024-08-29T21:17:18.000Z","dependencies_parsed_at":"2024-08-19T21:22:19.927Z","dependency_job_id":null,"html_url":"https://github.com/Ignalina/automata","commit_stats":null,"previous_names":["ignalina/automata"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ignalina%2Fautomata","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ignalina%2Fautomata/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ignalina%2Fautomata/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ignalina%2Fautomata/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ignalina","download_url":"https://codeload.github.com/Ignalina/automata/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221820725,"owners_count":16886224,"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-06T14:09:39.542Z","updated_at":"2025-03-22T00:31:31.904Z","avatar_url":"https://github.com/Ignalina.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://github.com/user-attachments/assets/d1918dcb-8de1-428e-87aa-7ff05ac45ab9\" width=\"400\" height=\"400\"\u003e\n\n# Automata\nCreate and maintain airgaped clusters for distributed software\n\nAutomata does this by Generate OS iso's and fire them up on hosts (kvm or redfish)  \n  \n\n# a quick test run on your local linux.\n```bash\nairgap_media.sh fedora_41\niso_create.sh fedora_41 4 spark x14.se\nkvm_initiate.sh fedora_41 4 spark x14.se\nkvm_cluster.sh fedora_41 4 spark x14.se\n```\nyou will se 4 small virtual machines fired up !\n\n# An explanation of the steps above..  \n\n0) airgap your target os media on an internet enabled server.  \n**syntax** airgap_img.sh _osversion_\nFor example , fedora_41 os\n```bash\nairgap_media.sh fedora_41 \n```\nFor a quick test continue with step nr 2 below on same server. But for production you need transfer airgaped media files to non internet enabled machines.\n\n A future update needs to run the below command and again transfer the packages to non internet enabled machine/s\n```bash\nairgap_update.sh fedora_41 \n```\n\n1) Create your media ,One iso for each node in cluster will be created\n\n**syntax** iso_create.sh _osversion_ _nodes_ _nodename_ _domain_  \n\nFor example , to create 4 isos with hostnames {spark1.x14.se, spark2.x14.se, spark3.x14.se}  \n```bash\niso_create.sh fedora_41 4 spark x14.se\n```\n\n2) Initate your hosts   (DISCLAIMER WARNING WILL DESTROY / FORMAT / DELETE your hosts)  \n**syntax** [kvm/redfish]_initate.sh  _osversion_ _nodes_ _nodename_ _domain_  \n\nusing local kvm  \n```bash\nkvm_initiate.sh fedora_41 4 spark x14.se\n```\nor redfish  where you must set ip1...ip4 to your hardwares BMC.  \n```bash\nredfish_initiate.sh fedora_41 4 spark x14.se  {ip1,ip2,ip3,ip4}\n```\n\n\n3) Fire up your cluster by installing iso's on hosts  \n\n**syntax** kvm_cluster.sh _osversion_ _nodes_ _nodename_ _domain_   \n**syntax** redfish_cluster.sh _osversion_ _nodes_ _nodename_ _domain_  {ip1,ip2,..}_\n\nFor example to fire up fedora_41 cluster localy on kvm'ms\n```bash\nkvm_cluster.sh fedora_41 4 spark x14.se\n```\n\na small cluster json vill be created with IP'setc..  \n\n4) Use your cluster  \nIts up and running and you have an cluster.json with ip's etc  \n\n\n\n# CREDITS!  \nTo myself Rickard Ernst Björn Lundin on behalf of Swedish X14 AB and Danish Ignalina APS  \nKVM parts are partly copied and inspired from from Earl C. Ruby III https://github.com/earlruby/create-vm  \nWikipedia image of Automata  \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fignalina%2Fautomata","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fignalina%2Fautomata","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fignalina%2Fautomata/lists"}