Skip to content
/ IPAMS Public
forked from GuanglinDu/IPAMS

IP Address Management System (IPAMS). IP地址管理系统。

License

Notifications You must be signed in to change notification settings

BaoyaDu/IPAMS

This branch is 75 commits behind GuanglinDu/IPAMS:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

a2bca12 · May 31, 2018
May 31, 2018
Oct 28, 2014
Dec 30, 2014
May 30, 2018
May 31, 2018
May 31, 2018
Oct 21, 2014
Apr 25, 2016
Jun 17, 2016
Jun 17, 2016
May 31, 2018
May 20, 2015
May 27, 2016
Apr 19, 2018
Feb 3, 2015
Apr 19, 2018
Apr 19, 2018
Oct 7, 2014
May 31, 2018
Apr 19, 2016
Oct 21, 2014
May 20, 2015
Jul 29, 2016
Apr 18, 2016

Repository files navigation

IPAMS

A Ruby on Rails (RoR) based IP Address Management System.

Status

  • 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.

How-tos

  • 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

Tests Based On MiniTest & Rspec

  • 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)

Testing Tips when sunspot and devise are integrated

Populate the development db

  • 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 Existing Data (Administrators only)

  • 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.

Some tricks

Importing Existing Data (Administrators only)

  • Please manually create tmp/IMPORT_LOG.txt & tmp/IMPORT_DIFF.txt files, creating the folder along.

History

    20160114: Most of the essential features implemented. Many minor features are under development.
    20150522: Implement prefix-matching search in Addresses views & Users view. No cross-table search support at present.
    20150520: Implement most of the basic features.
    20150116: Implement authorization with Pundit and IP address editing in Vlans & Addresses views.
    20150114: Update to Rails 4.1.8 to use ActiveRecord::Enum in role-based authorization with Pundit.
    20150111: Use gem Devise to authenticate & gem Pundit to authorize, separately.
    20141225: Gem awesome print added to beautify irb and rails console output.
    201412: In-place editing added and Bootstrap UI used.
    20141021: Scaffold pushed.

About

IP Address Management System (IPAMS). IP地址管理系统。

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 67.7%
  • HTML 25.8%
  • JavaScript 2.8%
  • CoffeeScript 1.9%
  • CSS 1.8%