fluentd-ui 0.3.10 → 0.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of fluentd-ui might be problematic. Click here for more details.

Files changed (36) hide show
  1. checksums.yaml +7 -0
  2. data/ChangeLog +3 -0
  3. data/Gemfile.lock +1 -1
  4. data/app/controllers/fluentd/settings/histories_controller.rb +26 -0
  5. data/app/controllers/fluentd/settings/running_backup_controller.rb +19 -0
  6. data/app/controllers/fluentd/settings_controller.rb +5 -0
  7. data/app/models/fluentd.rb +0 -8
  8. data/app/models/fluentd/agent.rb +0 -1
  9. data/app/models/fluentd/agent/common.rb +28 -0
  10. data/app/models/fluentd/agent/fluentd_gem.rb +5 -1
  11. data/app/models/fluentd/agent/local_common.rb +33 -0
  12. data/app/models/fluentd/agent/td_agent/macosx.rb +3 -1
  13. data/app/models/fluentd/agent/td_agent/unix.rb +3 -1
  14. data/app/models/fluentd/setting/backup_file.rb +41 -0
  15. data/app/models/fluentd/setting/config.rb +2 -1
  16. data/app/views/fluentd/settings/histories/_list.html.haml +6 -0
  17. data/app/views/fluentd/settings/histories/index.html.haml +3 -0
  18. data/app/views/fluentd/settings/histories/show.html.haml +11 -0
  19. data/app/views/fluentd/settings/running_backup/show.html.haml +15 -0
  20. data/app/views/fluentd/settings/show.html.haml +13 -0
  21. data/config/application.yml +2 -0
  22. data/config/locales/translation_en.yml +15 -0
  23. data/config/locales/translation_ja.yml +15 -0
  24. data/config/routes.rb +8 -0
  25. data/lib/fluentd-ui/version.rb +1 -1
  26. data/spec/features/fluentd/setting/hisotries_spec.rb +48 -0
  27. data/spec/features/fluentd/setting/ranning_backup_spec.rb +48 -0
  28. data/spec/features/setting_spec.rb +17 -0
  29. data/spec/models/fluentd/agent/local_common_spec.rb +45 -0
  30. data/spec/models/fluentd/agent_spec.rb +43 -1
  31. data/spec/spec_helper.rb +1 -0
  32. data/spec/support/config_histories.rb +57 -0
  33. metadata +57 -91
  34. data/app/models/fluentd/agent/remote.rb +0 -7
  35. data/app/models/fluentd/api.rb +0 -6
  36. data/app/models/fluentd/api/http.rb +0 -26
@@ -63,6 +63,14 @@ Rails.application.routes.draw do
63
63
  resource :out_elasticsearch, only: [:show], module: :settings, controller: :out_elasticsearch do
64
64
  post "finish"
65
65
  end
66
+
67
+ resources :histories, only: [:index, :show], module: :settings, controller: :histories do
68
+ post "reuse", action: 'reuse', on: :member, as: 'reuse'
69
+ end
70
+
71
+ resource :running_backup, only: [:show], module: :settings, controller: :running_backup do
72
+ post "reuse", action: 'reuse', on: :member, as: 'reuse'
73
+ end
66
74
  end
67
75
  end
68
76
  end
@@ -1,3 +1,3 @@
1
1
  module FluentdUI
2
- VERSION = "0.3.10"
2
+ VERSION = "0.3.11"
3
3
  end
