Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
    Found 2 DOI reference(s) in README
  • Academic publication links
    Links to: springer.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.0%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: john-shepherdson
  • License: gpl-3.0
  • Language: Python
  • Default Branch: master
  • Size: 28.2 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created over 1 year ago · Last pushed about 1 year ago
Metadata Files
Readme Changelog Contributing License Code of conduct Codemeta

README.md

IM - Infrastructure Manager

PyPI Tests Codacy Badge Codacy Badge License Docs SQAaaS badge

IM is a tool that deploys complex and customized virtual infrastructures on IaaS Cloud deployments (such as AWS, OpenStack, etc.). It eases the access and the usability of IaaS clouds by automating the VMI (Virtual Machine Image) selection, deployment, configuration, software installation, monitoring and update of the virtual infrastructure. It supports APIs from a large number of virtual platforms, making user applications cloud-agnostic. In addition it integrates a contextualization system to enable the installation and configuration of all the user required applications providing the user with a fully functional infrastructure.

Read the documentation and more at http://www.grycap.upv.es/im.

There is also an Infrastructure Manager YouTube reproduction list with a set of videos with demos of the functionality of the platform: https://www.youtube.com/playlist?list=PLgPH186Qwh_37AMhEruhVKZSfoYpHkrUp.

Please acknowledge the use of this software in your scientific publications by including the following reference:

Miguel Caballer, Ignacio Blanquer, German Molto, and Carlos de Alfonso. "Dynamic management of virtual infrastructures". Journal of Grid Computing, Volume 13, Issue 1, Pages 53-70, 2015, ISSN 1570-7873, DOI: 10.1007/s10723-014-9296-5.

Achievements

SQAaaS badge

This software has received a gold badge according to the Software Quality Baseline criteria defined by the EOSC-Synergy project.

1 DOCKER IMAGE

The recommended option to use the Infrastructure Manager service is using the available docker image. A Docker image named ghcr.io/grycap/im has been created to make easier the deployment of an IM service using the default configuration. It is available in the IM Github Container registry.

How to launch the IM service using docker::

sh sudo docker run -d -p 8899:8899 -p 8800:8800 --name im ghcr.io/grycap/im

To make the IM data persistent you also have to specify a persistent location for the IM database using the IMDATADB environment variable and adding a volume::

sh sudo docker run -d -p 8899:8899 -p 8800:8800 -v "/some_local_path/db:/db" \ -e IM_DATA_DB=/db/inf.dat --name im ghcr.io/grycap/im

You can also specify an external MySQL server to store IM data using the IMDATADB environment variable::

sh sudo docker run -d -p 8899:8899 -p 8800:8800 \ -e IM_DATA_DB=mysql://username:password@server/db_name \ --name im ghcr.io/grycap/im

Or you can also add a volume with all the IM configuration::

sh sudo docker run -d -p 8899:8899 -p 8800:8800 \ -v "/some_local_path/im.cfg:/etc/im/im.cfg" --name im ghcr.io/grycap/im

2 Kubernetes Helm Chart

The IM service and web interface can be installed on top of Kubernetes using Helm.

How to install the IM chart:

First add the GRyCAP repo:

sh helm repo add grycap https://grycap.github.io/helm-charts/

Then install the IM chart (with Helm v2):

sh helm install --namespace=im --name=im grycap/IM

Then install the IM chart (with Helm v3):

sh helm install --namespace=im --create-namespace im grycap/IM

All the information about this chart is available at the IM chart README.

3 CONFIGURATION

Check the parameters in $IM_PATH/etc/im.cfg or /etc/im/im.cfg. See IM Manual to get a full reference of the configuration variables.

Please pay attention to the next configuration variables, as they are the most important:

DATADB - must be set to the URL to access the database to store the IM data. Be careful if you have two different instances of the IM service running in the same machine!!. It can be a MySQL DB: `mysql://username:password@server/dbname, SQLite:sqlite:///etc/im/inf.dator MongoDB: mongodb://username:password@server/db_name`,

3.1 SECURITY

Security is disabled by default. Please notice that someone with local network access can "sniff" the traffic and get the messages with the IM with the authorisation data with the cloud providers.

Security can be activated both in the XMLRPC and REST APIs. Setting this variables:

sh XMLRCP_SSL = True

or

sh REST_SSL = True

And then set the variables: XMLRCPSSL* or RESTSSL* to your certificates paths.

Owner

  • Name: John Shepherdson
  • Login: john-shepherdson
  • Kind: user
  • Location: United Kingdom
  • Company: CESSDA

CodeMeta (codemeta.json)

