Skip to content

Commit e1d6b46

Browse files
committed
s3 reports admin tool
1 parent 7143b92 commit e1d6b46

3 files changed

Lines changed: 35 additions & 6 deletions

File tree

app/config/mrt/menu.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -848,6 +848,17 @@ items:
848848
- title: Storage Scans
849849
route: /ops/storage/scans
850850
disable: ecs-dbsnapshot
851+
- path: test-output
852+
title: Test Output
853+
route: /ops/test-output
854+
disable: default, docker
855+
items:
856+
- title: End To End Tests
857+
route: /s3-reports/end2end
858+
- title: Locust Tests
859+
route: /s3-reports/locust
860+
- title: Unit Tests
861+
route: /s3-reports/unit-tests
851862
- title: Cloudwatch Logs
852863
route: /ops/cloudwatch
853864
disable: default, docker

app/lib/client/s3/config_objects.rb

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -253,7 +253,7 @@ def get_report_url(path)
253253
table
254254
end
255255

256-
def list_reports(path)
256+
def list_reports(path, show_url: false)
257257
table = AdminUI::FilterTable.new(
258258
columns: [
259259
AdminUI::Column.new(:path, header: 'Report Path'),
@@ -274,13 +274,15 @@ def list_reports(path)
274274
href: "/saved-reports/retrieve?report=#{URI.encode_www_form_component(s3obj.key)}",
275275
value: 'Download'
276276
},
277-
url: {
278-
href: "/saved-reports/url?report=#{URI.encode_www_form_component(s3obj.key)}",
279-
value: 'URL'
280-
},
281277
created: s3obj.last_modified,
282278
size: s3obj.size
283279
}
280+
if show_url
281+
row[:url] = {
282+
href: "/saved-reports/url?report=#{URI.encode_www_form_component(s3obj.key)}",
283+
value: 'URL'
284+
}
285+
end
284286
table.add_row(AdminUI::Row.make_row(table.columns, row))
285287
end
286288
table

app/lib/routes/config.rb

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,29 @@ def self.registered(app)
128128
UC3S3::ConfigObjectsClient.client.get_ec2_release_manifest.to_json
129129
end
130130

131+
app.get '/s3-reports/*/list' do |folder|
132+
adminui_show_table(
133+
AdminUI::Context.new(request.path, request.params),
134+
UC3S3::ConfigObjectsClient.client.list_reports("#{folder}/")
135+
)
136+
end
137+
131138
app.get '/saved-reports/list' do
132139
adminui_show_table(
133140
AdminUI::Context.new(request.path, request.params),
134-
UC3S3::ConfigObjectsClient.client.list_reports('reports/')
141+
UC3S3::ConfigObjectsClient.client.list_reports('reports/', show_url: true)
135142
)
136143
end
137144

145+
app.get '/s3-reports/*/retrieve' do |folder|
146+
rpt = request.params.fetch('report', '')
147+
redirect "/saved-reports/#{folder}/list" if rpt.empty?
148+
149+
rpt = URI.decode_www_form_component(rpt)
150+
151+
redirect UC3S3::ConfigObjectsClient.client.get_report(rpt)
152+
end
153+
138154
app.get '/saved-reports/retrieve' do
139155
rpt = request.params.fetch('report', '')
140156
redirect '/saved-reports/list' if rpt.empty?

0 commit comments

Comments
 (0)