@@ -0,0 +1,48 @@
1
+ require "spec_helper"
2
+
3
+ describe "histories", stub: :daemon do
4
+ let!(:exists_user) { build(:user) }
5
+ include_context 'daemon has some config histories'
6
+
7
+ before do
8
+ login_with exists_user
9
+ end
10
+
11
+ describe 'index' do
12
+ before do
13
+ visit '/daemon/setting/histories'
14
+ end
15
+
16
+ it 'show histories#index' do
17
+ page.should have_css('h1', text: I18n.t('fluentd.settings.histories.index.page_title'))
18
+ expect(all('.row li').count).to eq 9 #links to hisotries#show
19
+ end
20
+
21
+ it 'will go to histories#show' do
22
+ all('.row li a').first.click
23
+
24
+ page.should have_css('h1', text: I18n.t('fluentd.settings.histories.show.page_title'))
25
+ end
26
+ end
27
+
28
+ describe 'show' do
29
+ let(:last_backup_file) { Fluentd::Setting::BackupFile.new(daemon.agent.backup_files_in_new_order.first) }
30
+
31
+ before do
32
+ visit "/daemon/setting/histories/#{last_backup_file.file_id}"
33
+ end
34
+
35
+ it 'show histories#show' do
36
+ page.should have_css('h1', text: I18n.t('fluentd.settings.histories.show.page_title'))
37
+ page.should have_text(last_backup_file.content)
38
+ end
39
+
40
+ it 'update config and redirect to setting#show' do
41
+ click_link I18n.t("terms.reuse")
42
+
43
+ page.should have_css('h1', text: I18n.t('fluentd.settings.show.page_title'))
44
+ page.should have_text(I18n.t('messages.config_successfully_copied', brand: 'fluentd') )
45
+ page.should have_text(last_backup_file.content)
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,48 @@
1
+ require "spec_helper"
2
+
3
+ describe "running_backup", stub: :daemon do
4
+ let!(:exists_user) { build(:user) }
5
+ include_context 'daemon has some config histories'
6
+
7
+ before do
8
+ login_with exists_user
9
+ end
10
+
11
+ context 'has running backup file' do
12
+ before do
13
+ visit '/daemon/setting/running_backup'
14
+ end
15
+
16
+ describe 'show' do
17
+ it 'has no content, no reuse bottun' do
18
+ expect(page).to have_text(I18n.t('fluentd.common.never_started_yet', brand: 'fluentd'))
19
+ expect(page).not_to have_css('pre')
20
+ expect(page).not_to have_text(I18n.t("terms.reuse"))
21
+ end
22
+ end
23
+ end
24
+
25
+ context 'has running backup file' do
26
+ include_context 'daemon had been started once'
27
+
28
+ before do
29
+ visit '/daemon/setting/running_backup'
30
+ end
31
+
32
+ describe 'show' do
33
+ it 'has content, reuse bottun' do
34
+ expect(page).not_to have_text(I18n.t('fluentd.common.never_started_yet', brand: 'fluentd'))
35
+ expect(page).to have_text(backup_content)
36
+ expect(page).to have_text(I18n.t("terms.reuse"))
37
+ end
38
+
39
+ it 'update config and redirect to setting#show' do
40
+ click_link I18n.t("terms.reuse")
41
+
42
+ page.should have_css('h1', text: I18n.t('fluentd.settings.show.page_title'))
43
+ page.should have_text(I18n.t('messages.config_successfully_copied', brand: 'fluentd') )
44
+ page.should have_text(backup_content)
45
+ end
46
+ end
47
+ end
48
+ end
@@ -2,6 +2,8 @@ require 'spec_helper'
2
2
 
3
3
  describe 'setting', stub: :daemon do
4
4
  let!(:exists_user) { build(:user) }
5
+ include_context 'daemon has some config histories'
6
+ include_context 'daemon had been started once'
5
7
 
6
8
  before do
7
9
  login_with exists_user
@@ -15,6 +17,21 @@ describe 'setting', stub: :daemon do
15
17
  page.should have_css('h1', text: I18n.t('fluentd.settings.show.page_title'))
16
18
  page.should have_link(I18n.t('terms.edit'))
17
19
  page.should have_css('pre', text: 'GREAT CONFIG HERE')
20
+ expect(all('.row li').count).to eq Settings.histories_count_in_preview #links to hisotries#show
21
+ page.should have_link(I18n.t('fluentd.settings.show.link_to_histories'))
22
+ page.should have_text(I18n.t('fluentd.settings.running_backup.title'))
23
+ end
24
+
25
+ it 'will go to histories#index' do
26
+ click_link I18n.t('fluentd.settings.show.link_to_histories')
27
+
28
+ page.should have_css('h1', text: I18n.t('fluentd.settings.histories.index.page_title'))
29
+ end
30
+
31
+ it 'will go to histories#show' do
32
+ all('.row li a').first.click
33
+
34
+ page.should have_css('h1', text: I18n.t('fluentd.settings.histories.show.page_title'))
18
35
  end
