84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
# File 'lib/prometheus-config-builder/prometheus-config-builder.rb', line 84
def discover(glob)
files = []
if m = glob.match(/s3:\/\/([^\/]+)\/(.*)/)
bucket_name = m[1]
prefix = m[2]
x = $VERBOSE
$VERBOSE = nil
require 'aws-sdk'
s3 = Aws::S3::Client.new
$VERBOSE = x
key = []
resp = s3.list_objects_v2({
bucket: bucket_name,
prefix: prefix
})
resp.contents.each do |file|
contents = s3.get_object({
key: file.key,
bucket: bucket_name
})
logger.debug("Found file \"#{file.key}\" from S3 bucket #{bucket_name}")
files << {
filename: File.basename(file.key),
contents: contents.body.string,
}
end
else
Dir.glob(glob).each do |file|
files << {
filename: File.basename(file),
contents: File.read(file)
}
end
end
return files
end
|