)]}'
{
  "log": [
    {
      "commit": "f5fdf5d81b505ddd91cdaed380a5c58464ab7784",
      "tree": "6fc549db55c01ccaf7fe673158121c3fb2f2445e",
      "parents": [
        "c317e7dceca039917d3cbf19f26d7324e4b36779"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Oct 03 09:37:22 2025 -0700"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Oct 03 09:38:20 2025 -0700"
      },
      "message": "Add deprecation notice\n\nChange-Id: I68a6581655293154093494b397b2d48aff36830e\n"
    },
    {
      "commit": "c317e7dceca039917d3cbf19f26d7324e4b36779",
      "tree": "575f7cab25d07737ed11c4638967b4aad5d31898",
      "parents": [
        "c638150a8037aa81667b3edd3dabf58700ea0de9"
      ],
      "author": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Mon Nov 18 14:05:28 2024 +0000"
      },
      "committer": {
        "name": "Álvaro Vilaplana García",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Wed Nov 20 09:59:20 2024 +0000"
      },
      "message": "Set Gerrit version to 3.11.0-rc3 and JDK 21\n\nChange-Id: I47c2b327053191d7bb445832d7a69114690600cd\n"
    },
    {
      "commit": "c638150a8037aa81667b3edd3dabf58700ea0de9",
      "tree": "0ff4307983d05e9bd1daf94047b1b4449ad3b1ac",
      "parents": [
        "5eacb5c71f0ec6f82117a8a8f418617573d002f6"
      ],
      "author": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Mon Nov 18 16:33:07 2024 +0000"
      },
      "committer": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Wed Nov 20 09:56:15 2024 +0000"
      },
      "message": "Set JDK based when env variable GERRIT_WAR_URL is defined\n\nUse the the property \u0027--branch\u0027 to set the right JDK version.\n\nChange-Id: I95a9618459034f1fa176d1f4e81ed47c9bec7aaf\n"
    },
    {
      "commit": "5eacb5c71f0ec6f82117a8a8f418617573d002f6",
      "tree": "86b214a0a78dc7a1cdaef99eb5b704559c1a4d26",
      "parents": [
        "eeeed1098f30382463e9c96f29d7494b3eb5c8e4"
      ],
      "author": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Mon Apr 08 13:51:03 2024 +0200"
      },
      "committer": {
        "name": "Marcin Czech",
        "email": "maczech@gmail.com",
        "time": "Mon Apr 08 13:51:03 2024 +0200"
      },
      "message": "Set java version to java 17\n\nGerrit 3.10 requires java 17\n\nChange-Id: I10154a87e5ec136248b1218de5fc70591f932a1a\n"
    },
    {
      "commit": "eeeed1098f30382463e9c96f29d7494b3eb5c8e4",
      "tree": "439d207026b3aa46ad192dfac9665ba8b029db03",
      "parents": [
        "4c4210239926a6ab61aabefad35a13c6932e6cb8"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Wed Oct 25 11:25:19 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Tue Nov 07 09:45:54 2023 +0000"
      },
      "message": "Document how to update python requirements file\n\nDocumenting these steps will allow future updates to be more consistent.\n\nThis is a follow-up to [1].\n\n[1] https://gerrit-review.googlesource.com/c/aws-gerrit/+/389014/comment/add73286_b60daad9/\n\nBug: Issue 307592551\nChange-Id: I3a6f302eb5b2a166de7cb408507ca2dc9471f10e\n"
    },
    {
      "commit": "4c4210239926a6ab61aabefad35a13c6932e6cb8",
      "tree": "6f0920c23873018ff98fbd127caa4ad7a933e22e",
      "parents": [
        "d4c7726160875cbfb0e26e13cfee0514caf22357"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Thu Oct 19 11:06:40 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Thu Oct 19 14:55:44 2023 +0100"
      },
      "message": "Add --no-cache option to Gerrit build command\n\nAlways using the cache can be a problem in CI.\n\nSpecifically, Gerrit\u0027s e2e test [1] runs a daily job where it gets a war\nfile from a link that always points to the last successful build. The\nlink doesn\u0027t change even if a new build succeeds. In this case, Docker\nwould not notice that the artifact has changed, and would keep using the\none in the cached build instead of the new one.\n\nAdd the `GERRIT_BUILD_NO_CACHE` option to allow Docker to rebuild the\nimage with the new war file.\n\n[1] https://gerrit-ci.gerritforge.com/job/gatling-gerrit-test/\n\nBug: Issue 306202742\nChange-Id: I387e8589f46d1d0edef388768605926b6eafb9e8\n"
    },
    {
      "commit": "d4c7726160875cbfb0e26e13cfee0514caf22357",
      "tree": "5075ed34a3bd2eed60c0fff71386375c7d2def68",
      "parents": [
        "ec210f3c37ea9a7e9141ddce479b26e16ac46208"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Tue Oct 10 16:32:31 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Tue Oct 17 16:18:32 2023 +0100"
      },
      "message": "Bump gerrit image to 3.8.2\n\nIt wasn\u0027t enough just to bump the Gerrit version as the base image for\n3.8 is built against almalinux 9, which has different python packages.\n\nThe requirements file is now generated by pip-compile, so it looks\ndifferent to the previous one.\n\nThe following steps were used to generate the requirements file.\n\n  docker run -it almalinux:9 bash\n  yum install python3 python3-libs python3-devel python3-pip\n\n  cd\n  python3 -m venv venv\n\n  source venv/bin/activate\n\n  # These are our direct dependencies\n  pip install boto3\u003d\u003d1.23.10 jinja2\u003d\u003d2.11.1 awscli\u003d\u003d1.24.10\n\n  # Required for compatibility with the pinned version of jinja2\n  pip install markupsafe\u003d\u003d2.0.1\n\n  pip freeze \u003e requirements.in\n\n  python3 -m pip install pip-tools\n  pip-compile --generate-hashes requirements.in\n\nBug: Issue 304300689\nChange-Id: I8cb19373de83888eb6d3848438c2779e6c848c95\n"
    },
    {
      "commit": "ec210f3c37ea9a7e9141ddce479b26e16ac46208",
      "tree": "d6bc00a39e322d3f61d737482f7ac1369ea0d72f",
      "parents": [
        "b90b8748435323d62e216596e6bbe48052d0b1da"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Tue Oct 17 14:34:31 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Tue Oct 17 14:53:58 2023 +0100"
      },
      "message": "Add GERRIT_WAR_URL into build stage\n\nGERRIT_WAR_URL was declared before the FROM instruction, which meant it\nwasn\u0027t included in the build stage [1]. This caused the Docker image to\nalways build the image using the Gerrit war baked into the base image\nrather than the one passed as a build-arg.\n\nDeclare GERRIT_WAR_URL after the FROM instruction to allow the curl to\nsee it and download it. We declare just before its use, so we don\u0027t\ninvalidate the Docker cache unnecessarily [2].\n\n[1] https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact\n[2] https://docs.docker.com/engine/reference/builder/#impact-on-build-caching\n\nChange-Id: I9ef3355ae07159c8b2432f0f111c042d293ed5fa\n"
    },
    {
      "commit": "b90b8748435323d62e216596e6bbe48052d0b1da",
      "tree": "01efea8c999afbd3498a6f7812bb30179573d479",
      "parents": [
        "eebcc2b41971e1ee3bf8974b9e43819e76c4f1be"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Tue Oct 17 11:36:37 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Tue Oct 17 11:36:37 2023 +0100"
      },
      "message": "Fix Gerrit image name\n\nChange If582c0c7a050c176e95d18b51bcff65cc2bf14ce accidentally bumped the\nalmalinux version.\n\nSet almalinux back to version 8.\n\nChange-Id: I70ad1bcf4493386d2d105a56d2debe7042353efa\n"
    },
    {
      "commit": "eebcc2b41971e1ee3bf8974b9e43819e76c4f1be",
      "tree": "b943a641cc500e24125e9cc37fe638d811ac7b62",
      "parents": [
        "409ad86aa18a019a3618849c7066cd374bd5e733"
      ],
      "author": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Tue Oct 10 11:24:05 2023 +0100"
      },
      "committer": {
        "name": "Darius Jokilehto",
        "email": "dariusjokilehto@gmail.com",
        "time": "Tue Oct 10 11:26:12 2023 +0100"
      },
      "message": "Generate Gerrit Dockerfile using build-arg vars\n\nRemove requirement of using envsubst as FROM supports arguments passed\nwith build-arg.\n\nChange-Id: If582c0c7a050c176e95d18b51bcff65cc2bf14ce\n"
    },
    {
      "commit": "409ad86aa18a019a3618849c7066cd374bd5e733",
      "tree": "76f1168d89d8cd3036485d78cd99627722c968d2",
      "parents": [
        "8055f5f5519e8fed658d92c7e5f584982c3d39d3"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Sep 22 17:34:26 2023 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Sep 22 15:38:10 2023 +0000"
      },
      "message": "Revert \"Default build to gerrit 3.8\"\n\nThis reverts commit a156317023459d0fa3ff5ef6a74a121bc96c0a39.\n\nChange-Id: I56585c2bcdab447bc95d81e40ad44491d41907da\n"
    },
    {
      "commit": "8055f5f5519e8fed658d92c7e5f584982c3d39d3",
      "tree": "7ec84f02b1e4b1dbfeb4d1024c5600677a6bc0f1",
      "parents": [
        "f3cb8065f843f92d4311c702c2111c2f5476bb9c"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Sep 22 17:33:59 2023 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Sep 22 15:38:03 2023 +0000"
      },
      "message": "Revert \"Add $GERRIT_BUILD_ARCH to envsubst\"\n\nThis reverts commit 8799d57c672227947d2439b8bdeaab4424f95c94.\n\nChange-Id: Ia1eba5ba9cfedbbad96463f598dfa939c565ed02\n"
    },
    {
      "commit": "f3cb8065f843f92d4311c702c2111c2f5476bb9c",
      "tree": "93178f8fd191ccc2479afd57407a9d9553871eb5",
      "parents": [
        "215142051c94d186eb33671955186db96e257434"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Sep 22 14:48:23 2023 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Sep 22 12:52:11 2023 +0000"
      },
      "message": "Add $GERRIT_BUILD_ARCH to envsubst\n\nChange-Id: Ic189d8d8d34cf3a47534f0f22ac6f5a0b1f21caa\n"
    },
    {
      "commit": "215142051c94d186eb33671955186db96e257434",
      "tree": "7ec84f02b1e4b1dbfeb4d1024c5600677a6bc0f1",
      "parents": [
        "18abf4557e3c3ac751606e05a49e2516dfd489ca"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Sep 22 14:34:35 2023 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Sep 22 12:39:38 2023 +0000"
      },
      "message": "Default gerrit deployment to gerrit 3.8.2\n\nDefault deployments to the last stable gerrit 3.8.2\n\nPrevious versions of gerrit were available on docker over AlmaLinux 8.\n\nSince Gerrit 3.8 docker image is available on AlmaLinux 9, introduce the\nGIT_BUILD_ARCH variable, so that previous versions of Gerrit can still\nbe deployed.\n\nChange-Id: I24dc9e9775231352740881119b5b7efd54183024\n"
    },
    {
      "commit": "18abf4557e3c3ac751606e05a49e2516dfd489ca",
      "tree": "76f1168d89d8cd3036485d78cd99627722c968d2",
      "parents": [
        "605654c1287ff00fa56600741862293618d15ee7"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Aug 29 15:15:41 2023 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Aug 29 15:15:41 2023 +0200"
      },
      "message": "Set index pagination type to NONE\n\nChange I40f87895d9dac95 was merged from gerrit 3.4 onwards, to to\ndisable index backend pagination.\n\nThis was done as a fix for the change introduced by I2f5a6aad3798, which\nmight cause inconsistent, duplicates and missing lucene index results.\n\nApplying paginationType NONE to all AWS recipes.\n\nBug: Issue 287484350\nChange-Id: I94509dad9e57370d377ddabea5169d1d0a36d9db\n"
    },
    {
      "commit": "605654c1287ff00fa56600741862293618d15ee7",
      "tree": "e99d70f0fab4db5bf028f0b81585dbd814e73241",
      "parents": [
        "4f1072bef6418d28070d0fd86a95a0d2cfdb9347"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Jun 16 11:35:44 2023 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Jun 16 11:35:44 2023 +0200"
      },
      "message": "Use --no-cli-pager instead of AWS_PAGER\n\ninstead of continuously exporting AWS_PAGER environment variable, set\nthe $AWS cli to use the --no-cli-pager.\n\nThis has the advantage of having only one statement rather than two (the\nexport of the variable and the aws cli), making shell easier to read and\nless error prone.\n\nChange-Id: Ib703d34c672f93192bcc03789cb48f13f8109e2a\n"
    },
    {
      "commit": "4f1072bef6418d28070d0fd86a95a0d2cfdb9347",
      "tree": "533308a7cce87673b0fd137543556485944fb1af",
      "parents": [
        "e298290663445bc3b3eb1b88f7e91eac22d46265"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Thu Jun 15 16:00:50 2023 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Thu Jun 15 16:00:50 2023 +0200"
      },
      "message": "Centralize AWS command\n\nAll Makefiles rely on the execution of the aws cli.\nIn order to act on a specific AWS region, the `--region` option was\npassed explicitly to each aws cli execution.\n\nThis however is redundant and error prone since the `--region` option\nhad to be specified over and over again and it could have been forgotten\nfor some of the executions.\n\nThis in fact was the case for the export-logs target, whereby the\nsubcommand were executing without specifying the region.\n\nDefine one unique AWS command line variable in Makefie.common to use\nthroughout the codebase.\n\nBug: Issue 40015577\nChange-Id: Ic6bdd666279681649a040476fb5e8f8753049ca3\n"
    },
    {
      "commit": "e298290663445bc3b3eb1b88f7e91eac22d46265",
      "tree": "5966e82cd2d95443ed95da8965e976e008a06c8e",
      "parents": [
        "90b37937e2ff94042e0aaadb54570bc5e8b71795"
      ],
      "author": {
        "name": "Christopher Miliotis",
        "email": "christoforos.miliotis.dev@gmail.com",
        "time": "Thu Apr 06 16:31:25 2023 +0100"
      },
      "committer": {
        "name": "Christopher Miliotis",
        "email": "christoforos.miliotis.dev@gmail.com",
        "time": "Tue Apr 11 10:56:38 2023 +0100"
      },
      "message": "Make multi-site and HA lib versions mandatory, update docs, fix makefile\n\nThe `EVENTSBROKER_LIB_VER` and `GLOBALREFDB_LIB_VER` were defined\nin `common.env`, although they are only used in the `dual-primary`\ntopology. Not only that, but they were defaulted to `3.6.3` which\ncaused the services to fail to start when using an earlier gerrit\nversion (eg. `3.5.5`). In addition, they are never mentioned in the\nconfiguration docs. Finally, attempting to run the makefile fails\nwith a `Makefile:312: *** commands commence before first target.  Stop`\nerror.\n\nThis change moves these settings into the relevant `Makefile`\nand makes them mandatory. This way, if the user fails to set\nthem, they will clearly see the issue during deployment and\nnot runtime. They are also added in the configuration docs\nfor the dual-primary topology. Finally, the makefile bug is\nfixed using the correct indentation.\n\nBug: Issue 16838\nChange-Id: I455674d9dea69fe58f9d4f3ccbf28eb37622e319\n"
    },
    {
      "commit": "90b37937e2ff94042e0aaadb54570bc5e8b71795",
      "tree": "261aa89edc84af31c8077fb28d9741e0db0b8f23",
      "parents": [
        "21e611763063e8a5ed2b95de7c55d2b01740208b"
      ],
      "author": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Fri Jan 06 15:42:10 2023 +0000"
      },
      "committer": {
        "name": "Álvaro Vilaplana García",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Mon Mar 20 14:37:25 2023 +0000"
      },
      "message": "Add pull-replication plugin in primary-replica topology.\n\nBug: Issue 16393\nChange-Id: I97a9eb7866d3595779060120cba02d290f4a8295\n"
    },
    {
      "commit": "21e611763063e8a5ed2b95de7c55d2b01740208b",
      "tree": "0ec9f972d4b8cf1093c4f1b9a8fb547440b52638",
      "parents": [
        "6507fd56f86299905d46168df09cf851f9adc60d"
      ],
      "author": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Fri Jan 06 15:39:44 2023 +0000"
      },
      "committer": {
        "name": "Álvaro Vilaplana García",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Mon Mar 20 14:37:16 2023 +0000"
      },
      "message": "Add pull-replication plugin in `dual-primary` topology.\n\nThe `replication` plugin (push-replication) is enabled.\n\nNote: This change adds the pull-replication plugin when\nmultisite is disabled. The reason is because we want to\nprovide a solution for one site first and after that\nscale to the multisite topology.\n\nBug: Issue 16393\nChange-Id: I8a34525f18cab66ba9c6442e52f84f54f1b4cf70\n"
    },
    {
      "commit": "6507fd56f86299905d46168df09cf851f9adc60d",
      "tree": "92ea6699b925065b472c6512bc873c22bdb2efe5",
      "parents": [
        "516df746a84acd97467e72efd0e544182f5b685f"
      ],
      "author": {
        "name": "Álvaro Vilaplana García",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Tue Feb 14 17:55:22 2023 +0000"
      },
      "committer": {
        "name": "Alvaro Vilaplana Garcia",
        "email": "alvaro.vilaplana@gmail.com",
        "time": "Thu Mar 16 15:26:00 2023 +0000"
      },
      "message": "Define same instanceId for ALL primaries in the same HA in dual-primary.\n\nAll the primary Gerrit nodes in HA must use the same instanceId, the reason is because \"logically\" they are a single site.\n\nChange-Id: I6206e5df3c4c248b0e9346e835b63d3671af6b4d\n"
    },
    {
      "commit": "516df746a84acd97467e72efd0e544182f5b685f",
      "tree": "8a6e25ff2e37c9006a6473fc7f468bfde03f2ce3",
      "parents": [
        "37424d4cb43f5deead52c178fb845f15a7c7e1c9"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Jan 25 13:25:26 2023 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Jan 25 13:25:26 2023 +0100"
      },
      "message": "Improve locking mechanism\n\nThe current GC script checks whether a non-stale gc.log.lock file\nexists before aborting the execution of the current GC.\n\nThis is because another, concurrent GC process might be be executed by\njgit or cgit at the same time.\n\nHowever, this is not enough to ensure that no other processes are\nperforming GC.\n\nAlso, jgit only creates the gc.log.lock when the GC is performed in the\nbackground and thus we cannot rely _just_ on the existence of that\nlockfile to abort this script\u0027s GC.\n\nImprove the locking mechanism of the GC by:\n\n- _explicitly_ locking when running this script (to ensure no concurrent\n   runs of the GC script occur, i.e. scheduling errors)\n\n- Not only checking the gc.log.lock file, but allowing _extra_ lockfiles\n  to be configured through the usage of the `EXTRA_GC_LOCK_FILES`\n  environment variable. This allows to account for external GC processes\n  that also run GC against the same repository.\n\nChange-Id: I9e56f8f7debaaf7798777061d9966e4a0a4f8f38\n"
    },
    {
      "commit": "37424d4cb43f5deead52c178fb845f15a7c7e1c9",
      "tree": "0f659dd462f5a94f9582917b25723b370cd12c24",
      "parents": [
        "5d1c534342ee7311e4d10fe7d666b3cb2393f01a"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Jan 04 11:38:17 2023 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Jan 04 14:43:39 2023 +0100"
      },
      "message": "Update Secrets.md with optional prometheus bearer token\n\nPrometheus bearer token is only needed when setting up monitoring stack\nand therefore should be marked as optional in the documentation.\n\nChange-Id: I778ec36b55a252c5adf5081b4f1937cd8219ac2f\n"
    },
    {
      "commit": "5d1c534342ee7311e4d10fe7d666b3cb2393f01a",
      "tree": "a817762e6476dd6ead253c0f24774fe234a8667a",
      "parents": [
        "8ae97c24e1ed30da41c16c1d07b5446810d2e36f"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 22 11:07:56 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 22 11:08:37 2022 +0000"
      },
      "message": "Fix pack threads definition in GC script\n\nChange-Id: I04b5aab5637c3287b25a385a10b00dae2b1ee432\n"
    },
    {
      "commit": "8ae97c24e1ed30da41c16c1d07b5446810d2e36f",
      "tree": "b59e05831224bebcfa21e4aa5418122890ee5ea8",
      "parents": [
        "b4a8ea6fbb78f36a589b78797fd6d4d00e837662"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Dec 21 21:48:49 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Dec 21 21:48:49 2022 +0000"
      },
      "message": "Make sure there is no automatic GC happening concurrently\n\nIt is not safe to run multiple JGit GC at the same time.\nMake sure that there is no automatic GC happening on the repo\nprior to start a JGit GC activity.\n\nChange-Id: I7bc6b258ed469050bda9d2fdda99ebe00fdb7de5\n"
    },
    {
      "commit": "b4a8ea6fbb78f36a589b78797fd6d4d00e837662",
      "tree": "d676d8aa91dd08cf6e8c3f6a280c1a8e5723bc5f",
      "parents": [
        "79c1df90ddd78107344406d3276f3a0115cb1eef"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 21 19:08:22 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 21 19:29:27 2022 +0100"
      },
      "message": "Clean up old garbage before GC\n\nCheck for the existence  of:\n\n- incoming files\n- keep files\n- tmp files\n\nAnd delete them if they are older than configured number of seconds\n\nChange-Id: Ie088e5a2abf3150d60c5974e8f00f1c55d7510e5\n"
    },
    {
      "commit": "79c1df90ddd78107344406d3276f3a0115cb1eef",
      "tree": "d1c8ed58bc2ec793d10a2f64bed0a9cf1802d758",
      "parents": [
        "3102f091938e70ea82fe01e0b84989b8409b7ede"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 21 18:44:23 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 21 18:11:33 2022 +0000"
      },
      "message": "Add $GC_PROJECT_LIST to environment header\n\nChange-Id: I9de3623d7b4dfab5ab6e74b8e4ecd51f8f322db8\n"
    },
    {
      "commit": "3102f091938e70ea82fe01e0b84989b8409b7ede",
      "tree": "f47bdb1f48959c5506348bff2d91f9424bebd105",
      "parents": [
        "e687586e7c5bb1f57df6ee2827df5655c1b660e6"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Dec 21 17:30:40 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Dec 21 17:30:40 2022 +0000"
      },
      "message": "Exclude preserved packs from the heap needed for JGit GC\n\nThe preserved packs do not influence the computation of\nthe packs to be GCed and therefore should not be accounted for.\n\nChange-Id: I14cf5aa929e8acd9e43cae5bb2809bce817ecb3e\n"
    },
    {
      "commit": "e687586e7c5bb1f57df6ee2827df5655c1b660e6",
      "tree": "e84222190e085ddbf97f3566ae31522cddb8ebb2",
      "parents": [
        "3bee9dcfad4a9f456b160db23b7fc04c2587b95c"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 21 18:06:35 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 21 18:06:35 2022 +0100"
      },
      "message": "Stop buffering GC output\n\nBuffering the GC output does not allow to appreciate clearly how long\neach GC phase lasts.\n\nChange-Id: I74075999ebbfc6b9ae8627136a01055254efbe1e\n"
    },
    {
      "commit": "3bee9dcfad4a9f456b160db23b7fc04c2587b95c",
      "tree": "48e8115b06f4f2f55bb5712bb3eb746f8a9941a2",
      "parents": [
        "7231344f3b6cf47a458a27ebf0cec1f9aeb41456"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 21 16:37:13 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 21 17:05:16 2022 +0000"
      },
      "message": "Disable bitmaps generation based on number of refs/heads\n\nJgit will generate a bitmap for each refs/heads branch in the repository\nbeing GC\u0027d.\n\nFor repositories with a very large number of heads this operation\nbecomes computationally very expensive, ending up taking several hours\nto complete.\n\nMoreover, the generated bitmap will be so bloated that it will hardly be\nuseful.\n\nIntroduce the ability to skip the bitmap generation phase depending on\nthe number of refs/heads of the target repository.\n\nChange-Id: If037894e6cb3ba3a98eb40f71ad447581cdb839f\n"
    },
    {
      "commit": "7231344f3b6cf47a458a27ebf0cec1f9aeb41456",
      "tree": "28be94458bf80e10c17b6ca74172603a54ba53f5",
      "parents": [
        "baa8e584795b08cbf396e20cf1285f2456eb440e"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 21 13:25:26 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 21 18:03:36 2022 +0100"
      },
      "message": "Bail out when gc.log.lock exists\n\nCheck whether a gc.log.lock file exists when running GC, since it might\nsignal another in-flight GC is happening at the same time.\n\nHowever, if the gc.log.lock file exists but its age is older than the\nconfigurable GC_LOCK_EXPIRE_SECONDS, then the file is considered stale,\nremoved and the GC can continue.\n\nChange-Id: I1c6bcaada4c0f464de823169da95196026cb9181\n"
    },
    {
      "commit": "baa8e584795b08cbf396e20cf1285f2456eb440e",
      "tree": "bae26be2b7dafd584eb9b3f8fb68ef450d76b8ba",
      "parents": [
        "2713130313214db744608d0c14f3e7b2e2564cbf"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Dec 20 16:42:23 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Dec 20 22:50:55 2022 +0100"
      },
      "message": "Log environment variables during GC\n\nLog the environment variables used to configure the GC script to allow\ntracking what the configuration was at the time of execution.\n\nChange-Id: I51ab35fc32695caf8eaa0812bdd9daee8022859c\n"
    },
    {
      "commit": "2713130313214db744608d0c14f3e7b2e2564cbf",
      "tree": "2b9979f9c294d4b442bdeaf1ad9fdfa908a28c2c",
      "parents": [
        "1f888f8d36fbee057d03e4bafb9d06777f967a4a"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Sun Dec 18 14:48:02 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Dec 19 10:17:38 2022 +0100"
      },
      "message": "Add permissions required to use launch templates\n\nLaunch templates require a specific set of permissions to\ndescribe, create and destroy launch templates.\n\nFailing to provide these would cause a failure of cloud formation stack\ncreations.\n\nBug: Issue 16540\nChange-Id: If39f532d9bbe5b37f8d35c2c6441b5cb8d145dbd\n"
    },
    {
      "commit": "1f888f8d36fbee057d03e4bafb9d06777f967a4a",
      "tree": "b98fdd2b105328ab14d4df65869538095ec67c17",
      "parents": [
        "a43c9b4fb40b097f861e01386c17de5b5846f12b"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Dec 16 16:47:53 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Dec 16 16:47:53 2022 +0100"
      },
      "message": "Pass git GC parameters to the git-gc task\n\nChange If5953e9c added some additional options to configure and tune\ngit-gc execution, however, even if the gc script supports those there\nwas no way to actually configure them because the environment variables\nwere not passed as parameters to the cloudformation template of the\ntask.\n\nAdd environment variables able to configure extra GC options and pass\nthem to the cloudformation template so that they are exposed to the GC\nscript.\n\nBug: Issue 16532\nChange-Id: Iebcddfd0d5055ef60fa81beb614a7ef0cac36333\n"
    },
    {
      "commit": "a43c9b4fb40b097f861e01386c17de5b5846f12b",
      "tree": "7e0b8d2d5cd7c678762e86fa892e9ca5345a5c0a",
      "parents": [
        "215bc37baa7ddc313f7ce52b907eafddcb2431ce"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Dec 16 13:13:42 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Dec 16 13:13:42 2022 +0100"
      },
      "message": "Fix maintenance GC script\n\nWhen running the maintenance GC script in docker the following error was\nthrown when looking for empty directories:\n\n```\nfind: unrecognized: -empty\n```\n\nInstall GNU `findutils` to allow the command to work on alpine.\n\nChange-Id: Ifa5456c167d8770be0a64937a598c9b21d322406\n"
    },
    {
      "commit": "215bc37baa7ddc313f7ce52b907eafddcb2431ce",
      "tree": "59c6d67c70390640d7ad9989bef9bc6c0d0551c5",
      "parents": [
        "2a647f8704ea4c078498a9ea6bcf13293e8bf08f"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 01:41:59 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 11:06:19 2022 +0000"
      },
      "message": "Display more repository metrics\n\nDisplay additional metrics associated with:\n- preserved packfiles\n- empty directories\n- packed and loose refs\n\nChange-Id: I4b6031e5c61822a2e97325fd0c3911ee6d3be53b\n"
    },
    {
      "commit": "2a647f8704ea4c078498a9ea6bcf13293e8bf08f",
      "tree": "2b7a234df89f8831478750e0d0dff49b6ee3b067",
      "parents": [
        "ae0a7e1a2c121c3c94bc84b5223f8ec217017099"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 01:41:24 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 11:06:19 2022 +0000"
      },
      "message": "Omit directories in pushd/popd\n\nChange-Id: I08b261dae200a5f9ef36375e487a33ac459c88f6\n"
    },
    {
      "commit": "ae0a7e1a2c121c3c94bc84b5223f8ec217017099",
      "tree": "2c57445ea709d6435428f96e31c38e37e95365aa",
      "parents": [
        "83b1450c91eba5ae343c8ed3e409eb2d73299f25"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 00:57:58 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 11:06:19 2022 +0000"
      },
      "message": "Remove redundant before/after messages\n\nThe \u0027before\u0027 and \u0027after\u0027 are always displayed\ninline with the relevant output: there is no need\nto add the extra message announcing the type of\nmetrics displayed.\n\nChange-Id: Iab42693b1a596069823a517aaf037a125464e0c7\n"
    },
    {
      "commit": "83b1450c91eba5ae343c8ed3e409eb2d73299f25",
      "tree": "9675e988b22065ea5e05a4a94a1858e7b96b32fb",
      "parents": [
        "0da43f699b722b5b6e7e55fc38216796a00d9835"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 00:54:57 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 11:06:18 2022 +0000"
      },
      "message": "Format JGit GC output with project name\n\nAllow to display the output of JGit GC\nwith the same format of the rest of the logs:\n- Timestamp\n- Project\n- Phase\n- Output line\n\nThis allows to easily grep a specific\nrepository output and track the timestamps\nof every single GC phase execution.\n\nChange-Id: I8f2237bde1994d8c5d31e58460cc21d81dc67106\n"
    },
    {
      "commit": "0da43f699b722b5b6e7e55fc38216796a00d9835",
      "tree": "62ebf2a83182f1861dd52533071d3c1431b68158",
      "parents": [
        "8ddafa791daa86bbee255b9e7c102ceef5d7c514"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 00:24:39 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 11:05:21 2022 +0000"
      },
      "message": "Add phase label to the repo stats\n\nMake easier to extract the list of metrics per repo/phase\nby adding the phase name (before|after) as prefix field\nof the repository metric.\n\nChange-Id: I69f6908a80cd52bb8bada2db577959e9c77aeae0\n"
    },
    {
      "commit": "8ddafa791daa86bbee255b9e7c102ceef5d7c514",
      "tree": "394903c26bfb13bfd5e810f593c0479401847b68",
      "parents": [
        "8a0fb43dcf23c93ad294e3a4c17c56ce7c80b5a6"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 00:12:03 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Fri Dec 16 11:04:37 2022 +0000"
      },
      "message": "Add more JGit GC config options\n\nIntroduce more variables for configuring the JGit execution:\n\n- PACK_THREADS: number of threads for packing concurrently\n- JAVA_ARGS: extra JVM options to pass to the JGit JVM\n- PRUNE_EXPIRE: interval for unreferenced loose objects expire\n- GIT: path where to find the \u0027git\u0027 executable\n- GIT_GC_OPTION: option to pass to the JGit GC command line\n\nAlso, JAVA_ARGS would automatically set the JVM heap needed\nto complete a full GC cycle as twice the current size of the\nrepository.\n\nChange-Id: If5953e9cc25f25bb344aabb030adb4dd33791dfb\n"
    },
    {
      "commit": "8a0fb43dcf23c93ad294e3a4c17c56ce7c80b5a6",
      "tree": "9d4464837288c9b465cb1d28c1b9a1fc929af55e",
      "parents": [
        "f8a5aa495bdcc043f1d5a1ec036592fd1065b00f"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 23:31:36 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Thu Dec 15 23:31:36 2022 +0000"
      },
      "message": "Fix the exact start timestamp of the GC process\n\nThe marking of the starting timestamp of the GC\nneeds to happen *exactly* before running the command.\n\nChange-Id: Ie46137c389cb3f13f91f14bca74dff2e1ec0bcf9\n"
    },
    {
      "commit": "f8a5aa495bdcc043f1d5a1ec036592fd1065b00f",
      "tree": "badcc4d93314f45d05dac5d52fe5266114cf2f5e",
      "parents": [
        "0d03dcec5822c985ad90bf93c1eeb4bd1c957d03"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Dec 02 22:04:16 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 14 23:03:41 2022 +0100"
      },
      "message": "dual-primary: use launch template\n\nAfter December 31, 2022 no new Amazon Elastic Compute Cloud (Amazon EC2)\ninstance types will be added to launch configurations. After this date,\nexisting launch configurations will continue to work, but new EC2\ninstances will only be supported through launch templates.\n\nmore info at [1]\n\n[1]https://aws.amazon.com/blogs/compute/amazon-ec2-auto-scaling-will-no-longer-add-support-for-new-ec2-features-to-launch-configurations/\n\nBug: Issue 16490\nChange-Id: Id2a9ee1cdd671725c32b0d67cdbc6dbb4aa9d3b5\n"
    },
    {
      "commit": "0d03dcec5822c985ad90bf93c1eeb4bd1c957d03",
      "tree": "ed59b790c493c9b6c852c647558d3ed89927a224",
      "parents": [
        "6909f1e3121847a633a05d2467f0a0f2b2b152d7"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Dec 02 17:34:48 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 14 23:03:31 2022 +0100"
      },
      "message": "primary-replica: use launch template\n\nAfter December 31, 2022 no new Amazon Elastic Compute Cloud (Amazon EC2)\ninstance types will be added to launch configurations. After this date,\nexisting launch configurations will continue to work, but new EC2\ninstances will only be supported through launch templates.\n\nmore info at [1]\n\n[1]https://aws.amazon.com/blogs/compute/amazon-ec2-auto-scaling-will-no-longer-add-support-for-new-ec2-features-to-launch-configurations/\n\nBug: Issue 16490\nChange-Id: Ib33d6b02c4571ecd1483ea68d5a59faaca4d8c99\n"
    },
    {
      "commit": "6909f1e3121847a633a05d2467f0a0f2b2b152d7",
      "tree": "858792ea326217bf80c6206240bc5afa2697f6bf",
      "parents": [
        "3277859796fe3b5a5c5be0159fd76c2b43dabb14"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Dec 02 16:25:52 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 14 23:03:20 2022 +0100"
      },
      "message": "single-primary: use launch template\n\nAfter December 31, 2022 no new Amazon Elastic Compute Cloud (Amazon EC2)\ninstance types will be added to launch configurations. After this date,\nexisting launch configurations will continue to work, but new EC2\ninstances will only be supported through launch templates.\n\nmore info at [1]\n\n[1]https://aws.amazon.com/blogs/compute/amazon-ec2-auto-scaling-will-no-longer-add-support-for-new-ec2-features-to-launch-configurations/\n\nBug: Issue 16490\nChange-Id: I8b79e6e67d835695bdf7f4720fa1ea6fa1eef388\n"
    },
    {
      "commit": "3277859796fe3b5a5c5be0159fd76c2b43dabb14",
      "tree": "c5c75337d205ebf0231ddea8c7651a91d6383a02",
      "parents": [
        "858fcbf5453bca8c87ebb1dd9299a55b253cfd04"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 14 23:01:18 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 14 23:01:18 2022 +0100"
      },
      "message": "Install global-refdb as lib\n\nSince I11e1836b, global-refdb is no longer packaged with\nhigh-availability plugin and thus needs to be install explicitly.\n\nBug: Issue 16526\nChange-Id: I4e6df030843f4f9c5b7c05f205ce4bc8fbca24f5\n"
    },
    {
      "commit": "858fcbf5453bca8c87ebb1dd9299a55b253cfd04",
      "tree": "cd4508551a83fb3803143cc648861dcff5ad89c5",
      "parents": [
        "349b1582bf78f8e3d24ae0156aeff13c91908d33"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 14 17:28:38 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Dec 14 23:00:53 2022 +0100"
      },
      "message": "Default gerrit version to 3.6.3\n\nGerrit version 3.2 is EOL\n\nChange-Id: I6e5b9539debb25ed697e1c3ed9c3e8b7969d40fc\n"
    },
    {
      "commit": "349b1582bf78f8e3d24ae0156aeff13c91908d33",
      "tree": "15f3e5eeabfffd39d4cdadc91c007ffb26247799",
      "parents": [
        "72c19b555ea485de614a89bfc1ee9fcd9e722163"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Dec 14 14:26:59 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Dec 14 15:08:52 2022 +0000"
      },
      "message": "Allow customising JGIT, GIT_HOME and GIT_GC_OPTION\n\nChange-Id: I81e9dbb7e5c69e0623249a754fd00eb12784cb7c\n"
    },
    {
      "commit": "72c19b555ea485de614a89bfc1ee9fcd9e722163",
      "tree": "91d9e39aad790115d911cf22b8ec20fd910d670f",
      "parents": [
        "23892417e9bc6372de4daf8e3d46d53a829dae02"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Dec 14 14:25:53 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Dec 14 15:04:39 2022 +0000"
      },
      "message": "Use ISO timestamp in Zulu time for logs\n\nChange-Id: I5f6c63333897edbd298558f5e8d9cba77768112d\n"
    },
    {
      "commit": "23892417e9bc6372de4daf8e3d46d53a829dae02",
      "tree": "7c462482df282b37ba60541fdce7918ac865f28a",
      "parents": [
        "43179f82c9170703cbc07702674b8a09312fa528"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Dec 14 14:23:53 2022 +0000"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Dec 14 14:23:53 2022 +0000"
      },
      "message": "Make the GC scripts executables\n\ngc.sh and utils.sh are shell scripts that should be\nexecutable in order to be used E2E.\n\nChange-Id: Ib1cc77a089ebff95726b20eb5311855a99fc7a09\n"
    },
    {
      "commit": "43179f82c9170703cbc07702674b8a09312fa528",
      "tree": "e6de4a084dc545eaf955f26f70b81cb4d97b1679",
      "parents": [
        "6f5baf2b24fd27dbc3f3da7afd08710019972c7d"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 18 14:27:04 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 25 16:57:41 2022 +0100"
      },
      "message": "Use --require-hashes for python requirements\n\nEnsure that dependencies that are loaded are matching expectations and\nhave not been forged.\n\nAffects:\n- gerrit docker image\n- git-ssh docker image\n\nBug: Issue 16444\nChange-Id: Iac0aa6db62c65a13225214461d11df517e958f1c\n"
    },
    {
      "commit": "6f5baf2b24fd27dbc3f3da7afd08710019972c7d",
      "tree": "a3a6a06f41f3569c67dba3dc4705108119eb1dcc",
      "parents": [
        "f7ef0e69c363177cf2d8624033a2e23b3b94e8d1"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Jul 29 09:06:30 2022 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Jul 29 09:08:48 2022 +0200"
      },
      "message": "Fix some markdown issues\n\n- typos\n- broken links\n\nChange-Id: I8aa11373b3568f297ad11817a5b6230945ff10cd\n"
    },
    {
      "commit": "f7ef0e69c363177cf2d8624033a2e23b3b94e8d1",
      "tree": "de1231423dabe32eff25b4e4a92b448b8ee21a96",
      "parents": [
        "85df98b734c1d144ac522136dac7330264a51cf4"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue May 10 17:21:55 2022 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue May 10 17:21:55 2022 +0100"
      },
      "message": "Build gerrit docker image from almalinux\n\nGerrit docker images are now based on almalinux rather than Centos.\n\nChange-Id: I1d44fe5e0d313f7672d26c253818b45cc65ec6b1\n"
    },
    {
      "commit": "85df98b734c1d144ac522136dac7330264a51cf4",
      "tree": "4e0a8971e95a09231a33e7a78918b7b86648ea83",
      "parents": [
        "d51d45df91fe2607f69e55fdedb6b5833221505c"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Nov 30 20:35:35 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Nov 30 19:50:33 2021 +0000"
      },
      "message": "Download aws-dynamodb-refdb when multi-site is enabled\n\nThe aws-dynamodb-refdb plugin is not only needed when running a\nsingle-site in HA but also when deploying a multi-site.\n\nFix bug introduced by I5012c15a, where zookeeper was not correctly\nreplaced by dynamodb when multi-site was enabled.\n\nBug: Issue 15347\nChange-Id: I80b42fe591fdf8fa4c145dc212c166d19d2bd520\n"
    },
    {
      "commit": "d51d45df91fe2607f69e55fdedb6b5833221505c",
      "tree": "7e0e6b23aef80503d08e47deb149bf2f7b6f81a1",
      "parents": [
        "4626c8224f6c41a91bc56301c1eefc1e7b5c5178"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Nov 30 20:23:29 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Nov 30 20:23:29 2021 +0100"
      },
      "message": "Rename kafka-events to events-kafka\n\nkafka-events plugin has evolved as events-kafka. Point to the correct\nartifact and adjust the configuration accordingly.\n\nBug: Issue 15346\nChange-Id: I453abc572273ac0c63874518f72201d9ccce81c9\n"
    },
    {
      "commit": "4626c8224f6c41a91bc56301c1eefc1e7b5c5178",
      "tree": "40cec4e30bd6cebc57b0ce5954704e6d5e369137",
      "parents": [
        "faaa8191a3d29841b23a9c9ce593b96a83286cdf"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Nov 30 15:59:22 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Nov 30 15:59:22 2021 +0100"
      },
      "message": "Fix HTTP hits dashboard graph\n\nBug: Issue 15342\nChange-Id: Ib6afb628b8b275245e7a1d31f9c56f0df4124c55\n"
    },
    {
      "commit": "faaa8191a3d29841b23a9c9ce593b96a83286cdf",
      "tree": "6ad3c4810bf2e7160cb8ccf6563e60cf9510d27b",
      "parents": [
        "a12ad515f8822d80e5a39ab634203efc1c629a21"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Nov 24 22:09:17 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Nov 30 10:52:15 2021 +0100"
      },
      "message": "Fix error when deleting stacks using capacityProvider\n\nDeleting stacks using ECS clusters having capacityProviders (i.e.\ndual-primary and primary-replica recipes), fails with:\n\n```\nThe Cluster cannot be deleted while Container Instances are active\nor draining.\n```\n\nThis is an issue that manifests itself as well via terraform [1] or CDK\n[2].\n\nExplicitly deleting the Autoscaling Groups _before_ the ECS cluster\ndeletion fixes the problem, since it ensures that no instances are\nactive or draining, as the error suggests.\n\nThis is safe to do, because prior to deleting the Autoscaling Groups,\nevery ECS service has already been destroyed, thus no instance is\nactually running.\n\n[1] https://github.com/hashicorp/terraform-provider-aws/issues/4852\n[2] https://github.com/aws/aws-cdk/issues/14732\nBug: Issue 14698\nChange-Id: I216307ef88bd7b7317706d2dc0a6a6e6fb367bd4\n\nChange-Id: I27ece0f6971b157a474d91d7f3d9243dcff596e6\n"
    },
    {
      "commit": "a12ad515f8822d80e5a39ab634203efc1c629a21",
      "tree": "4d95c9e000e6840c12d85a33e1a335dc5003d850",
      "parents": [
        "eee3a83d4bc12d2a909f81d1950b2259e7111a4f"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Nov 29 15:59:00 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Nov 29 15:59:00 2021 +0100"
      },
      "message": "Fix HTTP hits metrics in dashboard\n\nHTTP hits is emitted as _cumulative_ metrics by gerrit, so plotting the\nsum of it meaningless as it just generates a linearly increasing trend\nwithout actually showing how many HTTP hits are received.\n\nPlot instead the _rate_ of the HTTP hits.\n\nChange-Id: I92a701ff5ad7a63090bde96b1aa08501abb6d5c2\n"
    },
    {
      "commit": "eee3a83d4bc12d2a909f81d1950b2259e7111a4f",
      "tree": "2cf174609d08f4c6a2d3a5eda3eebb5cea1325b9",
      "parents": [
        "c7adb0a93bc33ce8d598210ef647685263b5d70d"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Nov 29 15:58:34 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Nov 29 15:58:34 2021 +0100"
      },
      "message": "Rename erroneous description to some cloudformation stack\n\nChange-Id: I7b470487a3b2248d79981b96301016ebf9974a38\n"
    },
    {
      "commit": "c7adb0a93bc33ce8d598210ef647685263b5d70d",
      "tree": "cfa9206a8686e8bd5ba06738fc97704a901833dc",
      "parents": [
        "71c0a44fb9d1524535a64ef74a4afaac28a998f3"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Nov 10 15:22:58 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Nov 10 14:26:14 2021 +0000"
      },
      "message": "Fix deployment error when XRay is not enabled\n\nDisabling X-Ray by setting XRAY_ENABLED\u003dfalse caused deployment errors\ndue to the fact that the optional x-ray container was not conditionally\nlinked in the task definition.\n\nOnly link the xray container when XRAY_ENABLED\u003dtrue and properly refer\nto the AWS::NoValue by its ref, so that the absence of xray container\ndo not cause an error.\n\nBug: Issue 15252\nChange-Id: I509403ccaaebcc72ca66a8f2a1261661328a2aee\n"
    },
    {
      "commit": "71c0a44fb9d1524535a64ef74a4afaac28a998f3",
      "tree": "514576b965231395d335457f81f0e3925bf32158",
      "parents": [
        "28d68e17dba9e9e34428beeb432d224137679a06",
        "fbbd59c5473a69969f9a088c11b37ebb4064b477"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Nov 09 15:56:42 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Nov 09 15:56:42 2021 +0000"
      },
      "message": "Merge changes Iea9568d5,I2aac415b,I47243bb7\n\n* changes:\n  Introduce X-Ray for primary-replica\n  Introduce X-Ray integration for dual-primary\n  Introduce X-Ray tracing for single-primary\n"
    },
    {
      "commit": "28d68e17dba9e9e34428beeb432d224137679a06",
      "tree": "c3ef47364ee70981409602b8a49809a11214a093",
      "parents": [
        "14a658f975a9c547e5064b8e9122e497c39a929b",
        "061bd795f94d239799c41acd91772b6a884f199d"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Nov 08 09:46:07 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 08 09:46:07 2021 +0000"
      },
      "message": "Merge \"Shorten resource names\""
    },
    {
      "commit": "fbbd59c5473a69969f9a088c11b37ebb4064b477",
      "tree": "325857a502b485aa3db228ccdf2a55dc9da283a9",
      "parents": [
        "623a89ed7d18e08461c01b91f054eae301c9edeb"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 20:17:52 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 20:45:09 2021 +0000"
      },
      "message": "Introduce X-Ray for primary-replica\n\nBug: Issue 14897\nChange-Id: Iea9568d57ee3831d1f6d2c2d7bc1c1350493fead\n"
    },
    {
      "commit": "623a89ed7d18e08461c01b91f054eae301c9edeb",
      "tree": "1384c1731442e70c0038be7985617620eec7dd61",
      "parents": [
        "b47de69612e3089ace6e4d4f62f2618092b340ea"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 20:14:10 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 20:44:20 2021 +0000"
      },
      "message": "Introduce X-Ray integration for dual-primary\n\nBug: Issue 14897\nChange-Id: I2aac415b0120ec6fcb37c1e6424be2c0bd95e8d1\n"
    },
    {
      "commit": "b47de69612e3089ace6e4d4f62f2618092b340ea",
      "tree": "cda66445a4e06da2c93bf318e922801a6a4ffdc8",
      "parents": [
        "061bd795f94d239799c41acd91772b6a884f199d"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Sep 21 19:11:52 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 21:44:03 2021 +0100"
      },
      "message": "Introduce X-Ray tracing for single-primary\n\nBug: Issue 14897\nChange-Id: I47243bb7ea2acb9b78c8a5920af95e9632272816\n"
    },
    {
      "commit": "14a658f975a9c547e5064b8e9122e497c39a929b",
      "tree": "1654c020e59f922f7f165c8d9c6b6ac181fa6e22",
      "parents": [
        "023b0f22dd1dd4c7f959d1c438cf3b67165135e0",
        "82bb48ec9909c77c40fe622f1e84eabaef6dab83"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 17:43:22 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 05 17:43:22 2021 +0000"
      },
      "message": "Merge changes Ie131d7c4,I705f37c8,I7b79c0df,I588b776f,I30b55c37, ...\n\n* changes:\n  dual-primary: separate HTTP from SSH traffic\n  Remove unused ReplicaServiceStackName parameter\n  Removed unused LOAD_BALANCER_STACK_NAME variable\n  primary-replica: separate HTTP from SSH traffic\n  Single-primary: separate HTTP from SSH traffic\n  Do not use static naming for TargetGroup and LoadBalancers\n"
    },
    {
      "commit": "061bd795f94d239799c41acd91772b6a884f199d",
      "tree": "db515f55761d145d2bc3d7b2eb28b7fd1eee3b45",
      "parents": [
        "82bb48ec9909c77c40fe622f1e84eabaef6dab83"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Thu Nov 04 15:41:17 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 18:02:15 2021 +0100"
      },
      "message": "Shorten resource names\n\nNaming resources helps to quickly identify them via aws-cli and via the\nAWS console UI, so that their intent is clear.\n\nHowever AWS requires that resource names be no longer than 32\ncharacters.\n\nGiven the current naming, it is quite easy to reach that threshold\nsince the name concatenates the stack name and a significantly long\nstring name.\n\nFor example, with the current naming convention, for a stack named\nsimply \u0027production\u0027, the name of the capacity provider name would\nend up being:\n\nproduction-replica-CapacityProvider\n\nThe above is already 37 characters long and thus it would violate the 32\ncharacters constraint.\n\nMitigate this issue by:\n- Removing obvious suffixes: i.e. capacity providers names do not need\n  \u0027CapcityProvider\u0027 suffix, since they can already be found under the\n  \u0027CapacityProvider\u0027 section.\n\n- Sacrifice a bit of clarity by using the following convention:\n * R - Replica\n * P - Primary\n * H - HTTP protocol\n * S - SSH protocol\n * G - GIT protocol\n\nBug: Issue 15235\nChange-Id: I7496450e9f03050a79b1395d7d475aea1a5bc710\n"
    },
    {
      "commit": "82bb48ec9909c77c40fe622f1e84eabaef6dab83",
      "tree": "cb01b7d349e29a2a774eb629f2854245dc007c39",
      "parents": [
        "d38216b239ad65c58d351bf853052f379265f150"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Nov 03 22:50:50 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 16:47:40 2021 +0000"
      },
      "message": "dual-primary: separate HTTP from SSH traffic\n\nUsing a Network Load Balancer forces all the traffic to be handled at\nthe transport level (Level 4). Whilst this is fine for SSH traffic, it\nis not ideal for HTTP traffic, which should be handled at application\nlevel (Level 7).\n\nSplit HTTP and SSH traffic and handle HTTP traffic via an Application\nLoad Balancer.\n\nThis unlocks many benefits, among which:\n- Advanced routing: based on path, host, headers, request method,\n  source IP, etc\n- Application-based sticky sessions\n- Seamless integration with X-Ray\n- Detailed access logs\n\nBug: Issue 15087\nChange-Id: Ie131d7c4a091c3af9b87e349fae89ce27881c32a\n"
    },
    {
      "commit": "d38216b239ad65c58d351bf853052f379265f150",
      "tree": "d4188daf7bcb42d7bde5c735f3d4ad2324540d9b",
      "parents": [
        "2e9949d19ab2596fa376e86bed47f4153e8999b0"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Nov 03 20:24:18 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 16:47:28 2021 +0000"
      },
      "message": "Remove unused ReplicaServiceStackName parameter\n\nChange-Id: I705f37c87519d1efc846e8e1b9bf35ac7f0e9c28\n"
    },
    {
      "commit": "2e9949d19ab2596fa376e86bed47f4153e8999b0",
      "tree": "fc7cb01f94cd94ec5b214d1ffc2b87dafbf835e4",
      "parents": [
        "dcaa1e718f001d624c098d6d67de814af4ace2e3"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Nov 03 20:21:38 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 16:47:22 2021 +0000"
      },
      "message": "Removed unused LOAD_BALANCER_STACK_NAME variable\n\nChange-Id: I7b79c0df68f87ebcf9dd7effa5608cbe3b310c75\n"
    },
    {
      "commit": "dcaa1e718f001d624c098d6d67de814af4ace2e3",
      "tree": "6b93afaf6e1966740745bb41725c5843f7126df1",
      "parents": [
        "acf23044c56b6eb3398f94c0dc04bffc5f63fe4e"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Nov 03 19:57:34 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 16:47:09 2021 +0000"
      },
      "message": "primary-replica: separate HTTP from SSH traffic\n\nUsing a Network Load Balancer forces all the traffic to be handled at\nthe transport level (Level 4). Whilst this is fine for SSH traffic, it\nis not ideal for HTTP traffic, which should be handled at application\nlevel (Level 7).\n\nSplit HTTP and SSH traffic and handle HTTP traffic via an Application\nLoad Balancer.\n\nThis unlocks many benefits, among which:\n- Advanced routing: based on path, host, headers, request method,\n  source IP, etc\n- Application-based sticky sessions\n- Seamless integration with X-Ray\n- Detailed access logs\n\nBug: Issue 15087\nChange-Id: I588b776f08583b46c7325432bbb39a3457c4ca39\n"
    },
    {
      "commit": "acf23044c56b6eb3398f94c0dc04bffc5f63fe4e",
      "tree": "ba9b14350f6b133807b3a38950588694fa89e8fa",
      "parents": [
        "41271816b81fd7af6f1820097a743dec1ab16cc9"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Nov 01 15:11:02 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 16:46:23 2021 +0000"
      },
      "message": "Single-primary: separate HTTP from SSH traffic\n\nUsing a Network Load Balancer forces all the traffic to be handled at\nthe transport level (Level 4). Whilst this is fine for SSH traffic, it\nis not ideal for HTTP traffic, which should be handled at application\nlevel (Level 7).\n\nSplit HTTP and SSH traffic and handle HTTP traffic via an Application\nLoad Balancer.\n\nThis unlocks many benefits, among which:\n- Advanced routing: based on path, host, headers, request method,\n  source IP, etc\n- Application-based sticky sessions\n- Seamless integration with X-Ray\n- Detailed access logs\n\nSeparating HTTP and SSH traffic requires to make two endpoints\navailable at DNS level, respectively:\n\n- \u003cHttpSubDomain\u003e.\u003cHostedZoneName\u003e:443\n- \u003cSshSubDomain\u003e.\u003cHostedZoneName\u003e:29418\n\nBug: Issue 15087\nChange-Id: I30b55c3718d2b52d1651a8e541411dc29946cc40\n"
    },
    {
      "commit": "41271816b81fd7af6f1820097a743dec1ab16cc9",
      "tree": "400e6169a7d7b87f75c3e7ff56a028654907553d",
      "parents": [
        "6c7ade8db2cc0fd2587108590ebaabbc95e7b8fe"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Nov 01 09:47:03 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Nov 05 16:44:26 2021 +0000"
      },
      "message": "Do not use static naming for TargetGroup and LoadBalancers\n\nUsing static names for TargetGroup and LoadBalancers would cause\ncollision when trying to provision the same recipe multiple times with\ndifferent stack names.\n\nPrefix target groups and load balancer with the name of the stack so\nthat multiple stack of the same type can coexist.\n\nBug: Issue 15234\nChange-Id: I0cc6cb237d93b4484f7a837e23682fb29e48b544\n"
    },
    {
      "commit": "023b0f22dd1dd4c7f959d1c438cf3b67165135e0",
      "tree": "b93e5ae3758ba5f0eb24b2a2356fb4d04845fcde",
      "parents": [
        "6c7ade8db2cc0fd2587108590ebaabbc95e7b8fe"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Thu Nov 04 23:14:25 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Thu Nov 04 23:14:58 2021 +0100"
      },
      "message": "Add ec2:CreateTags to single-primary permission policy\n\nThe ability to create tags is required when spinning up a single-primary\nstack.\n\nChange-Id: Ie435bae31645e3d3c222c6ac475f74c7620ca342\n"
    },
    {
      "commit": "6c7ade8db2cc0fd2587108590ebaabbc95e7b8fe",
      "tree": "d91db8042348d39a13ccbf4f3ef595a8582db500",
      "parents": [
        "675c355d839046e67940bb3625fe870aa145d9cc",
        "40f785b54de231ff0357ca06d606e8094bfe91aa"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Oct 13 09:53:21 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 13 09:53:21 2021 +0000"
      },
      "message": "Merge changes I88ecbd32,I5012c15a\n\n* changes:\n  Remove haproxy and syslog-sidecar\n  Enable dynamodb global-refdb\n"
    },
    {
      "commit": "40f785b54de231ff0357ca06d606e8094bfe91aa",
      "tree": "2a03f46e78ed4dd19c688a34e9b0568d3745b197",
      "parents": [
        "1b75622f1997fe56450c3b4b7cd46d53b4299747"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Oct 11 16:10:35 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Oct 12 10:55:46 2021 +0200"
      },
      "message": "Remove haproxy and syslog-sidecar\n\nWith the introduction of a refdb and the possibility to do HTTP\nhealthchecks for targets behind a NLB, haproxy is no longer\nrequired.\n\nRemove haproxy and, alongside it, the syslog-sidecar components.\n\nRely solely on AWS resources to do load balancing,\nremoving unneeded moving parts and offloading maintenance of\nresources to AWS themselves.\n\nBug: Issue 15158\nChange-Id: I88ecbd322b5016e1434a9f1488a2fa55fba40b91\n"
    },
    {
      "commit": "675c355d839046e67940bb3625fe870aa145d9cc",
      "tree": "a7e2df84c917ee1a7bbfff63f7bc0716a33d04f4",
      "parents": [
        "0eb3c075685ce822f7ff441b5c881660f8c44259"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Oct 11 15:54:23 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Oct 12 08:53:57 2021 +0000"
      },
      "message": "Fix wrong constraint description for `PrimaryMaxCount` parameter\n\nChange-Id: I82628999f80272d6f8729cc9f87cdd994d52b060\n"
    },
    {
      "commit": "1b75622f1997fe56450c3b4b7cd46d53b4299747",
      "tree": "65efea5f1b54a7f14db03569a95ca118f59eb157",
      "parents": [
        "0eb3c075685ce822f7ff441b5c881660f8c44259"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Oct 06 18:55:23 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Thu Oct 07 15:31:15 2021 +0200"
      },
      "message": "Enable dynamodb global-refdb\n\nRemove zookeeper refdb and replace it with dynamodb also taking care of\ncreating the relevant DynamoDB tables on request.\n\nThe DynamoDB refdb is now used for both multi-site and high-availability\nplugin.\n\nBug: Issue 15127\nChange-Id: I5012c15ae2c06ecc55cc2693fc516ce34842a58e\n"
    },
    {
      "commit": "0eb3c075685ce822f7ff441b5c881660f8c44259",
      "tree": "262f3aa12354c9e3f2d592dd18ed5408e2727a6a",
      "parents": [
        "fab72542afd4b12d76d77cc4a873e152bbd523cd"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Oct 05 16:22:35 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Oct 06 12:26:36 2021 +0200"
      },
      "message": "Enable sticky sessions for HTTP targets\n\nNetwork load balancers that forward to target groups registering more\nthan one target need to have sticky session enabled.\n\nThis ensures that all requests from the user during the session are sent\nto the same target.\n\nCurrently network load balancers are used across the board, so the only\navailable stickiness type is based on client IP address. This can be\nchanged for HTTP requests when the load balancers are updated to be\nApplication Load Balancers.\n\nThere are only two target groups that register multiple targets, the\nreplica and the primaries gerrit target groups, so stickiness has\nbeen enabled for those only.\n\nBug: Issue 15126\nChange-Id: Ie735ab22749e145dab6b25a5e0da37b49e3772ff\n"
    },
    {
      "commit": "fab72542afd4b12d76d77cc4a873e152bbd523cd",
      "tree": "d570e62a0ff3d6cc6ec51bc92da18ad422e511dd",
      "parents": [
        "c9ff592a14d2b99a4dcb93a4be1ea66858072618"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Oct 04 18:09:56 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Oct 06 11:50:42 2021 +0200"
      },
      "message": "Add active-active network load balancer\n\nRegister both gerrit-1 and gerrit-2 behind the same network load\nbalancer to allow serving traffic in an active-active architecture.\n\nTo allow so, both gerrit-1 and gerrit-2 needs to expose the same host\nports in order to allow traffic forwarding from the same SSH and HTTP\nlisteners.\n\nFor this reason the HTTP_HOST_PORT_PRIMARY and SSH_HOST_PORT_PRIMARY\nvariables have been removed, as effectively redundant.\n\nA new PRIMARIES_GERRIT_SUBDOMAIN variable has been introduced so that\nthe active-active subdomain can be configured.\n\nNote that whilst the haproxy is still installed and available, the\nultimate goal is to remove it and to allow _only_ active/active traffic\nto go through the newly introduced load balancer.\n\nBefore doing that however a global-refdb needs to be introduced and\ntarget groups need to be configured to maintain sticky sessions.\n\nBug: Issue 15128\nChange-Id: I0ba035d4570ca77b1193c46bb612b2c6ea28d0fb\n"
    },
    {
      "commit": "c9ff592a14d2b99a4dcb93a4be1ea66858072618",
      "tree": "94427b707fef567c73c1fef804b630835ab5a91f",
      "parents": [
        "8cca7ac95b6fa4292ea293e44bf2a04b17d7c12f"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Oct 01 19:01:32 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Oct 01 19:01:32 2021 +0200"
      },
      "message": "Name anonymous target groups\n\nName target groups that have no names in order to make it easier to\nunderstand their role when looking at the AWS UI or at the AWS cli\noutput.\n\nChange-Id: I45a96998e730ca90deebd4e69127b751f678d2ac\n"
    },
    {
      "commit": "8cca7ac95b6fa4292ea293e44bf2a04b17d7c12f",
      "tree": "839e98a93ac98096ee8008963aab46255b5f9515",
      "parents": [
        "6fe4f387027e4c5255ce8d68a5b2cd973347d195"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Oct 01 17:54:12 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Oct 01 18:33:04 2021 +0200"
      },
      "message": "Use healthcheck plugin endpoint in target groups\n\nCurrently the healthcheck of primary and replica instances of gerrit\nuses simple TCP or HTTP healthcheck protocol types, which cannot really\nshow whether gerrit is healthy.\n\nThe only way to really understand about gerrit healthiness is to ask the\nhealthcheck endpoint, which has insights on application level\ninformation such as jgit, auth, changes etc.\n\nEnhance primary and replica healthchecks to always assess target group\nhealth by polling the healthcheck endpoint.\n\nBug: Issue 15119\nChange-Id: I853a3a9e5497c9d24079286c2b2a2ab26e7e29e7\n"
    },
    {
      "commit": "6fe4f387027e4c5255ce8d68a5b2cd973347d195",
      "tree": "c8583a338c1bb037a88ff998fb6af18b855eccfd",
      "parents": [
        "aca8760a06e12fe1ab73efadac39da520f3cce3e"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Sep 27 21:32:12 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Thu Sep 30 13:24:50 2021 +0200"
      },
      "message": "Deploy across multiple AZs\n\nIncrease availability of all recipes by deploying across two AZs.\n\nBug: Issue 14898\nChange-Id: I4d3eda0b8090aa421397a1b9b7de50c4b6ec8b1f\n"
    },
    {
      "commit": "aca8760a06e12fe1ab73efadac39da520f3cce3e",
      "tree": "9be0ef18ce419c7ce22ab09fc21f62132d592d55",
      "parents": [
        "589eff055b03d25720bbb2e3d777baed68cb9f60"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Jun 04 12:52:48 2021 +0300"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Jun 04 12:52:48 2021 +0300"
      },
      "message": "Include export-logs MakeFile with absolute path\n\nFix\n\nmake[1]: *** No rule to make target `../operations/export-logs/Makefile\u0027.\n\nWhich would arise when deploying recipes that have nested Makefiles that\nalso depend on MakeFile.common\n\nChange-Id: I4f5032b9a024e8060051ee3cc9b0616f29c48352\n"
    },
    {
      "commit": "589eff055b03d25720bbb2e3d777baed68cb9f60",
      "tree": "2e6222ca4919df05f5e993cb26a6248e6a495db3",
      "parents": [
        "7d38e671a2b41d1bc7893f8e27777bbad561459d"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Apr 27 21:41:15 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Apr 27 21:54:44 2021 +0200"
      },
      "message": "Express export logs range in milliseconds\n\nThe export-logs task expects the time range in milliseconds rather than\nseconds.\n\nChange-Id: Id26ffc41b3e35ad41ffe094cb412378d152d2e97\n"
    },
    {
      "commit": "7d38e671a2b41d1bc7893f8e27777bbad561459d",
      "tree": "b11193f572a6df198d0e2a52c606e1703e4ff6d7",
      "parents": [
        "c3571a84c00da4603eec67146a71b53ebb7f5f88"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Thu Apr 22 20:36:29 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Apr 23 16:31:26 2021 +0200"
      },
      "message": "Add export-logs operation for all recipes\n\nAllow to export logs to S3 by issuing the command:\n\n```\nmake eport-logs\n```\n\nBug: Issue 14412\nChange-Id: I1574c6969bdef307aae3c88d1cc32063f2fbff84\n"
    },
    {
      "commit": "c3571a84c00da4603eec67146a71b53ebb7f5f88",
      "tree": "3d467fd4aec0b9a81b4b1e43d2281a2f341b2753",
      "parents": [
        "b6f6350d2f5ae9674292de702abffd4e06032b1a"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Apr 23 12:01:14 2021 +0200"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Apr 23 13:43:01 2021 +0200"
      },
      "message": "Stream error_log to cloudwatch\n\nWhen running with the `--console-log` flag, the gerrit daemon used to\nsend the logs only to stderr, ignoring the \u0027log.textLogging\u0027\nconfiguration, which instructs gerrit to log on the error_log file.\n\nSince stable-3.0, this has been fixed[1].\n\nThis means that, for some gerrit versions, the error_log is also\navailable to be streamed to cloudwatch logs.\n\nAdd error_log to the list of files streamed to cloudwatch, so that (when\navailable) it can be easily identified by name and its content easily\ndistinguished from all other outputs sent to stderr.\n\nFrom gerrit 3.3 this feature is widely available, however it is only\navailable from some minor versions prior to that. Spefically:\n\n* from 3.0.13\n* from 3.1.10\n* from 3.2.5\n\n[1]https://gerrit-review.googlesource.com/c/gerrit/+/276819\nbeen\nerror logs to stderr\n\nBug: Issue 14439\nChange-Id: I9367ec39c9cd14e6aa6233148f2345b450393ae1\n"
    },
    {
      "commit": "b6f6350d2f5ae9674292de702abffd4e06032b1a",
      "tree": "63b2624e7c9ed7521ee54bf760e2b15f15d02081",
      "parents": [
        "26632482465a7ca7a3aeef42d153b35bedec6884"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Sat Apr 10 20:04:49 2021 +0100"
      },
      "committer": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Wed Apr 14 01:43:16 2021 +0000"
      },
      "message": "Allow overriding gerrit.war when build the image\n\nIntroduce a GERRIT_WAR_URL variable for overriding\nthe gerrit.war inside the Docker container.\n\nThis is particularly useful for nightly builds on\nfor testing the latest artifact built on the Gerrit-CI.\n\nAlso checks the compatibility of GERRIT_VERSION with\nthe gerrit.war pointed by GERRIT_WAR_URL.\n\nChange-Id: Ibe5e780a98a7747a3201d7d2809ecb66f87e08b8\n"
    },
    {
      "commit": "26632482465a7ca7a3aeef42d153b35bedec6884",
      "tree": "798c9a0f142f7f0675113d7aed5b2e65fc327371",
      "parents": [
        "d8366c98e0f875389aaf9a848164c31ce95f83bc"
      ],
      "author": {
        "name": "Fabio Ponciroli",
        "email": "ponch78@gmail.com",
        "time": "Fri Apr 09 21:05:16 2021 +0200"
      },
      "committer": {
        "name": "Fabio Ponciroli",
        "email": "ponch78@gmail.com",
        "time": "Fri Apr 09 19:11:37 2021 +0000"
      },
      "message": "Pinpoint HAProxy version to a minor release\n\nLeaving the HAProxy free to change might cause unexpected\nconflicts between the base Dockerfile and the local one.\n\nThis issue is an example of it, where:\n* the haproxy user is now added in the base Dockerfile\n* the enrypoint file location has changed\n\nBug: Issue 14363\nChange-Id: Icd0df13426a459f3dd14846a74252da4e6bc7c68\n"
    },
    {
      "commit": "d8366c98e0f875389aaf9a848164c31ce95f83bc",
      "tree": "1f9184b946ba0b39d8e1dacdfeb19ba5a4b5e87b",
      "parents": [
        "a304efe7430f7584e8a2f6f8447b1676be4916a7"
      ],
      "author": {
        "name": "Fabio Ponciroli",
        "email": "ponch78@gmail.com",
        "time": "Fri Apr 09 21:01:38 2021 +0200"
      },
      "committer": {
        "name": "Fabio Ponciroli",
        "email": "ponch78@gmail.com",
        "time": "Fri Apr 09 21:01:38 2021 +0200"
      },
      "message": "Add Grace period to HAProxy at startup\n\n\u0027HealthCheckGracePeriodSeconds\u0027 defaults to 0, meaning\nthe task might get killed several time just because the container takes\nsome seconds to start. This uselessly delays the stack creation.\n\nChange-Id: I33808b23fbaf6ff606fba90649f1f055857efd2b\n"
    },
    {
      "commit": "a304efe7430f7584e8a2f6f8447b1676be4916a7",
      "tree": "678557c1f29fa40f98ea4d8873308ad964465deb",
      "parents": [
        "9311a0531448cec3f2cd00adcbc76c6c9223ff86",
        "a43152a9d4d4306d56a2c82334afbc022ab8fd8d"
      ],
      "author": {
        "name": "Luca Milanesio",
        "email": "luca.milanesio@gmail.com",
        "time": "Mon Mar 15 21:27:51 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 15 21:27:51 2021 +0000"
      },
      "message": "Merge \"Remove unneeded first time redirect\""
    },
    {
      "commit": "9311a0531448cec3f2cd00adcbc76c6c9223ff86",
      "tree": "e642b2148fa14dba74925d65fff88cff208878bb",
      "parents": [
        "eac63c2c3dbb665380dfece9214208b0811e4099"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Mar 10 20:34:18 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Mar 15 16:18:00 2021 +0100"
      },
      "message": "Elastically scale replicas ASG based on ECS task requirements\n\ndual-primary and primary-replica recipes:\nUse capacity provider strategy to scale replicas ASG based on ECS tasks\ndemand.\n\nBug: Issue 14196\nChange-Id: I947f4d4912955e5b2ff9264e5296c28e07b0f70e\n"
    },
    {
      "commit": "eac63c2c3dbb665380dfece9214208b0811e4099",
      "tree": "b96ae71f75650f0b12ae9b1ca2ec1c113ce8deac",
      "parents": [
        "989e6d9e0723f8cfc13f7059b0d30fe104bf24d4"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Mar 10 20:27:23 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Mar 12 15:25:26 2021 +0100"
      },
      "message": "dual-primary: auto-scaling policy for replicas\n\nAllow replicas to scale in and out based on average CPU value.\n\nBug: Issue 14211\nChange-Id: I3a5cc90139cd0f9ecbdea6786bfdb65491e92c8f\n"
    },
    {
      "commit": "989e6d9e0723f8cfc13f7059b0d30fe104bf24d4",
      "tree": "93b698e33af1a561bcd3984daea24745ee62e86c",
      "parents": [
        "9026ea660f1a4b4649b7c5b8bea9150b810b0df2"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Mar 10 18:11:05 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Fri Mar 12 15:24:18 2021 +0100"
      },
      "message": "primary-replica: auto-scaling policy for replicas\n\nAllow replicas to scale in and out based on average CPU value.\n\nNote that this does not automatically scale the underlying autoscaling\ngroup, which would require the usage of capacity provider and it will be\naddressed separately.\n\nBug: Issue 14211\nChange-Id: I7adb8c5e3b6a97ec5019e7f5efdc25faa21ce833\n"
    },
    {
      "commit": "a43152a9d4d4306d56a2c82334afbc022ab8fd8d",
      "tree": "4c29787a8385c1c18ca6a4f47983287a6f8c42c1",
      "parents": [
        "9026ea660f1a4b4649b7c5b8bea9150b810b0df2"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Thu Mar 11 14:38:24 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Thu Mar 11 14:38:24 2021 +0100"
      },
      "message": "Remove unneeded first time redirect\n\nUsing the out-of-the-box first time redirect plugin causes the\nhealthcheck plugin to respond with a 302 Redirect, when deploying a new\ngerrit instance.\n\nThis, in turn, might cause the gerrit instance to be considered\nunhealthy since typically 302 is not considered a successful code.\n\nRemove unnecessary first time redirect plugin so that Gerrit stops\nresponding 302 to the first healthcheck attempts.\n\nChange-Id: I1118e0bd0abe70ae8d698b79a2ab2169be357985\n"
    },
    {
      "commit": "9026ea660f1a4b4649b7c5b8bea9150b810b0df2",
      "tree": "f23504c4fbf59552be096715d7925fe7ba0370e5",
      "parents": [
        "aab2c845a940d74fac4140eb36075dd81f957eb0"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Mar 10 17:01:29 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Mar 10 17:01:29 2021 +0100"
      },
      "message": "Mention Replica FileSystem parameters in env template file\n\nChange-Id: I8e56e3b174b9ecafbf86e4fceeb0b90672c6e6cb\n"
    },
    {
      "commit": "aab2c845a940d74fac4140eb36075dd81f957eb0",
      "tree": "8f20fc8b57a6d473448320464f1d9fbfc4427fa1",
      "parents": [
        "595f36b6c159d0873c197e059717736426cf8c5b"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Sat Mar 06 15:02:55 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Mar 10 08:22:09 2021 +0000"
      },
      "message": "primary-replica: share git data on replicas over EFS\n\nStore git data for replicas over EFS so that it can persist beyond the\nlifespan of a single instance.\n\nThis is the first step in the direction of allowing replicas to scale.\n\nSimilarly to the dual-primary stack, the replica EFS stack, when created\nas part of the cluster stack, will be retained by default, in order\nto allow blue/green deployments.\n\nFeature: Issue 13619\nChange-Id: I3a0c6110f87686186534c72c2920387581059d97\n"
    },
    {
      "commit": "595f36b6c159d0873c197e059717736426cf8c5b",
      "tree": "3bdc86ee25c60fe709ef053f6b3ed72334ed4d1f",
      "parents": [
        "bb8e4a904807063da2c662c8a09a6d5f853ff60a"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Mar 08 16:38:47 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Wed Mar 10 08:21:28 2021 +0000"
      },
      "message": "Retain Network stack in primary-replica\n\nBlue/green deployment of the primary-replica recipe requires that the\nblue and the green stacks are deployed within the same VPC.\n\nIn order to preserve the VPC, the IGW and the subnet upon deletion of\nthe blue stack, the nested network cloudformation template needs to be\nprotected from deletion.\n\nChange-Id: Icad6d6af4b753f23a7febe4d266d45d611bc4fae\n"
    },
    {
      "commit": "bb8e4a904807063da2c662c8a09a6d5f853ff60a",
      "tree": "eb01b593ce258485521660ee773b12821eeaf8a3",
      "parents": [
        "510bd94565e494291fc239354454af02796b7a5d"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Mon Mar 08 16:35:09 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Mar 09 10:39:11 2021 +0000"
      },
      "message": "Stop creating useless network stacks for primary-replica\n\nWhen network resources are NOT provided via the setup.env file then a\nnew VPC is created with its related components, such as subnets and IGW.\n\nHowever, when network resources ARE provided externally via the\nsetup.env file, then the network stack doesn\u0027t do much except returning\nthe provided input values as output, for other stacks to consume.\n\nThis causes the creation of an empty stack, with no resources created,\nbut just outputs.\n\nPrevent the creation of empty network stacks by checking the existence\nof VPC related input parameters and skip the creation of the stack, when\nthey are defined.\n\nChange-Id: I7e360875036b46bce3816ddefa658466669f5fc0\n"
    },
    {
      "commit": "510bd94565e494291fc239354454af02796b7a5d",
      "tree": "7928f143bc2c12edaed6202760a0608924b34ad2",
      "parents": [
        "0fb2af2b86ffc193f88e0e13416abf391d7950bd"
      ],
      "author": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Mar 09 11:30:06 2021 +0100"
      },
      "committer": {
        "name": "Antonio Barone",
        "email": "syntonyze@gmail.com",
        "time": "Tue Mar 09 11:30:06 2021 +0100"
      },
      "message": "dual-primary: Rename EFS resources for primary stack\n\nBefore the introduction of the EFS stack for replicas, there was no\nreason to further specify resources related to EFS, since primary gerrit\ninstances were the only ones leveraging them.\n\nWith the introduction of EFS for replicas, the existing naming of\nresources related to the primary stack becomes ambiguous.\nIt is not clear what a \"FileSystemId\" might refer to, for example,\nwhether it is supposed to be mounted by primary or replica instances.\n\nExplicitly prefix EFS resources used by primary instances with the\n\u0027Primary\u0027 prefix, to make their intent explicit.\n\nChange-Id: I1095587cdfa2ea22447e2d277c7172d806744d13\n"
    }
  ],
  "next": "0fb2af2b86ffc193f88e0e13416abf391d7950bd"
}