19
36
 
20
37
  it 'edits setting' do
@@ -2,6 +2,10 @@ require 'spec_helper'
2
2
  require 'fileutils'
3
3
 
4
4
  describe 'Fluentd::Agent::LocalCommon' do
5
+ let!(:now) { Time.zone.now }
6
+ before { Timecop.freeze(now) }
7
+ after { Timecop.return }
8
+
5
9
  subject { target_class.new.tap{|t| t.pid_file = pid_file_path} }
6
10
 
7
11
  let!(:target_class) { Struct.new(:pid_file){ include Fluentd::Agent::LocalCommon } }
@@ -26,4 +30,45 @@ describe 'Fluentd::Agent::LocalCommon' do
26
30
  its(:pid) { should eq(9999) }
27
31
  end
28
32
  end
33
+
34
+ describe '#config_write', stub: :daemon do
35
+ let(:config_contents) { <<-CONF.strip_heredoc }
36
+ <source>
37
+ type forward
38
+ port 24224
39
+ </source>
40
+ CONF
41
+
42
+ let(:new_config) { <<-CONF.strip_heredoc }
43
+ <source>
44
+ type http
45
+ port 8899
46
+ </source>
47
+ CONF
48
+
49
+ before do
50
+ ::Settings.max_backup_files_count.times do |i|
51
+ backpued_time = now - (i + 1).hours
52
+ FileUtils.touch File.join(daemon.agent.config_backup_dir , "#{backpued_time.strftime('%Y%m%d_%H%M%S')}.conf")
53
+ end
54
+
55
+ daemon.agent.config_write config_contents #add before conf
56
+ daemon.agent.config_write new_config #update conf
57
+ end
58
+
59
+ after do
60
+ FileUtils.rm_r daemon.agent.config_backup_dir, force: true
61
+ end
62
+
63
+ it 'backed up old conf' do
64
+ backup_file = File.join(daemon.agent.config_backup_dir, "#{now.strftime('%Y%m%d_%H%M%S')}.conf")
65
+ expect(File.exists? backup_file).to be_truthy
66
+ expect(File.read(backup_file)).to eq config_contents
67
+ end
68
+
69
+ it 'keep files num up to max' do
70
+ backup_files = Dir.glob("#{daemon.agent.config_backup_dir}/*").sort
71
+ expect(backup_files.size).to eq ::Settings.max_backup_files_count
72
+ end
73
+ end
29
74
  end
@@ -2,7 +2,11 @@ require 'spec_helper'
2
2
 
3
3
  describe Fluentd::Agent do
4
4
  let(:instance) { described_class.new(options) }
5
- let(:options) { {} }
5
+ let(:options) {
6
+ {
7
+ :config_file => Rails.root.join('tmp', 'fluentd-test', 'fluentd.conf').to_s
8
+ }
9
+ }
6
10
 
7
11
  describe "FluentdGem" do
8
12
  let(:described_class) { Fluentd::Agent::FluentdGem } # override nested described_class behavior as https://github.com/rspec/rspec-core/issues/1114
@@ -38,8 +42,19 @@ describe Fluentd::Agent do
38
42
  end
39
43
 
40
44
  context "actual start success" do
45
+ after do
46
+ FileUtils.rm_r instance.running_config_backup_dir, force: true
47
+ end
48
+
41
49
  let(:start_result) { true }
42
50
  it { should be_truthy }
51
+
52
+ it 'backed up running conf' do
53
+ subject
54
+ backup_file = instance.running_config_backup_file
55
+ expect(File.exists? backup_file).to be_truthy
56
+ expect(File.read(backup_file)).to eq File.read(instance.config_file)
57
+ end
43
58
  end
44
59
 
45
60
  context "actual start failed" do
@@ -86,6 +101,33 @@ describe Fluentd::Agent do
86
101
  let(:described_class) { Fluentd::Agent::TdAgent } # override nested described_class behavior as https://github.com/rspec/rspec-core/issues/1114
87
102
 
88
103
  it_should_behave_like "Fluentd::Agent has common behavior"
