Skip to content

Commit 5f8e45e

Browse files
committed
feat(ai): setup stack
Signed-off-by: Nicolas Lamirault <[email protected]>
1 parent 7e058c4 commit 5f8e45e

23 files changed

+597
-208
lines changed

gitops/argocd/apps/ai/Chart.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# SPDX-FileCopyrightText: Copyright (C) Nicolas Lamirault <[email protected]>
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
---
5+
apiVersion: v2
6+
type: application
7+
name: ai
8+
version: 1.0.0
9+
appVersion: 1.0.0
10+
dependencies:
11+
- name: argocd-apps
12+
repository: oci://ghcr.io/argoproj/argo-helm
13+
version: 2.0.0
5.05 KB
Binary file not shown.
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
# SPDX-FileCopyrightText: Copyright (C) Nicolas Lamirault <[email protected]>
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
---
5+
argocd-apps:
6+
applicationsets:
7+
tools:
8+
additionalLabels:
9+
portefaix.xyz/env: staging
10+
additionalAnnotations: {}
11+
generators:
12+
- list:
13+
elements:
14+
- appName: k8sgpt
15+
namespace: ai
16+
targetRevision: master
17+
template:
18+
metadata:
19+
annotations:
20+
argocd.argoproj.io/manifest-generate-paths: "/{{path}}"
21+
notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-staging-gitops
22+
notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-staging-gitops
23+
notifications.argoproj.io/subscribe.on-sync-failed: portefaix-staging-gitops
24+
notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-staging-gitops
25+
notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-staging-gitops
26+
notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-staging-gitops
27+
finalizers:
28+
- resources-finalizer.argocd.argoproj.io
29+
labels:
30+
portefaix.xyz/env: staging
31+
spec:
32+
project: portefaix-aws-staging
33+
source:
34+
helm:
35+
valueFiles:
36+
- values.yaml
37+
- values-aws-staging.yaml
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# SPDX-FileCopyrightText: Copyright (C) Nicolas Lamirault <[email protected]>
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
---
5+
argocd-apps:
6+
applicationsets:
7+
tools:
8+
additionalLabels:
9+
portefaix.xyz/env: homelab
10+
additionalAnnotations: {}
11+
generators:
12+
- list:
13+
elements:
14+
- appName: k8sgpt
15+
namespace: ai
16+
targetRevision: HEAD
17+
- appName: ollama
18+
namespace: ai
19+
targetRevision: HEAD
20+
- appName: kagent
21+
namespace: mcp
22+
targetRevision: HEAD
23+
template:
24+
metadata:
25+
annotations:
26+
notifications.argoproj.io/subscribe.on-degraded.slack: portefaix-homelab-gitops
27+
notifications.argoproj.io/subscribe.on-deployed.slack: portefaix-homelab-gitops
28+
notifications.argoproj.io/subscribe.on-sync-failed: portefaix-homelab-gitops
29+
notifications.argoproj.io/subscribe.on-sync-running.slack: portefaix-homelab-gitops
30+
notifications.argoproj.io/subscribe.on-sync-status-unknown: portefaix-homelab-gitops
31+
notifications.argoproj.io/subscribe.on-sync-succeeded.slack: portefaix-homelab-gitops
32+
labels:
33+
portefaix.xyz/env: homelab
34+
spec:
35+
project: portefaix-talos-homelab
36+
source:
37+
helm:
38+
valueFiles:
39+
- values.yaml
40+
- values-talos-homelab.yaml

