Commit Graph

66 Commits

Author SHA1 Message Date
Khue Doan
2cd8a249b6 refactor!: replace ZeroTier with Tailscale and Wireguard
- Tailscale UX is better, and the Headscale control server is also
  easier to self-host than ZeroTier (although Headscale is not the
  official control server, the author now works at Tailscale)
- Wireguard is also added as an alternative to avoid relying on a
  third-party service, however it requires port-forwarding
2024-04-18 20:11:18 +07:00
Khue Doan
21808e1a0f fix(kandim): upgrade to 1.1.0-rc.16
Fixes ERR_ZSTD_WINDOW_SIZE_TOO_BIG
2024-04-18 17:44:11 +07:00
Khue Doan
8d00d55eb1 refactor(argocd)!: merge bootstrap and system
This is a breaking change and requires cluster rebuild (carefully
replacing the ApplicationSets may should work but I didn't bother at the
current alpha stage):

- ApplicationSets are merged into a single root one
  to use the progressive sync feature when it's ready.
- Switched to server side apply to avoid CRDs not ready issues.

Also replace the apply script with Ansible, since the Ansible Helm
dependency update feature was released.
2024-04-17 15:21:11 +07:00
Randall Mason
27f59530d1
fix(hacks): don't use string interpolation for Gitea auth
This fails when there are some special characters in the password
2024-03-02 23:34:46 +07:00
Loc Mai
529a2651a7
fix(hacks): patch secret if existed (#131) 2024-01-21 16:47:40 +07:00
Khue Doan
f3e3fa22ec refactor: update Kanidm password reset script to reset any account
https://github.com/khuedoan/homelab/issues/130
2024-01-18 20:20:10 +07:00
Khue Doan
f51d3f95a9 feat(gitea): automatically setup Dex as authentication source
It's very ugly but it works ¯\_(ツ)_/¯
2024-01-17 01:51:43 +07:00
Khue Doan
6ebedfbe8c refactor(hacks): use wrapper function to load kube config 2024-01-16 14:15:39 +07:00
Khue Doan
b98060294d refactor!: remove Tekton
Replaced by Woodpecker CI. It turns out I don't need that much power
from Tekton's flexibility, so it's not worth the maintenance overhead
for my specific use case at home.
2024-01-15 10:55:29 +07:00
Khue Doan
69345a87c3 ci: add Helm diff step 2024-01-09 23:50:33 +07:00
Khue Doan
dcf7f5b810 fix(gitea): define scopes when creating access tokens
Required in newer versions.
2024-01-09 00:28:48 +07:00
Khue Doan
172c7c7c2b chore(gitea)!: ugrade Helm chart to v10
This is a breaking change, see https://gitea.com/gitea/helm-chart#upgrading
before upgrading to avoid losing data. Personally I have my repos saved
in many Git hosting providers so I just nuke it and reinstall.

Fixes changed files detection in pull_request event in Woodpecker.
2024-01-08 21:16:29 +07:00
Khue Doan
5bf9c03cf8 feat: install Woodpecker CI 2024-01-06 03:03:35 +07:00
Khue Doan
4673f91558 refactor(dex): remove Gitea connector
Use Kanidm instead.
2024-01-06 03:03:29 +07:00
Khue Doan
a5c8f1e9c5 feat(kanidm): add script for user onboarding 2024-01-06 02:07:58 +07:00
Khue Doan
9ff1077470 feat: automate Kanidm configuration
Just a hack for now.
2024-01-06 01:25:55 +07:00
Khue Doan
1d1ebb9fc2 feat: install Kanidm for identity management 2024-01-04 10:40:43 +07:00
Khue Doan
9f0d389abc feat!: install Cilium
Installed using Ansible instead of ArgoCD because Cilium replaces
the default CNI, so ArgoCD pod cannot be scheduled before Cilium
is installed.
2023-12-22 00:31:16 +07:00
Khue Doan
093cc0d713 chore: remove reference to Vault in docs and scripts 2023-11-26 16:27:11 +07:00
Khue Doan
ca6a82737c refactor!: update post install script to write to k8s secret instead of Vault 2023-11-26 16:12:25 +07:00
Khue Doan
97d3fbc0eb refactor!: make secret generator write to k8s Secrets instead of Vault 2023-11-26 16:11:50 +07:00
Khue Doan
a5ecaafe50 refactor(metallb)!: use CRD instead of ConfigMap
Deprecated https://metallb.universe.tf/configuration/migration_to_crds
2023-05-19 11:54:07 +07:00
Khue Doan
d3de308e54 fix: URL encode Gitea password 2023-02-22 18:33:48 +07:00
Khue Doan
272d13c2e4 ci: rename .tekton to .ci 2022-10-15 13:24:08 +07:00
Khue Doan
a5a6db14b6 refactor: replace wait-main-apps script with Terratest test cases 2022-10-03 12:52:27 +07:00
Khue Doan
adbaf32aa5 refactor(tools): switch to Nix
- Nix is more reproducible (pinned to a specific hash)
- Faster rebuild after changing the package list (due to /nix caching in volume)
- Users can still use make tools (wrapped in Docker) without installing Nix
- Using nix-shell will work if you have nix installed.
2022-08-26 19:08:52 +07:00
Khue Doan
5c004b47f4 feat(scripts): print warnings when getting admin credentials 2022-07-26 01:23:38 +07:00
Khue Doan
db1ba14e78 refactor: add Gitea and Vault to main apps list 2022-07-24 00:01:36 +07:00
Khue Doan
2b7fb0fb73 feat: get credentials automatically in post install script 2022-07-23 23:59:29 +07:00
Khue Doan
2115030a90 style: fix shellcheck 2022-07-21 01:58:00 +07:00
Khue Doan
c3f4433a1a feat: add script to setup Gitea tokens and OAuth apps 2022-07-18 03:56:05 +07:00
Khue Doan
cd41343580
refactor(docs): migrate to mkdocs (#68)
* refactor(docs): migrate to mkdocs

* More markdown

* Admonitions
2022-07-06 12:33:35 +07:00
Khue Doan
e0a3f374e3 feat(scripts): get Vault root token 2022-05-12 12:12:45 +07:00
Khue Doan
166c1a93e3 refactor(configure)!: set configure as a make target 2022-03-14 23:37:56 +07:00
Khue Doan
df7eafe801 style(scripts): add some colors when wait for main apps 2022-03-14 22:37:02 +07:00
Khue Doan
3f9e422975 refactor(scripts): clean up wait main apps script 2022-03-14 20:33:11 +07:00
Khue Doan
cc81d4786c style(scripts): rename ingress variable 2022-03-14 02:51:03 +07:00
Khue Doan
e054f2001f feat(scripts): also wait for Ingress objects 2022-03-14 02:42:23 +07:00
Khue Doan
44c63b3caa feat(scripts): retry when wait for main apps and nicer status 2022-03-14 02:30:00 +07:00
Khue Doan
c4a7cc4737 refactor(scripts): remove unused argocd login script 2022-03-12 11:49:11 +07:00
Khue Doan
ebc1b98c42 refactor(scripts): ignore certificates when wait main apps 2022-03-12 10:50:16 +07:00
Khue Doan
441b2e6ea2 feat(scripts): view logs of PXE containers selectively 2022-02-21 01:48:27 +07:00
Khue Doan
368535f41c refactor: rewrite configure script in pure Python
https://github.com/khuedoan/homelab/issues/30
2022-02-20 20:46:30 +07:00
Loc Mai
7277a46eff
fix(scripts): add .tekton to replace domain list (#19) 2022-01-23 08:10:13 +07:00
Khue Doan
66d84c274d refactor(scripts): only replace repo and domain where needed 2022-01-16 21:57:10 +07:00
Khue Doan
d37e1fd043 feat(scripts): take screenshots (WIP) 2022-01-14 17:03:29 +07:00
Khue Doan
6038b9fa9e refactor(scripts): combine wait apps and ingresses 2022-01-13 23:48:01 +07:00
Khue Doan
81568a3fcb feat(scripts): add script to wait for some main services 2022-01-13 23:22:16 +07:00
Khue Doan
5de50cd42d style: Ansible lint 2021-12-26 12:12:36 +07:00
Khue Doan
210cc1efa0 feat(scripts): add script to show homelab status 2021-12-05 08:56:18 +07:00