Compare commits
29 Commits
e2dbf525b3
...
f729a812df
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f729a812df | ||
|
|
0eda7b4ad2 | ||
|
|
e3587553d7 | ||
|
|
4c5dd7ae3d | ||
|
|
ee3048f478 | ||
|
|
179eb7a6dc | ||
|
|
b1103e3136 | ||
|
|
2cedf7f2b9 | ||
|
|
c1a59cb710 | ||
|
|
845ba4ead0 | ||
|
|
001138f965 | ||
|
|
5391a06e24 | ||
|
|
e7b62d426c | ||
|
|
a64bdf2ed0 | ||
|
|
4f5acfc9a6 | ||
|
|
c4754ea41a | ||
|
|
134581bcce | ||
|
|
3f3d99e8d0 | ||
|
|
5e57066ccb | ||
|
|
3e13ddb1cb | ||
|
|
16fcec670e | ||
|
|
c16d485a54 | ||
|
|
cf69895b68 | ||
|
|
e85a70957f | ||
|
|
82e626be39 | ||
|
|
aa4425cf19 | ||
|
|
06b192f780 | ||
| 7c2a40f2ac | |||
|
|
c3068f9693 |
26
catalog-info.yaml
Normal file
26
catalog-info.yaml
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Domain
|
||||
metadata:
|
||||
name: dgse-cloud
|
||||
description: "Infrastructure for DGSE Cloud services."
|
||||
spec:
|
||||
owner: dgse-cloud
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Location
|
||||
metadata:
|
||||
name: artemis-cluster
|
||||
description: A collection of all entities running on the Artemis cluster
|
||||
spec:
|
||||
targets:
|
||||
- ./clusters/artemis/catalog.yaml
|
||||
- ./clusters/artemis/apps/argocd/catalog.yaml
|
||||
- ./clusters/artemis/apps/cnpg/catalog.yaml
|
||||
- ./clusters/artemis/apps/digital-garden/catalog.yaml
|
||||
- ./clusters/artemis/apps/external-secrets/catalog.yaml
|
||||
- ./clusters/artemis/apps/gitea/catalog.yaml
|
||||
- ./clusters/artemis/apps/gitea-runners/catalog.yaml
|
||||
- ./clusters/artemis/apps/immich/catalog.yaml
|
||||
- ./clusters/artemis/apps/mailu/catalog.yaml
|
||||
- ./clusters/artemis/apps/nextcloud/catalog.yaml
|
||||
18
clusters/artemis/apps/argocd/catalog.yaml
Normal file
18
clusters/artemis/apps/argocd/catalog.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: argocd
|
||||
description: "ArgoCD is a declarative, GitOps continuous delivery tool for Kubernetes."
|
||||
links:
|
||||
- url: https://cd.dgse.cloud
|
||||
title: Dashboard
|
||||
icon: dashboard
|
||||
annotations:
|
||||
argocd/app-name: argocd
|
||||
argocd/app-namespace: argocd
|
||||
spec:
|
||||
type: service
|
||||
lifecycle: production
|
||||
owner: owners
|
||||
system: artemis-cluster
|
||||
14
clusters/artemis/apps/cnpg/catalog.yaml
Normal file
14
clusters/artemis/apps/cnpg/catalog.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: cnpg
|
||||
description: "CloudNativePG is a Kubernetes operator that manages PostgreSQL databases in a cloud-native way."
|
||||
annotations:
|
||||
argocd/app-name: cnpg
|
||||
argocd/app-namespace: cnpg-system
|
||||
spec:
|
||||
type: service
|
||||
lifecycle: production
|
||||
owner: owners
|
||||
system: artemis-cluster
|
||||
18
clusters/artemis/apps/digital-garden/catalog.yaml
Normal file
18
clusters/artemis/apps/digital-garden/catalog.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: digital-garden
|
||||
description: "A collection of notes, essays, and other writing that is published on the web."
|
||||
links:
|
||||
- url: https://groothuis.io
|
||||
title: Public Website
|
||||
icon: web
|
||||
annotations:
|
||||
argocd/app-name: digital-garden
|
||||
argocd/app-namespace: digital-garden
|
||||
spec:
|
||||
type: website
|
||||
lifecycle: production
|
||||
owner: owners
|
||||
system: artemis-cluster
|
||||
14
clusters/artemis/apps/external-secrets/catalog.yaml
Normal file
14
clusters/artemis/apps/external-secrets/catalog.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: external-secrets
|
||||
description: "Vault Secrets Operator to sync secrets from Vault to Kubernetes"
|
||||
annotations:
|
||||
argocd/app-name: external-secrets
|
||||
argocd/app-namespace: external-secrets
|
||||
spec:
|
||||
type: service
|
||||
lifecycle: production
|
||||
owner: owners
|
||||
system: artemis-cluster
|
||||
16
clusters/artemis/apps/gitea-runners/catalog.yaml
Normal file
16
clusters/artemis/apps/gitea-runners/catalog.yaml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: gitea-runners
|
||||
description: "Gitea Action Runners"
|
||||
annotations:
|
||||
argocd/app-name: gitea-runners
|
||||
argocd/app-namespace: gitea-runners
|
||||
spec:
|
||||
type: service
|
||||
lifecycle: production
|
||||
owner: owners
|
||||
system: artemis-cluster
|
||||
dependencyOf:
|
||||
- component:gitea
|
||||
20
clusters/artemis/apps/gitea/catalog.yaml
Normal file
20
clusters/artemis/apps/gitea/catalog.yaml
Normal file
@@ -0,0 +1,20 @@
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: gitea
|
||||
description: "Self-hosted Git Server"
|
||||
links:
|
||||
- url: https://git.dgse.cloud
|
||||
title: Git Server
|
||||
icon: web
|
||||
annotations:
|
||||
argocd/app-name: gitea
|
||||
argocd/app-namespace: gitea
|
||||
spec:
|
||||
type: service
|
||||
lifecycle: production
|
||||
owner: owners
|
||||
system: artemis-cluster
|
||||
dependsOn:
|
||||
- Component:gitea-runners
|
||||
18
clusters/artemis/apps/immich/catalog.yaml
Normal file
18
clusters/artemis/apps/immich/catalog.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: immich
|
||||
description: "Self-hosted photo and video backup solution directly from your mobile phone."
|
||||
links:
|
||||
- url: https://photos.dgse.cloud
|
||||
title: Git Server
|
||||
icon: web
|
||||
annotations:
|
||||
argocd/app-name: immich
|
||||
argocd/app-namespace: immich
|
||||
spec:
|
||||
type: service
|
||||
lifecycle: production
|
||||
owner: owners
|
||||
system: artemis-cluster
|
||||
@@ -1,17 +0,0 @@
|
||||
---
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: AppProject
|
||||
metadata:
|
||||
name: kener
|
||||
spec:
|
||||
description: Monitoring tool
|
||||
sourceRepos:
|
||||
- '*'
|
||||
sourceNamespaces:
|
||||
- '*'
|
||||
destinations:
|
||||
- namespace: 'kener'
|
||||
server: '*'
|
||||
clusterResourceWhitelist:
|
||||
- group: '*'
|
||||
kind: '*'
|
||||
@@ -1,24 +0,0 @@
|
||||
apiVersion: argoproj.io/v1alpha1
|
||||
kind: Application
|
||||
metadata:
|
||||
name: kener
|
||||
namespace: kener
|
||||
labels:
|
||||
platform.dgse.cloud/cluster: artemis
|
||||
finalizers:
|
||||
- resources-finalizer.argocd.argoproj.io
|
||||
spec:
|
||||
project: kener
|
||||
source:
|
||||
repoURL: 'https://git.dgse.cloud/DGSE/kubernetes.git'
|
||||
path: manifests/artemis/kener
|
||||
targetRevision: main
|
||||
destination:
|
||||
namespace: kener
|
||||
name: in-cluster
|
||||
syncPolicy:
|
||||
syncOptions:
|
||||
- CreateNamespace=true
|
||||
automated:
|
||||
prune: true
|
||||
selfHeal: true
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
|
||||
resources:
|
||||
- app-project.yaml
|
||||
- application.yaml
|
||||
18
clusters/artemis/apps/mailu/catalog.yaml
Normal file
18
clusters/artemis/apps/mailu/catalog.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: mailu
|
||||
description: "Self-hosted mail server"
|
||||
links:
|
||||
- url: https://mail.dgse.cloud
|
||||
title: Mail Server
|
||||
icon: web
|
||||
annotations:
|
||||
argocd/app-name: mailu
|
||||
argocd/app-namespace: mailu
|
||||
spec:
|
||||
type: service
|
||||
lifecycle: production
|
||||
owner: owners
|
||||
system: artemis-cluster
|
||||
19
clusters/artemis/apps/nextcloud/catalog.yaml
Normal file
19
clusters/artemis/apps/nextcloud/catalog.yaml
Normal file
@@ -0,0 +1,19 @@
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: Component
|
||||
metadata:
|
||||
name: nextcloud
|
||||
description: "Self-hosted photo and video backup solution directly from your mobile phone."
|
||||
links:
|
||||
- url: https://nextcloud.dgse.cloud
|
||||
title: Git Server
|
||||
icon: web
|
||||
annotations:
|
||||
argocd/app-name: nextcloud
|
||||
argocd/app-namespace: nextcloud
|
||||
backstage.io/techdocs-ref: value
|
||||
spec:
|
||||
type: service
|
||||
lifecycle: production
|
||||
owner: owners
|
||||
system: artemis-cluster
|
||||
9
clusters/artemis/catalog.yaml
Normal file
9
clusters/artemis/catalog.yaml
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
apiVersion: backstage.io/v1alpha1
|
||||
kind: System
|
||||
metadata:
|
||||
name: artemis-cluster
|
||||
description: "The Artemis cluster is a Kubernetes cluster hosting all infra for DGSE Cloud."
|
||||
spec:
|
||||
owner: owners
|
||||
domain: dgse-cloud
|
||||
13
manifests/artemis/argocd/backstage-rbac.yaml
Normal file
13
manifests/artemis/argocd/backstage-rbac.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: backstage-argocd-server-access
|
||||
subjects:
|
||||
- kind: ServiceAccount
|
||||
name: backstage-argocd
|
||||
namespace: argocd
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: argocd-server
|
||||
6
manifests/artemis/argocd/backstage-sa.yaml
Normal file
6
manifests/artemis/argocd/backstage-sa.yaml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
apiVersion: v1
|
||||
kind: ServiceAccount
|
||||
metadata:
|
||||
name: backstage-argocd
|
||||
namespace: argocd
|
||||
@@ -5,9 +5,11 @@ metadata:
|
||||
name: argocd
|
||||
|
||||
resources:
|
||||
- github.com/argoproj/argo-cd/manifests/cluster-install?ref=v3.1.9
|
||||
- github.com/argoproj/argo-cd/manifests/cluster-install?ref=v3.2.0
|
||||
- ingressRoute.yaml
|
||||
- certificate.yaml
|
||||
- backstage-sa.yaml
|
||||
- backstage-rbac.yaml
|
||||
|
||||
patches:
|
||||
- target:
|
||||
@@ -45,7 +47,8 @@ patches:
|
||||
metadata:
|
||||
name: argocd-cm
|
||||
data:
|
||||
admin.enabled: "false"
|
||||
accounts.admin: "apiKey, login"
|
||||
admin.enabled: "true"
|
||||
kustomize.buildOptions: --enable-helm
|
||||
url: https://cd.dgse.cloud
|
||||
oidc.config: |
|
||||
@@ -118,3 +121,23 @@ patches:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: argocd-server
|
||||
|
||||
# Map Backstage SA to Argo CD role:admin (full Argo CD permissions)
|
||||
- target:
|
||||
kind: ConfigMap
|
||||
name: argocd-rbac-cm
|
||||
patch: |-
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: argocd-rbac-cm
|
||||
namespace: argocd
|
||||
data:
|
||||
policy.csv: |
|
||||
g, argocd_admins, role:admin
|
||||
p, argocd_users, applications, list, *, allow
|
||||
p, argocd_users, applications, sync, *, allow
|
||||
p, argocd_users, applications, refresh, *, allow
|
||||
p, argocd_users, applications, get, *, allow
|
||||
g, system:serviceaccount:argocd:backstage-argocd, role:admin
|
||||
p, system:serviceaccount:argocd:backstage-argocd, applications, *, */*, allow
|
||||
|
||||
@@ -10,7 +10,7 @@ resources:
|
||||
helmCharts:
|
||||
- name: mailu
|
||||
repo: https://mailu.github.io/helm-charts/
|
||||
version: 2.1.2
|
||||
version: 2.6.0
|
||||
releaseName: mailu
|
||||
namespace: mailu
|
||||
valuesFile: values.yaml
|
||||
|
||||
Reference in New Issue
Block a user