Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/acelinkio/argocd-homelab

GitOps driven homelab using ArgoCD
https://github.com/acelinkio/argocd-homelab

argocd homelab infrastructure-as-code kubernetes

Last synced: 3 months ago
JSON representation

GitOps driven homelab using ArgoCD

Awesome Lists containing this project

README

        

# Overview

GitOps driven homelab using ArgoCD with a flat repository structure.

# Project Structure

```
.
├── .github/ # Github related files
│ └── renovate.json5 # RenovateBot configuration
├── .vscode/ # Visual Studio Code configs
│ ├── extensions.json # Extension recomendations
│ └── settings.json # Project specific settings
├── docs/ # Documentation
│ ├── faq.md # Frequently Asked Questions
│ ├── netowrk.md # Networking details
│ └── setup.md # Installation steps
├── manifest/ # Watched by ArgoCD ApplicationSet
│ └── $namespace.yaml # Per namespace, App of Apps
├── .gitignore # Ignored files list
└── README.md # This file
```

# ArgoCD Structure
An ApplicationSet dynamically generates an Applications for each yaml file inside of the manifest directory. That Application is AppOfApps, mirroring the filename that it was generated from. That AppOfApps may contain child Application resources for deploying Helm charts.

Logical
Rendered Example


```mermaid
erDiagram
ApplicationSet ||--|{ AppOfApps : "each manifest/*.yaml generates"
AppOfApps ||--o{ Application : "may contain additional"
```

```mermaid
flowchart TD
A[ApplicationSet] -----> B(kube-system.yaml)
B -----> D[coredns]
B -----> E[cilium]
B -----> F[metrics-server]
```

# Docs
* [application](docs/application.md)
* [faq](docs/faq.md)
* [network](docs/network.md)
* [secret](docs/secret.md)
* [setup](docs/setup.md)