104
+
105
+ describe "#backup_running_config" do
106
+ before do
107
+ instance.stub(:detached_command).and_return(true)
108
+ instance.stub(:pid_from_launchctl).and_return(true)
109
+ end
110
+
111
+ after do
112
+ FileUtils.rm_r instance.running_config_backup_dir, force: true
113
+ end
114
+
115
+ let(:options) do
116
+ {
117
+ :config_file => Rails.root.join('tmp', 'fluentd-test', 'fluentd.conf').to_s
118
+ }
119
+ end
120
+
121
+ before do
122
+ instance.start
123
+ end
124
+
125
+ it 'backed up running conf' do
126
+ backup_file = instance.running_config_backup_file
127
+ expect(File.exists? backup_file).to be_truthy
128
+ expect(File.read(backup_file)).to eq File.read(instance.config_file)
129
+ end
130
+ end
89
131
  end
90
132
  end
91
133
 
@@ -38,6 +38,7 @@ RSpec.configure do |config|
38
38
  config.include LoginMacro
39
39
  config.include JavascriptMacro
40
40
  config.include StubDaemon
41
+ config.include ConfigHistories
41
42
 
42
43
  # If true, the base class of anonymous controllers will be inferred
43
44
  # automatically. This will be the default behavior in future versions of
@@ -0,0 +1,57 @@
1
+ module ConfigHistories
2
+ shared_context 'daemon has some config histories' do
3
+ let!(:three_hours_ago) { Time.zone.now - 3.hours }
4
+ let(:config_contents) { <<-CONF.strip_heredoc }
5
+ <source>
6
+ type forward
7
+ port 24224
8
+ </source>
9
+ CONF
10
+
11
+ let(:new_config) { <<-CONF.strip_heredoc }
12
+ <source>
13
+ type http
14
+ port 8899
15
+ </source>
16
+ CONF
17
+
18
+ before do
19
+ Timecop.freeze(three_hours_ago)
20
+
21
+ #remove backups on each to avoid depending on spec execution order
22
+ FileUtils.rm_r daemon.agent.config_backup_dir, force: true
23
+
24
+ 7.times do |i|
25
+ backpued_time = three_hours_ago - (i + 1).hours
26
+ FileUtils.touch daemon.agent.config_backup_dir + "/#{backpued_time.strftime('%Y%m%d_%H%M%S')}.conf"
27
+ end
28
+
29
+ Timecop.freeze(three_hours_ago + 1.hour)
30
+ daemon.agent.config_write config_contents #add before conf
31
+
32
+ Timecop.freeze(three_hours_ago + 2.hour)
33
+ daemon.agent.config_write new_config #update conf
34
+
35
+ Timecop.freeze(three_hours_ago + 3.hour)
36
+ end
37
+
38
+ after do
39
+ FileUtils.rm_r daemon.agent.config_backup_dir, force: true
40
+ Timecop.return
41
+ end
42
+ end
43
+
44
+ shared_context 'daemon had been started once' do
45
+ let!(:backup_content){ "Running backup file content" }
46
+
47
+ before do
48
+ File.open(daemon.agent.running_config_backup_file, "w") do |file|
49
+ file.write(backup_content)
50
+ end
51
+ end
52
+
53
+ after do
54
+ FileUtils.rm_r daemon.agent.running_config_backup_dir, force: true
55
+ end
56
+ end
57
+ end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fluentd-ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.10
5
- prerelease:
4
+ version: 0.3.11
6
5
  platform: ruby
7
6
  authors:
8
7
  - Masahiro Nakagawa
@@ -10,188 +9,165 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2014-12-17 00:00:00.000000000 Z
12
+ date: 2014-12-19 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: fluentd
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ~>
18
+ - - "~>"
21
19
  - !ruby/object:Gem::Version
22
20
  version: 0.10.56
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ~>
25
+ - - "~>"
29
26
  - !ruby/object:Gem::Version
30
27
  version: 0.10.56
31
28
  - !ruby/object:Gem::Dependency
32
29
  name: rails
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ~>
32
+ - - "~>"
37
33
  - !ruby/object:Gem::Version
38
34
  version: 4.1.7
39
35
  type: :runtime
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ~>
39
+ - - "~>"
45
40
  - !ruby/object:Gem::Version
46
41
  version: 4.1.7
47
42
  - !ruby/object:Gem::Dependency
