This repository should be configured as a Target for fluxcd
The basic elements are
- A GitRepository pointing at this
- A Kustomization pointing at the cluster root folder. (It will read the kustomization.yaml and then follow resources from there. )
Example required to get it applied.
apiVersion: source.toolkit.fluxcd.io/v1
kind: GitRepository
metadata:
name: home-flux
spec:
interval: 5m0s
ref:
branch: master
url: https://github.com/bl-robinson/home-flux.git
secretRef:
name: git-token
---
apiVersion: kustomize.toolkit.fluxcd.io/v1
kind: Kustomization
metadata:
name: home-flux
namespace: flux-system
spec:
interval: 10m
sourceRef:
kind: GitRepository
name: home-flux
path: "./clusters/home/"
prune: true
timeout: 1m
I have actively chosen to split independent 'Applications' into their own Kustomizations to allow...
- One being broken will not block others
- I can easily remove/add sections of this repo by just commenting them out in the root kustomization.yaml
- I would like to stop using a nginx proxy server when the "Gateway" Should be able to handle it for me.
- Problems here are...
- Some things (unifi) expect to be spoken to https so HTTPRoutes don't work. Cillium does not yet support TCPRoutes so I can't use the method documented here.
- Other things shared ports and NEED TCP/UDP routing (Adguard / DNS / mail)
- Container registry. 'Could' be done but would required a secondary 'TLS termination' listener with specific host config But this feels wrong to configure in place here when everything else is done in the container-registry folder.
- Problems here are...
- DNS is a forever problem which would be nice if I could find a solution for it... (maybe I manage public DNS in IaC then stop running a local DNS server?) (Is this possible with my provider)
- Applications missing...
- Monitoring - This mostly works now...
- Logging - This is setup! Works with a combination of the logging operator and loki
- Immich - This really is going to demand a better persistent store solution... I have worked around the immediate requirement by tidying up my G-Cloud storage a bit.
- Home Assistant? - Not really been used recently so can probably not worry about until I have a future need...
- mailserver - I have a year of AWS free tier... so going to leave it there "for now" until I consider moving it back...
- Data server
- This really should not be another VM. Invest in a proper fileserver at some point.
- Sometimes adding new HTTPRoutes does not work...
- They are accepted by the API... But... Cillium does not "Accept" them.
- If the HTTPRoute does not have a Status "Accepted HTTPRoute" try restarting cillium deployments/daemonsets. (I have not worked out exactly what made this work yet.)