From 53baa5158e187520bbc8bee7e2f14c20b85654a8 Mon Sep 17 00:00:00 2001 From: Tom Hall Date: Tue, 6 Sep 2022 18:26:49 +0200 Subject: [PATCH 1/7] from-kubo-image take full repo name ie dont presume its ipfs/something --- docker/from-kubo-image-tag/Dockerfile | 2 +- docker/from-kubo-image-tag/build.sh | 5 +++-- docker/from-kubo-image-tag/build_all.sh | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/docker/from-kubo-image-tag/Dockerfile b/docker/from-kubo-image-tag/Dockerfile index 2bc2b9f..58b01b7 100644 --- a/docker/from-kubo-image-tag/Dockerfile +++ b/docker/from-kubo-image-tag/Dockerfile @@ -1,6 +1,6 @@ ARG TAG ARG REPO_NAME -FROM ipfs/$REPO_NAME:$TAG +FROM $REPO_NAME:$TAG # Create the init scripts directory (needed for pre 0.13 releases) RUN mkdir -p /container-init.d \ diff --git a/docker/from-kubo-image-tag/build.sh b/docker/from-kubo-image-tag/build.sh index 4c6f9e0..d458fdf 100755 --- a/docker/from-kubo-image-tag/build.sh +++ b/docker/from-kubo-image-tag/build.sh @@ -3,17 +3,18 @@ if [ -z "$1" ]; then echo "Need to pass TAG, eg" echo "./build.sh v0.15.0" + echo "You can also set REPO_NAME to override that, ipfs/kubo is the default" exit fi if [ -z "$REPO_NAME" ]; then - REPO_NAME=kubo + REPO_NAME=ipfs/kubo fi set -euo pipefail TAG=$1 IMAGE_NAME=thunderdome:kubo-$TAG ECR_REPO=147263665150.dkr.ecr.eu-west-1.amazonaws.com docker build -t "$IMAGE_NAME" --build-arg TAG="$TAG" --build-arg REPO_NAME="$REPO_NAME" . -aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin "$ECR_REPO" +docker login -u AWS -p $(aws ecr get-login-password --region eu-west-1) "$ECR_REPO" docker tag "$IMAGE_NAME" "$ECR_REPO"/"$IMAGE_NAME" docker push "$ECR_REPO"/"$IMAGE_NAME" echo "$ECR_REPO"/"$IMAGE_NAME" diff --git a/docker/from-kubo-image-tag/build_all.sh b/docker/from-kubo-image-tag/build_all.sh index 810d547..ad425a8 100755 --- a/docker/from-kubo-image-tag/build_all.sh +++ b/docker/from-kubo-image-tag/build_all.sh @@ -24,7 +24,7 @@ go_ipfs_releases=( ) -export REPO_NAME=go-ipfs +export REPO_NAME=ipfs/go-ipfs for release in "${go_ipfs_releases[@]}"; do ./build.sh "$release" done From e985007834ecd3b522cf8b7d16f902ea22dfa78d Mon Sep 17 00:00:00 2001 From: Tom Hall Date: Tue, 6 Sep 2022 18:27:09 +0200 Subject: [PATCH 2/7] from-kubo-image: enable GC by default --- docker/from-kubo-image-tag/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docker/from-kubo-image-tag/Dockerfile b/docker/from-kubo-image-tag/Dockerfile index 58b01b7..2cc920e 100644 --- a/docker/from-kubo-image-tag/Dockerfile +++ b/docker/from-kubo-image-tag/Dockerfile @@ -16,4 +16,5 @@ RUN chmod 0555 /usr/local/bin/container_init_run ADD /container-init.d/* /container-init.d/ RUN chmod a+x /container-init.d/* -EXPOSE 8080 \ No newline at end of file +EXPOSE 8080 +CMD ["daemon", "--enable-gc", "--migrate=true", "--agent-version-suffix=docker"] \ No newline at end of file From 399fa7bef8bbfaf5b3e2d5cd10a278936ec54e91 Mon Sep 17 00:00:00 2001 From: Tom Hall Date: Tue, 6 Sep 2022 18:28:32 +0200 Subject: [PATCH 3/7] from-kubo-image-tag: rename default scripts so they run first --- .../from-kubo-image-tag/container-init.d/{base.sh => 00-base.sh} | 0 .../container-init.d/{gw-config.sh => 01-gw-config.sh} | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename docker/from-kubo-image-tag/container-init.d/{base.sh => 00-base.sh} (100%) rename docker/from-kubo-image-tag/container-init.d/{gw-config.sh => 01-gw-config.sh} (100%) diff --git a/docker/from-kubo-image-tag/container-init.d/base.sh b/docker/from-kubo-image-tag/container-init.d/00-base.sh similarity index 100% rename from docker/from-kubo-image-tag/container-init.d/base.sh rename to docker/from-kubo-image-tag/container-init.d/00-base.sh diff --git a/docker/from-kubo-image-tag/container-init.d/gw-config.sh b/docker/from-kubo-image-tag/container-init.d/01-gw-config.sh similarity index 100% rename from docker/from-kubo-image-tag/container-init.d/gw-config.sh rename to docker/from-kubo-image-tag/container-init.d/01-gw-config.sh From b4fb8978d42c6f97baac685c813954a4da89614f Mon Sep 17 00:00:00 2001 From: Tom Hall Date: Tue, 6 Sep 2022 18:30:36 +0200 Subject: [PATCH 4/7] add from-git-repo --- docker/from-git-repo/build.sh | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 docker/from-git-repo/build.sh diff --git a/docker/from-git-repo/build.sh b/docker/from-git-repo/build.sh new file mode 100755 index 0000000..a5db785 --- /dev/null +++ b/docker/from-git-repo/build.sh @@ -0,0 +1,37 @@ +#!/bin/bash +if [ $# -ne 3 ]; then + echo "Expecting 3 args" + echo "./build.sh " + exit 1 +fi + +set -euo pipefail +# set -x + +DOCKER_REPO=147263665150.dkr.ecr.eu-west-1.amazonaws.com +GIT_REPO=$1 +BRANCH_NAME=$2 +KUBO_IMAGE_TAG=$3 +KUBO_IMAGE_NAME=thunderdome:"$KUBO_IMAGE_TAG" +KUBO_IMAGE=$DOCKER_REPO/$KUBO_IMAGE_NAME + +WORKDIR=$(mktemp -d) +if [ ! -e "$WORKDIR" ]; then + echo >&2 "Failed to create temp directory" + exit 1 +fi + +trap 'rm -rf "$WORKDIR"' EXIT + +echo "Using work directory $WORKDIR" +cd "$WORKDIR" +git clone "$GIT_REPO" kubo + +cd kubo +git switch "$BRANCH_NAME" +docker build -t "$KUBO_IMAGE_NAME" . + +aws ecr get-login-password --region eu-west-1 | docker login --username AWS --password-stdin $DOCKER_REPO + +docker tag "$KUBO_IMAGE_NAME" "$KUBO_IMAGE" +docker push "$KUBO_IMAGE" From f07e98c6edc266d36d182b167ab73049d1230b17 Mon Sep 17 00:00:00 2001 From: Tom Hall Date: Tue, 6 Sep 2022 18:31:42 +0200 Subject: [PATCH 5/7] add providerdelay build script --- docker/providerdelay/Dockerfile | 4 ++++ docker/providerdelay/build.sh | 21 +++++++++++++++++++ .../container-init.d/set-providerdelay.sh | 6 ++++++ 3 files changed, 31 insertions(+) create mode 100644 docker/providerdelay/Dockerfile create mode 100755 docker/providerdelay/build.sh create mode 100644 docker/providerdelay/container-init.d/set-providerdelay.sh diff --git a/docker/providerdelay/Dockerfile b/docker/providerdelay/Dockerfile new file mode 100644 index 0000000..6ed92d7 --- /dev/null +++ b/docker/providerdelay/Dockerfile @@ -0,0 +1,4 @@ +ARG SOURCE_TAG +FROM 147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:$SOURCE_TAG +ADD /container-init.d/* /container-init.d/ +RUN chmod a+x /container-init.d/* diff --git a/docker/providerdelay/build.sh b/docker/providerdelay/build.sh new file mode 100755 index 0000000..19361eb --- /dev/null +++ b/docker/providerdelay/build.sh @@ -0,0 +1,21 @@ +#!/bin/bash +# Build from git repo +set -euo pipefail +TAG_NAME=providerdelay +../from-git-repo/build.sh https://github.com/iand/go-ipfs.git feat/remove-provider-search-delay $TAG_NAME + +# Add thunderdome config +cd ../from-kubo-image-tag +export REPO_NAME=147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome +./build.sh $TAG_NAME +cd - +## (creates a kubo-"$TAG_NAME" image) + +# Build in this dir +SOURCE_TAG=kubo-"$TAG_NAME" +FINAL_TAG=kubo-providerdelay-from-env +docker build -t "$FINAL_TAG" --build-arg SOURCE_TAG="$SOURCE_TAG" . +FINAL_REMOTE_TAG="$REPO_NAME":"$FINAL_TAG" +docker tag "$FINAL_TAG" "$FINAL_REMOTE_TAG" +docker push "$FINAL_REMOTE_TAG" +echo "$FINAL_REMOTE_TAG" \ No newline at end of file diff --git a/docker/providerdelay/container-init.d/set-providerdelay.sh b/docker/providerdelay/container-init.d/set-providerdelay.sh new file mode 100644 index 0000000..5ce4753 --- /dev/null +++ b/docker/providerdelay/container-init.d/set-providerdelay.sh @@ -0,0 +1,6 @@ +if [ -z "$SEARCH_DELAY" ]; then + echo "Need to set SEARCH_DELAY, eg 50ms" + exit 1 +fi +echo "setting Internal.Bitswap.ProviderSearchDelay to $SEARCH_DELAY" +ipfs config Internal.Bitswap.ProviderSearchDelay "$SEARCH_DELAY" From b518d8da9515e1a6d1de9e26806f90872bba2281 Mon Sep 17 00:00:00 2001 From: Tom Hall Date: Tue, 6 Sep 2022 18:32:06 +0200 Subject: [PATCH 6/7] add providerdelay experiment --- tf/experiment-providerdelay.tf | 79 ++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 tf/experiment-providerdelay.tf diff --git a/tf/experiment-providerdelay.tf b/tf/experiment-providerdelay.tf new file mode 100644 index 0000000..c2f4656 --- /dev/null +++ b/tf/experiment-providerdelay.tf @@ -0,0 +1,79 @@ +module "providerdelay" { + source = "./modules/experiment" + name = "providerdelay" + + ecs_cluster_id = module.ecs-asg.cluster_id + vpc_subnets = module.vpc.public_subnets + target_security_groups = [aws_security_group.target.id] + dealgood_security_groups = [aws_security_group.dealgood.id] + execution_role_arn = aws_iam_role.ecsTaskExecutionRole.arn + dealgood_task_role_arn = aws_iam_role.dealgood.arn + log_group_name = aws_cloudwatch_log_group.logs.name + aws_service_discovery_private_dns_namespace_id = aws_service_discovery_private_dns_namespace.main.id + ssm_exec_policy_arn = aws_iam_policy.ssm-exec.arn + + grafana_secrets = [ + { name = "GRAFANA_USER", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:username::" }, + { name = "GRAFANA_PASS", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:password::" } + ] + + dealgood_secrets = [ + { name = "DEALGOOD_LOKI_USERNAME", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:username::" }, + { name = "DEALGOOD_LOKI_PASSWORD", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:password::" }, + ] + + shared_env = [ + { name = "IPFS_PROFILE", value = "server" }, + ] + + targets = { + "0ms" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-providerdelay-from-env" + environment = [ + { name = "SEARCH_DELAY", value = "0" } + ] + } + "20ms" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-providerdelay-from-env" + environment = [ + { name = "SEARCH_DELAY", value = "20ms" } + ] + } + "50ms" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-providerdelay-from-env" + environment = [ + { name = "SEARCH_DELAY", value = "50ms" } + ] + } + "100ms" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-providerdelay-from-env" + environment = [ + { name = "SEARCH_DELAY", value = "100ms" } + ] + } + "200ms" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-providerdelay-from-env" + environment = [ + { name = "SEARCH_DELAY", value = "200ms" } + ] + } + "500ms" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-providerdelay-from-env" + environment = [ + { name = "SEARCH_DELAY", value = "500ms" } + ] + } + "750ms" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-providerdelay-from-env" + environment = [ + { name = "SEARCH_DELAY", value = "750ms" } + ] + } + "1000ms" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-providerdelay-from-env" + environment = [ + { name = "SEARCH_DELAY", value = "1000ms" } + ] + } + } +} From e19645404e794e9528c48fd9b1506b9dcbab76bd Mon Sep 17 00:00:00 2001 From: Tom Hall Date: Tue, 6 Sep 2022 18:32:22 +0200 Subject: [PATCH 7/7] move experiments to own files --- tf/experiment-releases.tf | 63 ++++++++++++++ tf/experiment-reposize.tf | 72 ++++++++++++++++ tf/experiment-tweedles.tf | 39 +++++++++ tf/experiments.tf | 176 -------------------------------------- 4 files changed, 174 insertions(+), 176 deletions(-) create mode 100644 tf/experiment-releases.tf create mode 100644 tf/experiment-reposize.tf create mode 100644 tf/experiment-tweedles.tf delete mode 100644 tf/experiments.tf diff --git a/tf/experiment-releases.tf b/tf/experiment-releases.tf new file mode 100644 index 0000000..aebb3c4 --- /dev/null +++ b/tf/experiment-releases.tf @@ -0,0 +1,63 @@ +module "releases" { + source = "./modules/experiment" + name = "releases" + + ecs_cluster_id = module.ecs-asg.cluster_id + vpc_subnets = module.vpc.public_subnets + target_security_groups = [aws_security_group.target.id] + dealgood_security_groups = [aws_security_group.dealgood.id] + execution_role_arn = aws_iam_role.ecsTaskExecutionRole.arn + dealgood_task_role_arn = aws_iam_role.dealgood.arn + log_group_name = aws_cloudwatch_log_group.logs.name + aws_service_discovery_private_dns_namespace_id = aws_service_discovery_private_dns_namespace.main.id + ssm_exec_policy_arn = aws_iam_policy.ssm-exec.arn + + grafana_secrets = [ + { name = "GRAFANA_USER", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:username::" }, + { name = "GRAFANA_PASS", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:password::" } + ] + + dealgood_secrets = [ + { name = "DEALGOOD_LOKI_USERNAME", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:username::" }, + { name = "DEALGOOD_LOKI_PASSWORD", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:password::" }, + ] + + shared_env = [ + { name = "IPFS_PROFILE", value = "server" }, + ] + + targets = { + "v0_08_0" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.8.0" + environment = [] + }, + "v0_09_1" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.9.1" + environment = [] + }, + "v0_10_0" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.10.0" + environment = [] + }, + "v0_11_0" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.11.0" + environment = [] + }, + "v0_12_2" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.12.2" + environment = [] + }, + "v0_13_1" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.13.1" + environment = [] + }, + "v0_14_0" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.14.0" + environment = [] + }, + "v0_15_0" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0" + environment = [] + } + } +} diff --git a/tf/experiment-reposize.tf b/tf/experiment-reposize.tf new file mode 100644 index 0000000..0ccdec7 --- /dev/null +++ b/tf/experiment-reposize.tf @@ -0,0 +1,72 @@ +module "reposize" { + source = "./modules/experiment" + name = "reposize" + + ecs_cluster_id = module.ecs-asg.cluster_id + vpc_subnets = module.vpc.public_subnets + target_security_groups = [aws_security_group.target.id] + dealgood_security_groups = [aws_security_group.dealgood.id] + execution_role_arn = aws_iam_role.ecsTaskExecutionRole.arn + dealgood_task_role_arn = aws_iam_role.dealgood.arn + log_group_name = aws_cloudwatch_log_group.logs.name + aws_service_discovery_private_dns_namespace_id = aws_service_discovery_private_dns_namespace.main.id + ssm_exec_policy_arn = aws_iam_policy.ssm-exec.arn + + grafana_secrets = [ + { name = "GRAFANA_USER", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:username::" }, + { name = "GRAFANA_PASS", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:password::" } + ] + + dealgood_secrets = [ + { name = "DEALGOOD_LOKI_USERNAME", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:username::" }, + { name = "DEALGOOD_LOKI_PASSWORD", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:password::" }, + ] + + shared_env = [ + { name = "IPFS_PROFILE", value = "server" }, + ] + + targets = { + "005GB" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" + environment = [ + { name = "REPO_SIZE", value = "5GB" } + ] + } + + "010GB" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" + environment = [ + { name = "REPO_SIZE", value = "10GB" } + ] + } + + "025GB" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" + environment = [ + { name = "REPO_SIZE", value = "25GB" } + ] + } + + "050GB" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" + environment = [ + { name = "REPO_SIZE", value = "50GB" } + ] + } + + "075GB" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" + environment = [ + { name = "REPO_SIZE", value = "75GB" } + ] + } + + "100GB" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" + environment = [ + { name = "REPO_SIZE", value = "100GB" } + ] + }, + } +} diff --git a/tf/experiment-tweedles.tf b/tf/experiment-tweedles.tf new file mode 100644 index 0000000..b8eba70 --- /dev/null +++ b/tf/experiment-tweedles.tf @@ -0,0 +1,39 @@ +module "tweedles" { + source = "./modules/experiment" + name = "tweedles" + + ecs_cluster_id = module.ecs-asg.cluster_id + vpc_subnets = module.vpc.public_subnets + target_security_groups = [aws_security_group.target.id] + dealgood_security_groups = [aws_security_group.dealgood.id] + execution_role_arn = aws_iam_role.ecsTaskExecutionRole.arn + dealgood_task_role_arn = aws_iam_role.dealgood.arn + log_group_name = aws_cloudwatch_log_group.logs.name + aws_service_discovery_private_dns_namespace_id = aws_service_discovery_private_dns_namespace.main.id + ssm_exec_policy_arn = aws_iam_policy.ssm-exec.arn + + grafana_secrets = [ + { name = "GRAFANA_USER", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:username::" }, + { name = "GRAFANA_PASS", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:password::" } + ] + + dealgood_secrets = [ + { name = "DEALGOOD_LOKI_USERNAME", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:username::" }, + { name = "DEALGOOD_LOKI_PASSWORD", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:password::" }, + ] + + shared_env = [ + { name = "IPFS_PROFILE", value = "server" }, + ] + + targets = { + "dee" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0" + environment = [] + }, + "dum" = { + image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0" + environment = [] + } + } +} diff --git a/tf/experiments.tf b/tf/experiments.tf deleted file mode 100644 index fa6b250..0000000 --- a/tf/experiments.tf +++ /dev/null @@ -1,176 +0,0 @@ -module "tweedles" { - source = "./modules/experiment" - name = "tweedles" - - ecs_cluster_id = module.ecs-asg.cluster_id - vpc_subnets = module.vpc.public_subnets - target_security_groups = [aws_security_group.target.id] - dealgood_security_groups = [aws_security_group.dealgood.id] - execution_role_arn = aws_iam_role.ecsTaskExecutionRole.arn - dealgood_task_role_arn = aws_iam_role.dealgood.arn - log_group_name = aws_cloudwatch_log_group.logs.name - aws_service_discovery_private_dns_namespace_id = aws_service_discovery_private_dns_namespace.main.id - ssm_exec_policy_arn = aws_iam_policy.ssm-exec.arn - - grafana_secrets = [ - { name = "GRAFANA_USER", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:username::" }, - { name = "GRAFANA_PASS", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:password::" } - ] - - dealgood_secrets = [ - { name = "DEALGOOD_LOKI_USERNAME", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:username::" }, - { name = "DEALGOOD_LOKI_PASSWORD", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:password::" }, - ] - - shared_env = [ - { name = "IPFS_PROFILE", value = "server" }, - ] - - targets = { - "dee" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0" - environment = [] - }, - "dum" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0" - environment = [] - } - } -} - -module "reposize" { - source = "./modules/experiment" - name = "reposize" - - ecs_cluster_id = module.ecs-asg.cluster_id - vpc_subnets = module.vpc.public_subnets - target_security_groups = [aws_security_group.target.id] - dealgood_security_groups = [aws_security_group.dealgood.id] - execution_role_arn = aws_iam_role.ecsTaskExecutionRole.arn - dealgood_task_role_arn = aws_iam_role.dealgood.arn - log_group_name = aws_cloudwatch_log_group.logs.name - aws_service_discovery_private_dns_namespace_id = aws_service_discovery_private_dns_namespace.main.id - ssm_exec_policy_arn = aws_iam_policy.ssm-exec.arn - - grafana_secrets = [ - { name = "GRAFANA_USER", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:username::" }, - { name = "GRAFANA_PASS", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:password::" } - ] - - dealgood_secrets = [ - { name = "DEALGOOD_LOKI_USERNAME", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:username::" }, - { name = "DEALGOOD_LOKI_PASSWORD", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:password::" }, - ] - - shared_env = [ - { name = "IPFS_PROFILE", value = "server" }, - ] - - targets = { - "005GB" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" - environment = [ - { name = "REPO_SIZE", value = "5GB" } - ] - } - - "010GB" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" - environment = [ - { name = "REPO_SIZE", value = "10GB" } - ] - } - - "025GB" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" - environment = [ - { name = "REPO_SIZE", value = "25GB" } - ] - } - - "050GB" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" - environment = [ - { name = "REPO_SIZE", value = "50GB" } - ] - } - - "075GB" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" - environment = [ - { name = "REPO_SIZE", value = "75GB" } - ] - } - - "100GB" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0-reposize" - environment = [ - { name = "REPO_SIZE", value = "100GB" } - ] - }, - } -} - -module "releases" { - source = "./modules/experiment" - name = "releases" - - ecs_cluster_id = module.ecs-asg.cluster_id - vpc_subnets = module.vpc.public_subnets - target_security_groups = [aws_security_group.target.id] - dealgood_security_groups = [aws_security_group.dealgood.id] - execution_role_arn = aws_iam_role.ecsTaskExecutionRole.arn - dealgood_task_role_arn = aws_iam_role.dealgood.arn - log_group_name = aws_cloudwatch_log_group.logs.name - aws_service_discovery_private_dns_namespace_id = aws_service_discovery_private_dns_namespace.main.id - ssm_exec_policy_arn = aws_iam_policy.ssm-exec.arn - - grafana_secrets = [ - { name = "GRAFANA_USER", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:username::" }, - { name = "GRAFANA_PASS", valueFrom = "${data.aws_secretsmanager_secret.grafana-push-secret.arn}:password::" } - ] - - dealgood_secrets = [ - { name = "DEALGOOD_LOKI_USERNAME", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:username::" }, - { name = "DEALGOOD_LOKI_PASSWORD", valueFrom = "${data.aws_secretsmanager_secret.dealgood-loki-secret.arn}:password::" }, - ] - - shared_env = [ - { name = "IPFS_PROFILE", value = "server" }, - ] - - targets = { - "v0_08_0" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.8.0" - environment = [] - }, - "v0_09_1" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.9.1" - environment = [] - }, - "v0_10_0" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.10.0" - environment = [] - }, - "v0_11_0" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.11.0" - environment = [] - }, - "v0_12_2" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.12.2" - environment = [] - }, - "v0_13_1" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.13.1" - environment = [] - }, - "v0_14_0" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.14.0" - environment = [] - }, - "v0_15_0" = { - image = "147263665150.dkr.ecr.eu-west-1.amazonaws.com/thunderdome:kubo-v0.15.0" - environment = [] - } - } -}