48
43
  name: sucker_punch
49
44
  requirement: !ruby/object:Gem::Requirement
50
- none: false
51
45
  requirements:
52
- - - ~>
46
+ - - "~>"
53
47
  - !ruby/object:Gem::Version
54
48
  version: 1.0.5
55
49
  type: :runtime
56
50
  prerelease: false
57
51
  version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
52
  requirements:
60
- - - ~>
53
+ - - "~>"
61
54
  - !ruby/object:Gem::Version
62
55
  version: 1.0.5
63
56
  - !ruby/object:Gem::Dependency
64
57
  name: addressable
65
58
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
59
  requirements:
68
- - - ! '>='
60
+ - - ">="
69
61
  - !ruby/object:Gem::Version
70
62
  version: '0'
71
63
  type: :runtime
72
64
  prerelease: false
73
65
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
66
  requirements:
76
- - - ! '>='
67
+ - - ">="
77
68
  - !ruby/object:Gem::Version
78
69
  version: '0'
79
70
  - !ruby/object:Gem::Dependency
80
71
  name: font-awesome-rails
81
72
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
73
  requirements:
84
- - - ! '>='
74
+ - - ">="
85
75
  - !ruby/object:Gem::Version
86
76
  version: '0'
87
77
  type: :runtime
88
78
  prerelease: false
89
79
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
80
  requirements:
92
- - - ! '>='
81
+ - - ">="
93
82
  - !ruby/object:Gem::Version
94
83
  version: '0'
95
84
  - !ruby/object:Gem::Dependency
96
85
  name: sass-rails
97
86
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
87
  requirements:
100
- - - ~>
88
+ - - "~>"
101
89
  - !ruby/object:Gem::Version
102
90
  version: 4.0.3
103
91
  type: :runtime
104
92
  prerelease: false
105
93
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
94
  requirements:
108
- - - ~>
95
+ - - "~>"
109
96
  - !ruby/object:Gem::Version
110
97
  version: 4.0.3
111
98
  - !ruby/object:Gem::Dependency
112
99
  name: haml-rails
113
100
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
101
  requirements:
116
- - - ~>
102
+ - - "~>"
117
103
  - !ruby/object:Gem::Version
118
104
  version: 0.5.3
119
105
  type: :runtime
120
106
  prerelease: false
121
107
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
108
  requirements:
124
- - - ~>
109
+ - - "~>"
125
110
  - !ruby/object:Gem::Version
126
111
  version: 0.5.3
127
112
  - !ruby/object:Gem::Dependency
128
113
  name: jquery-rails
129
114
  requirement: !ruby/object:Gem::Requirement
130
- none: false
131
115
  requirements:
132
- - - ~>
116
+ - - "~>"
133
117
  - !ruby/object:Gem::Version
134
118
  version: 3.1.0
135
119
  type: :runtime
136
120
  prerelease: false
137
121
  version_requirements: !ruby/object:Gem::Requirement
138
- none: false
139
122
  requirements:
140
- - - ~>
123
+ - - "~>"
141
124
  - !ruby/object:Gem::Version
142
125
  version: 3.1.0
143
126
  - !ruby/object:Gem::Dependency
144
127
  name: jbuilder
145
128
  requirement: !ruby/object:Gem::Requirement
146
- none: false
147
129
  requirements:
148
- - - ~>
130
+ - - "~>"
149
131
  - !ruby/object:Gem::Version
150
132
  version: '2.0'
151
133
  type: :runtime
152
134
  prerelease: false
153
135
  version_requirements: !ruby/object:Gem::Requirement
154
- none: false
155
136
  requirements:
156
- - - ~>
137
+ - - "~>"
157
138
  - !ruby/object:Gem::Version
158
139
  version: '2.0'
159
140
  - !ruby/object:Gem::Dependency
160
141
  name: draper
161
142
  requirement: !ruby/object:Gem::Requirement
162
- none: false
163
143
  requirements:
164
- - - ~>
144
+ - - "~>"
165
145
  - !ruby/object:Gem::Version
166
146
  version: '1.3'
167
147
  type: :runtime
168
148
  prerelease: false
169
149
  version_requirements: !ruby/object:Gem::Requirement
