Skip to content

Commit 022cfeb

Browse files
committed
feat: adding jcast
1 parent d44074c commit 022cfeb

8 files changed

Lines changed: 179 additions & 38 deletions

File tree

.github/workflows/static.yml

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,36 @@
1-
# Simple workflow for deploying static content to GitHub Pages
2-
name: Deploy static content to Pages
1+
name: Deploy Hugo Site to S3
32

43
on:
5-
# Runs on pushes targeting the default branch
64
push:
7-
branches: ["main"]
5+
branches:
6+
- main
87

9-
# Allows you to run this workflow manually from the Actions tab
10-
workflow_dispatch:
11-
12-
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
138
permissions:
149
contents: read
15-
pages: write
16-
id-token: write
17-
18-
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
19-
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
20-
concurrency:
21-
group: "pages"
22-
cancel-in-progress: false
2310

2411
jobs:
25-
# Single deploy job since we're just deploying
2612
deploy:
27-
environment:
28-
name: github-pages
29-
url: ${{ steps.deployment.outputs.page_url }}
13+
name: Build and Deploy Hugo Site
3014
runs-on: ubuntu-latest
15+
3116
steps:
32-
- name: Checkout
33-
uses: actions/checkout@v4
34-
- name: Setup Pages
35-
uses: actions/configure-pages@v5
36-
- name: Upload artifact
37-
uses: actions/upload-pages-artifact@v3
17+
- name: Checkout repository
18+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
19+
20+
- name: Set up Hugo
21+
uses: peaceiris/actions-hugo@75d2e84710de30f6ff7268e08f310b60ef14033f # v3
3822
with:
39-
# Upload entire repository
40-
path: 'old'
41-
- name: Deploy to GitHub Pages
42-
id: deployment
43-
uses: actions/deploy-pages@v4
23+
hugo-version: "0.124.1"
24+
25+
- name: Build site with Hugo
26+
run: hugo --minify --theme Papermod
27+
28+
- name: Configure AWS credentials
29+
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4
30+
with:
31+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
32+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
33+
aws-region: eu-west-1
34+
35+
- name: Sync to S3
36+
run: aws s3 sync public/ s3://${{ secrets.S3_BUCKET_NAME }}/ --delete

.github/workflows/terraform.yml

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: Terraform Apply for Hugo Site
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
paths:
8+
- "infra/**"
9+
10+
permissions:
11+
contents: read
12+
13+
jobs:
14+
terraform:
15+
name: Terraform Deploy
16+
runs-on: ubuntu-latest
17+
18+
defaults:
19+
run:
20+
working-directory: terraform
21+
22+
steps:
23+
- name: Checkout repository
24+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
25+
26+
- name: Set up Terraform
27+
uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3
28+
with:
29+
terraform_version: 1.6.6
30+
31+
- name: Configure AWS credentials
32+
uses: aws-actions/configure-aws-credentials@e3dd6a429d7300a6a4c196c26e071d42e0343502 # v4
33+
with:
34+
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
35+
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
36+
aws-region: eu-west-1
37+
38+
- name: Terraform Init
39+
run: terraform init
40+
41+
- name: Terraform Plan
42+
run: terraform plan
43+
44+
- name: Terraform Apply
45+
run: terraform apply -auto-approve
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
title: "JCast: Java als startpunt, goesting als drijvende kracht"
3+
date: 2025-05-16
4+
draft: "false"
5+
tags:
6+
- podcast
7+
- java
8+
cover:
9+
image: "/images/banners/202505-het-verhaal-achter-jcast.png"
10+
alt: "Het verhaal achter JCast"
11+
caption: "Het verhaal achter JCast"
12+
---
13+
We moeten even terug in de tijd. Twee collega’s, Oumaima en Viktor, kwamen naar me toe met een onverwachte vraag:
14+
**“Maarten, we willen je iets vragen… We denken eraan om een podcast te starten.”**
15+
16+
Het overviel me, maar tegelijk voelde ik een vleugje trots. Zelf had ik dat idee, een podcast maken, nooit hardop uitgesproken. Maar dat zij erover begonnen, en dan nog bij mij aanklopten? Dat voelde als een klein eerbetoon.
17+
18+
#### Waarover zou de podcast moeten gaan?
19+
20+
Die vraag was verrassend snel beantwoord. We zijn met drie Java-ontwikkelaars, en voor ons is Java niet gewoon een programmeertaal, het is een vertrekpunt.
21+
Van daaruit is het idee van **JCast** geboren: een podcast met Java als startpunt, en alles daarrond als ons speelveld.
22+
23+
We registreerden het domein <a href="https://jcast.dev" target="_blank" rel="noopener noreferrer">jcast.dev</a> en de eerste opname volgde al snel.
24+
25+
#### En… is die eerste aflevering al te beluisteren?
26+
27+
Tja, dat is nu voor ons een weet… en voor jullie een gok. 😉
28+
#### Wat kunnen luisteraars verwachten van JCast?
29+
30+
JCast is een **gezellige praatbarak** tussen drie collega’s over development, technologie en alles wat daarbij komt kijken. We hebben het uiteraard vaak over Java, maar ook over:
31+
32+
- Clean code en software craft
33+
- Cloud en moderne architectuur
34+
- Klassiekers uit de boekenplank (ja, ook Uncle Bob komt aan bod)
35+
- En soms duiken we zelfs in bredere topics rond teamwork, groei of gewoon nerdy dingen die we leuk vinden.
36+
37+
Luchtig, maar met inhoud. Soms met een gast, altijd met goesting. In het Nederlands, voor iedereen met een zwak voor code.
38+
39+
#### Waarom eigenlijk in het Nederlands?
40+
41+
Omdat we merken dat er heel wat leuke Nederlandstalige devs zijn, maar dat het podcastaanbod vaak Engelstalig is. We willen iets maken dat herkenbaar is, waar mensen zich in thuis voelen, en waar de goesting en de grapjes niet hoeven vertaald te worden.
42+
43+
#### Wat maakt JCast anders dan andere dev-podcasts?
44+
45+
We pretenderen niet de grote experts te zijn die alleen maar zenden. We willen gewoon **delen waar we mee bezig zijn, wat we lezen, wat ons opvalt, wat ons soms frustreert**, en dat in een open en eerlijke setting. We geloven dat daar veel waarde in zit en hopelijk ook een paar goeie lachmomenten.
46+
47+
---
48+
49+
We zouden hier nog veel meer kunnen vertellen, maar we laten liever iets aan de verbeelding over.
50+
Of nog beter: aan de eerste aflevering. 🎙️
51+
52+
Je vindt alle info op <a href="https://jcast.dev" target="_blank" rel="noopener noreferrer">jcast.dev</a>.
53+
Tot binnenkort in je oren?