gitops/argocd/apps/ai/values.yaml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
# SPDX-FileCopyrightText: Copyright (C) Nicolas Lamirault <[email protected]>
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
---
5+
argocd-apps:
6+
applicationsets:
7+
ai:
8+
additionalAnnotations:
9+
a8r.io/bugs: "https://github.com/portefaix/portefaix/issues"
10+
a8r.io/description: Argo-CD AI application
11+
a8r.io/documentation: "https://github.com/portefaix/portefaix/blob/master/README.md"
12+
a8r.io/owner: portefaix
13+
a8r.io/support: "https://github.com/portefaix/portefaix/issues"
14+
a8s.io/repository: >-
15+
https://github.com/portefaix/portefaix/tree/master/gitops/argocd/apps/ai
16+
additionalLabels:
17+
app.kubernetes.io/component: argocd-applicationset
18+
app.kubernetes.io/instance: ai-argocd-applicationset
19+
app.kubernetes.io/managed-by: helm
20+
app.kubernetes.io/name: ai
21+
app.kubernetes.io/part-of: ai-argocd
22+
app.kubernetes.io/version: v1.0.0
23+
portefaix.xyz/stack: ai
24+
portefaix.xyz/version: v1.3.0
25+
goTemplate: true
26+
goTemplateOptions: ["missingkey=error"]
27+
generators:
28+
- list:
29+
elements: []
30+
template:
31+
metadata:
32+
name: "{{ .appName }}"
33+
annotations:
34+
# https://argo-cd.readthedocs.io/en/stable/operator-manual/high_availability/#webhook-and-manifest-paths-annotation
35+
argocd.argoproj.io/manifest-generate-paths: "."
36+
labels:
37+
app.kubernetes.io/component: argocd-application
38+
app.kubernetes.io/instance: "{{ .appName }}-argocd-application"
39+
app.kubernetes.io/managed-by: helm
40+
app.kubernetes.io/name: "{{ .appName }}"
41+
app.kubernetes.io/part-of: "{{ .appName }}-argocd"
42+
app.kubernetes.io/version: v1.0.0
43+
portefaix.xyz/stack: ai
44+
portefaix.xyz/version: v1.3.0
45+
finalizers:
46+
- resources-finalizer.argocd.argoproj.io
47+
spec:
48+
destination:
49+
namespace: "{{ .namespace }}"
50+
server: https://kubernetes.default.svc
51+
source:
52+
repoURL: https://github.com/portefaix/portefaix-kubernetes.git
53+
path: "gitops/argocd/charts/{{ .namespace }}/{{ .appName }}"
54+
syncPolicy:
55+
# automated:
56+
# prune: true
57+
# selfHeal: true
58+
# allowEmpty: false
59+
syncOptions:
60+
- CreateNamespace=true
61+
- Validate=false
62+
- SkipDryRunOnMissingResource=true
63+
- ApplyOutOfSyncOnly=true
64+
# - ServerSideApply=true
65+
# retry:
66+
# limit: 5
67+
# backoff:
68+
# duration: 5s
69+
# factor: 2
70+
# maxDuration: 3m0s
71+
templatePatch: |
72+
spec:
73+
source:
74+
{{- if .targetRevision }}
75+
targetRevision: '{{ .targetRevision }}'
76+
{{- end }}
77+
{{- if .autoSync }}
78+
syncPolicy:
79+
automated:
80+
{{- if .prune }}
81+
prune: {{ .prune }}
82+
{{- end }}
83+
{{- end }}

gitops/argocd/apps/networking/values-aws-staging.yaml

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,22 @@ argocd-apps:
1313
elements:
1414
- appName: ingress-nginx
1515
namespace: ingress-system
16-
targetRevision: master
16+
targetRevision: HEAD
1717
- appName: envoy-gateway
18-
namespace: api-gateway
19-
targetRevision: master
18+
namespace: gateway-api
19+
targetRevision: HEAD
20+
- appName: kgateway
21+
namespace: gateway-api
22+
targetRevision: HEAD
2023
- appName: external-dns
2124
namespace: dns
22-
targetRevision: master
25+
targetRevision: HEAD
2326
- appName: cloudflare-tunnel
2427
namespace: dns
25-
targetRevision: master
28+
targetRevision: HEAD
2629
- appName: nats
2730
namespace: messaging
28-
targetRevision: master
31+
targetRevision: HEAD
2932
template:
3033
metadata:
3134
annotations:

gitops/argocd/apps/networking/values-talos-homelab.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,12 @@ argocd-apps:
1717
# - appName: envoy-gateway
1818
# namespace: gateway-api
1919
# targetRevision: HEAD
20-
- appName: traefik
20+
- appName: kgateway
2121
namespace: gateway-api
2222
targetRevision: HEAD
23+
# - appName: traefik
24+
# namespace: gateway-api
25+
# targetRevision: HEAD
2326
- appName: external-dns
2427
namespace: dns
2528
targetRevision: HEAD

gitops/argocd/charts/ai/kagent/templates/secret.yaml

Lines changed: 0 additions & 92 deletions
This file was deleted.

0 commit comments

Comments
 (0)