|
|
@ -76,45 +76,45 @@ end |
|
|
-- return false |
|
|
-- return false |
|
|
-- end |
|
|
-- end |
|
|
|
|
|
|
|
|
local function createSSHKeyFilesFromEnv() |
|
|
--local function createSSHKeyFilesFromEnv() |
|
|
if SSH_PRIVATE_KEY == "" or SSH_PUBLIC_KEY == "" then |
|
|
-- if SSH_PRIVATE_KEY == "" or SSH_PUBLIC_KEY == "" then |
|
|
log("SSH_PRIVATE_KEY or SSH_PUBLIC_KEY env var is empty, skipping SSH key file creation.") |
|
|
-- log("SSH_PRIVATE_KEY or SSH_PUBLIC_KEY env var is empty, skipping SSH key file creation.") |
|
|
return |
|
|
-- return |
|
|
end |
|
|
-- end |
|
|
|
|
|
-- |
|
|
-- Ensure .ssh directory exists |
|
|
-- -- Ensure .ssh directory exists |
|
|
local ssh_dir = SSH_IDENTITY_FILE:match("^(.*)/[^/]+$") |
|
|
-- local ssh_dir = SSH_IDENTITY_FILE:match("^(.*)/[^/]+$") |
|
|
if ssh_dir then |
|
|
-- if ssh_dir then |
|
|
os.execute(("mkdir -p %q && chmod 700 %q"):format(ssh_dir, ssh_dir)) |
|
|
-- os.execute(("mkdir -p %q && chmod 700 %q"):format(ssh_dir, ssh_dir)) |
|
|
end |
|
|
-- end |
|
|
|
|
|
-- |
|
|
local priv_fh = io.open(SSH_IDENTITY_FILE, "w") |
|
|
-- local priv_fh = io.open(SSH_IDENTITY_FILE, "w") |
|
|
if not priv_fh then |
|
|
-- if not priv_fh then |
|
|
log("Failed to open SSH identity file for writing: " .. SSH_IDENTITY_FILE) |
|
|
-- log("Failed to open SSH identity file for writing: " .. SSH_IDENTITY_FILE) |
|
|
return |
|
|
-- return |
|
|
end |
|
|
-- end |
|
|
priv_fh:write(SSH_PRIVATE_KEY) |
|
|
-- priv_fh:write(SSH_PRIVATE_KEY) |
|
|
priv_fh:close() |
|
|
-- priv_fh:close() |
|
|
os.execute(("chmod 600 %q"):format(SSH_IDENTITY_FILE)) |
|
|
-- os.execute(("chmod 600 %q"):format(SSH_IDENTITY_FILE)) |
|
|
log("Wrote SSH private key to " .. SSH_IDENTITY_FILE) |
|
|
-- log("Wrote SSH private key to " .. SSH_IDENTITY_FILE) |
|
|
|
|
|
-- |
|
|
local pub_fh = io.open(SSH_IDENTITY_FILE .. ".pub", "w") |
|
|
-- local pub_fh = io.open(SSH_IDENTITY_FILE .. ".pub", "w") |
|
|
if not pub_fh then |
|
|
-- if not pub_fh then |
|
|
log("Failed to open SSH public key file for writing: " .. SSH_IDENTITY_FILE .. ".pub") |
|
|
-- log("Failed to open SSH public key file for writing: " .. SSH_IDENTITY_FILE .. ".pub") |
|
|
return |
|
|
-- return |
|
|
end |
|
|
-- end |
|
|
pub_fh:write(SSH_PUBLIC_KEY) |
|
|
-- pub_fh:write(SSH_PUBLIC_KEY) |
|
|
pub_fh:close() |
|
|
-- pub_fh:close() |
|
|
os.execute(("chmod 644 %q"):format(SSH_IDENTITY_FILE .. ".pub")) |
|
|
-- os.execute(("chmod 644 %q"):format(SSH_IDENTITY_FILE .. ".pub")) |
|
|
log("Wrote SSH public key to " .. SSH_IDENTITY_FILE .. ".pub") |
|
|
-- log("Wrote SSH public key to " .. SSH_IDENTITY_FILE .. ".pub") |
|
|
|
|
|
-- |
|
|
-- Unset the env vars for security |
|
|
-- -- Unset the env vars for security |
|
|
os.setenv("SSH_PRIVATE_KEY", "") |
|
|
-- os.setenv("SSH_PRIVATE_KEY", "") |
|
|
os.setenv("SSH_PUBLIC_KEY", "") |
|
|
-- os.setenv("SSH_PUBLIC_KEY", "") |
|
|
end |
|
|
--end |
|
|
|
|
|
|
|
|
local function main() |
|
|
local function main() |
|
|
createSSHKeyFilesFromEnv() |
|
|
-- createSSHKeyFilesFromEnv() |
|
|
|
|
|
|
|
|
log(("Watching container='%s' since='%s'"):format(CONTAINER_NAME, SINCE)) |
|
|
log(("Watching container='%s' since='%s'"):format(CONTAINER_NAME, SINCE)) |
|
|
log(("Looking for pattern: %q"):format(ERROR_PATTERN)) |
|
|
log(("Looking for pattern: %q"):format(ERROR_PATTERN)) |
|
|
|