hugo.toml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,13 @@ limit = 10
122122
keys = ["title", "permalink", "summary", "content"]
123123

124124
[permalinks]
125-
posts = "/posts/:filename"
125+
posts = "/posts/:contentbasename"
126126

127-
#[[menu.main]]
128-
#identifier = "categories"
129-
#name = "categories"
130-
#url = "/categories/"
131-
#weight = 10
127+
[[menu.main]]
128+
identifier = "jcast"
129+
name = "JCast"
130+
url = "https://jcast.dev"
131+
weight = 10
132132

133133
[[menu.main]]
134134
identifier = "tags"

infra/main.tf

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,31 @@
1+
terraform {
2+
required_version = ">= 1.3.0"
3+
4+
required_providers {
5+
aws = {
6+
source = "hashicorp/aws"
7+
version = ">= 5.0"
8+
}
9+
}
10+
11+
backend "s3" {
12+
bucket = "casteels-dev-terraform-state-bucket"
13+
key = "hugo-site/terraform.tfstate"
14+
region = "eu-west-1"
15+
encrypt = true
16+
}
17+
}
18+
119
provider "aws" {
220
alias = "us-east-1"
321
region = "us-east-1" # ACM certificates for CloudFront must be in us-east-1
422
}
523

24+
provider "aws" {
25+
alias = "eu-west-1"
26+
region = "eu-west-1"
27+
}
28+
629
# ACM Certificate in us-east-1
730
resource "aws_acm_certificate" "blog_cert" {
831
provider = aws.us-east-1

infra/variables.tf

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
variable "region" {
2+
description = "AWS region"
3+
type = string
4+
default = "us-east-1"
5+
}
6+
7+
variable "bucket_name" {
8+
description = "S3 bucket name for static website"
9+
type = string
10+
}
11+
12+
variable "lambda_function_name" {
13+
description = "Lambda function name"
14+
type = string
15+
}
16+
17+
variable "cloudfront_distribution_comment" {
18+
description = "Comment for CloudFront distribution"
19+
type = string
20+
default = "CDN for static website"
21+
}
22+
23+
variable "environment" {
24+
description = "Environment name (e.g. dev, prod)"
25+
type = string
26+
default = "dev"
27+
}
1.67 MB
Loading

0 commit comments

Comments
 (0)