170
- none: false
171
150
  requirements:
172
- - - ~>
151
+ - - "~>"
173
152
  - !ruby/object:Gem::Version
174
153
  version: '1.3'
175
154
  - !ruby/object:Gem::Dependency
176
155
  name: bundler
177
156
  requirement: !ruby/object:Gem::Requirement
178
- none: false
179
157
  requirements:
180
- - - ! '>='
158
+ - - ">="
181
159
  - !ruby/object:Gem::Version
182
160
  version: '0'
183
161
  type: :runtime
184
162
  prerelease: false
185
163
  version_requirements: !ruby/object:Gem::Requirement
186
- none: false
187
164
  requirements:
188
- - - ! '>='
165
+ - - ">="
189
166
  - !ruby/object:Gem::Version
190
167
  version: '0'
191
168
  - !ruby/object:Gem::Dependency
192
169
  name: httpclient
193
170
  requirement: !ruby/object:Gem::Requirement
194
- none: false
195
171
  requirements:
196
172
  - - '='
197
173
  - !ruby/object:Gem::Version
@@ -199,7 +175,6 @@ dependencies:
199
175
  type: :runtime
200
176
  prerelease: false
201
177
  version_requirements: !ruby/object:Gem::Requirement
202
- none: false
203
178
  requirements:
204
179
  - - '='
205
180
  - !ruby/object:Gem::Version
@@ -207,97 +182,85 @@ dependencies:
207
182
  - !ruby/object:Gem::Dependency
208
183
  name: settingslogic
209
184
  requirement: !ruby/object:Gem::Requirement
210
- none: false
211
185
  requirements:
212
- - - ! '>='
186
+ - - ">="
213
187
  - !ruby/object:Gem::Version
214
188
  version: '0'
215
189
  type: :runtime
216
190
  prerelease: false
217
191
  version_requirements: !ruby/object:Gem::Requirement
218
- none: false
219
192
  requirements:
220
- - - ! '>='
193
+ - - ">="
221
194
  - !ruby/object:Gem::Version
222
195
  version: '0'
223
196
  - !ruby/object:Gem::Dependency
224
197
  name: puma
225
198
  requirement: !ruby/object:Gem::Requirement
226
- none: false
227
199
  requirements:
228
- - - ! '>='
200
+ - - ">="
229
201
  - !ruby/object:Gem::Version
230
202
  version: '0'
231
203
  type: :runtime
232
204
  prerelease: false
233
205
  version_requirements: !ruby/object:Gem::Requirement
234
- none: false
235
206
  requirements:
236
- - - ! '>='
207
+ - - ">="
237
208
  - !ruby/object:Gem::Version
238
209
  version: '0'
239
210
  - !ruby/object:Gem::Dependency
240
211
  name: thor
241
212
  requirement: !ruby/object:Gem::Requirement
242
- none: false
243
213
  requirements:
244
- - - ! '>='
214
+ - - ">="
245
215
  - !ruby/object:Gem::Version
246
216
  version: '0'
247
217
  type: :runtime
248
218
  prerelease: false
249
219
  version_requirements: !ruby/object:Gem::Requirement
250
- none: false
251
220
  requirements:
252
- - - ! '>='
221
+ - - ">="
253
222
  - !ruby/object:Gem::Version
254
223
  version: '0'
255
224
  - !ruby/object:Gem::Dependency
256
225
  name: kramdown
257
226
  requirement: !ruby/object:Gem::Requirement
258
- none: false
259
227
  requirements:
260
- - - ! '>'
228
+ - - ">"
261
229
  - !ruby/object:Gem::Version
262
230
  version: 1.0.0
263
231
  type: :runtime
264
232
  prerelease: false
265
233
  version_requirements: !ruby/object:Gem::Requirement
266
- none: false
267
234
  requirements:
268
- - - ! '>'
235
+ - - ">"
269
236
  - !ruby/object:Gem::Version
270
237
  version: 1.0.0
271
238
  - !ruby/object:Gem::Dependency
272
239
  name: kramdown-haml
273
240
  requirement: !ruby/object:Gem::Requirement
274
- none: false
275
241
  requirements:
276
- - - ! '>='
242
+ - - ">="
277
243
  - !ruby/object:Gem::Version
