github.com/argoproj/argo-cd/v3@v3.2.1/resource_customizations/batch/Job/actions/terminate/action.lua (about)

     1  local os = require("os")
     2  
     3  local completed = false
     4  if obj.status ~= nil then
     5  
     6    if obj.status.conditions ~= nil then
     7      for i, condition in pairs(obj.status.conditions) do
     8        if condition.type == "Complete" and condition.status == "True" then
     9          completed = true
    10        elseif condition.type == "Failed" and condition.status == "True" then
    11          completed = true
    12        elseif condition.type == "FailureTarget" and condition.status == "True" then
    13          completed = true
    14        elseif condition.type == "SuccessCriteriaMet" and condition.status == "True" then
    15          completed = true
    16        end
    17      end
    18    end
    19  
    20    if not(completed) then
    21      obj.status.conditions = obj.status.conditions or {}
    22      table.insert(obj.status.conditions, {
    23        lastTransitionTime = os.date("!%Y-%m-%dT%XZ"),
    24        message = "Job was terminated explicitly through Argo CD",
    25        reason = "ManuallyTerminated",
    26        status = "True",
    27        type = "FailureTarget"
    28      })
    29    end
    30  
    31  end
    32  return obj