Skip to content

Commit

Permalink
Add christmas letters, basic insecure auth.
Browse files Browse the repository at this point in the history
  • Loading branch information
adunkman committed Dec 29, 2023
1 parent 618a7d7 commit 3e00ae7
Show file tree
Hide file tree
Showing 29 changed files with 691 additions and 34 deletions.
2 changes: 2 additions & 0 deletions .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,5 @@ AWS_ACCESS_KEY_ID=your-key-id-here
AWS_SECRET_ACCESS_KEY=your-key-secret-here
AWS_DEFAULT_REGION=us-east-1
HUGO_ENV=development
SOPS_KMS_ARN=run "docker compose run terraform output sops_kms_arn"
FRIENDS_AND_FAMILY_PASSCODE=your-value
9 changes: 9 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ jobs:
path: metascraper/cache
key: v1-${{ hashFiles('metascraper/yarn.lock') }}

- name: Decrypt private contents
run: make decrypt
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
SOPS_KMS_ARN: "${{ secrets.SOPS_KMS_ARN }}"

- name: Build site
run: make build

Expand All @@ -46,13 +53,15 @@ jobs:
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
TF_VAR_friends_and_family_passcode: "${{ secrets.FRIENDS_AND_FAMILY_PASSCODE }}"

- name: Apply infrastructure changes
if: ${{ env.AWS_ACCESS_KEY_ID != '' }}
run: make terraform-apply
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
TF_VAR_friends_and_family_passcode: "${{ secrets.FRIENDS_AND_FAMILY_PASSCODE }}"

- name: Deploy site
if: ${{ env.AWS_ACCESS_KEY_ID != '' }}
Expand Down
15 changes: 15 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,14 @@ test: ## Run automated tests
build: ## Generate compiled application files to prepare for a deployment
@docker compose run hugo --

.PHONY: decrypt
decrypt: ## 🔒 Decrypts secret files to disk using SOPS
@docker compose run --entrypoint sh sops -c "find /app/content/christmas-letters -type f -exec sops --decrypt --in-place {} \;"

.PHONY: encrypt
encrypt: ## 🔒 Encrypts secret files to disk using SOPS
@docker compose run --entrypoint sh sops -c "find /app/content/christmas-letters -type f -exec sops --encrypt --in-place {} \;"

.PHONY: sh-metascraper
sh-metascraper: ## Open a shell in the metascraper docker image
@docker compose run --entrypoint sh metascraper --
Expand All @@ -28,6 +36,10 @@ sh-test: ## Open a shell in the test docker image
sh-terraform: ## Open a shell in the terraform docker image
@docker compose run --entrypoint sh terraform

.PHONY: sh-sops
sh-sops: ## Open a shell in the sops docker image
@docker compose run --entrypoint sh sops

.PHONY: docker-rebuild-hugo
docker-rebuild-hugo: ## Rebuild docker image used for hugo
@docker compose build hugo
Expand All @@ -44,6 +56,9 @@ docker-rebuild-metascraper: ## Rebuild docker image used for metascraper
docker-rebuild-terraform: ## Rebuild docker image used for terraform
@docker compose build terraform

.PHONY: docker-rebuild-sops
docker-rebuild-sops: ## Rebuild docker image used for sops
@docker compose build sops
.PHONY: clean
clean: ## Reset docker and clear temporary files
@rm -rf ./app/public/
Expand Down
11 changes: 10 additions & 1 deletion app/assets/styles/theme/_article.scss
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,10 @@
}

