Skip to content

Commit

Permalink
Merge main into renovate/nvidia-cuda-12.x
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] authored Sep 3, 2024
2 parents f9e8651 + 0f371c8 commit d61a8f7
Show file tree
Hide file tree
Showing 522 changed files with 3,434 additions and 12,999 deletions.
File renamed without changes.
14 changes: 14 additions & 0 deletions .github/workflows/gitleaks.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Gitleaks
on: [pull_request]

jobs:
scan:
name: gitleaks
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: gitleaks/gitleaks-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
6 changes: 0 additions & 6 deletions .github/workflows/linters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,3 @@ jobs:
with:
config_file: .yamllint
- run: echo ${{ steps.yaml-lint.outputs.logfile }}
markdown-link-check:
name: Check for broken URIs on README
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: gaurav-nelson/github-action-markdown-link-check@v1
File renamed without changes.
118 changes: 45 additions & 73 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,6 @@

<h3 align="center">Homelab</h3>

<p align="center">
<sub>Gitops managed k3s cluster</sub>
</p>

<p align="center">
<img src="https://img.shields.io/github/last-commit/gruberdev/homelab?color=black&labelColor=black&label=last%20commit&logo=github&logoColor=cyan&style=flat-square">
Expand All @@ -28,7 +25,6 @@
> | [ArgoCD][argocd-uri] | `Git` | <sub>[More details][homelab-argocd]</sub> | ![][argocd-core] | ![][argo-badge] |
> | [CertManager][service-certmanager] | `Networking` | <sub>[More details][homelab-certmanager]</sub> | ![][argocd-certmanager] | ![][certmanager-badge] |
> | [Changedetection.io][change-uri] | `Services` | <sub>[More details][homelab-change]</sub> | ![][argocd-change] | ![][change-badge] |
> | [Crossplane][crossplane-uri] | `GitOps` | <sub>[More details][homelab-crossplane]</sub> | ![][argocd-crossplane] | ![][crossplane-badge] |
> | [External-DNS][service-externaldns] | `Networking` | <sub>[More details][homelab-externaldns]</sub> | ![][argocd-externaldns] | ![][externaldns-badge] |
> | [Hashicorp's Vault][vault-uri] | `Security` | <sub>[Chart values][homelab-vault]</sub> | ![][argocd-vault] | ![][vault-badge] |
> | [Home Assistant][service-ha] | `Smart Home` | <sub>[More details][homelab-ha]</sub> | ![][argocd-ha] | ![][ha-badge] |
Expand All @@ -38,11 +34,8 @@
> | [n8n][n8n-uri] | `Services` | <sub>[More details][homelab-n8n]</sub> | ![][argocd-n8n] | ![][n8n-badge] |
> | [Redis Operator][redis-uri] | `Databases` | <sub>[More details][homelab-redis]</sub> | ![][argocd-redis] | ![][redis-badge] |
> | [Unifi Controller][unifi-uri] | `Networking` | <sub>[More details][homelab-unifi]</sub> | ![][argocd-unifi] | ![][unifi-badge] |
> | [Unifi Poller][poller-uri] | `Monitoring` | <sub>[More details][homelab-poller]</sub> | ![][argocd-poller] | ![][poller-badge] |
> | [Uptime Kuma][kuma-uri] | `Monitoring` | <sub>[More details][homelab-kuma]</sub> | ![][argocd-kuma] | ![][kuma-badge] |
> | [Wyze API Bridge][service-wyze] | `Smart Home` | <sub>[More details][homelab-wyze]</sub> | ![][argocd-wyze] | ![][wyze-badge] |
> | [Tailscale-operator][tail-uri] | `Networking` | <sub>[More details][homelab-tailscale]</sub> | ![][argocd-tailscale] |![][tailscale-badge] |
> | [Cloudflared <sub>(as proxies)</sub>][cf-uri] | `Networking` | <sub>[More details][homelab-cloudflared]</sub> | | ![][cfd-badge] |
<!-- >
> | [<sub>Zalando PostgreSQL Operator</sub>][p-uri] | `Databases` | <sub>[More details][homelab-zalando]</sub> | ![][argocd-zalando] | ![][zalando-badge] |
Expand All @@ -67,24 +60,6 @@
> | <sub>[ChatGPT Retrieval Plugin][service-p-chatgpt]</sub> | `Services` | <sub>[More details][homelab-p-chatgpt]</sub> | ![][argocd-p-chatgpt] | ![][chatgpt-p-badge] |
> | [<sub>MongoDB Community Operator</sub>][service-mongo] | `Databases` | <sub>[More details][homelab-mongo]</sub> | ![][argocd-mongo] | ![][mongo-badge] |
#### Matrix-related
> | **Name** | **Info** | **Kind** | **Deployment Status**| **Latest Semver** |
> |:-----------------------:|:------------------:|:--------:|:-----------------:|:---------------------:|
> | Elements | | `Client` | | |
> | mautrix-slack | | `Bridge` | | |
> | matrix-discord-bridge | | `Bridge` | | |
> | mautrix-facebook | | `Bridge` | | |
> | mautrix-whatsapp | | `Bridge` | | |
> | mautrix-telegram | | `Bridge` | | |
> | mautrix-signal | | `Bridge` | | |
> | mautrix-instagram | | `Bridge` | | |
> | mautrix-puppet-hangouts | | `Bridge` | | |
> | mautrix-twitter | | `Bridge` | | |
> | go-skype-bridge | | `Bridge` | | |
> | mx-puppet-steam | | `Bridge` | | |
> | linkedin-bridge | | `Bridge` | | |
<-->

---
Expand Down Expand Up @@ -229,8 +204,6 @@
[homelab-kubevip]: https://github.com/gruberdev/homelab/tree/main/apps/networking/kube-vip
[homelab-rssgen]: https://github.com/gruberdev/homelab/tree/main/apps/services/rss/gen
[homelab-chatgpt]: https://github.com/gruberdev/homelab/tree/main/apps/services/chatgpt/discord-bot
[homelab-p-chatgpt]: https://github.com/gruberdev/homelab/tree/main/apps/services/chatgpt/memory-plugin
[homelab-milvus]: https://github.com/gruberdev/homelab/blob/main/apps/argocd/base/mlops/milvus.yaml
[homelab-sonarr]: https://github.com/gruberdev/homelab/tree/main/apps/services/media/sonarr
[homelab-prowlarr]: https://github.com/gruberdev/homelab/tree/main/apps/services/media/prowlarr
[homelab-rsshub]: https://github.com/gruberdev/homelab/tree/main/apps/services/rss/hub
Expand All @@ -247,52 +220,51 @@

<!-- ArgoCD Status Badges -->

[argocd-kube]: https://argo.gruber.dev.br/api/badge?name=kube-prometheus
[argocd-nvidia]: https://argo.gruber.dev.br/api/badge?name=nvidia
[argocd-nfs]: https://argo.gruber.dev.br/api/badge?name=nfs-provisioner
[argocd-crossplane]: https://argo.gruber.dev.br/api/badge?name=crossplane
[argocd-ha]: https://argo.gruber.dev.br/api/badge?name=homeassistant
[argocd-democratic-csi]: https://argo.gruber.dev.br/api/badge?name=longhorn
[argocd-kuma]: https://argo.gruber.dev.br/api/badge?name=uptime-kuma
[argocd-grocy]: https://argo.gruber.dev.br/api/badge?name=grocy
[argocd-adguard]:https://argo.gruber.dev.br/api/badge?name=adguard
[argocd-unifi-controller]: https://argo.gruber.dev.br/api/badge?name=unifi-controller
[argocd-core]: https://argo.gruber.dev.br/api/badge?name=argocd
[argocd-n8n]: https://argo.gruber.dev.br/api/badge?name=n8n-service
[argocd-vault]: https://argo.gruber.dev.br/api/badge?name=vault
[argocd-ha]: https://argo.gruber.dev.br/api/badge?name=homeassistant
[argocd-wyze]: https://argo.gruber.dev.br/api/badge?name=wyze
[argocd-redis]: https://argo.gruber.dev.br/api/badge?name=redis
[argocd-matrix]: https://argo.gruber.dev.br/api/badge?name=synapse
[argocd-mysql]: https://argo.gruber.dev.br/api/badge?name=mysql-operator
[argocd-changedetection]: https://argo.gruber.dev.br/api/badge?name=changedetection
[argocd-tailscale]: https://argo.gruber.dev.br/api/badge?name=tailscale
[argocd-chatgpt]: https://argo.gruber.dev.br/api/badge?name=discord-bot-gpt
[argocd-gitea]: https://argo.gruber.dev.br/api/badge?name=gitea
[argocd-p-chatgpt]: https://argo.gruber.dev.br/api/badge?name=memory-plugin-gpt
[argocd-milvus]: https://argo.gruber.dev.br/api/badge?name=milvus-operator
[argocd-mongo]: https://argo.gruber.dev.br/api/badge?name=mongodb-operator
[argocd-wavy]: https://argo.gruber.dev.br/api/badge?name=wavy
[argocd-poller]: https://argo.gruber.dev.br/api/badge?name=unifi-poller
[argocd-rss-gen]: https://argo.gruber.dev.br/api/badge?name=rss-gen
[argocd-rss-hub]: https://argo.gruber.dev.br/api/badge?name=rss-hub
[argocd-feedpushr]: https://argo.gruber.dev.br/api/badge?name=feedpushr
[argocd-change]: https://argo.gruber.dev.br/api/badge?name=changedetection
[argocd-beets]: https://argo.gruber.dev.br/api/badge?name=beets
[argocd-lidarr]: https://argo.gruber.dev.br/api/badge?name=lidarr
[argocd-metabase]: https://argo.gruber.dev.br/api/badge?name=metabase
[argocd-kubevip]: https://argo.gruber.dev.br/api/badge?name=kube-vip
[argocd-prowlarr]: https://argo.gruber.dev.br/api/badge?name=prowlarr
[argocd-sonarr]: https://argo.gruber.dev.br/api/badge?name=sonarr
[argocd-jellyfin]: https://argo.gruber.dev.br/api/badge?name=jellyfin
[argocd-wallabag]: https://argo.gruber.dev.br/api/badge?name=wallabag
[argocd-crossplane]: https://argo.gruber.dev.br/api/badge?name=crossplane
[argocd-tailscale]: https://argo.gruber.dev.br/api/badge?name=tailscale-operator
[argocd-agones]: https://argo.gruber.dev.br/api/badge?name=agones
[argocd-gpu-exporter]: https://argo.gruber.dev.br/api/badge?name=nvidia-exporter
[argocd-externaldns]: https://argo.gruber.dev.br/api/badge?name=external-dns-cloudflare
[argocd-certmanager]: https://argo.gruber.dev.br/api/badge?name=certmanager
[argocd-unifi]: https://argo.gruber.dev.br/api/badge?name=unifi-controller
[argocd-kube]: https://argo.raptor-beta.ts.net/api/badge?name=kube-prometheus
[argocd-nvidia]: https://argo.raptor-beta.ts.net/api/badge?name=nvidia
[argocd-nfs]: https://argo.raptor-beta.ts.net/api/badge?name=nfs-provisioner
[argocd-crossplane]: https://argo.raptor-beta.ts.net/api/badge?name=crossplane
[argocd-ha]: https://argo.raptor-beta.ts.net/api/badge?name=homeassistant
[argocd-kuma]: https://argo.raptor-beta.ts.net/api/badge?name=uptime-kuma
[argocd-grocy]: https://argo.raptor-beta.ts.net/api/badge?name=grocy
[argocd-adguard]:https://argo.raptor-beta.ts.net/api/badge?name=adguard
[argocd-unifi-controller]: https://argo.raptor-beta.ts.net/api/badge?name=unifi-controller
[argocd-core]: https://argo.raptor-beta.ts.net/api/badge?name=argocd
[argocd-n8n]: https://argo.raptor-beta.ts.net/api/badge?name=n8n-service
[argocd-vault]: https://argo.raptor-beta.ts.net/api/badge?name=vault
[argocd-ha]: https://argo.raptor-beta.ts.net/api/badge?name=homeassistant
[argocd-wyze]: https://argo.raptor-beta.ts.net/api/badge?name=wyze
[argocd-redis]: https://argo.raptor-beta.ts.net/api/badge?name=redis
[argocd-matrix]: https://argo.raptor-beta.ts.net/api/badge?name=synapse
[argocd-mysql]: https://argo.raptor-beta.ts.net/api/badge?name=mysql-operator
[argocd-changedetection]: https://argo.raptor-beta.ts.net/api/badge?name=changedetection
[argocd-tailscale]: https://argo.raptor-beta.ts.net/api/badge?name=tailscale-operator
[argocd-chatgpt]: https://argo.raptor-beta.ts.net/api/badge?name=discord-bot-gpt
[argocd-gitea]: https://argo.raptor-beta.ts.net/api/badge?name=gitea
[argocd-p-chatgpt]: https://argo.raptor-beta.ts.net/api/badge?name=memory-plugin-gpt
[argocd-milvus]: https://argo.raptor-beta.ts.net/api/badge?name=milvus-operator
[argocd-mongo]: https://argo.raptor-beta.ts.net/api/badge?name=mongodb-operator
[argocd-wavy]: https://argo.raptor-beta.ts.net/api/badge?name=wavy
[argocd-poller]: https://argo.raptor-beta.ts.net/api/badge?name=unifi-poller
[argocd-rss-gen]: https://argo.raptor-beta.ts.net/api/badge?name=rss-gen
[argocd-rss-hub]: https://argo.raptor-beta.ts.net/api/badge?name=rss-hub
[argocd-feedpushr]: https://argo.raptor-beta.ts.net/api/badge?name=feedpushr
[argocd-change]: https://argo.raptor-beta.ts.net/api/badge?name=changedetection
[argocd-beets]: https://argo.raptor-beta.ts.net/api/badge?name=beets
[argocd-lidarr]: https://argo.raptor-beta.ts.net/api/badge?name=lidarr
[argocd-metabase]: https://argo.raptor-beta.ts.net/api/badge?name=metabase
[argocd-kubevip]: https://argo.raptor-beta.ts.net/api/badge?name=kubevip
[argocd-prowlarr]: https://argo.raptor-beta.ts.net/api/badge?name=prowlarr
[argocd-sonarr]: https://argo.raptor-beta.ts.net/api/badge?name=sonarr
[argocd-jellyfin]: https://argo.raptor-beta.ts.net/api/badge?name=jellyfin
[argocd-wallabag]: https://argo.raptor-beta.ts.net/api/badge?name=wallabag
[argocd-crossplane]: https://argo.raptor-beta.ts.net/api/badge?name=crossplane
[argocd-tailscale]: https://argo.raptor-beta.ts.net/api/badge?name=tailscale-operator
[argocd-agones]: https://argo.raptor-beta.ts.net/api/badge?name=agones
[argocd-gpu-exporter]: https://argo.raptor-beta.ts.net/api/badge?name=nvidia-exporter
[argocd-externaldns]: https://argo.raptor-beta.ts.net/api/badge?name=external-dns-cloudflare
[argocd-certmanager]: https://argo.raptor-beta.ts.net/api/badge?name=certmanager
[argocd-unifi]: https://argo.raptor-beta.ts.net/api/badge?name=unifi-controller

<!-- Badge Images -->

Expand Down
10 changes: 5 additions & 5 deletions apps/argocd/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@

ARG HELM_VERSION=3.12.3
ARG ALPINE_VERSION=3.18.3
ARG ARGOCD_VERSION=2.8.3
ARG VAULT_PLUGIN_VERSION=1.16.1
ARG HELM_VERSION=3.15.2
ARG ALPINE_VERSION=3.20.1
ARG ARGOCD_VERSION=2.11.3
ARG VAULT_PLUGIN_VERSION=1.18.1

FROM alpine/helm:${HELM_VERSION} as helm
FROM alpine:${ALPINE_VERSION} as temp
Expand All @@ -19,7 +19,7 @@ USER root

RUN apt-get update && \
apt-get install -y \
curl && \
curl && \
apt-get clean && \
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

Expand Down
66 changes: 38 additions & 28 deletions apps/argocd/README.md
Original file line number Diff line number Diff line change
@@ -1,38 +1,48 @@
<p align="center">
<img width="350" height="250" src="https://raw.githubusercontent.com/gruberdev/homelab/main/docs/assets/logos/argo.svg" />
<br />
<img src="https://img.shields.io/github/v/release/argoproj/argo-cd?label=Latest%20Version&logo=github&style=for-the-badge" />
</p>
<p align="center">
<img width="350" height="250" src="https://raw.githubusercontent.com/gruberdev/homelab/main/docs/assets/logos/argo.svg" />
<br />
<br />
<img src="https://img.shields.io/github/v/release/argoproj/argo-cd?label=Release&logo=github&style=for-the-badge" /> <br/> <a href="https://argo.raptor-beta.ts.net/applications/argocd">
<img src="https://argo.raptor-beta.ts.net/api/badge?name=argocd&revision=true" alt="ArgoCD Status Badge" /></a>
</p>

### Description
### Description

> ArgoCD is a continuous delivery tool for Kubernetes that helps you keep your applications in sync with the desired state that you have defined in git. It uses a declarative configuration file to specify the desired state of your applications, and it continuously monitors the live state of your applications to ensure that they match the desired state.
>
> With ArgoCD, you can easily manage and automate the deployment of your applications, making it easy to keep your applications up-to-date and consistent across different environments.
> ArgoCD is a continuous delivery tool for Kubernetes that helps you keep your applications in sync with the desired state that you have defined in git. It uses a declarative configuration file to specify the desired state of your applications, and it continuously monitors the live state of your applications to ensure that they match the desired state.
>
> With ArgoCD, you can easily manage and automate the deployment of your applications, making it easy to keep your applications up-to-date and consistent across different environments.
### Reasons I chose ArgoCD over Flux
### Reasons I chose ArgoCD over Flux

> - ArgoCD features a user-friendly web-based User Interface (UI) designed to facilitate the viewing and management of application states, promoting efficient team collaboration.
> - It implements fine-grained permission control, extending access rights to both internal and external resources within its control plane, offering enhanced security and resource management.
> - The provision of an Application Programming Interface (API) in ArgoCD allows for seamless integration with various tools and systems. This enhances workflow automation capabilities in continuous delivery and fosters interoperability with other Argo-branded tools.
> - The synchronization capabilities of ArgoCD include comprehensive health checks, ensuring reliable data reporting for application deployment status. Compared to FluxCD, ArgoCD's self-healing features are more extensive. It should be noted that FluxCD's sync hooks are limited to supporting Helm charts exclusively.
>
> **In summary, ArgoCD presents a comprehensive and feature-intensive solution for the management and automation of Kubernetes-based application deployments.**
> - ArgoCD features a user-friendly web-based User Interface (UI) designed to facilitate the viewing and management of application states, promoting efficient team collaboration.
> - It implements fine-grained permission control, extending access rights to both internal and external resources within its control plane, offering enhanced security and resource management.
> - The provision of an Application Programming Interface (API) in ArgoCD allows for seamless integration with various tools and systems. This enhances workflow automation capabilities in continuous delivery and fosters interoperability with other Argo-branded tools.
> - The synchronization capabilities of ArgoCD include comprehensive health checks, ensuring reliable data reporting for application deployment status. Compared to FluxCD, ArgoCD's self-healing features are more extensive. It should be noted that FluxCD's sync hooks are limited to supporting Helm charts exclusively.
>
> **In summary, ArgoCD presents a comprehensive and feature-intensive solution for the management and automation of Kubernetes-based application deployments.**
&nbsp;
&nbsp;

### Relevant Links
### Relevant Links

- [Website][website-uri]
- [Official Documentation][docs-uri]
- [Awesome ArgoCD][awesome-uri]
- [Website][website-uri]
- [Official Documentation][docs-uri]
- [Awesome ArgoCD][awesome-uri]

### Instructions for deployment
### Instructions for deployment

```bash
task argocd:install
```
```bash
task argocd:install
# Or
kubectl apply -k github.com/gruberdev/homelab/apps/argocd
```

[website-uri]: https://argoproj.github.io/cd/
[docs-uri]: https://argo-cd.readthedocs.io/en/stable/
[awesome-uri]: https://github.com/terrytangyuan/awesome-argo
## Important notes

- I am currently integrating Vault with ArgoCD to manage my secrets.
- Presently, it operates in non-HA mode, but I plan to transition to HA mode in the future.
- This is a self-managed instance, where all modifications, including updates to its versioning and configurations for the app-of-apps projects, are handled via GitOps.

[website-uri]: https://argoproj.github.io/cd/
[docs-uri]: https://argo-cd.readthedocs.io/en/stable/
[awesome-uri]: https://github.com/terrytangyuan/awesome-argo
2 changes: 1 addition & 1 deletion apps/argocd/base/core/private.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ metadata:
spec:
project: core
source:
repoURL: 'https://github.com/gruberdev/private.git'
repoURL: 'https://github.com/gruberdev/homelab.git'
path: meta
targetRevision: main
destination:
Expand Down
Loading

0 comments on commit d61a8f7

Please sign in to comment.