Commit Graph
41 Commits
Author SHA1 Message Date
deytenit 710873e72c feat(infra): add K3s GitOps infrastructure and Packer golden image build (#25)
### Summary of Changes

This PR introduces a declarative, GitOps-managed cloud infrastructure
for the monorepo using K3s, Flux v2, and HashiCorp Packer:

1. **Packer Golden Image Builder (`ci/packer/`)**:
- Automated Debian 12 minimal base OS image creation using QEMU builder,
UEFI firmware, GPT partition scheme, and 2M cluster size `.qcow2`
conversion.
- Cloud-init, `virtio` kernel drivers, and serial console (`ttyS0`,
115200 baud).
- Pre-installed K3s binary (`v1.31.2+k3s1`) with isolated first-boot
token and cert generation.
   - Full identity sanitization (`machine-id` and SSH host key resets).

2. **First-Boot Cloud-Init Bootstrapping
(`ci/cloud-init/user-data.yaml`)**:
- Configures K3s with `servicelb` disabled and TLS SANs for custom
domains and static IP.
- Waits for API readiness, initializes `flux-system` namespace, injects
`sops-age` secret, and triggers Flux sync.

3. **SOPS & GitOps Root Orchestration (`.sops.yaml`,
`ci/k8s/clusters/production/`)**:
- SOPS encryption configuration targeting Kubernetes secrets with `age`
key recipient.
- Flux v2 `GitRepository` and `Kustomization` manifests tracking `next`.

4. **Infrastructure & Networking (`ci/k8s/base/`,
`ci/k8s/infrastructure/`)**:
   - Dedicated `com-ermnvldmr` namespace.
- `cert-manager` HTTP-01 `ClusterIssuer` (`letsencrypt-prod` &
`letsencrypt-staging`).
- Traefik Ingress routing for `ermnvldmr.com`, `www.ermnvldmr.com`,
`docs.ermnvldmr.com`, and `analytics.ermnvldmr.com`.

5. **PostgreSQL & Applications (`ci/k8s/apps/`)**:
- PostgreSQL 16 StatefulSet on 5Gi `local-path` persistent storage with
low-memory tuning.
- Deployments for `www` (pinned `sha-6d33b71`), `docs` (pinned
`sha-91f5245`), and `umami` (pinned `postgresql-v2.14.0`) with
zero-downtime rolling update strategy.

6. **CI/CD Workflows (`.github/workflows/`)**:
- `ci - next/build-golden-image`: Workflow to build and upload
`com-ermnvldmr-debian-12-k3s-amd64-<tag>.qcow2` to static S3
`/dev/images/`.
- Updated `services-www-releases-dispatch-release.yml` and
`services-docs-next-required.yml` with GitOps deployment steps.
2026-08-23 02:11:54 +03:00
deytenit 77afcca98e fix: Fix containing various changes that stacked up in a period of time (#22) 2026-08-10 09:04:39 +03:00
deytenit 1b3d7cecb2 ci: Add release rebase workflow (#21) 2026-07-12 11:38:02 +03:00
deytenit 91f5245823 fix, feat, doc: massive build system refactorion, bug fixes and apex documentation (#19) 2026-07-12 01:57:40 +03:00
deytenit f5e901c131 Add i18n build step to releases workflows (#6)
Build @ermnvldmr/i18n and include its dist in the config-artifacts
bundle for services-www-releases-required and
services-www-releases-dispatch-release workflows, matching the fix
already applied to pr/next workflows.

Made-with: Cursor
2026-03-16 00:12:02 +03:00
deytenit b84ef775b8 Various build shenenigans (#5)
This PR extends the build pipeline of the www service to support
locale-prefixed static builds (EN/RU) with build-time SSG output
injection, while also refactoring UI typography to a tokenized Tailwind
v4 @theme-driven approach.

Changes:

- Add build-time SSG plugin to @ermnvldmr/rsbuild-config and wire
multi-locale builds (/en/, /ru/) into services/www.
- Introduce new @ermnvldmr/i18n package (locale constants, path helpers,
keysets, pluralization) and apply it to www navigation/text.
- Refactor ui typography to a shared getTypographyClassNames utility +
Tailwind token definitions, with stl/cn updated for correct
Tailwind-merge behavior.
2026-03-16 00:00:20 +03:00
deytenit 7b574a1a66 ci: Add workflows for prs 2026-03-06 23:14:13 +03:00
deytenit 90e8fad496 chore: Fix lint errors in UI 2026-02-15 18:57:01 +03:00
deytenit 7fd11d2220 ci: Update release-dispatch build workflow 2026-02-15 17:55:21 +03:00
deytenit a12b03b3b5 ci: Fix lint in www && storybook build errors 2026-02-13 01:41:33 +03:00
deytenit 0534b784c6 ci: Fix vitest module resolution in CI 2026-02-13 01:21:20 +03:00
deytenit e193e75cc4 ci: Fix config artifacts download/upload 2026-02-13 00:59:34 +03:00
deytenit 9ed7409dc8 ci: Fix CI issues after rspack migration 2026-02-13 00:20:45 +03:00
deytenit 4628c043ce feat(infra): migrate to rsbuild 2026-02-12 23:39:20 +03:00
deytenit df2abc06f2 feat: Add more base component to UI 2026-02-01 16:24:45 +03:00
deytenit bbb9503172 ci: Add astro type generation in CI 2026-01-31 21:08:50 +03:00
deytenit 979d455eea ci: Add version number to RC release 2026-01-31 01:56:54 +03:00
deytenit 0e2084e2c1 ci: Add deploy to releases CI 2026-01-31 01:53:38 +03:00
deytenit 8171e69a86 ci: Make releases flow run on push 2026-01-31 01:34:41 +03:00
deytenit 13d5f11c4d ci: Fix Storybook job for www 2026-01-31 00:53:24 +03:00
deytenit 1f7c8566df ci: Optimize CI config builds 2026-01-30 23:09:09 +03:00
deytenit ff15814404 ci: Add codecov 2026-01-30 22:54:10 +03:00
deytenit fa977037d5 feat: Add services/static 2026-01-27 00:01:55 +03:00
deytenit bc87ca601e fix: Fix tailwind and type issues in www 2026-01-27 00:01:31 +03:00
deytenit 2da10d8a35 ci(docs): rename deploy job and add SSH port secret 2026-01-25 21:29:39 +03:00
deytenit 72c9d43f8c ci(docs): add deployment job using VPS secrets 2026-01-25 21:03:41 +03:00
deytenit 0d8a706af3 ci: Add release workflows for docs and www 2026-01-25 19:51:56 +03:00
deytenit 92a804755f ci: Fix CI workflows build 2026-01-25 00:39:12 +03:00
deytenit 46a2f68342 refactor: Migrate to monorepo
BREAKING CHANGE: Complete structure overhaul
2026-01-24 23:28:36 +03:00
deytenit 5300b4bae0 fix: Fix docker build action - iter. 4 2026-01-14 00:30:13 +03:00
deytenit f6ac56eb19 fix: Fix docker build action - iter. 3 2026-01-14 00:28:18 +03:00
deytenit df6069d96e fix: Fix docker build action - iter. 2 2026-01-14 00:02:51 +03:00
deytenit 0a31031965 ci: Add docker images build 2026-01-13 22:57:26 +03:00
deytenit b73d7b6e5a chore: Fix storybook coverage 2026-01-12 16:26:46 +03:00
deytenit e12d45fd18 ci: Add storybook build stage 2026-01-12 15:11:37 +03:00
deytenit 561c2868dc ci: Edit readme & add storybook test coverage 2026-01-12 14:53:02 +03:00
deytenit e380350089 feat: Add paper-kit/Button and codecov 2026-01-11 19:39:22 +03:00
deytenit 8367934b05 chore: Fix release checkout workflow 2025-05-13 00:30:09 +03:00
deytenit fd3cd84cd2 chore: Set-up release workflow 2025-05-13 00:22:21 +03:00
deytenit ce013e1183 fix: Typo in index.astro 2025-05-12 20:30:57 +03:00
houston[bot] c740630d0d feat: Initial commit 2025-05-12 20:27:28 +03:00