Merge remote-tracking branch 'origin/main'
This commit is contained in:
commit
3439c614d7
65 changed files with 1185 additions and 0 deletions
27
apps/README.md
Normal file
27
apps/README.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# Apps
|
||||
This directory contains all of the applications you installed by using:
|
||||
```bash
|
||||
argocd-autopilot app create <APP_NAME> --app <APP_SPECIFIER> -p <PROJECT_NAME>
|
||||
```
|
||||
|
||||
## Application Types
|
||||
> If you don't specify the application `--type` argocd-autopilot will try to clone the source repository and infer the application type [automatically](https://argoproj.github.io/argo-cd/user-guide/tool_detection/#tool-detection)
|
||||
|
||||
* ### Directory application
|
||||
Such an application references a specific directory at a given repo URL, path and revision. It will be persisted in the GitOps Repository as a single file at `apps/<APP_NAME>/<PROJECT_NAME>/config.json`.
|
||||
#### Example:
|
||||
```bash
|
||||
argocd-autopilot app create dir-example --app github.com/argoproj-labs/argocd-autopilot/examples/demo-dir/ -p <PROJECT_NAME> --type dir
|
||||
```
|
||||
|
||||
* ### Kustomize application
|
||||
A Kustomize application will have <u>exactly one</u>: `apps/<APP_NAME>/base/kustomization.yaml` file, and one or more `apps/<APP_NAME>/overlays/<PROJECT_NAME>/` folders.
|
||||
|
||||
The `apps/<APP_NAME>/base/kustomization.yaml` file is created the first time you create the application. The `apps/<APP_NAME>/overlays/<PROJECT_NAME>/` folder is created for each project you install this application on. So all overlays of the same application are using the same base `kustomization.yaml`.
|
||||
#### Example:
|
||||
Try running the following command:
|
||||
```bash
|
||||
argocd-autopilot app create hello-world --app github.com/argoproj-labs/argocd-autopilot/examples/demo-app/ -p <PROJECT_NAME> --type kustomize
|
||||
```
|
||||
|
||||
###### * If you did not create a project yet take a look at: [creating a project](https://argocd-autopilot.readthedocs.io/en/stable/Getting-Started/#add-a-project-and-an-application).
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
apiVersion: v2
|
||||
name: gethomepage
|
||||
version: 0.0.1
|
||||
type: application
|
||||
dependencies:
|
||||
- name: homepage
|
||||
version: 1.2.3
|
||||
repository: https://jameswynn.github.io/helm-charts
|
||||
sources:
|
||||
- https://github.com/jameswynn/helm-charts
|
||||
61
apps/gethomepage/base/configmap.yaml
Normal file
61
apps/gethomepage/base/configmap.yaml
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: homepage
|
||||
labels:
|
||||
app.kubernetes.io/name: homepage
|
||||
app.kubernetes.io/instance: homepage
|
||||
app.kubernetes.io/version: "v0.6.10"
|
||||
|
||||
data:
|
||||
bookmarks.yaml: |
|
||||
- Developer:
|
||||
- Github:
|
||||
- abbr: GH
|
||||
href: https://github.com/
|
||||
docker.yaml: ""
|
||||
kubernetes.yaml: |
|
||||
mode: cluster
|
||||
services.yaml: |
|
||||
layout:
|
||||
Files:
|
||||
Media:
|
||||
Games:
|
||||
Manage Homelab:
|
||||
Manage Media:
|
||||
settings.yaml: |
|
||||
layout:
|
||||
Games:
|
||||
columns: 4
|
||||
style: row
|
||||
Manage Library:
|
||||
columns: 4
|
||||
style: row
|
||||
Files:
|
||||
Manage Homelab:
|
||||
Media:
|
||||
columns: 4
|
||||
style: row
|
||||
widgets.yaml: |
|
||||
- datetime:
|
||||
format:
|
||||
dateStyle: long
|
||||
hour12: true
|
||||
timeStyle: short
|
||||
text_size: xl
|
||||
- kubernetes:
|
||||
cluster:
|
||||
cpu: true
|
||||
label: cluster
|
||||
memory: true
|
||||
show: true
|
||||
showLabel: true
|
||||
nodes:
|
||||
cpu: true
|
||||
memory: true
|
||||
show: true
|
||||
showLabel: true
|
||||
- search:
|
||||
provider: duckduckgo
|
||||
target: _blank
|
||||
84
apps/gethomepage/base/deployment.yaml
Normal file
84
apps/gethomepage/base/deployment.yaml
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
---
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: homepage
|
||||
labels:
|
||||
app.kubernetes.io/instance: homepage
|
||||
app.kubernetes.io/name: homepage
|
||||
app.kubernetes.io/version: v0.6.10
|
||||
spec:
|
||||
revisionHistoryLimit: 3
|
||||
replicas: 1
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
selector:
|
||||
matchLabels:
|
||||
app.kubernetes.io/name: homepage
|
||||
app.kubernetes.io/instance: homepage
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
app.kubernetes.io/name: homepage
|
||||
app.kubernetes.io/instance: homepage
|
||||
spec:
|
||||
serviceAccountName: homepage
|
||||
automountServiceAccountToken: true
|
||||
dnsPolicy: ClusterFirst
|
||||
enableServiceLinks: true
|
||||
containers:
|
||||
- name: homepage
|
||||
image: "ghcr.io/benphelps/homepage:v0.6.10"
|
||||
imagePullPolicy:
|
||||
ports:
|
||||
- name: http
|
||||
containerPort: 3000
|
||||
protocol: TCP
|
||||
volumeMounts:
|
||||
- name: homepage-config
|
||||
subPath: bookmarks.yaml
|
||||
mountPath: /app/config/bookmarks.yaml
|
||||
- name: homepage-config
|
||||
subPath: docker.yaml
|
||||
mountPath: /app/config/docker.yaml
|
||||
- name: homepage-config
|
||||
subPath: kubernetes.yaml
|
||||
mountPath: /app/config/kubernetes.yaml
|
||||
- name: homepage-config
|
||||
subPath: services.yaml
|
||||
mountPath: /app/config/services.yaml
|
||||
- name: homepage-config
|
||||
subPath: settings.yaml
|
||||
mountPath: /app/config/settings.yaml
|
||||
- name: homepage-config
|
||||
subPath: widgets.yaml
|
||||
mountPath: /app/config/widgets.yaml
|
||||
- name: logs
|
||||
mountPath: /app/config/logs
|
||||
livenessProbe:
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 0
|
||||
periodSeconds: 10
|
||||
tcpSocket:
|
||||
port: 3000
|
||||
timeoutSeconds: 1
|
||||
readinessProbe:
|
||||
failureThreshold: 3
|
||||
initialDelaySeconds: 0
|
||||
periodSeconds: 10
|
||||
tcpSocket:
|
||||
port: 3000
|
||||
timeoutSeconds: 1
|
||||
startupProbe:
|
||||
failureThreshold: 30
|
||||
initialDelaySeconds: 0
|
||||
periodSeconds: 5
|
||||
tcpSocket:
|
||||
port: 3000
|
||||
timeoutSeconds: 1
|
||||
volumes:
|
||||
- name: homepage-config
|
||||
configMap:
|
||||
name: homepage
|
||||
- name: logs
|
||||
emptyDir: {}
|
||||
|
Before Width: | Height: | Size: 114 KiB After Width: | Height: | Size: 114 KiB |
26
apps/gethomepage/base/ingress.yaml
Normal file
26
apps/gethomepage/base/ingress.yaml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
---
|
||||
apiVersion: networking.k8s.io/v1
|
||||
kind: Ingress
|
||||
metadata:
|
||||
name: homepage
|
||||
labels:
|
||||
app.kubernetes.io/instance: homepage
|
||||
app.kubernetes.io/name: homepage
|
||||
app.kubernetes.io/version: v0.6.10
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt-issuer
|
||||
spec:
|
||||
tls:
|
||||
- hosts:
|
||||
- "dashboard.int.nc.landry.land"
|
||||
rules:
|
||||
- host: "dashboard.int.nc.landry.land"
|
||||
http:
|
||||
paths:
|
||||
- path: "/"
|
||||
pathType: Prefix
|
||||
backend:
|
||||
service:
|
||||
name: homepage
|
||||
port:
|
||||
number: 3000
|
||||
9
apps/gethomepage/base/kustomization.yaml
Normal file
9
apps/gethomepage/base/kustomization.yaml
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- configmap.yaml
|
||||
- deployment.yaml
|
||||
- ingress.yaml
|
||||
- rbac.yaml
|
||||
- sa.yaml
|
||||
- service.yaml
|
||||
68
apps/gethomepage/base/rbac.yaml
Normal file
68
apps/gethomepage/base/rbac.yaml
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
---
|
||||
# Source: gethomepage/charts/homepage/templates/rbac.yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: homepage
|
||||
labels:
|
||||
app.kubernetes.io/instance: homepage
|
||||
app.kubernetes.io/name: homepage
|
||||
app.kubernetes.io/version: v0.6.10
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- namespaces
|
||||
- pods
|
||||
- nodes
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- apiGroups:
|
||||
- extensions
|
||||
- networking.k8s.io
|
||||
resources:
|
||||
- ingresses
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- apiGroups:
|
||||
- traefik.containo.us
|
||||
- traefik.io
|
||||
resources:
|
||||
- ingressroutes
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- apiGroups:
|
||||
- metrics.k8s.io
|
||||
resources:
|
||||
- nodes
|
||||
- pods
|
||||
verbs:
|
||||
- get
|
||||
- list
|
||||
- apiGroups:
|
||||
- apiextensions.k8s.io
|
||||
resources:
|
||||
- customresourcedefinitions/status
|
||||
verbs:
|
||||
- get
|
||||
---
|
||||
# Source: gethomepage/charts/homepage/templates/rbac.yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: homepage
|
||||
labels:
|
||||
app.kubernetes.io/instance: homepage
|
||||
app.kubernetes.io/name: homepage
|
||||
app.kubernetes.io/version: v0.6.10
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: homepage
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: homepage
|
||||
namespace: argocd
|
||||
23
apps/gethomepage/base/sa.yaml
Normal file
23
apps/gethomepage/base/sa.yaml
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: homepage
|
||||
labels:
|
||||
app.kubernetes.io/instance: homepage
|
||||
app.kubernetes.io/name: homepage
|
||||
app.kubernetes.io/version: v0.6.10
|
||||
secrets:
|
||||
- name: homepage-sa-token
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
type: kubernetes.io/service-account-token
|
||||
metadata:
|
||||
name: homepage-sa-token
|
||||
labels:
|
||||
app.kubernetes.io/instance: homepage
|
||||
app.kubernetes.io/name: homepage
|
||||
app.kubernetes.io/version: v0.6.10
|
||||
annotations:
|
||||
kubernetes.io/service-account.name: homepage
|
||||
21
apps/gethomepage/base/service.yaml
Normal file
21
apps/gethomepage/base/service.yaml
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
---
|
||||
apiVersion: v1
|
||||
kind: Service
|
||||
metadata:
|
||||
name: homepage
|
||||
labels:
|
||||
app.kubernetes.io/service: homepage
|
||||
app.kubernetes.io/instance: homepage
|
||||
app.kubernetes.io/name: homepage
|
||||
app.kubernetes.io/version: v0.6.10
|
||||
annotations:
|
||||
spec:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
- port: 3000
|
||||
targetPort: http
|
||||
protocol: TCP
|
||||
name: http
|
||||
selector:
|
||||
app.kubernetes.io/instance: homepage
|
||||
app.kubernetes.io/name: homepage
|
||||
11
apps/gethomepage/overlays/system/config.json
Normal file
11
apps/gethomepage/overlays/system/config.json
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"appName": "gethomepage",
|
||||
"userGivenName": "gethomepage",
|
||||
"destNamespace": "homepage",
|
||||
"destServer": "https://kubernetes.default.svc",
|
||||
"srcPath": "apps/gethomepage/overlays/system",
|
||||
"srcRepoURL": "ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git",
|
||||
"srcTargetRevision": "",
|
||||
"labels": null,
|
||||
"annotations": null
|
||||
}
|
||||
4
apps/gethomepage/overlays/system/kustomization.yaml
Normal file
4
apps/gethomepage/overlays/system/kustomization.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../../base
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
homepage:
|
||||
config:
|
||||
bookmarks:
|
||||
- Developer:
|
||||
- Github:
|
||||
- abbr: GH
|
||||
href: https://github.com/
|
||||
|
||||
services:
|
||||
layout:
|
||||
Files:
|
||||
Media:
|
||||
Games:
|
||||
Manage Homelab:
|
||||
Manage Media:
|
||||
|
||||
widgets:
|
||||
# show the kubernetes widget, with the cluster summary and individual nodes
|
||||
- datetime:
|
||||
text_size: xl
|
||||
format:
|
||||
hour12: true
|
||||
dateStyle: long
|
||||
timeStyle: short
|
||||
|
||||
- kubernetes:
|
||||
cluster:
|
||||
show: true
|
||||
cpu: true
|
||||
memory: true
|
||||
showLabel: true
|
||||
label: "cluster"
|
||||
nodes:
|
||||
show: true
|
||||
cpu: true
|
||||
memory: true
|
||||
showLabel: true
|
||||
- search:
|
||||
provider: duckduckgo
|
||||
target: _blank
|
||||
kubernetes:
|
||||
mode: cluster
|
||||
|
||||
settings:
|
||||
layout:
|
||||
Media:
|
||||
style: row
|
||||
columns: 4
|
||||
Games:
|
||||
style: row
|
||||
columns: 4
|
||||
Files:
|
||||
Manage Homelab:
|
||||
Manage Library:
|
||||
style: row
|
||||
columns: 4
|
||||
|
||||
# The service account is necessary to allow discovery of other services
|
||||
serviceAccount:
|
||||
create: true
|
||||
name: homepage
|
||||
|
||||
# This enables the service account to access the necessary resources
|
||||
enableRbac: true
|
||||
|
||||
ingress:
|
||||
main:
|
||||
enabled: true
|
||||
annotations:
|
||||
cert-manager.io/cluster-issuer: letsencrypt-issuer
|
||||
# Example annotations to add Homepage to your Homepage!
|
||||
# gethomepage.dev/enabled: "true"
|
||||
# gethomepage.dev/name: "Homepage"
|
||||
# gethomepage.dev/description: "Dynamically Detected Homepage"
|
||||
# gethomepage.dev/group: "Dynamic"
|
||||
# gethomepage.dev/icon: "homepage.png"
|
||||
hosts:
|
||||
- host: dashboard.int.nc.landry.land
|
||||
paths:
|
||||
- path: /
|
||||
pathType: Prefix
|
||||
tls:
|
||||
- hosts:
|
||||
- dashboard.int.nc.landry.land
|
||||
14
apps/kavita/base/kustomization.yaml
Normal file
14
apps/kavita/base/kustomization.yaml
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- email-claim-pvc.yaml
|
||||
- email-deployment.yaml
|
||||
- email-service.yaml
|
||||
- kavita-comics-pv.yaml
|
||||
- kavita-comics-pvc.yaml
|
||||
- kavita-config-pvc.yaml
|
||||
- kavita-deployment.yaml
|
||||
- kavita-ebooks-pv.yaml
|
||||
- kavita-ebooks-pvc.yaml
|
||||
- kavita-ingress.yaml
|
||||
- kavita-service.yaml
|
||||
11
apps/kavita/overlays/media/config.json
Normal file
11
apps/kavita/overlays/media/config.json
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"appName": "kavita",
|
||||
"userGivenName": "kavita",
|
||||
"destNamespace": "media",
|
||||
"destServer": "https://kubernetes.default.svc",
|
||||
"srcPath": "apps/kavita/overlays/media",
|
||||
"srcRepoURL": "ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git",
|
||||
"srcTargetRevision": "",
|
||||
"labels": null,
|
||||
"annotations": null
|
||||
}
|
||||
4
apps/kavita/overlays/media/kustomization.yaml
Normal file
4
apps/kavita/overlays/media/kustomization.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../../base
|
||||
4
apps/metallb/base/kustomization.yaml
Normal file
4
apps/metallb/base/kustomization.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- github.com/metallb/metallb/config/native?ref=v0.13.12
|
||||
11
apps/metallb/overlays/system/config.json
Normal file
11
apps/metallb/overlays/system/config.json
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"appName": "metallb",
|
||||
"userGivenName": "metallb",
|
||||
"destNamespace": "metallb-system",
|
||||
"destServer": "https://kubernetes.default.svc",
|
||||
"srcPath": "apps/metallb/overlays/system",
|
||||
"srcRepoURL": "ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git",
|
||||
"srcTargetRevision": "",
|
||||
"labels": null,
|
||||
"annotations": null
|
||||
}
|
||||
4
apps/metallb/overlays/system/kustomization.yaml
Normal file
4
apps/metallb/overlays/system/kustomization.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../../base
|
||||
4
apps/minio/base/kustomization.yaml
Normal file
4
apps/minio/base/kustomization.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ./minio-dev.yaml
|
||||
40
apps/minio/base/minio-dev.yaml
Normal file
40
apps/minio/base/minio-dev.yaml
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# Deploys a new Namespace for the MinIO Pod
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: minio-dev # Change this value if you want a different namespace name
|
||||
labels:
|
||||
name: minio-dev # Change this value to match metadata.name
|
||||
---
|
||||
# Deploys a new MinIO Pod into the metadata.namespace Kubernetes namespace
|
||||
#
|
||||
# The `spec.containers[0].args` contains the command run on the pod
|
||||
# The `/data` directory corresponds to the `spec.containers[0].volumeMounts[0].mountPath`
|
||||
# That mount path corresponds to a Kubernetes HostPath which binds `/data` to a local drive or volume on the worker node where the pod runs
|
||||
#
|
||||
apiVersion: v1
|
||||
kind: Pod
|
||||
metadata:
|
||||
labels:
|
||||
app: minio
|
||||
name: minio
|
||||
namespace: minio-dev # Change this value to match the namespace metadata.name
|
||||
spec:
|
||||
containers:
|
||||
- name: minio
|
||||
image: quay.io/minio/minio:latest
|
||||
command:
|
||||
- /bin/bash
|
||||
- -c
|
||||
args:
|
||||
- minio server /data --console-address :9090
|
||||
volumeMounts:
|
||||
- mountPath: /data
|
||||
name: localvolume # Corresponds to the `spec.volumes` Persistent Volume
|
||||
nodeSelector:
|
||||
kubernetes.io/hostname: elli # Specify a node label associated to the Worker Node on which you want to deploy the pod.
|
||||
volumes:
|
||||
- name: localvolume
|
||||
hostPath: # MinIO generally recommends using locally-attached volumes
|
||||
path: /storage/local-k8s/minio # Specify a path to a local drive or volume on the Kubernetes worker node
|
||||
type: DirectoryOrCreate # The path to the last directory must exist
|
||||
11
apps/minio/overlays/system/config.json
Normal file
11
apps/minio/overlays/system/config.json
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
"appName": "minio",
|
||||
"userGivenName": "minio",
|
||||
"destNamespace": "minio-dev",
|
||||
"destServer": "https://kubernetes.default.svc",
|
||||
"srcPath": "apps/minio/overlays/system",
|
||||
"srcRepoURL": "ssh://git@gitea-ssh.gitops.svc.cluster.local:2222/davad/argo.git",
|
||||
"srcTargetRevision": "",
|
||||
"labels": null,
|
||||
"annotations": null
|
||||
}
|
||||
4
apps/minio/overlays/system/kustomization.yaml
Normal file
4
apps/minio/overlays/system/kustomization.yaml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- ../../base
|
||||
Loading…
Add table
Add a link
Reference in a new issue