nfsadmin 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 1b6408e762bae666a4ac9a02272fee6dfc83f036
4
+ data.tar.gz: e5569e448ff209e9c1e52b9ca3e725a8041a5ea4
5
+ SHA512:
6
+ metadata.gz: e96b2bcb0aedbd0c763390084c417bc80342a44faa97347bffc1492448e0292446c2495e65c4c09eda243215838e8f5d8baedefed2535765eb2e183c9c541d0f
7
+ data.tar.gz: 429a729e61a58f0b4731bd0019dfc484f74a3eea385c5c1a1cbba77649ae695bf385e88f7d8c30514f130fa55fffb730595bd5cbe69ccf0ffa563b2226b0d695
data/.gitignore ADDED
@@ -0,0 +1,36 @@
1
+ *.gem
2
+ *.rbc
3
+ *.html
4
+ .idea
5
+ /.config
6
+ /coverage/
7
+ /InstalledFiles
8
+ /pkg/
9
+ /spec/reports/
10
+ /test/tmp/
11
+ /test/version_tmp/
12
+ /tmp/
13
+
14
+ ## Specific to RubyMotion:
15
+ .dat*
16
+ .repl_history
17
+ build/
18
+
19
+ ## Documentation cache and generated files:
20
+ /.yardoc/
21
+ /_yardoc/
22
+ /doc/
23
+ /rdoc/
24
+
25
+ ## Environment normalisation:
26
+ /.bundle/
27
+ /lib/bundler/man/
28
+
29
+ # for a library or gem, you might want to ignore these files since the code is
30
+ # intended to run in multiple environments; otherwise, check them in:
31
+ # Gemfile.lock
32
+ # .ruby-version
33
+ # .ruby-gemset
34
+
35
+ # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
36
+ .rvmrc
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ nfsadmin
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ ruby-2.1.1
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,44 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ nfsadmin (0.0.2)
5
+ gli (~> 2.9)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ aruba (0.5.4)
11
+ childprocess (>= 0.3.6)
12
+ cucumber (>= 1.1.1)
13
+ rspec-expectations (>= 2.7.0)
14
+ builder (3.2.2)
15
+ childprocess (0.5.2)
16
+ ffi (~> 1.0, >= 1.0.11)
17
+ cucumber (1.3.14)
18
+ builder (>= 2.1.2)
19
+ diff-lcs (>= 1.1.3)
20
+ gherkin (~> 2.12)
21
+ multi_json (>= 1.7.5, < 2.0)
22
+ multi_test (>= 0.1.1)
23
+ diff-lcs (1.2.5)
24
+ ffi (1.9.3)
25
+ gherkin (2.12.2)
26
+ multi_json (~> 1.3)
27
+ gli (2.9.0)
28
+ json (1.8.1)
29
+ multi_json (1.9.2)
30
+ multi_test (0.1.1)
31
+ rake (10.2.2)
32
+ rdoc (4.1.1)
33
+ json (~> 1.4)
34
+ rspec-expectations (2.14.5)
35
+ diff-lcs (>= 1.1.3, < 2.0)
36
+
37
+ PLATFORMS
38
+ ruby
39
+
40
+ DEPENDENCIES
41
+ aruba (~> 0.5)
42
+ nfsadmin!
43
+ rake (~> 10.2)
44
+ rdoc (~> 4.1)
data/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 Siteminds B.V. - B.J.W. Schaap
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,41 @@
1
+ nfsadmin
2
+ ========
3
+
4
+ Nfsadmin is a Ruby Gem that allows for simple configuration of the NFS service and its exports.
5
+ It consists of a library part that you can use in your own applications, and a CLI that allows
6
+ for using `nfsadmin` as a commandline tool.
7
+
8
+ Library usage
9
+ -------------
10
+
11
+ Using the library is easy: just `require 'nfsadmin'` in your own Ruby code.
12
+
13
+ CLI usage
14
+ ---------
15
+
16
+ The `nfsadmin` commandline binary comes with the gem. Type `nfsadmin help` to see how it works.
17
+
18
+ License
19
+ -------
20
+
21
+ The MIT License (MIT)
22
+
23
+ Copyright (c) 2014 Siteminds B.V. - B.J.W. Schaap
24
+
25
+ Permission is hereby granted, free of charge, to any person obtaining a copy
26
+ of this software and associated documentation files (the "Software"), to deal
27
+ in the Software without restriction, including without limitation the rights
28
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
29
+ copies of the Software, and to permit persons to whom the Software is
30
+ furnished to do so, subject to the following conditions:
31
+
32
+ The above copyright notice and this permission notice shall be included in all
33
+ copies or substantial portions of the Software.
34
+
35
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
36
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
37
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
38
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
39
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
40
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
41
+ SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,6 @@
1
+ = nfsadmin
2
+
3
+ Describe your project here
4
+
5
+ :include:nfsadmin.rdoc
6
+
data/Rakefile ADDED
@@ -0,0 +1,44 @@
1
+ require 'rake/clean'
2
+ require 'rubygems'
3
+ require 'rubygems/package_task'
4
+ require 'rdoc/task'
5
+ require 'cucumber'
6
+ require 'cucumber/rake/task'
7
+ Rake::RDocTask.new do |rd|
8
+ rd.main = "README.rdoc"
9
+ rd.rdoc_files.include("README.rdoc","lib/**/*.rb","bin/**/*")
10
+ rd.title = 'Your application title'
11
+ end
12
+
13
+ spec = eval(File.read('nfsadmin.gemspec'))
14
+
15
+ Gem::PackageTask.new(spec) do |pkg|
16
+ end
17
+ CUKE_RESULTS = 'results.html'
18
+ CLEAN << CUKE_RESULTS
19
+ desc 'Run features'
20
+ Cucumber::Rake::Task.new(:features) do |t|
21
+ opts = "features --format html -o #{CUKE_RESULTS} --format progress -x"
22
+ opts += " --tags #{ENV['TAGS']}" if ENV['TAGS']
23
+ t.cucumber_opts = opts
24
+ t.fork = false
25
+ end
26
+
27
+ desc 'Run features tagged as work-in-progress (@wip)'
28
+ Cucumber::Rake::Task.new('features:wip') do |t|
29
+ tag_opts = ' --tags ~@pending'
30
+ tag_opts = ' --tags @wip'
31
+ t.cucumber_opts = "features --format html -o #{CUKE_RESULTS} --format pretty -x -s#{tag_opts}"
32
+ t.fork = false
33
+ end
34
+
35
+ task :cucumber => :features
36
+ task 'cucumber:wip' => 'features:wip'
37
+ task :wip => 'features:wip'
38
+ require 'rake/testtask'
39
+ Rake::TestTask.new do |t|
40
+ t.libs << "test"
41
+ t.test_files = FileList['test/*_test.rb']
42
+ end
43
+
44
+ task :default => [:test,:features]
data/bin/nfsadmin ADDED
@@ -0,0 +1,119 @@
1
+ #!/usr/bin/env ruby
2
+ require 'gli'
3
+ require 'nfsadmin'
4
+
5
+ include GLI::App
6
+
7
+ program_desc 'nfsadmin is a CLI to manage the NFS service and its exports'
8
+
9
+ version Nfsadmin::VERSION
10
+
11
+ flag [:c,:config], :default_value => '/etc/exports'
12
+
13
+ desc 'The export command manages exported NFS shares'
14
+ command :export do |c|
15
+
16
+ c.default_command :list
17
+
18
+ c.desc 'List all NFS exported shares on this server'
19
+ c.command :list do |list|
20
+ list.desc 'Define output type. Valid types are: text, json'
21
+ list.default_value 'text'
22
+ list.flag [:f, :format]
23
+ list.action do |global_options,options,args|
24
+ Nfsadmin::Tasks.list_shares(global_options[:c], options[:f])
25
+ end
26
+ end
27
+
28
+ c.desc 'Add a new NFS export to be shared on this server'
29
+ c.command :add do |add|
30
+ add.desc 'The location to be exported as NFS share'
31
+ add.flag [:l, :location]
32
+ add.desc 'The network address (networks and wildcards allowed)'
33
+ add.flag [:a, :address]
34
+ add.desc 'The NFS options for this share, e.g. rw,sync,no_root_squash,no_subtree_check'
35
+ add.flag [:o, :options]
36
+ add.action do |global_options,options,args|
37
+ Nfsadmin::Tasks.create_share(global_options[:c], options[:l], options[:a], options[:o])
38
+ end
39
+ end
40
+
41
+ c.desc 'Delete an NFS export from this server'
42
+ c.command [:rm,:delete] do |delete|
43
+ delete.action do |global_options,options,args|
44
+ Nfsadmin::Tasks.delete_share(global_options[:c], options[:l])
45
+ end
46
+ end
47
+
48
+ c.desc 'Get information about a specific share'
49
+ c.command [:get] do |get|
50
+ get.action do |global_options,options,args|
51
+ Nfsadmin::Tasks.get_share(global_options[:c], options[:l], options[:f])
52
+ end
53
+ end
54
+ end
55
+
56
+ desc 'The service command manages the NFS service'
57
+ arg_name 'Describe arguments to service here'
58
+ command :service do |c|
59
+
60
+ c.desc 'Return the status of the NFS service(s)'
61
+ c.command :status do |status|
62
+ status.action do
63
+ Nfsadmin::Tasks.show_status
64
+ end
65
+ end
66
+
67
+ c.desc 'Start the NFS service(s)'
68
+ c.command :start do |start|
69
+ start.action do
70
+ Nfsadmin::Tasks.start_service
71
+ end
72
+ end
73
+
74
+ c.desc 'Stop the NFS service(s)'
75
+ c.command :stop do |stop|
76
+ stop.action do
77
+ Nfsadmin::Tasks.stop_service
78
+ end
79
+ end
80
+
81
+ c.desc 'Restart the NFS service(s)'
82
+ c.command :start do |restart|
83
+ restart.action do
84
+ Nfsadmin::Tasks.restart_service
85
+ end
86
+ end
87
+
88
+ c.desc 'Reload the NFS exports configuration'
89
+ c.command :reload do |reload|
90
+ reload.action do
91
+ Nfsadmin::Tasks.reload_config
92
+ end
93
+ end
94
+
95
+ c.default_command :status
96
+ end
97
+
98
+ pre do |global,command,options,args|
99
+ # Pre logic here
100
+ # Return true to proceed; false to abort and not call the
101
+ # chosen command
102
+ # Use skips_pre before a command to skip this block
103
+ # on that command only
104
+ true
105
+ end
106
+
107
+ post do |global,command,options,args|
108
+ # Post logic here
109
+ # Use skips_post before a command to skip this
110
+ # block on that command only
111
+ end
112
+
113
+ on_error do |exception|
114
+ # Error logic here
115
+ # return false to skip default error handling
116
+ true
117
+ end
118
+
119
+ exit run(ARGV)
@@ -0,0 +1,8 @@
1
+ Feature: My bootstrapped app kinda works
2
+ In order to get going on coding my awesome app
3
+ I want to have aruba and cucumber setup
4
+ So I don't have to do it myself
5
+
6
+ Scenario: App just runs
7
+ When I get help for "nfsadmin"
8
+ Then the exit status should be 0
@@ -0,0 +1,6 @@
1
+ When /^I get help for "([^"]*)"$/ do |app_name|
2
+ @app_name = app_name
3
+ step %(I run `#{app_name} help`)
4
+ end
5
+
6
+ # Add more step definitions here
@@ -0,0 +1,15 @@
1
+ require 'aruba/cucumber'
2
+
3
+ ENV['PATH'] = "#{File.expand_path(File.dirname(__FILE__) + '/../../bin')}#{File::PATH_SEPARATOR}#{ENV['PATH']}"
4
+ LIB_DIR = File.join(File.expand_path(File.dirname(__FILE__)),'..','..','lib')
5
+
6
+ Before do
7
+ # Using "announce" causes massive warnings on 1.9.2
8
+ @puts = true
9
+ @original_rubylib = ENV['RUBYLIB']
10
+ ENV['RUBYLIB'] = LIB_DIR + File::PATH_SEPARATOR + ENV['RUBYLIB'].to_s
11
+ end
12
+
13
+ After do
14
+ ENV['RUBYLIB'] = @original_rubylib
15
+ end
@@ -0,0 +1,152 @@
1
+ require 'json'
2
+
3
+ module Nfsadmin
4
+
5
+ class Tasks
6
+ def self.get_shares(exportsfile)
7
+ shares = []
8
+ location = ''
9
+ begin
10
+ file = File.open(exportsfile, 'r')
11
+ rescue
12
+ fail 'No exports configuration could be found'
13
+ end
14
+ file.readlines.each do |line|
15
+ share = {}
16
+ acl = []
17
+ parts = line.split
18
+ parts.each do |part|
19
+ entry = {}
20
+ if (Pathname.new(part)).absolute?
21
+ location = part
22
+ else
23
+ subparts = part.split('(')
24
+ entry[:address] = subparts[0]
25
+ entry[:options] = subparts[1].sub!(/\)/, '')
26
+ acl << entry
27
+ end
28
+ end
29
+ share[:location] = location
30
+ share[:acl] = acl
31
+ shares << share
32
+ end
33
+ file.close
34
+ return shares
35
+ end
36
+
37
+ def self.write_exports(exportsfile, exports)
38
+ begin
39
+ file = File.open(exportsfile, File::WRONLY|File::CREAT)
40
+ file.truncate(0)
41
+ rescue
42
+ fail "Could not write to exports configuration #{exportsfile}"
43
+ end
44
+ exports.each do |share|
45
+ file.print(share[:location] + ' ')
46
+ share[:acl].each do |acl|
47
+ file.print acl[:address].to_s + '(' + acl[:options].to_s + ')' + ' '
48
+ end
49
+ file.print "\n"
50
+ end
51
+ file.flush
52
+ file.close
53
+ end
54
+
55
+ def self.list_shares(exportsfile, output_type)
56
+ exports = get_shares(exportsfile)
57
+ if output_type.downcase == 'text'
58
+ # Output plain text
59
+ exports.each do |share|
60
+ printf('%-40s', share[:location])
61
+ share[:acl].each do |acl|
62
+ print acl[:address] + '(' + acl[:options] + ')' + ' '
63
+ end
64
+ print "\n"
65
+ end
66
+ STDOUT.flush
67
+ elsif output_type.downcase == 'json'
68
+ # Output JSON
69
+ puts JSON.generate({ :exports => exports })
70
+ else
71
+ fail "#{output_type} is an invalid output format. Must one of: text, json"
72
+ end
73
+ end
74
+
75
+ def self.create_share(exportsfile, location, address, options)
76
+ if location.nil?
77
+ fail 'Location must be specified'
78
+ end
79
+ if address.nil?
80
+ fail 'Address must be specified'
81
+ end
82
+ if options.nil?
83
+ fail 'Options must be specified'
84
+ end
85
+ share = { :location => location,
86
+ :acl => [{
87
+ :address => address,
88
+ :options => options
89
+ }]
90
+ }
91
+ shares = get_shares(exportsfile)
92
+ existingshare = shares.find { |s| s[:location] == location }
93
+ if existingshare.nil?
94
+ shares << share
95
+ write_exports(exportsfile, shares)
96
+ else
97
+ puts 'Share already exists. Use nfsadmin export modify to change it. Skipping'
98
+ end
99
+ end
100
+
101
+ def self.delete_share(exportsfile, location)
102
+ if location.nil?
103
+ fail 'Location must be specified with -l or --location='
104
+ end
105
+ shares = get_shares(exportsfile)
106
+ share = shares.find { |share| share[:location] == location }
107
+ shares.delete(share)
108
+ write_exports(exportsfile, shares)
109
+ end
110
+
111
+ def self.get_share(exportsfile, location, output_type)
112
+ if location.nil?
113
+ fail 'Location must be specified with -l or --location='
114
+ end
115
+ shares = get_shares(exportsfile)
116
+ share = shares.find { |share| share[:location] == location }
117
+ if output_type.downcase == 'text'
118
+ printf('%-40s', share[:location])
119
+ share[:acl].each do |acl|
120
+ print acl[:address] + '(' + acl[:options] + ')' + ' '
121
+ end
122
+ print "\n"
123
+ STDOUT.flush
124
+ elsif output_type.downcase == 'json'
125
+ puts JSON.generate(share)
126
+ else
127
+ fail "#{output_type} is an invalid output format. Must one of: text, json"
128
+ end
129
+ end
130
+
131
+ def self.show_status
132
+ `/usr/sbin/service nfs status`
133
+ end
134
+
135
+ def self.start_service
136
+ `/usr/sbin/service nfs start`
137
+ end
138
+
139
+ def self.stop_service
140
+ `/usr/sbin/service nfs stop`
141
+ end
142
+
143
+ def self.restart_service
144
+ `/usr/sbin/service nfd restart`
145
+ end
146
+
147
+ def self.reload_config
148
+ `/usr/sbin/service nfs reload`
149
+ end
150
+ end
151
+
152
+ end
@@ -0,0 +1,3 @@
1
+ module Nfsadmin
2
+ VERSION = '0.0.2'
3
+ end
data/lib/nfsadmin.rb ADDED
@@ -0,0 +1,2 @@
1
+ require 'nfsadmin/version.rb'
2
+ require 'nfsadmin/tasks.rb'
data/nfsadmin.gemspec ADDED
@@ -0,0 +1,29 @@
1
+ # Ensure we require the local version and not one we might have installed already
2
+ require File.join([File.dirname(__FILE__),'lib','nfsadmin','version.rb'])
3
+ spec = Gem::Specification.new do |s|
4
+ s.name = 'nfsadmin'
5
+ s.version = Nfsadmin::VERSION
6
+ s.author = 'Bastiaan Schaap'
7
+ s.email = 'b.schaap@siteminds.nl'
8
+ s.homepage = 'https://github.com/bjwschaap/nfsadmin'
9
+ s.platform = Gem::Platform::RUBY
10
+ s.summary = 'This gem contains a library and CLI tool for managing the NFS service and exports'
11
+ s.description = <<eos
12
+ This gem contains a library and CLI tool for managing the NFS service and exports. It depends on
13
+ autofs to be installed, and the service NFS to be available. This is my first attempt at a
14
+ RubyGem, and much still needs to be done. Only tested on Centos 6 at this time.
15
+ eos
16
+ s.license = 'MIT'
17
+ s.files = `git ls-files`.split("\n")
18
+ s.require_paths << 'lib'
19
+ s.has_rdoc = true
20
+ s.extra_rdoc_files = ['README.rdoc','nfsadmin.rdoc']
21
+ s.rdoc_options << '--title' << 'nfsadmin' << '--main' << 'README.rdoc' << '-ri'
22
+ s.bindir = 'bin'
23
+ s.executables << 'nfsadmin'
24
+ s.required_ruby_version = '~> 2.0'
25
+ s.add_development_dependency('rake', '~> 10.2' )
26
+ s.add_development_dependency('rdoc', '~> 4.1')
27
+ s.add_development_dependency('aruba', '~> 0.5')
28
+ s.add_runtime_dependency('gli','~> 2.9')
29
+ end
data/nfsadmin.rdoc ADDED
@@ -0,0 +1,5 @@
1
+ = nfsadmin
2
+
3
+ Generate this with
4
+ nfsadmin rdoc
5
+ After you have described your command line interface
@@ -0,0 +1,14 @@
1
+ require 'test_helper'
2
+
3
+ class DefaultTest < Test::Unit::TestCase
4
+
5
+ def setup
6
+ end
7
+
8
+ def teardown
9
+ end
10
+
11
+ def test_the_truth
12
+ assert true
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ require 'test/unit'
2
+
3
+ # Add test libraries you want to use here, e.g. mocha
4
+
5
+ class Test::Unit::TestCase
6
+
7
+ # Add global extensions to the test case class here
8
+
9
+ end
metadata ADDED
@@ -0,0 +1,132 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nfsadmin
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.2
5
+ platform: ruby
6
+ authors:
7
+ - Bastiaan Schaap
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-04-09 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rake
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '10.2'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '10.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rdoc
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '4.1'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '4.1'
41
+ - !ruby/object:Gem::Dependency
42
+ name: aruba
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.5'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.5'
55
+ - !ruby/object:Gem::Dependency
56
+ name: gli
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '2.9'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '2.9'
69
+ description: |2
70
+ This gem contains a library and CLI tool for managing the NFS service and exports. It depends on
71
+ autofs to be installed, and the service NFS to be available. This is my first attempt at a
72
+ RubyGem, and much still needs to be done. Only tested on Centos 6 at this time.
73
+ email: b.schaap@siteminds.nl
74
+ executables:
75
+ - nfsadmin
76
+ extensions: []
77
+ extra_rdoc_files:
78
+ - README.rdoc
79
+ - nfsadmin.rdoc
80
+ files:
81
+ - ".gitignore"
82
+ - ".ruby-gemset"
83
+ - ".ruby-version"
84
+ - Gemfile
85
+ - Gemfile.lock
86
+ - LICENSE
87
+ - README.md
88
+ - README.rdoc
89
+ - Rakefile
90
+ - bin/nfsadmin
91
+ - features/nfsadmin.feature
92
+ - features/step_definitions/nfsadmin_steps.rb
93
+ - features/support/env.rb
94
+ - lib/nfsadmin.rb
95
+ - lib/nfsadmin/tasks.rb
96
+ - lib/nfsadmin/version.rb
97
+ - nfsadmin.gemspec
98
+ - nfsadmin.rdoc
99
+ - test/default_test.rb
100
+ - test/test_helper.rb
101
+ homepage: https://github.com/bjwschaap/nfsadmin
102
+ licenses:
103
+ - MIT
104
+ metadata: {}
105
+ post_install_message:
106
+ rdoc_options:
107
+ - "--title"
108
+ - nfsadmin
109
+ - "--main"
110
+ - README.rdoc
111
+ - "-ri"
112
+ require_paths:
113
+ - lib
114
+ - lib
115
+ required_ruby_version: !ruby/object:Gem::Requirement
116
+ requirements:
117
+ - - "~>"
118
+ - !ruby/object:Gem::Version
119
+ version: '2.0'
120
+ required_rubygems_version: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ requirements: []
126
+ rubyforge_project:
127
+ rubygems_version: 2.2.2
128
+ signing_key:
129
+ specification_version: 4
130
+ summary: This gem contains a library and CLI tool for managing the NFS service and
131
+ exports
132
+ test_files: []