A Ruby on Rails (RoR) based IP Address Management System.
- Feature-riched and ready for use now with fine-tunning features on the way;
- Branch develop is always the latest commit;
- ERD (Entity Relationship Diagram) is under folder architecture & drawn with Dia;
- Supports only IPv4 at present.
- git clone https://github.com/guanglindu/ipams.git
- rake db:migrate
- rake db:seed (Note: for development only; for production, please create or import the VLAN data.)
- rake init:vlans (rake init:VLAN-NAME to initialize a specific VLAN)
- start the server locally: rails server
- Browse it locally: http://localhost:3000
- Run the unit and functional tests: bundle exec rake test (MiniTest based)
- Run all the tests under dir test/: bundle exec rake test:all
- Run the integration tests based on Rspec: bundle exec rspec (Based on Rspect, Capybara and FactoryGirl)
- Configure the rake task with the test environment: rake sunspot:solr:run RAILS_ENV=test (See sunspot_rails gem - “ Errno:: ECONNREFUSED (Connection refused - connect (2)) ” )
- The above sunspot test instance can run along with the development instance.
- To sign in a user with devise by the following 2 lines (See : Making functional tests in Rails with Devise ) include Devise::TestHelpers sign_in username
- Before running the test, please start Sunspot for the test environment: bundle exec rake sunspot:solr:start RAILS_ENV=test
- bundle exec rake db:seed This populates table lans, vlans and system_users. It also creates a root user/password [email protected]/password, and the admin user [email protected]/password.
- bundle exec rake -T To show the IPAMS-specific tasks to populate tables such as addresses, departments. Table users is populated by populating a specific department.
- Importing templates reside public/downloads. The data should be exported in UTF-8 encoded CSV files with the same file base name as the templates and copied to fold tmp.
- File tmp/IMPORT_LOG.txt updates after each import.
- File tmp/IMPORT_DIFF.html shows the difference if there're conflicts in the IP address importing.
- The update attribute is optional in the IP address importing template to tell the importer to import this record anyway.
- On a terminal at folder ipams, use command 'rake --tasks' to show the available IPAMS-specific tasks.
- Please manually create tmp/IMPORT_LOG.txt & tmp/IMPORT_DIFF.txt files, creating the folder along.
The MIT License
- 201904: Statistics in a sunburst perspective.
- 201903: Nested searching & statistics.
- 2017-2018: Bug fixes.
- 2016: Search with any arbitrary string implemented.
- 20150522: Prefix-matching search in Addresses views & Users view.
- 20150520: Most of the basic features implemented.
- 20150114: Upgraded to Rails 4.1.8 to use ActiveRecord::Enum in role-based authorization with Pundit.
- 20150111: Devise & Pundit added.
- 20141225: Gem awesome_print added.
- 201412: In-place editing with Bootstrap.
- 20141021: Scaffold pushed.