{
  "appeals": 1,
  "budgets": {
    "baseline_limit_s": 600,
    "verification_timeout_s": 600,
    "worker": {
      "max_completion_tokens": 96000,
      "max_turns": 60,
      "max_wall_seconds": 1500.0,
      "prompt_token_budget": 160000
    }
  },
  "issue": "Use environment variables with Curator v4\nI'm using 3.5 and it accepts flags. this works well with environment variables such as\r\n\r\n`--port ${PORT}`, etc.\r\n\r\nIt's unclear in the v4 docs on how to do this with the change to a configuration file.\r\nThe config file has everything I need, but it doesn't show if it accepts environment variables/overrides. Is it possible without modifying the file to do string replacements?",
  "source": {
    "image": "docker.io/swerebenchv2/elastic-curator:750-95dd255",
    "platform": "linux/amd64",
    "python": "python",
    "setup": [
      "python -c 'import base64; from pathlib import Path; Path('\"'\"'/tmp/receipts-elastic__curator-750-test.patch'\"'\"').write_bytes(base64.b64decode('\"'\"'ZGlmZiAtLWdpdCBhL3Rlc3QvaW50ZWdyYXRpb24vdGVzdF9lbnZ2YXJzLnB5IGIvdGVzdC9pbnRlZ3JhdGlvbi90ZXN0X2VudnZhcnMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmIwMGEzOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3QvaW50ZWdyYXRpb24vdGVzdF9lbnZ2YXJzLnB5CkBAIC0wLDAgKzEsOTEgQEAKK2ltcG9ydCBlbGFzdGljc2VhcmNoCitpbXBvcnQgY3VyYXRvcgoraW1wb3J0IG9zCitpbXBvcnQganNvbgoraW1wb3J0IHN0cmluZywgcmFuZG9tLCB0ZW1wZmlsZQoraW1wb3J0IGNsaWNrCitmcm9tIGNsaWNrIGltcG9ydCB0ZXN0aW5nIGFzIGNsaWNrdGVzdAorZnJvbSBtb2NrIGltcG9ydCBwYXRjaCwgTW9jaworCitmcm9tIC4gaW1wb3J0IEN1cmF0b3JUZXN0Q2FzZQorZnJvbSAuIGltcG9ydCB0ZXN0dmFycyBhcyB0ZXN0dmFycworCitpbXBvcnQgbG9nZ2luZworbG9nZ2VyID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCisKK2hvc3QsIHBvcnQgPSBvcy5lbnZpcm9uLmdldCgnVEVTVF9FU19TRVJWRVInLCAnbG9jYWxob3N0OjkyMDAnKS5zcGxpdCgnOicpCitwb3J0ID0gaW50KHBvcnQpIGlmIHBvcnQgZWxzZSA5MjAwCisKK2RlZiByYW5kb21fZW52dmFyKHNpemUpOgorICAgIHJldHVybiAnJy5qb2luKAorICAgICAgICByYW5kb20uU3lzdGVtUmFuZG9tKCkuY2hvaWNlKAorICAgICAgICAgICAgc3RyaW5nLmFzY2lpX3VwcGVyY2FzZSArIHN0cmluZy5kaWdpdHMKKyAgICAgICAgKSBmb3IgXyBpbiByYW5nZShzaXplKQorICAgICkKKworY2xhc3MgVGVzdEVudlZhcnMoQ3VyYXRvclRlc3RDYXNlKToKKyAgICBkZWYgdGVzdF9wcmVzZW50KHNlbGYpOgorICAgICAgICBldmFyID0gcmFuZG9tX2VudnZhcig4KQorICAgICAgICBvcy5lbnZpcm9uW2V2YXJdID0gIjEyMzQiCisgICAgICAgIGRvbGxhciA9ICckeycgKyBldmFyICsgJ30nCisgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKAorICAgICAgICAgICAgc2VsZi5hcmdzWydjb25maWdmaWxlJ10sCisgICAgICAgICAgICB0ZXN0dmFycy5jbGllbnRfY29uZmlnX2VudnZhcnMuZm9ybWF0KGRvbGxhciwgcG9ydCwgMzApCisgICAgICAgICkKKyAgICAgICAgY2ZnID0gY3VyYXRvci5nZXRfeWFtbChzZWxmLmFyZ3NbJ2NvbmZpZ2ZpbGUnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgKKyAgICAgICAgICAgIGNmZ1snY2xpZW50J11bJ2hvc3RzJ10sCisgICAgICAgICAgICBvcy5lbnZpcm9uLmdldChldmFyKQorICAgICAgICApCisgICAgICAgIGRlbCBvcy5lbnZpcm9uW2V2YXJdCisgICAgZGVmIHRlc3Rfbm90X3ByZXNlbnQoc2VsZik6CisgICAgICAgIGV2YXIgPSByYW5kb21fZW52dmFyKDgpCisgICAgICAgIGRvbGxhciA9ICckeycgKyBldmFyICsgJ30nCisgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKAorICAgICAgICAgICAgc2VsZi5hcmdzWydjb25maWdmaWxlJ10sCisgICAgICAgICAgICB0ZXN0dmFycy5jbGllbnRfY29uZmlnX2VudnZhcnMuZm9ybWF0KGRvbGxhciwgcG9ydCwgMzApCisgICAgICAgICkKKyAgICAgICAgY2ZnID0gY3VyYXRvci5nZXRfeWFtbChzZWxmLmFyZ3NbJ2NvbmZpZ2ZpbGUnXSkKKyAgICAgICAgc2VsZi5hc3NlcnRJc05vbmUoY2ZnWydjbGllbnQnXVsnaG9zdHMnXSkKKyAgICBkZWYgdGVzdF9ub3RfcHJlc2VudF93aXRoX2RlZmF1bHQoc2VsZik6CisgICAgICAgIGV2YXIgPSByYW5kb21fZW52dmFyKDgpCisgICAgICAgIGRlZmF1bHQgPSByYW5kb21fZW52dmFyKDgpCisgICAgICAgIGRvbGxhciA9ICckeycgKyBldmFyICsgJzonICsgZGVmYXVsdCArICd9JworICAgICAgICBzZWxmLndyaXRlX2NvbmZpZygKKyAgICAgICAgICAgIHNlbGYuYXJnc1snY29uZmlnZmlsZSddLAorICAgICAgICAgICAgdGVzdHZhcnMuY2xpZW50X2NvbmZpZ19lbnZ2YXJzLmZvcm1hdChkb2xsYXIsIHBvcnQsIDMwKQorICAgICAgICApCisgICAgICAgIGNmZyA9IGN1cmF0b3IuZ2V0X3lhbWwoc2VsZi5hcmdzWydjb25maWdmaWxlJ10pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoCisgICAgICAgICAgICBjZmdbJ2NsaWVudCddWydob3N0cyddLAorICAgICAgICAgICAgZGVmYXVsdAorICAgICAgICApCisgICAgZGVmIHRlc3RfZG9fc29tZXRoaW5nX3dpdGhfaW50X3ZhbHVlKHNlbGYpOgorICAgICAgICBzZWxmLmNyZWF0ZV9pbmRpY2VzKDEwKQorICAgICAgICBldmFyID0gcmFuZG9tX2VudnZhcig4KQorICAgICAgICBvcy5lbnZpcm9uW2V2YXJdID0gIjEyMzQiCisgICAgICAgIGRvbGxhciA9ICckeycgKyBldmFyICsgJ30nCisgICAgICAgIHNlbGYud3JpdGVfY29uZmlnKAorICAgICAgICAgICAgc2VsZi5hcmdzWydjb25maWdmaWxlJ10sCisgICAgICAgICAgICB0ZXN0dmFycy5jbGllbnRfY29uZmlnX2VudnZhcnMuZm9ybWF0KGhvc3QsIHBvcnQsIGRvbGxhcikKKyAgICAgICAgKQorICAgICAgICBjZmcgPSBjdXJhdG9yLmdldF95YW1sKHNlbGYuYXJnc1snY29uZmlnZmlsZSddKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKAorICAgICAgICAgICAgY2ZnWydjbGllbnQnXVsndGltZW91dCddLAorICAgICAgICAgICAgb3MuZW52aXJvbi5nZXQoZXZhcikKKyAgICAgICAgKQorICAgICAgICBzZWxmLndyaXRlX2NvbmZpZyhzZWxmLmFyZ3NbJ2FjdGlvbmZpbGUnXSwKKyAgICAgICAgICAgIHRlc3R2YXJzLmRlbGV0ZV9wcm90by5mb3JtYXQoCisgICAgICAgICAgICAgICAgJ2FnZScsICduYW1lJywgJ29sZGVyJywgJ1wnJVkuJW0uJWRcJycsICdkYXlzJywgNSwgJyAnLCAnICcsICcgJworICAgICAgICAgICAgKQorICAgICAgICApCisgICAgICAgIHRlc3QgPSBjbGlja3Rlc3QuQ2xpUnVubmVyKCkKKyAgICAgICAgcmVzdWx0ID0gdGVzdC5pbnZva2UoCisgICAgICAgICAgICAgICAgICAgIGN1cmF0b3IuY2xpLAorICAgICAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgICAgICAnLS1jb25maWcnLCBzZWxmLmFyZ3NbJ2NvbmZpZ2ZpbGUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYXJnc1snYWN0aW9uZmlsZSddCisgICAgICAgICAgICAgICAgICAgIF0sCisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMoNSwgbGVuKGN1cmF0b3IuZ2V0X2luZGljZXMoc2VsZi5jbGllbnQpKSkKKyAgICAgICAgZGVsIG9zLmVudmlyb25bZXZhcl0KZGlmZiAtLWdpdCBhL3Rlc3QvaW50ZWdyYXRpb24vdGVzdHZhcnMucHkgYi90ZXN0L2ludGVncmF0aW9uL3Rlc3R2YXJzLnB5CmluZGV4IGMzZGM1MmYuLmMyNDM0ODQgMTAwNjQ0Ci0tLSBhL3Rlc3QvaW50ZWdyYXRpb24vdGVzdHZhcnMucHkKKysrIGIvdGVzdC9pbnRlZ3JhdGlvbi90ZXN0dmFycy5weQpAQCAtMjAsNiArMjAsMTkgQEAgY2xpZW50X2NvbmZpZyA9ICgnLS0tXG4nCiAnICBsb2dmb3JtYXQ6IGRlZmF1bHRcbicKICcgIGJsYWNrbGlzdDogW11cbicpCiAKK2NsaWVudF9jb25maWdfZW52dmFycyA9ICgnLS0tXG4nCisnY2xpZW50OlxuJworJyAgaG9zdHM6IHswfVxuJworJyAgcG9ydDogezF9XG4nCisnICB0aW1lb3V0OiB7Mn1cbicKKycgIG1hc3Rlcl9vbmx5OiBGYWxzZVxuJworJ1xuJworJ2xvZ2dpbmc6XG4nCisnICBsb2dsZXZlbDogREVCVUdcbicKKycgIGxvZ2ZpbGU6XG4nCisnICBsb2dmb3JtYXQ6IGRlZmF1bHRcbicKKycgIGJsYWNrbGlzdDogW11cbicpCisKIGJhZF9jbGllbnRfY29uZmlnID0gKCctLS1cbicKICdtaXNzcGVsbGVkOlxuJwogJyAgaG9zdHM6IHswfVxuJwpkaWZmIC0tZ2l0IGEvdGVzdC91bml0L3Rlc3RfdmFsaWRhdG9ycy5weSBiL3Rlc3QvdW5pdC90ZXN0X3ZhbGlkYXRvcnMucHkKaW5kZXggYzcxMzY4Ny4uMzRmODU4OSAxMDA2NDQKLS0tIGEvdGVzdC91bml0L3Rlc3RfdmFsaWRhdG9ycy5weQorKysgYi90ZXN0L3VuaXQvdGVzdF92YWxpZGF0b3JzLnB5CkBAIC00OCw2ICs0OCwyMCBAQCBjbGFzcyBUZXN0RmlsdGVyVHlwZXMoVGVzdENhc2UpOgogICAgICAgICAgICAgfQogICAgICAgICBdCiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoY29uZmlnLCBzaGFyZWRfcmVzdWx0KGNvbmZpZywgYWN0aW9uKSkKKyAgICBkZWYgdGVzdF9hZ2Vfd2l0aF9zdHJpbmdfdW5pdF9jb3VudChzZWxmKToKKyAgICAgICAgYWN0aW9uID0gJ2RlbGV0ZV9pbmRpY2VzJworICAgICAgICBjb25maWcgPSBbCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgJ2ZpbHRlcnR5cGUnIDogJ2FnZScsCisgICAgICAgICAgICAgICAgJ2RpcmVjdGlvbicgOiAnb2xkZXInLAorICAgICAgICAgICAgICAgICd1bml0JyA6ICdkYXlzJywKKyAgICAgICAgICAgICAgICAndW5pdF9jb3VudCcgOiAiMSIsCisgICAgICAgICAgICAgICAgJ3NvdXJjZScgOiAnZmllbGRfc3RhdHMnLAorICAgICAgICAgICAgICAgICdmaWVsZCcgIDogJ0B0aW1lc3RhbXAnLAorICAgICAgICAgICAgfQorICAgICAgICBdCisgICAgICAgIHJlc3VsdCA9IHNoYXJlZF9yZXN1bHQoY29uZmlnLCBhY3Rpb24pCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgcmVzdWx0WzBdWyd1bml0X2NvdW50J10pCiAgICAgZGVmIHRlc3RfYWxsb2NhdGVkKHNlbGYpOgogICAgICAgICBhY3Rpb24gPSAnZGVsZXRlX2luZGljZXMnCiAgICAgICAgIGNvbmZpZyA9IFsKQEAgLTEyMSw2ICsxMzUsMjAgQEAgY2xhc3MgVGVzdEZpbHRlclR5cGVzKFRlc3RDYXNlKToKICAgICAgICAgICAgIH0KICAgICAgICAgXQogICAgICAgICBzZWxmLmFzc2VydEVxdWFsKGNvbmZpZywgc2hhcmVkX3Jlc3VsdChjb25maWcsIGFjdGlvbikpCisgICAgZGVmIHRlc3Rfc3BhY2VfbmFtZV9hZ2Vfc3RyaW5nX2Zsb2F0KHNlbGYpOgorICAgICAgICBhY3Rpb24gPSAnZGVsZXRlX2luZGljZXMnCisgICAgICAgIGNvbmZpZyA9IFsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAnZmlsdGVydHlwZScgOiAnc3BhY2UnLAorICAgICAgICAgICAgICAgICdkaXNrX3NwYWNlJyA6ICIxLjAiLAorICAgICAgICAgICAgICAgICd1c2VfYWdlJyA6IFRydWUsCisgICAgICAgICAgICAgICAgJ2V4Y2x1ZGUnIDogRmFsc2UsCisgICAgICAgICAgICAgICAgJ3NvdXJjZScgOiAnbmFtZScsCisgICAgICAgICAgICAgICAgJ3RpbWVzdHJpbmcnIDogJyVZLiVtLiVkJywKKyAgICAgICAgICAgIH0KKyAgICAgICAgXQorICAgICAgICByZXN1bHQgPSBzaGFyZWRfcmVzdWx0KGNvbmZpZywgYWN0aW9uKQorICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEuMCwgcmVzdWx0WzBdWydkaXNrX3NwYWNlJ10pCiAgICAgZGVmIHRlc3Rfc3BhY2VfbmFtZV9hZ2Vfbm9fdHMoc2VsZik6CiAgICAgICAgIGFjdGlvbiA9ICdkZWxldGVfaW5kaWNlcycKICAgICAgICAgY29uZmlnID0gWwo='\"'\"'))'",
      "git apply /tmp/receipts-elastic__curator-750-test.patch"
    ],
    "workdir": "/curator"
  },
  "spec_paths": [
    "test/integration/test_envvars.py",
    "test/integration/testvars.py",
    "test/unit/test_validators.py"
  ],
  "spec_tests": [
    "test/unit/test_validators.py::TestFilterTypes::test_age_with_string_unit_count",
    "test/unit/test_validators.py::TestFilterTypes::test_space_name_age_string_float"
  ],
  "suite_scope": "--no-header -rA --tb=line --color=no -p no:cacheprovider -W ignore::DeprecationWarning test/integration/test_envvars.py test/integration/testvars.py test/unit/test_validators.py"
}