278
244
  version: '0'
279
245
  type: :runtime
280
246
  prerelease: false
281
247
  version_requirements: !ruby/object:Gem::Requirement
282
- none: false
283
248
  requirements:
284
- - - ! '>='
249
+ - - ">="
285
250
  - !ruby/object:Gem::Version
286
251
  version: '0'
287
252
  - !ruby/object:Gem::Dependency
288
253
  name: rubyzip
289
254
  requirement: !ruby/object:Gem::Requirement
290
- none: false
291
255
  requirements:
292
- - - ~>
256
+ - - "~>"
293
257
  - !ruby/object:Gem::Version
294
258
  version: '1.1'
295
259
  type: :runtime
296
260
  prerelease: false
297
261
  version_requirements: !ruby/object:Gem::Requirement
298
- none: false
299
262
  requirements:
300
- - - ~>
263
+ - - "~>"
301
264
  - !ruby/object:Gem::Version
302
265
  version: '1.1'
303
266
  description: Web UI for Fluentd
@@ -309,9 +272,9 @@ executables:
309
272
  extensions: []
310
273
  extra_rdoc_files: []
311
274
  files:
312
- - .bowerrc
313
- - .gitignore
314
- - .rspec
275
+ - ".bowerrc"
276
+ - ".gitignore"
277
+ - ".rspec"
315
278
  - ChangeLog
316
279
  - Gemfile
317
280
  - Gemfile.lock
@@ -338,6 +301,7 @@ files:
338
301
  - app/controllers/concerns/.keep
339
302
  - app/controllers/concerns/setting_concern.rb
340
303
  - app/controllers/fluentd/agents_controller.rb
304
+ - app/controllers/fluentd/settings/histories_controller.rb
341
305
  - app/controllers/fluentd/settings/in_forward_controller.rb
342
306
  - app/controllers/fluentd/settings/in_http_controller.rb
343
307
  - app/controllers/fluentd/settings/in_monitor_agent_controller.rb
@@ -349,6 +313,7 @@ files:
349
313
  - app/controllers/fluentd/settings/out_s3_controller.rb
350
314
  - app/controllers/fluentd/settings/out_stdout_controller.rb
351
315
  - app/controllers/fluentd/settings/out_td_controller.rb
316
+ - app/controllers/fluentd/settings/running_backup_controller.rb
352
317
  - app/controllers/fluentd/settings_controller.rb
353
318
  - app/controllers/fluentd_controller.rb
354
319
  - app/controllers/misc_controller.rb
@@ -373,13 +338,11 @@ files:
373
338
  - app/models/fluentd/agent/configuration.rb
374
339
  - app/models/fluentd/agent/fluentd_gem.rb
375
340
  - app/models/fluentd/agent/local_common.rb
376
- - app/models/fluentd/agent/remote.rb
377
341
  - app/models/fluentd/agent/td_agent.rb
378
342
  - app/models/fluentd/agent/td_agent/macosx.rb
379
343
  - app/models/fluentd/agent/td_agent/unix.rb
380
- - app/models/fluentd/api.rb
381
- - app/models/fluentd/api/http.rb
382
344
  - app/models/fluentd/setting.rb
345
+ - app/models/fluentd/setting/backup_file.rb
383
346
  - app/models/fluentd/setting/common.rb
384
347
  - app/models/fluentd/setting/config.rb
385
348
  - app/models/fluentd/setting/in_forward.rb
@@ -406,11 +369,15 @@ files:
406
369
  - app/views/fluentd/new.html.haml
407
370
  - app/views/fluentd/settings/_form.html.haml
408
371
  - app/views/fluentd/settings/edit.html.haml
372
+ - app/views/fluentd/settings/histories/_list.html.haml
373
+ - app/views/fluentd/settings/histories/index.html.haml
374
+ - app/views/fluentd/settings/histories/show.html.haml
409
375
  - app/views/fluentd/settings/in_tail/_form.html.haml
410
376
  - app/views/fluentd/settings/in_tail/after_file_choose.html.haml
411
377
  - app/views/fluentd/settings/in_tail/after_format.html.haml
412
378
  - app/views/fluentd/settings/in_tail/confirm.html.haml