img {
max-width: 100%;
height: auto;
width: auto;
max-width: 100%;
max-height: 95vh;

@media (prefers-color-scheme: dark) {
opacity: 0.8;
Expand All @@ -16,6 +18,13 @@

figure {
margin: 1em 0;

@include min-width-tablet {
&.float-right {
float: right;
margin: 0 0 1rem 1.5rem;
}
}
}

figcaption {
Expand Down
22 changes: 22 additions & 0 deletions app/content/christmas-letters/2017/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"data": "ENC[AES256_GCM,data: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,iv:JwGTupTkHrA7h1U8vIrPa2tEEzyBEqyr6/eTPuLV+h4=,tag:Hn6R6SGT7izO/WXPTDStuw==,type:str]",
"sops": {
"kms": [
{
"arn": "arn:aws:kms:us-east-1:831664596424:key/50adb0aa-a557-490f-9aaa-ba42572cab0e",
"created_at": "2023-12-29T18:13:22Z",
"enc": "AQICAHgeO46oSi2H/nr/pofPcURaWAaOTmne1nKdyIIs3NiuvgHhSk24PWnuJSa6/Imt1KoWAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMIEPmwatlYKJffLAxAgEQgDtlJ6YnJwKumbkK12SX9D8nIoP5R9oBcIV88wffgH8t2V4qjA9AVxrczhNfihGlOwC5XVgtwg6F2ihfxg==",
"aws_profile": ""
}
],
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": null,
"lastmodified": "2023-12-29T18:13:22Z",
"mac": "ENC[AES256_GCM,data:B/JuN1eMSrl+D7cOd6v1AmFuz3xS1BfKXmyl3BT3MIBOMJPuLwjMBu9uPZT4dIx8hmkHh3qe9Hfk/Q4DDdmuX0IEWj8tdtvIqGusXmnoaQsk/t941Eb6c1VozcdxYA6H86nKbl8ADgIjP4QG4q1ZayU8dnq8Y/rDAzZVK5UBf5g=,iv:fQw0ZmCKqSUhDU+9L9uo7HpPisITJjK5pDflyLqwEug=,tag:7o+jgsKfryXTmbfyvHvSlQ==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.8.1"
}
}
22 changes: 22 additions & 0 deletions app/content/christmas-letters/2017/photo.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
22 changes: 22 additions & 0 deletions app/content/christmas-letters/2018/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
{
"data": "ENC[AES256_GCM,data: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,iv:7HRP3ER9jyBxsK7LH6ypF2Nq5Xmn7vSQ7r7Q4ORzWGs=,tag:1HTnqs2kSdpqn11IruPBGQ==,type:str]",
"sops": {
"kms": [
{
"arn": "arn:aws:kms:us-east-1:831664596424:key/50adb0aa-a557-490f-9aaa-ba42572cab0e",
"created_at": "2023-12-29T18:13:23Z",
"enc": "AQICAHgeO46oSi2H/nr/pofPcURaWAaOTmne1nKdyIIs3NiuvgEJUV1NrdQmrCH94SqmpKcKAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMv9kxfHHG2E4t1TSNAgEQgDvbgIW/sDDhyanCL/YKGC3JUKkfHnalbcbBe6t5i3/ekE7oXzVACGcfrpidDDNKbmU+hWK1nZGkq9etrw==",
"aws_profile": ""
}
],
"gcp_kms": null,
"azure_kv": null,
"hc_vault": null,
"age": null,
"lastmodified": "2023-12-29T18:13:23Z",
"mac": "ENC[AES256_GCM,data:kPoqLuvtYqhmPKPdiligB+49RjP/WsP3A6JvRa4OlmCZWAhLzd3IuHBum0KMsIqBAYzDYc21umA6GLfK2jzqUfZarR7DfFTGKzT9Js/i78AKc6y0b3lg2YUZS7iFT1jcxJZXSZqW2dddKhVA4RuORTyv2CiZP1Xclvdult9PVsc=,iv:9Gi8QUbzg6B69Pc/NUBjIFSlzotCCNC/Dv0edK/mFro=,tag:h7+kqEelYHlpcUiEte9BaQ==,type:str]",
"pgp": null,
"unencrypted_suffix": "_unencrypted",
"version": "3.8.1"
}
}
22 changes: 22 additions & 0 deletions app/content/christmas-letters/2018/photo.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 3e00ae7

Please sign in to comment.