Compare commits

...
55 Commits
Author SHA1 Message Date
renovate 0ea9865a72 chore(deps): update dependency @babel/core to v8.0.9 (#250)
unbound-site / build (push) Successful in 1m19s
unbound-site / deploy-prod-frostmoln (push) Successful in 1m7s
2026-10-26 16:19:36 +00:00
renovate a76475d2af chore(deps): update dependency core-js to v3.51.0 (#249)
unbound-site / deploy-prod-frostmoln (push) Successful in 58s
unbound-site / build (push) Successful in 1m26s
2026-10-22 12:16:54 +00:00
renovate cff967fdcf chore(deps): update nginx docker tag to v1.31.8 (#248)
unbound-site / build (push) Successful in 1m31s
unbound-site / deploy-prod-frostmoln (push) Successful in 57s
2026-10-22 01:20:27 +00:00
renovate 7528729715 chore(deps): update nginxinc/nginx-unprivileged:1.31.7-alpine docker digest to b5047b9 (#247)
unbound-site / build (push) Successful in 40s
unbound-site / deploy-prod-frostmoln (push) Successful in 58s
2026-10-19 05:27:46 +00:00
renovate 5793288461 chore(deps): update cibuilds/hugo docker tag to v0.168 (#246)
unbound-site / build (push) Successful in 2m11s
unbound-site / deploy-prod-frostmoln (push) Successful in 1m31s
2026-10-16 20:16:39 +00:00
renovate d65e0edc98 chore(deps): update nginx docker tag to v1.31.7 (#244)
unbound-site / build (push) Failing after 1m23s
unbound-site / deploy-prod-frostmoln (push) Skipped
2026-10-14 20:17:16 +00:00
renovate 85613860c2 chore(deps): update nginxinc/nginx-unprivileged docker tag to v1.31.7 (#245)
unbound-site / build (push) Successful in 1m46s
unbound-site / deploy-prod-frostmoln (push) Successful in 1m45s
2026-10-14 20:16:55 +00:00
argoyle 283852c438 feat: deploy to Frostmoln production (#243)
unbound-site / build (push) Successful in 1m50s
unbound-site / deploy-prod-frostmoln (push) Successful in 1m3s
Moves the production deploy from AWS to the Frostmoln production cluster (namespace `sites`).

- `deploy-prod` (AWS) has failed since CI left AWS: the runners have no `k8s.unbound.se` context, so the site on AWS still runs an older image. It's replaced by `deploy-prod-frostmoln`, the same pattern as Shiny's `deploy-frostmoln-staging`: `FROSTMOLN_PRODUCTION_DEPLOY_KEY` + `FROSTMOLN_PRODUCTION_CLUSTER_ID` (org), `BUILDTOOLS_FROSTMOLN_PRODUCTION` (org, target `prod-frostmoln`), `deploy prod-frostmoln -n sites`.
- Frostmoln enforces restricted Pod Security: the served image is `nginxinc/nginx-unprivileged` (uid 101, port 8080), with a matching securityContext; the Service is ClusterIP.
- `ingress-prod.yaml` (ALB) → `ingress-prod-frostmoln.yaml` (Traefik, Let's Encrypt).

Checked locally: the image serves `/health` and `/` (200) as uid 101 with all capabilities dropped.

**Merge after** infra's `feat/frostmoln-production-sites` is applied (namespace + org secret). The hostnames keep pointing at AWS until the Route 53 switch, a separate step; the certificate is issued after that.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

https://claude.ai/code/session_01Ma8eHhW59hLAJuLzBnLvUu
Reviewed-on: #243
2026-10-14 17:53:12 +00:00
renovate b8b30a4fbe chore(deps): update babel monorepo to v8.0.7 (#242)
unbound-site / build (push) Successful in 1m21s
unbound-site / deploy-prod (push) Failing after 46s
2026-10-10 11:32:56 +00:00
argoyle b8c7b0c6f7 chore(k8s): take the image reference from build-tools (#241)
unbound-site / build (push) Successful in 52s
unbound-site / deploy-prod (push) Successful in 1m5s
## Summary

`k8s/deploy.yaml` takes the image from build-tools: `image: ${IMAGE}` instead of the hard-coded `oci.unbound.se/unboundsoftware/unbound-site:${COMMIT}`.

`deploy` substitutes `${IMAGE}` with `<registry>/<owner>/<name>:<tag>`, where the registry comes from the build-tools config and the tag is the value `${COMMIT}` gets today. The rendered reference is unchanged. Moving off `oci.unbound.se` later becomes one change in infra.

Validated on shiny/time-service#864: merged and deployed to AWS staging and Frostmoln staging with the same image. Prerequisites, all merged:
- unboundsoftware/infra#1808: registry in `BUILDTOOLS_FROSTMOLN_STAGING`
- shiny/acctest#952: acctest pins build-tools to the Gitea registry

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Reviewed-on: https://gitea.unbound.se/unboundsoftware/unbound-site/pulls/241
2026-10-02 22:39:55 +00:00
renovate 2673630916 chore(deps): update cibuilds/hugo docker tag to v0.167 (#240)
unbound-site / build (push) Successful in 46s
unbound-site / deploy-prod (push) Successful in 1m11s
2026-10-01 19:16:01 +00:00
renovate 08f13af663 chore(deps): update nginx:1.31.6-alpine docker digest to 5f4b1cb (#239)
unbound-site / build (push) Successful in 33s
unbound-site / deploy-prod (push) Successful in 1m5s
2026-09-23 00:20:03 +00:00
renovate 2f97b78392 chore(deps): update babel monorepo to v8.0.6 (#238)
unbound-site / deploy-prod (push) Successful in 1m16s
unbound-site / build (push) Successful in 39s
2026-09-21 14:52:14 +00:00
renovate 06cf832eb1 chore(deps): update nginx:1.31.6-alpine docker digest to 50636a3 (#237)
unbound-site / build (push) Successful in 39s
unbound-site / deploy-prod (push) Successful in 1m8s
2026-09-18 01:14:05 +00:00
renovate 18179c8de0 chore(deps): update cibuilds/hugo docker tag to v0.166 (#236)
unbound-site / build (push) Successful in 35s
unbound-site / deploy-prod (push) Successful in 1m4s
2026-09-16 22:11:23 +00:00
renovate f3dcf73cf9 chore(deps): update nginx docker tag to v1.31.6 (#235)
unbound-site / build (push) Successful in 36s
unbound-site / deploy-prod (push) Successful in 1m6s
2026-09-16 01:14:53 +00:00
renovate beddce6a07 chore(deps): update babel monorepo to v8.0.5 (#234)
unbound-site / build (push) Successful in 35s
unbound-site / deploy-prod (push) Successful in 1m5s
2026-09-13 23:10:47 +00:00
renovate f731d9146d chore(deps): update nginx docker tag to v1.31.5 (#233)
unbound-site / build (push) Successful in 32s
unbound-site / deploy-prod (push) Successful in 1m15s
2026-09-02 23:10:54 +00:00
renovate 7a7277f853 chore(deps): update nginx docker tag to v1.31.4 (#232)
unbound-site / build (push) Successful in 44s
unbound-site / deploy-prod (push) Successful in 1m7s
2026-08-19 21:41:18 +00:00
renovate 47be78df48 chore(deps): update cibuilds/hugo docker tag to v0.165 (#231)
unbound-site / deploy-prod (push) Successful in 1m6s
unbound-site / build (push) Successful in 40s
2026-08-15 22:14:09 +00:00
renovate d6726b3099 chore(deps): update dependency core-js to v3.50.0 (#230)
unbound-site / build (push) Successful in 48s
unbound-site / deploy-prod (push) Successful in 1m14s
2026-08-08 09:14:59 +00:00
renovate 1aaee5f575 chore(deps): update nginx docker tag to v1.31.3 (#229)
unbound-site / build (push) Successful in 34s
unbound-site / deploy-prod (push) Successful in 1m5s
2026-07-19 02:14:45 +00:00
renovate c05452778b chore(deps): update dependency @babel/cli to v8.0.4 (#228)
unbound-site / build (push) Successful in 33s
unbound-site / deploy-prod (push) Successful in 1m6s
2026-07-12 09:13:18 +00:00
renovate c7a93be4f2 chore(deps): update cibuilds/hugo docker tag to v0.164 (#227)
unbound-site / build (push) Successful in 44s
unbound-site / deploy-prod (push) Successful in 1m13s
2026-07-09 19:15:27 +00:00
renovate be315b52d7 chore(deps): update nginx:1.31.2-alpine docker digest to 20a282b (#226)
unbound-site / build (push) Successful in 57s
unbound-site / deploy-prod (push) Successful in 1m34s
2026-06-22 23:09:54 +00:00
renovate fa185f65c2 chore(deps): update babel monorepo to v8.0.2 (#225)
unbound-site / build (push) Successful in 52s
unbound-site / deploy-prod (push) Successful in 1m26s
2026-06-21 14:17:13 +00:00
renovate d4e3ab3a0b chore(deps): update nginx docker tag to v1.31.2 (#224)
unbound-site / build (push) Successful in 56s
unbound-site / deploy-prod (push) Successful in 1m37s
2026-06-21 01:13:50 +00:00
renovate 547aad899f chore(deps): update actions/checkout action to v7 (#223)
unbound-site / build (push) Successful in 55s
unbound-site / deploy-prod (push) Successful in 1m22s
This PR contains the following updates:

| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| [actions/checkout](https://github.com/actions/checkout) | action | major | `v6` → `v7` | `v7.0.0` |

---

### Release Notes

<details>
<summary>actions/checkout (actions/checkout)</summary>

### [`v7.0.0`](https://github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v700)

[Compare Source](https://github.com/actions/checkout/compare/v7.0.0...v7.0.0)

- Block checking out fork PR for pull\_request\_target and workflow\_run by [@&#8203;aiqiaoy](https://github.com/aiqiaoy) in [#&#8203;2454](https://github.com/actions/checkout/pull/2454)
- Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the minor-actions-dependencies group across 1 directory by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2458](https://github.com/actions/checkout/pull/2458)
- Bump flatted from 3.3.1 to 3.4.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2460](https://github.com/actions/checkout/pull/2460)
- Bump js-yaml from 4.1.0 to 4.2.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2461](https://github.com/actions/checkout/pull/2461)
- Bump [@&#8203;actions/core](https://github.com/actions/core) and [@&#8203;actions/tool-cache](https://github.com/actions/tool-cache) and Remove uuid by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2459](https://github.com/actions/checkout/pull/2459)
- upgrade module to esm and update dependencies by [@&#8203;aiqiaoy](https://github.com/aiqiaoy) in [#&#8203;2463](https://github.com/actions/checkout/pull/2463)
- Bump the minor-npm-dependencies group across 1 directory with 3 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2462](https://github.com/actions/checkout/pull/2462)

### [`v7`](https://github.com/actions/checkout/blob/HEAD/CHANGELOG.md#v700)

[Compare Source](https://github.com/actions/checkout/compare/v6.0.3...v7.0.0)

- Block checking out fork PR for pull\_request\_target and workflow\_run by [@&#8203;aiqiaoy](https://github.com/aiqiaoy) in [#&#8203;2454](https://github.com/actions/checkout/pull/2454)
- Bump actions/publish-immutable-action from 0.0.3 to 0.0.4 in the minor-actions-dependencies group across 1 directory by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2458](https://github.com/actions/checkout/pull/2458)
- Bump flatted from 3.3.1 to 3.4.2 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2460](https://github.com/actions/checkout/pull/2460)
- Bump js-yaml from 4.1.0 to 4.2.0 by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2461](https://github.com/actions/checkout/pull/2461)
- Bump [@&#8203;actions/core](https://github.com/actions/core) and [@&#8203;actions/tool-cache](https://github.com/actions/tool-cache) and Remove uuid by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2459](https://github.com/actions/checkout/pull/2459)
- upgrade module to esm and update dependencies by [@&#8203;aiqiaoy](https://github.com/aiqiaoy) in [#&#8203;2463](https://github.com/actions/checkout/pull/2463)
- Bump the minor-npm-dependencies group across 1 directory with 3 updates by [@&#8203;dependabot](https://github.com/dependabot)\[bot] in [#&#8203;2462](https://github.com/actions/checkout/pull/2462)

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIyMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: https://gitea.unbound.se/unboundsoftware/unbound-site/pulls/223
Co-authored-by: Renovate Bot <renovate@unbound.se>
Co-committed-by: Renovate Bot <renovate@unbound.se>
2026-06-20 19:30:50 +00:00
renovate 65b155e26d chore(deps): update babel monorepo to v8.0.1 (#222)
unbound-site / build (push) Successful in 50s
unbound-site / deploy-prod (push) Successful in 1m21s
2026-06-20 10:14:45 +00:00
renovate d5eb9a7c04 chore(deps): update babel monorepo to v8 (#221)
unbound-site / build (push) Successful in 1m0s
unbound-site / deploy-prod (push) Successful in 1m21s
This PR contains the following updates:

| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) |
|---|---|---|---|
| [@babel/cli](https://babel.dev/docs/babel-cli) ([source](https://github.com/babel/babel/tree/HEAD/packages/babel-cli)) | [`7.29.7` → `8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fcli/7.29.7/8.0.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcli/8.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcli/7.29.7/8.0.0?slim=true) |
| [@babel/core](https://babel.dev/docs/en/next/babel-core) ([source](https://github.com/babel/babel/tree/HEAD/packages/babel-core)) | [`7.29.7` → `8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fcore/7.29.7/8.0.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fcore/8.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fcore/7.29.7/8.0.0?slim=true) |
| [@babel/preset-env](https://babel.dev/docs/en/next/babel-preset-env) ([source](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env)) | [`7.29.7` → `8.0.0`](https://renovatebot.com/diffs/npm/@babel%2fpreset-env/7.29.7/8.0.0) | ![age](https://developer.mend.io/api/mc/badges/age/npm/@babel%2fpreset-env/8.0.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@babel%2fpreset-env/7.29.7/8.0.0?slim=true) |

---

### Release Notes

<details>
<summary>babel/babel (@&#8203;babel/cli)</summary>

### [`v8.0.0`](https://github.com/babel/babel/blob/HEAD/CHANGELOG.md#v800-2026-06-16)

[Compare Source](https://github.com/babel/babel/compare/v7.29.7...v8.0.0)

##### 👓 Spec Compliance

- `babel-core`
  - [#&#8203;18039](https://github.com/babel/babel/pull/18039) perf: Only extract source map comments at the end of the file ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

##### 💥 Breaking Change

- `babel-cli`, `babel-node`, `babel-plugin-proposal-decorators`, `babel-plugin-transform-classes`, `babel-plugin-transform-function-name`, `babel-plugin-transform-modules-commonjs`, `babel-plugin-transform-object-rest-spread`, `babel-plugin-transform-parameters`, `babel-plugin-transform-react-constant-elements`, `babel-plugin-transform-regenerator`, `babel-preset-env`, `babel-register`
  - [#&#8203;18069](https://github.com/babel/babel/pull/18069) Fallback to assuming ESM support with `modules: auto` ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))
- `babel-plugin-transform-runtime`, `babel-runtime-corejs3`, `babel-runtime`
  - [#&#8203;18036](https://github.com/babel/babel/pull/18036) Remove corejs exports for `@babe/runtime-corejs3` ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))
- `babel-parser`
  - [#&#8203;18034](https://github.com/babel/babel/pull/18034) Remove `locations: "packed"` ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

##### 🐛 Bug Fix

- `babel-generator`
  - [#&#8203;18046](https://github.com/babel/babel/pull/18046) fix(generator): improve new callee parens check ([@&#8203;JLHwung](https://github.com/JLHwung))
- `babel-plugin-transform-modules-systemjs`
  - [#&#8203;18032](https://github.com/babel/babel/pull/18032) fix(systemjs): support **proto** as an export name ([@&#8203;JLHwung](https://github.com/JLHwung))

##### 📝 Documentation

- [#&#8203;18070](https://github.com/babel/babel/pull/18070) Add EOL date for Babel 7 (end of June 2027) to SECURITY.md ([@&#8203;nicolo-ribaudo](https://github.com/nicolo-ribaudo))

##### 🏠 Internal

- [#&#8203;18018](https://github.com/babel/babel/pull/18018) ci: enforce yarn integrity ([@&#8203;JLHwung](https://github.com/JLHwung))

##### :running\_woman: Performance

- `babel-core`
  - [#&#8203;18039](https://github.com/babel/babel/pull/18039) perf: Only extract source map comments at the end of the file ([@&#8203;liuxingbaoyu](https://github.com/liuxingbaoyu))

</details>

---

### Configuration

📅 **Schedule**: (UTC)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about these updates again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMjAuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIyMC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->

Reviewed-on: https://gitea.unbound.se/unboundsoftware/unbound-site/pulls/221
Co-authored-by: Renovate Bot <renovate@unbound.se>
Co-committed-by: Renovate Bot <renovate@unbound.se>
2026-06-19 16:36:09 +00:00
renovate 01e99528ba chore(deps): update cibuilds/hugo:0.163 docker digest to 008d365 (#220)
unbound-site / build (push) Successful in 55s
unbound-site / deploy-prod (push) Successful in 1m22s
2026-06-19 01:10:58 +00:00
renovate 5967e2d041 chore(deps): update cibuilds/hugo:0.163 docker digest to 4e3fab9 (#219)
unbound-site / build (push) Successful in 54s
unbound-site / deploy-prod (push) Successful in 1m29s
2026-06-15 16:12:52 +00:00
renovate 226b08aa53 chore(deps): update cibuilds/hugo docker tag to v0.163 (#218)
unbound-site / build (push) Successful in 1m12s
unbound-site / deploy-prod (push) Successful in 1m32s
2026-06-14 19:13:33 +00:00
renovate c0b39580d9 chore(deps): update cibuilds/hugo docker tag to v0.162 (#217)
unbound-site / build (push) Successful in 1m1s
unbound-site / deploy-prod (push) Successful in 1m29s
2026-06-01 13:18:26 +00:00
renovate 2739744529 chore(deps): update babel monorepo to v7.29.7 (#216)
unbound-site / build (push) Successful in 1m45s
unbound-site / deploy-prod (push) Successful in 1m24s
2026-05-28 12:14:16 +00:00
renovate 8eb0e3189d chore(deps): update nginx docker tag to v1.31.1 (#215)
unbound-site / build (push) Successful in 55s
unbound-site / deploy-prod (push) Successful in 1m23s
2026-05-25 19:13:50 +00:00
renovate 362bfa4996 chore(deps): update nginx:1.31.0-alpine docker digest to f0addaa (#214)
unbound-site / build (push) Successful in 57s
unbound-site / deploy-prod (push) Successful in 1m27s
2026-05-19 22:12:16 +00:00
renovate 2684a3d53d chore(deps): update nginx docker tag to v1.31.0 (#213)
unbound-site / build (push) Successful in 54s
unbound-site / deploy-prod (push) Successful in 1m22s
2026-05-16 22:11:58 +00:00
renovate 33b877b42e chore(deps): update dependency @babel/preset-env to v7.29.5 (#212)
unbound-site / deploy-prod (push) Successful in 1m28s
unbound-site / build (push) Successful in 1m1s
2026-05-08 16:11:21 +00:00
renovate cf7c040dee chore(deps): update dependency @babel/preset-env to v7.29.3 (#211)
unbound-site / build (push) Successful in 56s
unbound-site / deploy-prod (push) Successful in 1m27s
2026-05-03 23:15:36 +00:00
renovate c83b1c62f8 chore(deps): update cibuilds/hugo docker tag to v0.161 (#210)
unbound-site / build (push) Successful in 56s
unbound-site / deploy-prod (push) Successful in 1m27s
2026-05-02 15:12:29 +00:00
renovate 50551bec95 chore(deps): update nginx docker tag to v1.30.0 (#209)
unbound-site / build (push) Successful in 53s
unbound-site / deploy-prod (push) Successful in 1m29s
2026-04-18 23:11:45 +00:00
renovate 96e6a8ca02 chore(deps): update nginx:1.29.8-alpine docker digest to d4e09bf (#208)
unbound-site / build (push) Successful in 1m0s
unbound-site / deploy-prod (push) Successful in 1m29s
2026-04-15 23:10:19 +00:00
renovate f112b392fa chore(deps): update nginx docker tag to v1.29.8 (#207)
unbound-site / build (push) Successful in 1m1s
unbound-site / deploy-prod (push) Successful in 1m29s
2026-04-10 18:22:54 +00:00
renovate 9d122bac28 chore(deps): update cibuilds/hugo:0.160 docker digest to e0f489b (#206)
unbound-site / build (push) Successful in 58s
unbound-site / deploy-prod (push) Successful in 1m32s
2026-04-08 15:13:50 +00:00
renovate 7bb0b34fbb chore(deps): update cibuilds/hugo docker tag to v0.160 (#205)
unbound-site / build (push) Successful in 1m3s
unbound-site / deploy-prod (push) Successful in 1m31s
2026-04-07 18:18:24 +00:00
renovate 9cb5a3e7a6 chore(deps): update cibuilds/hugo:0.159 docker digest to 71e1fda (#204)
unbound-site / build (push) Successful in 1m1s
unbound-site / deploy-prod (push) Successful in 1m28s
2026-04-01 19:08:58 +00:00
renovate ec15e59428 chore(deps): update cibuilds/hugo:0.159 docker digest to 52ef681 (#203)
unbound-site / build (push) Successful in 1m5s
unbound-site / deploy-prod (push) Successful in 1m27s
2026-03-26 21:12:00 +00:00
renovate e8d3b999d6 chore(deps): update nginx docker tag to v1.29.7 (#202)
unbound-site / build (push) Successful in 1m5s
unbound-site / deploy-prod (push) Successful in 1m29s
2026-03-25 02:09:32 +00:00
renovate eb518de902 chore(deps): update cibuilds/hugo docker tag to v0.159 (#201)
unbound-site / build (push) Successful in 1m20s
unbound-site / deploy-prod (push) Successful in 1m30s
2026-03-23 19:38:14 +00:00
renovate 39246e5e6f chore(deps): update dependency @babel/preset-env to v7.29.2 (#200)
unbound-site / build (push) Successful in 56s
unbound-site / deploy-prod (push) Successful in 1m33s
2026-03-16 23:16:47 +00:00
renovate 4a386f3d49 chore(deps): update dependency core-js to v3.49.0 (#199)
unbound-site / build (push) Successful in 58s
unbound-site / deploy-prod (push) Successful in 1m28s
2026-03-16 22:16:44 +00:00
renovate 2d4800c314 chore(deps): update cibuilds/hugo docker tag to v0.158 (#198)
unbound-site / build (push) Successful in 57s
unbound-site / deploy-prod (push) Successful in 1m25s
2026-03-16 20:14:50 +00:00
renovate 82e1619ec3 chore(deps): update nginx docker tag to v1.29.6 (#197)
unbound-site / build (push) Successful in 1m42s
unbound-site / deploy-prod (push) Successful in 1m30s
2026-03-11 00:09:48 +00:00
renovate 9268190f03 chore(deps): update nginx:1.29.5-alpine docker digest to 1583242 (#196)
unbound-site / build (push) Successful in 1m3s
unbound-site / deploy-prod (push) Successful in 1m27s
2026-03-10 22:09:24 +00:00
8 changed files with 787 additions and 939 deletions

No files matched your search

+20 -6
View File
@@ -13,21 +13,35 @@ jobs:
BUILDTOOLS_CONTENT: ${{ secrets.BUILDTOOLS_CONTENT }}
GITEA_REPOSITORY: ${{ gitea.repository }}
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: buildtool/setup-buildtools-action@v1
- name: Build and push
run: unset GITEA_TOKEN && build && push
deploy-prod:
deploy-prod-frostmoln:
needs: build
if: gitea.ref == 'refs/heads/main'
runs-on: ubuntu-latest
env:
BUILDTOOLS_CONTENT: ${{ secrets.BUILDTOOLS_CONTENT }}
BUILDTOOLS_CONTENT: ${{ secrets.BUILDTOOLS_FROSTMOLN_PRODUCTION }}
GITEA_REPOSITORY: ${{ gitea.repository }}
FM_TENANT: 9ae61342-0f76-476f-8176-e46f6b0b0c32
environment: prod
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
- uses: buildtool/setup-buildtools-action@v1
- name: Deploy to production
run: deploy prod
- name: Install fm
run: |
sudo install -d -m 0755 /etc/apt/keyrings
sudo curl -fsSL -o /etc/apt/keyrings/frostmoln.gpg https://get.frostmoln.cloud/deb/frostmoln.gpg
sudo curl -fsSL -o /etc/apt/sources.list.d/frostmoln.sources https://get.frostmoln.cloud/deb/frostmoln.sources
sudo apt-get update && sudo apt-get install -y fm
- name: Deploy to Frostmoln production
env:
FROSTMOLN_API_KEY: ${{ secrets.FROSTMOLN_PRODUCTION_DEPLOY_KEY }}
# The cluster API is private: the kubeconfig's exec plugin opens an fm
# tunnel on demand. fm reads the key from its config file, not the env.
run: |
fm auth api-key set "$FROSTMOLN_API_KEY" > /dev/null
fm kubernetes cluster kubeconfig ${{ vars.FROSTMOLN_PRODUCTION_CLUSTER_ID }} --exec --file "$RUNNER_TEMP/kubeconfig"
KUBECONFIG_CONTENT="$(cat "$RUNNER_TEMP/kubeconfig")" deploy prod-frostmoln -n sites
+3 -2
View File
@@ -1,4 +1,4 @@
FROM amd64/nginx:1.29.5-alpine@sha256:251df7d28ed7958c0e810b3c4cc380d0382336fcc34e361bfb60fb73b2ec19dc as build
FROM amd64/nginx:1.31.8-alpine@sha256:74fe162437217d0f87b296bd786ff2c9bbe77e1edc15421da420ffa31a5016f1 as build
RUN apk add --update \
wget
@@ -13,7 +13,8 @@ COPY ./ /site
WORKDIR /site
RUN hugo
FROM amd64/nginx:1.29.5-alpine@sha256:251df7d28ed7958c0e810b3c4cc380d0382336fcc34e361bfb60fb73b2ec19dc
# Unprivileged (uid 101, port 8080): Frostmoln enforces restricted Pod Security.
FROM nginxinc/nginx-unprivileged:1.31.7-alpine@sha256:b5047b9b76845eac124358373c6852377c52e4b05834a47647e955dd91cb8f1e
ADD default.conf /etc/nginx/conf.d/default.conf
COPY --from=build /site/public /usr/share/nginx/html
+1 -1
View File
@@ -1,5 +1,5 @@
server {
listen 80;
listen 8080;
server_name localhost;
access_log /dev/stdout combined;
+13 -5
View File
@@ -22,6 +22,11 @@ spec:
labels:
app.kubernetes.io/name: unbound-site
spec:
securityContext:
runAsNonRoot: true
runAsUser: 101
seccompProfile:
type: RuntimeDefault
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
@@ -39,14 +44,18 @@ spec:
readinessProbe:
httpGet:
path: /health
port: 80
port: 8080
initialDelaySeconds: 5
periodSeconds: 5
timeoutSeconds: 5
imagePullPolicy: Always
image: oci.unbound.se/unboundsoftware/unbound-site:${COMMIT}
image: ${IMAGE}
ports:
- containerPort: 80
- containerPort: 8080
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: ["ALL"]
resources:
requests:
cpu: 5m
@@ -63,9 +72,8 @@ metadata:
labels:
app.kubernetes.io/name: unbound-site
spec:
type: NodePort
selector:
app.kubernetes.io/name: unbound-site
ports:
- port: 80
targetPort: 80
targetPort: 8080
@@ -1,15 +1,12 @@
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: unbound-site-ingress
name: unbound-site
annotations:
kubernetes.io/ingress.class: "alb"
alb.ingress.kubernetes.io/group.name: default
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/target-type: instance
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP": 80},{"HTTPS": 443}]'
alb.ingress.kubernetes.io/ssl-redirect: "443"
traefik.ingress.kubernetes.io/router.entrypoints: websecure
traefik.ingress.kubernetes.io/router.tls.certresolver: letsencrypt
spec:
ingressClassName: traefik
rules:
- host: "unbound.se"
http:
+1 -1
View File
@@ -2,7 +2,7 @@ version: 2.1
jobs:
build-check:
docker:
- image: cibuilds/hugo:0.157@sha256:8509a37e79c200daab3ed991fcf599e67df0690f226dc3d2db0cf84f515e20ae
- image: cibuilds/hugo:0.168@sha256:4aed25bd442a26734b2af49a05a182fa63ee31324ccc2bf196dfe4709a048550
working_directory: ~/LoveIt
steps:
- checkout
+741 -913
View File
File diff suppressed because it is too large. Load diff
+4 -4
View File
@@ -5,13 +5,13 @@
"private": true,
"dependencies": {},
"devDependencies": {
"@babel/cli": "7.28.6",
"@babel/core": "7.29.0",
"@babel/preset-env": "7.29.0",
"@babel/cli": "8.0.6",
"@babel/core": "8.0.9",
"@babel/preset-env": "8.0.7",
"babel-preset-minify": "0.5.2",
"babelify": "10.0.0",
"browserify": "17.0.1",
"core-js": "3.48.0",
"core-js": "3.51.0",
"husky": "9.1.7",
"minimist": "1.2.8",
"segmentit": "2.0.3"