413
379
  - app/views/fluentd/settings/in_tail/show.html.haml
380
+ - app/views/fluentd/settings/running_backup/show.html.haml
414
381
  - app/views/fluentd/settings/show.html.haml
415
382
  - app/views/fluentd/settings/source_and_output.html.haml
416
383
  - app/views/fluentd/show.html.haml
@@ -524,10 +491,12 @@ files:
524
491
  - spec/factories/plugins.rb
525
492
  - spec/factories/user.rb
526
493
  - spec/features/dashboard_spec.rb
494
+ - spec/features/fluentd/setting/hisotries_spec.rb
527
495
  - spec/features/fluentd/setting/in_forward_spec.rb
528
496
  - spec/features/fluentd/setting/in_http_spec.rb
529
497
  - spec/features/fluentd/setting/in_monitor_agent_spec.rb
530
498
  - spec/features/fluentd/setting/out_stdout_spec.rb
499
+ - spec/features/fluentd/setting/ranning_backup_spec.rb
531
500
  - spec/features/fluentd_status_spec.rb
532
501
  - spec/features/fluentd_ui_update_available_spec.rb
533
502
  - spec/features/out_elasticsearch_spec.rb
@@ -553,6 +522,7 @@ files:
553
522
  - spec/models/plugin_spec.rb
554
523
  - spec/models/user_spec.rb
555
524
  - spec/spec_helper.rb
525
+ - spec/support/config_histories.rb
556
526
  - spec/support/fixtures/error0.log
557
527
  - spec/support/fixtures/error2.log
558
528
  - spec/support/fluentd_agent_common_behavior.rb
@@ -705,33 +675,26 @@ files:
705
675
  homepage: https://github.com/fluent/fluentd-ui
706
676
  licenses:
707
677
  - MIT
678
+ metadata: {}
708
679
  post_install_message:
709
680
  rdoc_options: []
710
681
  require_paths:
711
682
  - lib
712
683
  required_ruby_version: !ruby/object:Gem::Requirement
713
- none: false
714
684
  requirements:
715
- - - ! '>='
685
+ - - ">="
716
686
  - !ruby/object:Gem::Version
717
687
  version: '0'
718
- segments:
719
- - 0
720
- hash: -694571468056133699
721
688
  required_rubygems_version: !ruby/object:Gem::Requirement
722
- none: false
723
689
  requirements:
724
- - - ! '>='
690
+ - - ">="
725
691
  - !ruby/object:Gem::Version
726
692
  version: '0'
727
- segments:
728
- - 0
729
- hash: -694571468056133699
730
693
  requirements: []
731
694
  rubyforge_project:
732
- rubygems_version: 1.8.23.2
695
+ rubygems_version: 2.2.2
733
696
  signing_key:
734
- specification_version: 3
697
+ specification_version: 4
735
698
  summary: Web UI for Fluentd
736
699
  test_files:
737
700
  - spec/controllers/plugins_controller_spec.rb
@@ -743,10 +706,12 @@ test_files:
743
706
  - spec/factories/plugins.rb
744
707
  - spec/factories/user.rb
745
708
  - spec/features/dashboard_spec.rb
709
+ - spec/features/fluentd/setting/hisotries_spec.rb
746
710
  - spec/features/fluentd/setting/in_forward_spec.rb
747
711
  - spec/features/fluentd/setting/in_http_spec.rb
748
712
  - spec/features/fluentd/setting/in_monitor_agent_spec.rb
749
713
  - spec/features/fluentd/setting/out_stdout_spec.rb
714
+ - spec/features/fluentd/setting/ranning_backup_spec.rb
750
715
  - spec/features/fluentd_status_spec.rb
751
716
  - spec/features/fluentd_ui_update_available_spec.rb
752
717
  - spec/features/out_elasticsearch_spec.rb
@@ -772,6 +737,7 @@ test_files:
772
737
  - spec/models/plugin_spec.rb
773
738
  - spec/models/user_spec.rb
774
739
  - spec/spec_helper.rb
740
+ - spec/support/config_histories.rb
775
741
  - spec/support/fixtures/error0.log
776
742
  - spec/support/fixtures/error2.log
777
743
  - spec/support/fluentd_agent_common_behavior.rb