{"id":18086132,"url":"https://github.com/grycap/im","last_synced_at":"2025-08-20T22:31:07.871Z","repository":{"id":20417945,"uuid":"23694336","full_name":"grycap/im","owner":"grycap","description":"Infrastructure Manager","archived":false,"fork":false,"pushed_at":"2025-08-05T10:19:24.000Z","size":29983,"stargazers_count":65,"open_issues_count":32,"forks_count":21,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-08-05T12:14:51.495Z","etag":null,"topics":["ansible","cloud","contextualization","devops","infrastructure-management","tosca"],"latest_commit_sha":null,"homepage":"https://www.grycap.upv.es/im","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grycap.png","metadata":{"files":{"readme":"README.md","changelog":"changelog","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":"codemeta.json","zenodo":null}},"created_at":"2014-09-05T07:33:47.000Z","updated_at":"2025-08-05T10:19:28.000Z","dependencies_parsed_at":"2024-04-17T13:43:30.522Z","dependency_job_id":"bd391dac-f8cb-43dd-9b18-45722450a0a7","html_url":"https://github.com/grycap/im","commit_stats":null,"previous_names":[],"tags_count":79,"template":false,"template_full_name":null,"purl":"pkg:github/grycap/im","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grycap%2Fim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grycap%2Fim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grycap%2Fim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grycap%2Fim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grycap","download_url":"https://codeload.github.com/grycap/im/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grycap%2Fim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271397793,"owners_count":24752611,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ansible","cloud","contextualization","devops","infrastructure-management","tosca"],"created_at":"2024-10-31T16:06:42.878Z","updated_at":"2025-08-20T22:31:07.293Z","avatar_url":"https://github.com/grycap.png","language":"Python","readme":"# IM - Infrastructure Manager\n\n[![PyPI](https://img.shields.io/pypi/v/im.svg)](https://pypi.org/project/im)\n[![Tests](https://github.com/grycap/im/actions/workflows/main.yaml/badge.svg)](https://github.com/grycap/im/actions/workflows/main.yaml)\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/582a0d6e763f44bdade11133e5191439)](https://www.codacy.com/gh/grycap/im/dashboard?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=grycap/im\u0026amp;utm_campaign=Badge_Grade)\n[![Codacy Badge](https://app.codacy.com/project/badge/Coverage/582a0d6e763f44bdade11133e5191439)](https://www.codacy.com/gh/grycap/im/dashboard?utm_source=github.com\u0026utm_medium=referral\u0026utm_content=grycap/im\u0026utm_campaign=Badge_Coverage)\n[![License](https://img.shields.io/badge/license-GPL%20v3.0-brightgreen.svg)](LICENSE)\n[![Docs](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://imdocs.readthedocs.io/en/latest/)\n[![SQAaaS badge](https://img.shields.io/badge/sqaaas%20software-gold-yellow)](https://eu.badgr.com/public/assertions/rkXyQH9FRj-EAMPgccz5ug)\n\nIM is a tool that deploys complex and customized virtual infrastructures on\nIaaS Cloud deployments (such as AWS, OpenStack, etc.). It eases the access and\nthe usability of IaaS clouds by automating the VMI (Virtual Machine Image)\nselection, deployment, configuration, software installation, monitoring and\nupdate of the virtual infrastructure. It supports APIs from a large number of\nvirtual platforms, making user applications cloud-agnostic. In addition it\nintegrates a contextualization system to enable the installation and\nconfiguration of all the user required applications providing the user with a\nfully functional infrastructure.\n\nRead the documentation and more at \u003chttp://www.grycap.upv.es/im\u003e.\n\nThere is also an Infrastructure Manager YouTube reproduction list with a set of\nvideos with demos of the functionality of the platform: \u003chttps://www.youtube.com/playlist?list=PLgPH186Qwh_37AMhEruhVKZSfoYpHkrUp\u003e.\n\nPlease acknowledge the use of this software in your scientific publications by\nincluding the following reference:\n\nMiguel Caballer, Ignacio Blanquer, German Molto, and Carlos de Alfonso.\n\"[Dynamic management of virtual infrastructures](https://link.springer.com/article/10.1007/s10723-014-9296-5)\".\nJournal of Grid Computing, Volume 13, Issue 1, Pages 53-70, 2015, ISSN\n1570-7873, DOI: 10.1007/s10723-014-9296-5.\n\n## Achievements\n\n[![SQAaaS badge][badge-img]][badge-link]\n\n[badge-img]: https://github.com/EOSC-synergy/SQAaaS/raw/master/badges/badges_150x116/badge_software_gold.png\n[badge-link]: https://api.eu.badgr.io/public/assertions/2DN4fpCNSFyCJD_TTTycjA \"SQAaaS gold badge achieved\"\n\nThis software has received a gold badge according to the\n[Software Quality Baseline criteria](https://github.com/indigo-dc/sqa-baseline)\ndefined by the [EOSC-Synergy](https://www.eosc-synergy.eu) project.\n\n## 1 DOCKER IMAGE\n\nThe recommended option to use the Infrastructure Manager service is using the\navailable docker image. A Docker image named `ghcr.io/grycap/im` has been\ncreated to make easier the deployment of an IM service using the default\nconfiguration. It is available in the IM\n[Github Container registry](https://github.com/grycap/im/pkgs/container/im).\n\nHow to launch the IM service using docker::\n\n```sh\nsudo docker run -d -p 8899:8899 -p 8800:8800 --name im ghcr.io/grycap/im\n```\n\nTo make the IM data persistent you also have to specify a persistent location\nfor the IM database using the IM_DATA_DB environment variable and adding a\nvolume::\n\n```sh\nsudo docker run -d -p 8899:8899 -p 8800:8800 -v \"/some_local_path/db:/db\" \\\n                -e IM_DATA_DB=/db/inf.dat --name im ghcr.io/grycap/im\n```\n\nYou can also specify an external MySQL server to store IM data using the\nIM_DATA_DB environment variable::\n\n```sh\nsudo docker run -d -p 8899:8899 -p 8800:8800 \\\n                -e IM_DATA_DB=mysql://username:password@server/db_name \\\n                --name im ghcr.io/grycap/im\n```\n\nOr you can also add a volume with all the IM configuration::\n\n```sh\nsudo docker run -d -p 8899:8899 -p 8800:8800 \\\n                -v \"/some_local_path/im.cfg:/etc/im/im.cfg\"\n                --name im ghcr.io/grycap/im\n```\n\n## 2 Kubernetes Helm Chart\n\nThe IM service and web interface can be installed on top of [Kubernetes](https://kubernetes.io/)\nusing [Helm](https://helm.sh/).\n\nHow to install the IM chart:\n\nFirst add the GRyCAP repo:\n\n```sh\nhelm repo add grycap https://grycap.github.io/helm-charts/\n```\n\nThen install the IM chart (with Helm v2):\n\n```sh\nhelm install --namespace=im --name=im  grycap/IM\n```\n\nThen install the IM chart (with Helm v3):\n\n```sh\nhelm install --namespace=im --create-namespace im  grycap/IM\n```\n\nAll the information about this chart is available at the [IM chart README](https://github.com/grycap/helm-charts/blob/master/IM/README.md).\n\n### 3 CONFIGURATION\n\nCheck the parameters in $IM_PATH/etc/im.cfg or /etc/im/im.cfg.\nSee [IM Manual](https://imdocs.readthedocs.io/en/latest/manual.html#configuration)\nto get a full reference of the configuration variables.\n\nPlease pay attention to the next configuration variables, as they are the most\nimportant:\n\nDATA_DB - must be set to the URL to access the database to store the IM data.\n         Be careful if you have two different instances of the IM service\n         running in the same machine!!.\n         It can be a MySQL DB: `mysql://username:password@server/db_name`,\n         SQLite: `sqlite:///etc/im/inf.dat` or MongoDB:\n         `mongodb://username:password@server/db_name`,\n\n#### 3.1 SECURITY\n\nSecurity is disabled by default. Please notice that someone with local network\naccess can \"sniff\" the traffic and get the messages with the IM with the\nauthorisation data with the cloud providers.\n\nSecurity can be activated both in the XMLRPC and REST APIs. Setting this\nvariables:\n\n```sh\nXMLRCP_SSL = True\n```\n\nor\n\n```sh\nREST_SSL = True\n```\n\nAnd then set the variables: XMLRCP_SSL_* or REST_SSL_* to your certificates\npaths.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrycap%2Fim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrycap%2Fim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrycap%2Fim/lists"}