diff --git a/Makefile b/Makefile index c6a5925..4237bdb 100644 --- a/Makefile +++ b/Makefile @@ -9,9 +9,10 @@ export BUILD := build/$(T)/$(L) DEB := riju-$(T)-$(L).deb S3 := s3://$(S3_BUCKET) +S3_CONFIG_PATH ?= config.json S3_DEB := $(S3)/debs/$(DEB) S3_HASH := $(S3)/hashes/riju-$(T)-$(L) -S3_CONFIG := $(S3)/config.json +S3_CONFIG := $(S3)/$(S3_CONFIG_PATH) ifneq ($(CMD),) C_CMD := -c '$(CMD)' diff --git a/doc/selfhosting.md b/doc/selfhosting.md index 43bb580..9beeab9 100644 --- a/doc/selfhosting.md +++ b/doc/selfhosting.md @@ -124,6 +124,7 @@ AMI_NAME=riju-web-20210711223158 AWS_REGION=us-west-1 DOMAIN=your.domain S3_BUCKET=yourname-riju +S3_CONFIG_PATH=config.json ``` ### AMI\_NAME diff --git a/packer/provision-web.bash b/packer/provision-web.bash index a23ddfb..281fa01 100644 --- a/packer/provision-web.bash +++ b/packer/provision-web.bash @@ -5,6 +5,7 @@ set -euo pipefail : ${ADMIN_PASSWORD} : ${AWS_REGION} : ${S3_BUCKET} +: ${S3_CONFIG_PATH} : ${SUPERVISOR_ACCESS_TOKEN} latest_release() { @@ -61,6 +62,7 @@ sudo sed -Ei 's|^#?PermitEmptyPasswords .*|PermitEmptyPasswords no|' /etc/ssh/ss sudo sed -Ei "s|\\\$AWS_REGION|${AWS_REGION}|" /etc/systemd/system/riju.service sudo sed -Ei "s|\\\$ANALYTICS_TAG|${ANALYTICS_TAG:-}|" /etc/systemd/system/riju.service sudo sed -Ei "s|\\\$S3_BUCKET|${S3_BUCKET}|" /etc/systemd/system/riju.service +sudo sed -Ei "s|\\\$S3_CONFIG_PATH|${S3_CONFIG_PATH}|" /etc/systemd/system/riju.service sudo sed -Ei "s|\\\$SENTRY_DSN|${SENTRY_DSN:-}|" /etc/systemd/system/riju.service sudo sed -Ei "s|\\\$SUPERVISOR_ACCESS_TOKEN|${SUPERVISOR_ACCESS_TOKEN}|" /etc/systemd/system/riju.service diff --git a/packer/riju.service b/packer/riju.service index c11177b..4bd3334 100644 --- a/packer/riju.service +++ b/packer/riju.service @@ -13,6 +13,7 @@ RestartSec=5 Environment=AWS_REGION=$AWS_REGION Environment=ANALYTICS_TAG=$ANALYTICS_TAG Environment=S3_BUCKET=$S3_BUCKET +Environment=S3_CONFIG_PATH=$S3_CONFIG_PATH Environment=SENTRY_DSN=$SENTRY_DSN Environment=SUPERVISOR_ACCESS_TOKEN=$SUPERVISOR_ACCESS_TOKEN diff --git a/packer/web.pkr.hcl b/packer/web.pkr.hcl index 1268e95..0eced82 100644 --- a/packer/web.pkr.hcl +++ b/packer/web.pkr.hcl @@ -33,6 +33,11 @@ variable "s3_bucket" { default = "${env("S3_BUCKET")}" } +variable "s3_config_path" { + type = string + default = "${env("S3_CONFIG_PATH")}" +} + variable "sentry_dsn" { type = string default = "${env("SENTRY_DSN_PACKER")}" @@ -146,6 +151,7 @@ build { "GRAFANA_PROMETHEUS_USERNAME=${var.grafana_prometheus_username}", "GRAFANA_API_KEY=${var.grafana_api_key}", "S3_BUCKET=${var.s3_bucket}", + "S3_CONFIG_PATH=${var.s3_config_path}", "SENTRY_DSN=${var.sentry_dsn}", "SUPERVISOR_ACCESS_TOKEN=${var.supervisor_access_token}", ] diff --git a/supervisor/src/main.go b/supervisor/src/main.go index 7aaeeb6..b2b3ffb 100644 --- a/supervisor/src/main.go +++ b/supervisor/src/main.go @@ -43,8 +43,9 @@ type deploymentConfig struct { } type supervisorConfig struct { - AccessToken string `env:"SUPERVISOR_ACCESS_TOKEN,notEmpty"` - S3Bucket string `env:"S3_BUCKET,notEmpty"` + AccessToken string `env:"SUPERVISOR_ACCESS_TOKEN,notEmpty"` + S3Bucket string `env:"S3_BUCKET,notEmpty"` + S3ConfigPath string `env:"S3_CONFIG_PATH,notEmpty"` } type reloadJob struct { @@ -264,7 +265,7 @@ func (sv *supervisor) reload() error { buf := s3manager.NewWriteAtBuffer([]byte{}) if _, err := dl.Download(context.Background(), buf, &s3.GetObjectInput{ Bucket: &sv.config.S3Bucket, - Key: aws.String("config.json"), + Key: aws.String(sv.config.S3ConfigPath), }); err != nil { return err } diff --git a/tools/packer-build-web.bash b/tools/packer-build-web.bash index c0c7891..b556f71 100755 --- a/tools/packer-build-web.bash +++ b/tools/packer-build-web.bash @@ -4,6 +4,7 @@ set -euo pipefail : ${ADMIN_PASSWORD} : ${S3_BUCKET} +: ${S3_CONFIG_PATH} : ${SUPERVISOR_ACCESS_TOKEN} export AWS_REGION="${AWS_REGION:-$(aws configure get region)}"