{
  "@context": [
    "https://doi.org/10.5063/schema/codemeta-2.0",
    "http://schema.org"
  ],
  "@type": "SoftwareSourceCode",
  "identifier": "im",
  "name": "Infrastructure Manager",
  "version": "1.18.0",
  "description": "IM is a tool that deploys complex and customized virtual infrastructures on IaaS Cloud deployments",
  "license": "GNU General Public License v3.0",
  "author": [
    {
      "@type": "Person",
      "givenName": "Miguel",
      "familyName": "Caballer",
      "@id": "https://orcid.org/0000-0001-9393-3077",
      "email": "micafer1@upv.es"
    }
  ],
  "audience": [
    {
      "@type": "Audience",
      "audienceType": "Developers"
    },
    {
      "@type": "Audience",
      "audienceType": "End Users/Desktop"
    },
    {
      "@type": "Audience",
      "audienceType": "Science/Research"
    }
  ],
  "provider": {
    "@id": "https://pypi.org",
    "@type": "Organization",
    "name": "The Python Package Index",
    "url": "https://pypi.org"
  },
  "runtimePlatform": "Python 3",
  "url": "https://github.com/grycap/im",
  "keywords": "Ansible, DevOps, cloud, Infrastructure-Management, TOSCA, Contextualization",
  "developmentStatus": "5 - Production/Stable",
  "programmingLanguage": "Python 2, Python 2.6, Python 2.7, Python 3, Python 3.6, Python 3.7, Python 3.8, Python 3.9",
  "applicationCategory": "System, Utilities",
  "codeRepository": "https://github.com/grycap/im",
  "releaseNotes": "https://github.com/grycap/im/blob/master/changelog",
  "citation": "https://doi.org/10.1007/s10723-014-9296-5",
  "contributor": [
    {
      "@type": "Person",
      "givenName": "Eloy",
      "familyName": "Romero",
      "@id": "https://orcid.org/0000-0001-7279-1305",
      "email": "eromero@jlab.org"
    }
  ],
  "copyrightHolder": "GRyCAP-UPV",
  "copyrightYear": 2014,
  "creator": [
    {
      "@type": "Person",
      "givenName": "Miguel",
      "familyName": "Caballer",
      "@id": "https://orcid.org/0000-0001-9393-3077",
      "email": "micafer1@upv.es"
    }
  ],
  "dateCreated": "2022-02-03",
  "affiliation": "UPV",
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Miguel",
      "familyName": "Caballer",
      "@id": "https://orcid.org/0000-0001-9393-3077",
      "email": "micafer1@upv.es"
    }
  ],
  "contIntegration": "https://jenkins.i3m.upv.es/job/grycap/job/im-unit-master/",
  "buildInstructions": "https://imdocs.readthedocs.io/en/latest/manual.html#im-service-installation",
  "referencePublication": "https://doi.org/10.1007/s10723-014-9296-5",
  "readme": "https://github.com/grycap/im/blob/master/README.md"
}

GitHub Events

Total
  • Push event: 1
  • Create event: 43
Last Year
  • Push event: 1
  • Create event: 43

Dependencies

.github/workflows/main.yaml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • codacy/codacy-coverage-reporter-action v1 composite
.github/workflows/sqaaas.yaml actions
  • eosc-synergy/sqaaas-assessment-action v2 composite
  • eosc-synergy/sqaaas-step-action v1 composite
docker-devel/Dockerfile docker
  • ubuntu 24.04 build
docker-py3/Dockerfile docker
  • ubuntu 24.04 build
monitoring/Dockerfile docker
  • alpine 3.8 build
doc/requirements.txt pypi
  • sphinx_rtd_theme *
  • sphinx_toolbox *
pyproject.toml pypi
  • PyYAML *
  • RADL >= 1.3.3
  • ansible >=2.4
  • apache-libcloud >= 3.2.0
  • boto3 *
  • cheroot *
  • defusedxml *
  • flask *
  • hvac *
  • netaddr *
  • packaging *
  • paramiko >= 1.14
  • psutil *
  • requests >= 2.19
  • requests-cache >= 1.0.0
  • scar *
  • scp *
  • suds-community *
  • tosca-parser *
  • urllib3 >=1.23
  • werkzeug *
  • xmltodict *
requirements-tests.txt pypi
  • PyMySQL * test
  • PyYAML * test
  • RADL >=1.3.4 test
  • ansible ==8.7.0 test
  • apache-libcloud >=3.3.1 test
  • azure-common * test
  • azure-identity * test
  • azure-mgmt-compute * test
  • azure-mgmt-dns * test
  • azure-mgmt-network * test
  • azure-mgmt-resource * test
  • azure-mgmt-storage * test
  • boto3 * test
  • cheroot * test
  • coverage * test
  • defusedxml * test
  • flask * test
  • hvac * test
  • mock * test
  • msrest * test
  • msrestazure * test
  • netaddr * test
  • packaging * test
  • paramiko >=1.14 test
  • psutil * test
  • pyVmomi * test
  • pymongo * test
  • pywinrm * test
  • requests >=2.19 test
  • requests-cache * test
  • scar * test
  • scp * test
  • suds-py3 * test
  • tosca-parser * test
  • urllib3 >=1.23,<2.0 test
  • werkzeug * test
  • xmltodict * test