Ralph is the CMDB / Asset Management system for data center and back office hardware.

Overview

Ralph

Ralph is full-featured Asset Management, DCIM and CMDB system for data centers and back offices.

Features:

  • keep track of assets purchases and their life cycle
  • flexible flow system for assets life cycle
  • data center and back office support
  • dc visualization built-in

It is an Open Source project provided on Apache v2.0 License.

Gitter Build Status Coverage Status Code Health

Live demo:

http://ralph-demo.allegro.tech/

  • login: ralph
  • password: ralph

Screenshots

img

img

img

Documentation

Visit our documentation on readthedocs.org

Getting help

Comments
  • [SOLVED] Installation on CentOS/RHEL7

    [SOLVED] Installation on CentOS/RHEL7

    The following procedure documents the minimum set of actions required to install the current release (20170613.1) on a pristine EPEL-enabled EL7, and run ralph as an unprivileged passwordless system user ralph in a virtualenv/nodeenv environment with a MariaDB SQL backend instance.

    As root :

    firewall-cmd --permanent --add-port=8000/tcp && firewall-cmd --reload
    
    yum-config-manager --enable epel
    yum install mariadb-server
    systemctl start mariadb && systemctl enable mariadb
    
    yum install gcc-c++ mariadb-devel redhat-rpm-config openldap-devel
    
    yum install python34-pip python34-devel
    useradd -d /opt/ralph -c "Ralph service account" -m -r ralph
    
    su - ralph
    

    As user ralph :

    (
    echo "DROP DATABASE IF EXISTS ralph_ng; CREATE DATABASE ralph_ng DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;"
    echo "CREATE USER 'ralph_ng'@'localhost' IDENTIFIED BY 'ralph_ng';"
    echo "GRANT ALL PRIVILEGES ON ralph_ng.* TO [email protected] WITH GRANT OPTION;"
    echo "FLUSH PRIVILEGES;"
    ) | mysql -u root
    
    pip3 install --user virtualenv
    virtualenv ralph && . ~/ralph/bin/activate
    echo ". ~/ralph/bin/activate" >> ~/.bashrc
    
    
    pip install nodeenv
    nodeenv -p
    npm install -g bower
    npm install -g gulp
    
    wget https://github.com/allegro/ralph/archive/20170613.1.tar.gz
    tar xf 20170613.1.tar.gz
    ln -s ralph-20170613.1/ ralph-core
    cd ralph-core/
    make install
    make install-test
    gulp
    ralph migrate
    make menu
    
    ralph syncdb
    	(credentials: admin/admin)
    
    RALPH_DEBUG=True ralph runserver 0.0.0.0:8000
    

    Ralph now runs on the publically accessible http://admin:[email protected]:8000/

    This solves issue https://github.com/allegro/ralph/issues/2978 .

    opened by didierm 26
  • Cannot start Ralph

    Cannot start Ralph

    I installed Ralph on Ubuntu 14.04 LTS using the installation guide from http://ralph-ng.readthedocs.org/en/ng/installation/ using the Ubuntu package. After I installed, I had to add ralph to my $PATH. When I was able to run ralph migrate, I was unable to progress because the command ran into an error. The error is inside the pastebin link below. I apologize if I am submitting an issue that seems dumb, I don't have much experience with *nix.

    http://pastebin.com/BZipKb0K

    opened by bc-csagit 24
  • LDAP Sync not working

    LDAP Sync not working

    I am trying to set up LDAP sync with our 2008 AD server and am running into some issues.

    Code inserted into src/ralph/settings/prod.py:

    AUTHENTICATION_BACKENDS = (
        'django_auth_ldap.backend.LDAPBackend',
        'django.contrib.auth.backends.ModelBackend',
    )
    
    import ldap
    from django_auth_ldap.config import LDAPSearch, GroupOfNamesType
    AUTH_LDAP_SERVER_URI = "ldap://ladbsix.somenet.local:389"
    AUTH_LDAP_BIND_DN = "CN=ralph,OU=Ralph,DC=somenet,DC=local"
    AUTH_LDAP_BIND_PASSWORD = "somepass"
    AUTH_LDAP_PROTOCOL_VERSION = 3
    AUTH_LDAP_USER_USERNAME_ATTR = "sAMAccountName"
    AUTH_LDAP_USER_SEARCH_BASE = "DC=allegrogroup,DC=internal"
    AUTH_LDAP_USER_SEARCH_FILTER = '(&(objectClass=*)({0}=%(user)s))'.format(
      AUTH_LDAP_USER_USERNAME_ATTR)
    AUTH_LDAP_USER_SEARCH = LDAPSearch(AUTH_LDAP_USER_SEARCH_BASE,
      ldap.SCOPE_SUBTREE, AUTH_LDAP_USER_SEARCH_FILTER)
    AUTH_LDAP_USER_ATTR_MAP = {
      "first_name": "givenName",
      "last_name": "sn",
      "email": "mail",
    }
    
    from ralph.accounts.ldap import MappedGroupOfNamesType
    
    AUTH_LDAP_GROUP_MAPPING = {
      'CN=_gr_ralph_admin,OU=Ralph,DC=somenet,DC=local': "staff",
      'CN=_gr_ralph_admin,OU=Ralph,DC=somenet,DC=local': "superuser",
      'CN=_gr_ralph_admin,OU=Ralph,DC=somenet,DC=local': "ladb",
    }
    AUTH_LDAP_MIRROR_GROUPS = True
    AUTH_LDAP_GROUP_TYPE = MappedGroupOfNamesType(name_attr="cn")
    AUTH_LDAP_GROUP_SEARCH = LDAPSearch("DC=somenet,DC=local",
        ldap.SCOPE_SUBTREE, '(objectClass=group)')
    
    AUTH_LDAP_NESTED_GROUPS = {
        'CN=_gr_ralph_admin,OU=Ralph,DC=somenet,DC=local': "staff",  # _gr_ralph_users contains other LDAP groups inside
    }
    
    AUTH_LDAP_USER_FILTER = '(|(memberOf=CN=_gr_ralph_admin,OU=Ralph,'\
        'DC=somenet,DC=local))'
    

    output from running ralph ldap_sync

    
    Traceback (most recent call last):
      File "/usr/local/bin/ralph", line 9, in <module>
        load_entry_point('ralph==3.0.0', 'console_scripts', 'ralph')()
      File "/opt/ralph/src/ralph/__main__.py", line 29, in prod
        main('ralph.settings.prod')
      File "/opt/ralph/src/ralph/__main__.py", line 14, in main
        execute_from_command_line(sys.argv)
      File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
        utility.execute()
      File "/usr/local/lib/python3.4/dist-packages/django/core/management/__init__.py", line 346, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line 394, in run_from_argv
        self.execute(*args, **cmd_options)
      File "/usr/local/lib/python3.4/dist-packages/django/core/management/base.py", line 445, in execute
        output = self.handle(*args, **options)
      File "/opt/ralph/src/ralph/accounts/management/commands/ldap_sync.py", line 219, in handle
        self.nested_groups = NestedGroups()
      File "/opt/ralph/src/ralph/accounts/management/commands/ldap_sync.py", line 103, in __init__
        self.group_users, self.users_groups = get_nested_groups()
    TypeError: 'NoneType' object is not iterable
    
    bug ng 
    opened by mholttech 22
  • 500 inernal after upgrade ralph-core

    500 inernal after upgrade ralph-core

    Hey guys I have got 500 internal after upgrade ralph-core from 3.0.0-snapshot-20160607-5736 to 3.0.0-snapshot-20160610 this did help https://github.com/allegro/ralph/issues?page=2&q=is%3Aissue+is%3Aopen

    Error:

    ralph migrate /opt/ralph/ralph-core/lib/python3.4/site-packages/django/contrib/contenttypes/models.py:161: RemovedInDjango19Warning: Model class django.contrib.contenttypes.models.ContentType doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class ContentType(models.Model):

    /opt/ralph/ralph-core/lib/python3.4/site-packages/django/contrib/admin/models.py:28: RemovedInDjango19Warning: Model class django.contrib.admin.models.LogEntry doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class LogEntry(models.Model):

    /opt/ralph/ralph-core/lib/python3.4/importlib/_bootstrap.py:321: RemovedInDjango19Warning: django.contrib.contenttypes.generic is deprecated and will be removed in Django 1.9. Its contents have been moved to the fields, forms, and admin submodules of django.contrib.contenttypes. return f(_args, *_kwds)

    /opt/ralph/ralph-core/lib/python3.4/importlib/_bootstrap.py:321: RemovedInDjango19Warning: The utilities in django.db.models.loading are deprecated in favor of the new application loading system. return f(_args, *_kwds)

    /opt/ralph/ralph-core/lib/python3.4/site-packages/django/contrib/auth/models.py:41: RemovedInDjango19Warning: Model class django.contrib.auth.models.Permission doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Permission(models.Model):

    /opt/ralph/ralph-core/lib/python3.4/site-packages/django/contrib/auth/models.py:98: RemovedInDjango19Warning: Model class django.contrib.auth.models.Group doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Group(models.Model):

    /opt/ralph/ralph-core/lib/python3.4/site-packages/django/contrib/auth/models.py:436: RemovedInDjango19Warning: Model class django.contrib.auth.models.User doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class User(AbstractUser):

    /opt/ralph/ralph-core/lib/python3.4/site-packages/taggit/models.py:96: RemovedInDjango19Warning: Model class taggit.models.Tag doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class Tag(TagBase):

    /opt/ralph/ralph-core/lib/python3.4/site-packages/taggit/models.py:201: RemovedInDjango19Warning: Model class taggit.models.TaggedItem doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9. class TaggedItem(GenericTaggedItemBase, TaggedItemBase):

    /opt/ralph/ralph-core/lib/python3.4/importlib/_bootstrap.py:321: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9. return f(_args, *_kwds)

    password and user database are ok. also checked in ralph shell.

    opened by daro1337 21
  • Cannot import simple data

    Cannot import simple data

    I have an test asset CSV file for importing:

    rack,budget_info,parent,model,management_ip,service_env,asset_ptr,baseobject_ptr,id,created,modified,content_type,remarks,hostname,sn,barcode,niw,required_support,order_no,invoice_no,invoice_date,price,provider,depreciation_rate,force_depreciation,depreciation_end_date,task_url,property_of,status,position,orientation,slot_no,connections,source,delivery_date,production_year,production_use_date,management_hostname,tags
    ,,,1,,1,,,,,,,,,6CU543YD7R,,,,,,,,,,,,,,,,,,,,,,,,
    

    But I am seeing errors (I have enabled full traceback):

    Line number: 1 - Cannot assign None: "DataCenterAsset.model" does not allow null values.
    Traceback (most recent call last):
    File "/home/vagrant/lib/python3.4/site-packages/import_export/resources.py", line 360, in import_data
    self.import_obj(instance, row, real_dry_run)
    File "/home/vagrant/lib/python3.4/site-packages/import_export/resources.py", line 226, in import_obj
    self.import_field(field, obj, data)
    File "/home/vagrant/lib/python3.4/site-packages/import_export/resources.py", line 218, in import_field
    field.save(obj, data)
    File "/home/vagrant/lib/python3.4/site-packages/import_export/fields.py", line 94, in save
    setattr(obj, self.attribute, self.clean(data))
    File "/home/vagrant/lib/python3.4/site-packages/django/db/models/fields/related.py", line 634, in __set__
    (instance._meta.object_name, self.field.name)
    ValueError: Cannot assign None: "DataCenterAsset.model" does not allow null values.
    

    I am sure I have an asset model record with an id of 1.

    I have found the crux of the problem is at src/ralph/data_importer/widgets.py, in which the following statement yields nothing:

        imported_obj = ImportedObjects.objects.filter(
            content_type=content_type,
            old_object_pk=str(old_pk)
        ).first()
    

    How can I fix this problem?

    bug ng 
    opened by fossilet 19
  • ralph migrate issues --> Can't install!

    ralph migrate issues --> Can't install!

    Just installed 3.0.0-snapshot-20160824-6995, and can't seem to run ralph migrate:

    Operations to perform:
      Synchronize unmigrated apps: import_export, rest_framework, mptt, staticfiles, taggit_serializer, messages, humanize, ralph_admin, django_rq, table, dc_view, foundation, ralph2_sync, permissions
      Apply all migrations: accounts, external_services, assets, data_importer, authtoken, deployment, dhcp, licences, security, auth, custom_fields, admin, data_center, taggit, dashboards, transitions, sessions, attachments, operations, reversion, sitetree, back_office, reports, supports, domains, virtual, networks, contenttypes
    Synchronizing apps without migrations:
      Creating tables...
        Running deferred SQL...
      Installing custom SQL...
    Running migrations:
      Rendering model states... DONE
      Applying contenttypes.0001_initial... OK
      Applying contenttypes.0002_remove_content_type_name... OK
      Applying auth.0001_initial... OK
      Applying auth.0002_alter_permission_name_max_length... OK
      Applying auth.0003_alter_user_email_max_length... OK
      Applying auth.0004_alter_user_username_opts... OK
      Applying auth.0005_alter_user_last_login_null... OK
      Applying auth.0006_require_contenttypes_0002... OK
      Applying accounts.0001_initial... OK
      Applying accounts.0002_auto_20151204_0758... OK
      Applying accounts.0003_region_country... OK
      Applying accounts.0004_region_stocktaking_enabled... OK
      Applying admin.0001_initial... OK
      Applying data_importer.0001_initial... OK
      Applying data_importer.0002_auto_20151125_1354... OK
      Applying data_importer.0003_auto_20160624_1217... OK
      Applying data_importer.0004_auto_20160728_1046... OK
      Applying taggit.0001_initial... OK
      Applying taggit.0002_auto_20150616_2121... OK
      Applying assets.0001_initial... OK
      Applying assets.0002_auto_20151125_1354... OK
      Applying assets.0003_auto_20151126_2205... OK
      Applying assets.0004_auto_20151204_0758... OK
      Applying assets.0005_category_depreciation_rate... OK
      Applying assets.0006_category_show_buyout_date... OK
      Applying assets.0007_auto_20160122_1022... OK
      Applying assets.0008_auto_20160122_1429... OK
      Applying assets.0009_auto_20160307_1138... OK
      Applying assets.0010_auto_20160405_1531... OK
      Applying assets.0011_auto_20160603_0742... OK
      Applying assets.0012_auto_20160606_1409... OK
      Applying assets.0013_auto_20160615_2140... OK
      Applying assets.0014_memory... OK
      Applying assets.0015_auto_20160701_0952... OK
      Applying assets.0016_fibrechannelcard... OK
      Applying assets.0017_processor... OK
      Applying assets.0018_disk... OK
      Applying assets.0019_auto_20160719_1443... OK
      Applying assets.0020_auto_20160803_0712...Traceback (most recent call last):
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/backends/utils.py", line 64, in execute
        return self.cursor.execute(sql, params)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/backends/mysql/base.py", line 124, in execute
        return self.cursor.execute(query, args)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/cursors.py", line 220, in execute
        self.errorhandler(self, exc, value)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
        raise errorvalue
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/cursors.py", line 209, in execute
        r = self._query(query)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/cursors.py", line 371, in _query
        rowcount = self._do_query(q)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/cursors.py", line 335, in _do_query
        db.query(q)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/connections.py", line 280, in query
        _mysql.connection.query(self, query)
    _mysql_exceptions.OperationalError: (1025, "Error on rename of './ralph/#sql-220b_8c' to './ralph/assets_configurationclass' (errno: 150)")
    
    The above exception was the direct cause of the following exception:
    
    Traceback (most recent call last):
      File "/opt/ralph/ralph-core/bin/ralph", line 9, in <module>
        load_entry_point('ralph==3.0.0', 'console_scripts', 'ralph')()
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/ralph/__main__.py", line 29, in prod
        main('ralph.settings.prod')
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/ralph/__main__.py", line 14, in main
        execute_from_command_line(sys.argv)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
        utility.execute()
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/core/management/__init__.py", line 346, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/core/management/base.py", line 394, in run_from_argv
        self.execute(*args, **cmd_options)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/core/management/base.py", line 445, in execute
        output = self.handle(*args, **options)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/core/management/commands/migrate.py", line 222, in handle
        executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/migrations/executor.py", line 110, in migrate
        self.apply_migration(states[migration], migration, fake=fake, fake_initial=fake_initial)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/migrations/executor.py", line 148, in apply_migration
        state = migration.apply(state, schema_editor)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/migrations/migration.py", line 115, in apply
        operation.database_forwards(self.app_label, schema_editor, old_state, project_state)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/migrations/operations/special.py", line 43, in database_forwards
        database_operation.database_forwards(app_label, schema_editor, from_state, to_state)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/migrations/operations/fields.py", line 275, in database_forwards
        to_model._meta.get_field(self.new_name),
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/backends/base/schema.py", line 484, in alter_field
        old_db_params, new_db_params, strict)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/backends/base/schema.py", line 547, in _alter_field
        self.execute(self._rename_field_sql(model._meta.db_table, old_field, new_field, new_type))
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/backends/base/schema.py", line 111, in execute
        cursor.execute(sql, params)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/backends/utils.py", line 64, in execute
        return self.cursor.execute(sql, params)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/utils.py", line 98, in __exit__
        six.reraise(dj_exc_type, dj_exc_value, traceback)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/utils/six.py", line 685, in reraise
        raise value.with_traceback(tb)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/backends/utils.py", line 64, in execute
        return self.cursor.execute(sql, params)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/django/db/backends/mysql/base.py", line 124, in execute
        return self.cursor.execute(query, args)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/cursors.py", line 220, in execute
        self.errorhandler(self, exc, value)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/connections.py", line 36, in defaulterrorhandler
        raise errorvalue
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/cursors.py", line 209, in execute
        r = self._query(query)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/cursors.py", line 371, in _query
        rowcount = self._do_query(q)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/cursors.py", line 335, in _do_query
        db.query(q)
      File "/opt/ralph/ralph-core/lib/python3.4/site-packages/MySQLdb/connections.py", line 280, in query
        _mysql.connection.query(self, query)
    django.db.utils.OperationalError: (1025, "Error on rename of './ralph/#sql-220b_8c' to './ralph/assets_configurationclass' (errno: 150)")
    
    opened by yanfosec 17
  • 500 internal error

    500 internal error

    hi OS ubuntu Buster

    i imported about 900 vms in virtual servers and it have 9 pages now i can view 6 pages without problem but in pages 7 - 9 i get this error

    Environment:

    Request Method: GET Request URL: http://foo.bar/virtual/virtualserver/?p=6

    Django Version: 1.8.19 Python Version: 3.6.7 Installed Applications: ('ralph.admin', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django_rq', 'import_export', 'mptt', 'reversion', 'sitetree', 'ralph.accounts', 'ralph.assets', 'ralph.attachments', 'ralph.back_office', 'ralph.configuration_management', 'ralph.dashboards', 'ralph.data_center', 'ralph.dhcp', 'ralph.deployment', 'ralph.licences', 'ralph.domains', 'ralph.trade_marks', 'ralph.sim_cards', 'ralph.supports', 'ralph.security', 'ralph.lib.foundation', 'ralph.lib.table', 'ralph.networks', 'ralph.data_importer', 'ralph.dc_view', 'ralph.reports', 'ralph.virtual', 'ralph.operations', 'ralph.lib.external_services', 'ralph.lib.transitions', 'ralph.lib.permissions', 'ralph.lib.custom_fields', 'ralph.lib.hooks', 'ralph.notifications', 'ralph.ssl_certificates', 'rest_framework', 'rest_framework.authtoken', 'taggit', 'taggit_serializer') Installed Middleware: ('django.middleware.common.CommonMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.locale.LocaleMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.auth.middleware.SessionAuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.security.SecurityMiddleware', 'threadlocals.middleware.ThreadLocalMiddleware')

    Template error: In template /opt/ralph/ralph-core/lib/python3.6/site-packages/ralph/admin/templates/admin/change_list.html, error at line 104 'NoneType' object has no attribute 'get_absolute_url'

    94 : {% include 'admin/partials/filters.html' %}

    95 : {% endif %}

    96 : {% endif %}

    97 : {% endblock %}

    98 : {% endif %}

    99 :

    100 : {% block result_list %}

    101 : {% if cl.formset %}

    102 : {{ cl.formset.management_form }}

    103 : {% endif %}

    104 : {% result_list cl %}

    105 : {% if action_form and actions_on_bottom and cl.show_admin_actions %}

    106 : {% admin_actions %}

    107 : {% endif %}

    108 : {% endblock %}

    109 :

    110 :

    111 :

    112 :

    113 : {% block pagination %}

    114 : {% pagination cl %}

    Traceback: File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/core/handlers/base.py" in get_response 164. response = response.render() File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/response.py" in render 158. self.content = self.rendered_content File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/response.py" in rendered_content 135. content = template.render(context, self._request) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/backends/django.py" in render 74. return self.template.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in render 210. return self._render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in _render 202. return self.nodelist.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in render 905. bit = self.render_node(node, context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/debug.py" in render_node 79. return node.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/loader_tags.py" in render 135. return compiled_parent._render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in _render 202. return self.nodelist.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in render 905. bit = self.render_node(node, context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/debug.py" in render_node 79. return node.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/loader_tags.py" in render 135. return compiled_parent._render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in _render 202. return self.nodelist.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in render 905. bit = self.render_node(node, context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/debug.py" in render_node 79. return node.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/loader_tags.py" in render 135. return compiled_parent._render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in _render 202. return self.nodelist.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in render 905. bit = self.render_node(node, context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/debug.py" in render_node 79. return node.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/loader_tags.py" in render 135. return compiled_parent._render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in _render 202. return self.nodelist.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in render 905. bit = self.render_node(node, context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/debug.py" in render_node 79. return node.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/loader_tags.py" in render 65. result = block.nodelist.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in render 905. bit = self.render_node(node, context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/debug.py" in render_node 79. return node.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/loader_tags.py" in render 65. result = block.nodelist.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in render 905. bit = self.render_node(node, context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/debug.py" in render_node 79. return node.render(context) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/template/base.py" in render 1273. _dict = func(*resolved_args, **resolved_kwargs) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py" in result_list 320. 'results': list(results(cl))} File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py" in results 296. yield ResultList(None, items_for_result(cl, res, None)) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py" in init 287. super(ResultList, self).init(*items) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/contrib/admin/templatetags/admin_list.py" in items_for_result 199. f, attr, value = lookup_field(field_name, result, cl.model_admin) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/contrib/admin/utils.py" in lookup_field 278. value = attr(obj) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/ralph/virtual/admin.py" in get_parent 177. obj.parent.get_absolute_url(), obj.parent.hostname

    Exception Type: AttributeError at /virtual/virtualserver/ Exception Value: 'NoneType' object has no attribute 'get_absolute_url'

    opened by Talangor 15
  • Installation

    Installation

    Hi,

    i have a Problem, i will tested ralph3 but cannot installation.

    1. sudo apt-get update && sudo apt-get install apt-transport-https 2.sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61 3.sudo sh -c "echo 'deb https://dl.bintray.com/vi4m/ralph wheezy main' > /etc/apt/sources.list.d/vi4m_ralph.list" 4.sudo apt-get update

    Error: OK:1 http://de.archive.ubuntu.com/ubuntu xenial InRelease OK:2 http://security.ubuntu.com/ubuntu xenial-security InRelease
    OK:3 http://de.archive.ubuntu.com/ubuntu xenial-updates InRelease
    OK:4 http://de.archive.ubuntu.com/ubuntu xenial-backports InRelease Ign:5 https://dl.bintray.com/vi4m/ralph wheezy InRelease Ign:6 https://dl.bintray.com/vi4m/ralph wheezy Release Ign:7 https://dl.bintray.com/vi4m/ralph wheezy/main amd64 Packages Ign:8 https://dl.bintray.com/vi4m/ralph wheezy/main i386 Packages Ign:9 https://dl.bintray.com/vi4m/ralph wheezy/main all Packages Ign:10 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de_DE Ign:11 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de Ign:12 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-en Ign:7 https://dl.bintray.com/vi4m/ralph wheezy/main amd64 Packages Ign:8 https://dl.bintray.com/vi4m/ralph wheezy/main i386 Packages Ign:9 https://dl.bintray.com/vi4m/ralph wheezy/main all Packages Ign:10 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de_DE Ign:11 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de Ign:12 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-en Ign:7 https://dl.bintray.com/vi4m/ralph wheezy/main amd64 Packages Ign:8 https://dl.bintray.com/vi4m/ralph wheezy/main i386 Packages Ign:9 https://dl.bintray.com/vi4m/ralph wheezy/main all Packages Ign:10 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de_DE Ign:11 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de Ign:12 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-en Ign:7 https://dl.bintray.com/vi4m/ralph wheezy/main amd64 Packages Ign:8 https://dl.bintray.com/vi4m/ralph wheezy/main i386 Packages Ign:9 https://dl.bintray.com/vi4m/ralph wheezy/main all Packages Ign:10 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de_DE Ign:11 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de Ign:12 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-en Ign:7 https://dl.bintray.com/vi4m/ralph wheezy/main amd64 Packages Ign:8 https://dl.bintray.com/vi4m/ralph wheezy/main i386 Packages Ign:9 https://dl.bintray.com/vi4m/ralph wheezy/main all Packages Ign:10 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de_DE Ign:11 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de Ign:12 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-en Fehl:7 https://dl.bintray.com/vi4m/ralph wheezy/main amd64 Packages 404 Not Found Ign:8 https://dl.bintray.com/vi4m/ralph wheezy/main i386 Packages Ign:9 https://dl.bintray.com/vi4m/ralph wheezy/main all Packages Ign:10 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de_DE Ign:11 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-de Ign:12 https://dl.bintray.com/vi4m/ralph wheezy/main Translation-en Paketlisten werden gelesen... Fertig W: The repository 'https://dl.bintray.com/vi4m/ralph wheezy Release' does not have a Release file. N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. N: See apt-secure(8) manpage for repository creation and user configuration details. E: Failed to fetch https://dl.bintray.com/vi4m/ralph/dists/wheezy/main/binary-amd64/Packages 404 Not Found E: Einige Indexdateien konnten nicht heruntergeladen werden. Sie wurden ignoriert oder alte an ihrer Stelle benutzt.

    What is wrong?

    Thanks

    opened by spinnnor 14
  • Back Office / Hardware

    Back Office / Hardware

    Hi Since the last update i can there are some basic info display error. Here, the model is no longer displayed. Also the user no longer appears.

    I see also this error everytime when I load a page: /static/bower_components/iron-a11y-announcer/iron-a11y-announcer.html HTTP/1.1" 404 1796

    opened by renki81 14
  • USE_TZ = True.

    USE_TZ = True.

    We are using the following settings regarding timezone:

    TIME_ZONE = 'Europe/Warsaw'
    USE_TZ = False
    

    When USE_TZ is False, Django would store timestamps in the timezone of TIME_ZONE, and this is how ralph is storing time. After I realised I should change TIME_ZONE, even if I changed TIME_ZONE to 'Asia/Beijing', the stored time are still in the old timezone (GMT+1). How about it that we change USE_TZ to True, to make sue time is always saved as UTC? This is also recommended by Django.

    opened by fossilet 14
  • Mariadb maximum keylength 767

    Mariadb maximum keylength 767

    Steps to reproduce

    Install on Ubuntu 18.04 with mariadb-server

    Expected behavior

    ralphctl migrate complete successfully

    Actual behavior

    Exception raised Applying accounts.0001_initial...Traceback (most recent call last): File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/backends/utils.py", line 62, in execute return self.cursor.execute(sql) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/django/db/backends/mysql/base.py", line 124, in execute return self.cursor.execute(query, args) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/MySQLdb/cursors.py", line 250, in execute self.errorhandler(self, exc, value) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/MySQLdb/connections.py", line 50, in defaulterrorhandler raise errorvalue File "/opt/ralph/ralph-core/lib/python3.6/site-packages/MySQLdb/cursors.py", line 247, in execute res = self._query(query) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/MySQLdb/cursors.py", line 412, in _query rowcount = self._do_query(q) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/MySQLdb/cursors.py", line 375, in _do_query db.query(q) File "/opt/ralph/ralph-core/lib/python3.6/site-packages/MySQLdb/connections.py", line 276, in query _mysql.connection.query(self, query) _mysql_exceptions.OperationalError: (1071, 'Specified key was too long; max key length is 767 bytes')

    Environment

    • Ralph version: ralph-core 20190124.2 amd64
    • Mariadb: mariadb-server 1:10.1.34-0ubunt all
    • Operating system: Ubuntu 18.04
    • Method of installation: repository package (as per installation documentation)
    opened by tsdogs 13
  • the ralph default password?

    the ralph default password?

    • Ralph version: 3.0
    • Operating system: ubuntu 20.04 docker compose install ; https://ralph-ng.readthedocs.io/en/stable/installation/installation/ this is the url .

    I installed ralph via docker, I have reached the login screen after the installation is complete, but there is no password to log in properly, docker-compose installation, please ask what is the default password?

    opened by thisisannetwork 1
  • docker-compose.yml.tmpl missing / located elsewhere

    docker-compose.yml.tmpl missing / located elsewhere

    https://ralph-ng.readthedocs.io/en/stable/installation/installation/ says to look for docker-compose.yml.tmpl in https://github.com/allegro/ralph/tree/ng/contrib , but that file is not there.

    There's docker-compose.yml in https://github.com/allegro/ralph/tree/ng/docker , but it's not quite clear whether that's the same thing.

    opened by richlv 2
  • WIP django3.2 python 3.10 support

    WIP django3.2 python 3.10 support

    I started working on porting to django 3.2 but currently stuck on

    django-admin migrate   
    Traceback (most recent call last):
      File "/home/jens/.local/bin/django-admin", line 8, in <module>
        sys.exit(execute_from_command_line())
      File "/home/jens/.local/lib/python3.10/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
        utility.execute()
      File "/home/jens/.local/lib/python3.10/site-packages/django/core/management/__init__.py", line 395, in execute
        django.setup()
      File "/home/jens/.local/lib/python3.10/site-packages/django/__init__.py", line 24, in setup
        apps.populate(settings.INSTALLED_APPS)
      File "/home/jens/.local/lib/python3.10/site-packages/django/apps/registry.py", line 114, in populate
        app_config.import_models()
      File "/home/jens/.local/lib/python3.10/site-packages/django/apps/config.py", line 301, in import_models
        self.models_module = import_module(models_module_name)
      File "/usr/lib64/python3.10/importlib/__init__.py", line 126, in import_module
        return _bootstrap._gcd_import(name[level:], package, level)
      File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
      File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
      File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
      File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
      File "<frozen importlib._bootstrap_external>", line 883, in exec_module
      File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
      File "/home/jens/workplace/ralph-ng/src/ralph/access_cards/models.py", line 13, in <module>
        from ralph.back_office.models import autocomplete_user
      File "/home/jens/workplace/ralph-ng/src/ralph/back_office/models.py", line 19, in <module>
        from ralph.assets.models.assets import (
      File "/home/jens/workplace/ralph-ng/src/ralph/assets/models/__init__.py", line 1, in <module>
        from ralph.assets.models.assets import (
      File "/home/jens/workplace/ralph-ng/src/ralph/assets/models/assets.py", line 15, in <module>
        from ralph.assets.models.base import BaseObject
      File "/home/jens/workplace/ralph-ng/src/ralph/assets/models/base.py", line 9, in <module>
        from ralph.lib.custom_fields.models import (
      File "/home/jens/workplace/ralph-ng/src/ralph/lib/custom_fields/models.py", line 17, in <module>
        from .fields import (
      File "/home/jens/workplace/ralph-ng/src/ralph/lib/custom_fields/fields.py", line 5, in <module>
        from django.contrib.contenttypes.fields import (
    ImportError: cannot import name 'ReverseGenericRelatedObjectsDescriptor' from 'django.contrib.contenttypes.fields' (/home/jens/.local/lib/python3.10/site-packages/django/contrib/contenttypes/fields.py)
    

    I will see if I have some time later to look into this

    opened by JensTimmerman 0
  • ralh is still based on django 1.8 when this is no longer supported

    ralh is still based on django 1.8 when this is no longer supported

    This means there is a high chance that there exist critical security updates in django that never make it to this project https://endoflife.date/django

    consider porting to django 3.2

    opened by JensTimmerman 0
  • Releases(20221208.1)
    • 20221208.1(Dec 8, 2022)

      What's Changed

      • Add new statuses for assets by @matyldv in https://github.com/allegro/ralph/pull/3744

      Full Changelog: https://github.com/allegro/ralph/compare/20221108.1...20221208.1

      Source code(tar.gz)
      Source code(zip)
    • 20221108.1(Nov 8, 2022)

      What's Changed

      • ITS-368993 | Added new status to backoffice assets. by @lukaszkarykowski in https://github.com/allegro/ralph/pull/3725

      Full Changelog: https://github.com/allegro/ralph/compare/20221107.1...20221108.1

      Source code(tar.gz)
      Source code(zip)
    • 20221107.1(Nov 7, 2022)

      What's Changed

      • Modify buyout date calculation by @hipek8 in https://github.com/allegro/ralph/pull/3743

      Full Changelog: https://github.com/allegro/ralph/compare/20221027.1...20221107.1

      Source code(tar.gz)
      Source code(zip)
    • 20221027.1(Oct 27, 2022)

      What's Changed

      • Add Utility Model by @awieckowski in https://github.com/allegro/ralph/pull/3741

      Full Changelog: https://github.com/allegro/ralph/compare/20220725.1...20221027.1

      Source code(tar.gz)
      Source code(zip)
    • 20220725.1(Jul 25, 2022)

      What's Changed

      • Allow editing hostname by default by @hipek8 in https://github.com/allegro/ralph/pull/3729

      Full Changelog: https://github.com/allegro/ralph/compare/20220718.1...20220725.1

      Source code(tar.gz)
      Source code(zip)
    • 20220718.1(Jul 18, 2022)

      What's Changed

      • Add additional transitions history filter fields by @awieckowski in https://github.com/allegro/ralph/pull/3736
      • Add import ssl certificates from many repositories by @awieckowski in https://github.com/allegro/ralph/pull/3738

      Full Changelog: https://github.com/allegro/ralph/compare/20220701.1...20220718.1

      Source code(tar.gz)
      Source code(zip)
    • 20220701.1(Jul 1, 2022)

      What's Changed

      • fix vip update event handling by @szymi- in https://github.com/allegro/ralph/pull/3734
      • Fix report generation by @matyldv in https://github.com/allegro/ralph/pull/3733
      • disallow ralph user modification in ralph demo by @szymi- in https://github.com/allegro/ralph/pull/3735

      New Contributors

      • @matyldv made their first contribution in https://github.com/allegro/ralph/pull/3733

      Full Changelog: https://github.com/allegro/ralph/compare/20220414.1...20220701.1

      Source code(tar.gz)
      Source code(zip)
    • 20220414.1(Apr 14, 2022)

      What's Changed

      • Fix failure when service missing in dnsaas record by @hipek8 in https://github.com/allegro/ralph/pull/3726

      Full Changelog: https://github.com/allegro/ralph/compare/20220411.1...20220414.1

      Source code(tar.gz)
      Source code(zip)
    • 20220411.1(Apr 11, 2022)

      What's Changed

      • Fix/dnsaas service | Fix maximum recursion error when querying dnsaas API by @hipek8 in https://github.com/allegro/ralph/pull/3723

      Full Changelog: https://github.com/allegro/ralph/compare/20220405.1...20220411.1

      Source code(tar.gz)
      Source code(zip)
    • 20220405.1(Apr 6, 2022)

      What's Changed

      • fix ralph demo nginx config by @szymi- in https://github.com/allegro/ralph/pull/3719
      • Don't query obsolete dnsaas /api/domains endpoint by @hipek8 in https://github.com/allegro/ralph/pull/3722

      Full Changelog: https://github.com/allegro/ralph/compare/20220301.1...20220405.1

      Source code(tar.gz)
      Source code(zip)
    • 20220301.1(Mar 1, 2022)

      What's Changed

      • Fix extra arguments persisting between requests by @hipek8 in https://github.com/allegro/ralph/pull/3714

      Full Changelog: https://github.com/allegro/ralph/compare/20220228.1...20220301.1

      Source code(tar.gz)
      Source code(zip)
    • 20220228.1(Feb 28, 2022)

      What's Changed

      • ralph demo resources by @szymi- in https://github.com/allegro/ralph/pull/3709
      • Switching to Discourse by @vi4m in https://github.com/allegro/ralph/pull/3708
      • trace request id if operational error occurs by @szymi- in https://github.com/allegro/ralph/pull/3713

      Full Changelog: https://github.com/allegro/ralph/compare/20220207.1...20220228.1

      Source code(tar.gz)
      Source code(zip)
    • 20220207.1(Feb 7, 2022)

      What's Changed

      • Prevent xss in network related to ip address and in related subnetwork table by @hipek8 in https://github.com/allegro/ralph/pull/3699

      Full Changelog: https://github.com/allegro/ralph/compare/20220111.1...20220207.1

      Source code(tar.gz)
      Source code(zip)
    • 20220111.1(Jan 11, 2022)

      What's Changed

      • incremental openstack sync by @szymi- in https://github.com/allegro/ralph/pull/3697

      Full Changelog: https://github.com/allegro/ralph/compare/20211222.1...20220111.1

      Source code(tar.gz)
      Source code(zip)
    • 20211222.1(Dec 22, 2021)

      What's Changed

      • initial data commands by @szymi- in https://github.com/allegro/ralph/pull/3680
      • refactor openstack client by @szymi- in https://github.com/allegro/ralph/pull/3682
      • Documentation links should now work correctly locally and hosted by @hipek8 in https://github.com/allegro/ralph/pull/3698

      Full Changelog: https://github.com/allegro/ralph/compare/20211220.1...20211222.1

      Source code(tar.gz)
      Source code(zip)
    • 20211220.1(Dec 20, 2021)

      What's Changed

      • Add trademark type 3D by @hipek8 in https://github.com/allegro/ralph/pull/3688
      • Fix XSS vulnerability in IP Addresses when linked object contained html tags by @hipek8 in https://github.com/allegro/ralph/pull/3681
      • VIP error logs should now correctly aggregate by @hipek8 in https://github.com/allegro/ralph/pull/3696

      Full Changelog: https://github.com/allegro/ralph/compare/20211123.1...20211220.1

      Source code(tar.gz)
      Source code(zip)
    • 20211123.1(Dec 6, 2021)

      What's Changed

      • Auto strip whitespaces in hostnames by @hipek8 in https://github.com/allegro/ralph/pull/3676
      • Fix error causing problems on Support import by @hipek8 in https://github.com/allegro/ralph/pull/3679

      Full Changelog: https://github.com/allegro/ralph/compare/20211117.1...20211123.1

      Source code(tar.gz)
      Source code(zip)
    • 20211117.1(Nov 17, 2021)

    • 20211112.1(Nov 12, 2021)

    • 20211108.1(Nov 8, 2021)

    • 20211029.1(Oct 29, 2021)

    • 20210922.1(Sep 22, 2021)

    • 20210921.3(Sep 21, 2021)

    • 20210921.2(Sep 21, 2021)

    • 20210921.1(Sep 21, 2021)

    • 20210908.1(Sep 8, 2021)

    • 20210706.1(Jul 6, 2021)

    • 20210629.1(Jun 29, 2021)

    • 20210615.1(Jun 15, 2021)

    • 20210525.1(May 25, 2021)

    Owner
    Allegro Tech
    Allegro Tech Open Source Projects
    Allegro Tech
    Self-hosted, easily-deployable monitoring and alerts service - like a lightweight PagerDuty

    Cabot Maintainers wanted Cabot is stable and used by hundreds of companies and individuals in production, but it is not actively maintained. We would

    Arachnys 5.4k Dec 23, 2022
    Simple, Pythonic remote execution and deployment.

    Welcome to Fabric! Fabric is a high level Python (2.7, 3.4+) library designed to execute shell commands remotely over SSH, yielding useful Python obje

    Fabric 13.8k Jan 06, 2023
    RMRK spy bot for RMRK hackathon

    rmrk_spy_bot RMRK spy bot https://t.me/RMRKspyBot for rmrk hacktoberfest https://rmrk.devpost.com/ Birds and items price and rarity estimation Reports

    Victor Ryabinin 2 Sep 06, 2022
    Hubble - Network, Service & Security Observability for Kubernetes using eBPF

    Network, Service & Security Observability for Kubernetes What is Hubble? Getting Started Features Service Dependency Graph Metrics & Monitoring Flow V

    Cilium 2.4k Jan 04, 2023
    Helperpod - A CLI tool to run a Kubernetes utility pod with pre-installed tools that can be used for debugging/testing purposes inside a Kubernetes cluster

    Helperpod is a CLI tool to run a Kubernetes utility pod with pre-installed tools that can be used for debugging/testing purposes inside a Kubernetes cluster.

    Atakan Tatlı 2 Feb 05, 2022
    A Blazing fast Security Auditing tool for Kubernetes

    A Blazing fast Security Auditing tool for kubernetes!! Basic Overview Kubestriker performs numerous in depth checks on kubernetes infra to identify th

    Vasant Chinnipilli 934 Jan 04, 2023
    Find-Xss - Termux Kurulum Dosyası Eklendi Eğer Hata Alıyorsanız Lütfen Resmini Çekip İnstagramdan Bildiriniz

    FindXss Waf Bypass Eklendi !!! PRODUCER: Saep UPDATER: Aser-Vant Download: git c

    Aser 2 Apr 17, 2022
    Deploy a simple Multi-Node Clickhouse Cluster with docker-compose in minutes.

    Simple Multi Node Clickhouse Cluster I hate those single-node clickhouse clusters and manually installation, I mean, why should we: Running multiple c

    Nova Kwok 11 Nov 18, 2022
    MicroK8s is a small, fast, single-package Kubernetes for developers, IoT and edge.

    MicroK8s The smallest, fastest Kubernetes Single-package fully conformant lightweight Kubernetes that works on 42 flavours of Linux. Perfect for: Deve

    Ubuntu 7.1k Jan 08, 2023
    Cado Response Integration with Amazon GuardDuty using AWS Lambda

    Cado Response Integration with Amazon GuardDuty using AWS Lambda This repository contains a simple example where: An alert is triggered by GuardDuty T

    Cado Security 4 Mar 02, 2022
    Lima is an alternative to using Docker Desktop on your Mac.

    lima-xbar-plugin Table of Contents Description Installation Dependencies Lima is an alternative to using Docker Desktop on your Mac. Description This

    Joe Block 68 Dec 22, 2022
    This repository contains useful docker-swarm-tools.

    docker-swarm-tools This repository contains useful docker-swarm-tools. swarm-guardian This Docker image is intended to be used in a multihost docker e

    NeuroForge GmbH & Co. KG 4 Jan 12, 2022
    Blazingly-fast :rocket:, rock-solid, local application development :arrow_right: with Kubernetes.

    Gefyra Gefyra gives Kubernetes-("cloud-native")-developers a completely new way of writing and testing their applications. Over are the times of custo

    Michael Schilonka 352 Dec 26, 2022
    Manage your SSH like a boss.

    --- storm is a command line tool to manage your ssh connections. features adding, editing, deleting, listing, searching across your SSHConfig. command

    Emre Yılmaz 3.9k Jan 03, 2023
    A Python Implementation for Git for learning

    A pure Python implementation for Git based on Buliding Git

    shidenggui 42 Jul 13, 2022
    Flexible and scalable monitoring framework

    Presentation of the Shinken project Welcome to the Shinken project. Shinken is a modern, Nagios compatible monitoring framework, written in Python. It

    Gabès Jean 1.1k Dec 18, 2022
    A cpp project template that uses CMake to build and Google Test / Github Actions to provide a CI

    A cpp project template that uses CMake to build and Google Test / Github Actions to provide a CI

    Martin Olivier 6 Nov 17, 2022
    A Habitica Integration with Github Workflows.

    Habitica-Workflow A Habitica Integration with Github Workflows. How To Use? Fork (and Star) this repository. Set environment variable in Settings - S

    Priate 2 Dec 20, 2021
    Daemon to ban hosts that cause multiple authentication errors

    __ _ _ ___ _ / _|__ _(_) |_ ) |__ __ _ _ _ | _/ _` | | |/ /| '_ \/ _` | ' \

    Fail2Ban 7.8k Jan 09, 2023
    A honey token manager and alert system for AWS.

    SpaceSiren SpaceSiren is a honey token manager and alert system for AWS. With this fully serverless application, you can create and manage honey token

    287 Nov 09, 2022