{"id":13501384,"url":"https://github.com/karmab/kcli","last_synced_at":"2025-03-29T08:32:30.876Z","repository":{"id":37548748,"uuid":"67212828","full_name":"karmab/kcli","owner":"karmab","description":"Management tool for virtualization and kubernetes platforms","archived":false,"fork":false,"pushed_at":"2024-10-29T12:41:58.000Z","size":15880,"stargazers_count":510,"open_issues_count":0,"forks_count":138,"subscribers_count":17,"default_branch":"main","last_synced_at":"2024-10-29T15:11:46.407Z","etag":null,"topics":["aws","azure","gcp","hetzner-cloud","hypershift","ibm-cloud","k3s","kubeadm","kubernetes","kubevirt","libvirt","microshift","openshift","openstack","ovirt","rke2","vsphere"],"latest_commit_sha":null,"homepage":"https://kcli.readthedocs.io/en/latest/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karmab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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":"2016-09-02T10:13:07.000Z","updated_at":"2024-10-29T12:42:03.000Z","dependencies_parsed_at":"2024-11-06T11:33:44.997Z","dependency_job_id":null,"html_url":"https://github.com/karmab/kcli","commit_stats":{"total_commits":5342,"total_committers":65,"mean_commits":82.18461538461538,"dds":"0.049045301385248985","last_synced_commit":"60ac305bdf05e86b54b17c587ba349baa3672567"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmab%2Fkcli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmab%2Fkcli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmab%2Fkcli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmab%2Fkcli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karmab","download_url":"https://codeload.github.com/karmab/kcli/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246162092,"owners_count":20733351,"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":["aws","azure","gcp","hetzner-cloud","hypershift","ibm-cloud","k3s","kubeadm","kubernetes","kubevirt","libvirt","microshift","openshift","openstack","ovirt","rke2","vsphere"],"created_at":"2024-07-31T22:01:35.311Z","updated_at":"2025-03-29T08:32:25.855Z","avatar_url":"https://github.com/karmab.png","language":"Python","readme":"# kcli repository\n\n[![CI](https://github.com/karmab/kcli/actions/workflows/ci.yml/badge.svg)](https://github.com/karmab/kcli/actions/workflows/ci.yml)\n[![Copr](https://copr.fedorainfracloud.org/coprs/karmab/kcli/package/kcli/status_image/last_build.png)](https://copr.fedorainfracloud.org/coprs/karmab/kcli/package/kcli)\n\n![Screenshot](kcli.png)\n\n## Demo!\n\n![](kcli.gif)\n\n# Description\n\nThis tool is meant to interact with existing virtualization providers (libvirt, KubeVirt, oVirt, OpenStack, VMware vSphere, Packet, AWS, Azure, GCP, IBM cloud and Hcloud) and to easily deploy and customize VMs from cloud images.\n\nYou can also interact with those VMs (list, info, ssh, start, stop, delete, console, serialconsole, add/delete disk, add/delete nic, ...).\n\nFurthermore, you can deploy VMs using predefined profiles, several at once using plan files or entire products for which plans were already created for you.\n\nRefer to the [documentation](https://kcli.readthedocs.io) for more information\n\n## Quick Start\n\n```\ncurl -s https://raw.githubusercontent.com/karmab/kcli/main/install.sh | bash\n```\n\nDeploy your first vm with:\n\n```\nkcli create vm -i centos8stream myvm\nkcli list vm\n# wait 5-10 seconds for vm to grab an ip\nkcli ssh myvm\nkcli delete vm\n```\n\n##  What you can do\n\n- Interact with all the virtualization providers using a single tool\n- Declare all your objects (VM, containers, networks, ansible playbooks, ...) in a single yaml plan file with a simple syntax\n- Customize a plan deployment using parameters and Jinja templating\n- Adjust VMs from a plan (memory, CPU, flavor, disks and NICs) to match what's defined in the plans\n- Inject all configuration with cloud-init/Ignition or the equivalent in cloud providers\n- Use profiles to launch VMs with same hardware characteristics\n- Launch a plan from an URL\n- Share your plan or use existing ones from Github repo as products\n- Use the existing plans to deploy Kubernetes, OpenShift, OpenStack, oVirt, kubevirt, ...\n- Use the existing cloud images for each distribution\n- Easily share private keys between your VMs\n- Handle dns entries for the VMs\n- Automatically subscribe your RHEL VMs\n- Get a push button notification when a vm has finished its deployment\n- Alternatively use web UI to do the same\n\n## Contributors\n\nSee [contributors on GitHub](https://github.com/karmab/kcli/graphs/contributors)\n\n## Copyright\n\nCopyright 2017-2019 Karim Boumedhel\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n\n## Problems?\n\nOpen an issue or join us on slack\n\n- [k8s slack instance](https://slack.k8s.io)\n- [kcli slack channel](https://app.slack.com/client/T09NY5SBT/CU76B52JE)\n\nMc Fly!!!\n\nkarmab\n","funding_links":[],"categories":["Python","azure"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarmab%2Fkcli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarmab%2Fkcli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarmab%2Fkcli/lists"}