Compare commits
19 commits
146df7b841
...
923d549290
Author | SHA1 | Date | |
---|---|---|---|
923d549290 | |||
19c4694119 | |||
eacdcf2eae | |||
050c774db0 | |||
b2ca785ff2 | |||
bcfd471073 | |||
17b13041b4 | |||
9bd4871127 | |||
e5b633fbf4 | |||
fc860747fd | |||
fc12862e12 | |||
490e4fcfd9 | |||
358be3205b | |||
b775019744 | |||
4761fef87c | |||
104b811e7e | |||
02d9d207dd | |||
dd46f37e43 | |||
e1bf3012e2 |
17 changed files with 1428 additions and 30 deletions
|
@ -1,24 +1,24 @@
|
||||||
apiVersion: argoproj.io/v1alpha1
|
apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: ingress-apps
|
name: forgejo
|
||||||
namespace: argocd
|
namespace: argocd
|
||||||
labels:
|
labels:
|
||||||
example: ref-implementation
|
env: dev
|
||||||
finalizers:
|
finalizers:
|
||||||
- resources-finalizer.argocd.argoproj.io
|
- resources-finalizer.argocd.argoproj.io
|
||||||
spec:
|
spec:
|
||||||
destination:
|
destination:
|
||||||
server: "https://kubernetes.default.svc"
|
name: in-cluster
|
||||||
|
namespace: argocd
|
||||||
source:
|
source:
|
||||||
repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
path: "{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/forgejo"
|
||||||
|
repoURL: "https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}"
|
||||||
targetRevision: HEAD
|
targetRevision: HEAD
|
||||||
path: "{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/core/ingress-apps"
|
|
||||||
project: default
|
project: default
|
||||||
syncPolicy:
|
syncPolicy:
|
||||||
automated:
|
automated:
|
||||||
|
prune: true
|
||||||
selfHeal: true
|
selfHeal: true
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- CreateNamespace=true
|
||||||
retry:
|
|
||||||
limit: -1
|
|
24
template/registry/observability-client.yaml
Normal file
24
template/registry/observability-client.yaml
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: observability-client
|
||||||
|
namespace: argocd
|
||||||
|
labels:
|
||||||
|
env: dev
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
destination:
|
||||||
|
name: in-cluster
|
||||||
|
namespace: argocd
|
||||||
|
source:
|
||||||
|
path: "{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/observability-client"
|
||||||
|
repoURL: "https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}"
|
||||||
|
targetRevision: HEAD
|
||||||
|
project: default
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
|
@ -30,3 +30,6 @@ spec:
|
||||||
- repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
- repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
||||||
targetRevision: HEAD
|
targetRevision: HEAD
|
||||||
ref: values
|
ref: values
|
||||||
|
- repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: "{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/core/argocd/manifests"
|
|
@ -21,4 +21,4 @@ spec:
|
||||||
source:
|
source:
|
||||||
repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
||||||
targetRevision: HEAD
|
targetRevision: HEAD
|
||||||
path: "{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/core/forgejo-runner"
|
path: "{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/forgejo/forgejo-runner"
|
38
template/stacks/forgejo/forgejo-server.yaml
Normal file
38
template/stacks/forgejo/forgejo-server.yaml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: forgejo-server
|
||||||
|
namespace: argocd
|
||||||
|
labels:
|
||||||
|
env: dev
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
retry:
|
||||||
|
limit: -1
|
||||||
|
destination:
|
||||||
|
name: in-cluster
|
||||||
|
namespace: gitea
|
||||||
|
sources:
|
||||||
|
- repoURL: https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW-CICD/forgejo-helm.git
|
||||||
|
path: .
|
||||||
|
# first check out the desired version (example v9.0.0): https://code.forgejo.org/forgejo-helm/forgejo-helm/src/tag/v9.0.0/Chart.yaml
|
||||||
|
# (note that the chart version is not the same as the forgejo application version, which is specified in the above Chart.yaml file)
|
||||||
|
# then use the devops pipeline and select development, forgejo and the desired version (example v9.0.0):
|
||||||
|
# https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW-CICD/devops-pipelines/actions?workflow=update-helm-depends.yaml&actor=0&status=0
|
||||||
|
# finally update the desired version here and include "-depends", it is created by the devops pipeline.
|
||||||
|
# why do we have an added "-depends" tag? it resolves rate limitings when downloading helm OCI dependencies
|
||||||
|
targetRevision: v9.0.0-depends
|
||||||
|
helm:
|
||||||
|
valueFiles:
|
||||||
|
- $values/{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/forgejo/forgejo-server/values.yaml
|
||||||
|
- repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
||||||
|
targetRevision: HEAD
|
||||||
|
ref: values
|
||||||
|
- repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: "{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/forgejo/forgejo-server/manifests"
|
|
@ -10,7 +10,7 @@ metadata:
|
||||||
dns.gardener.cloud/dnsnames: {{{ .Env.DOMAIN_GITEA }}}
|
dns.gardener.cloud/dnsnames: {{{ .Env.DOMAIN_GITEA }}}
|
||||||
dns.gardener.cloud/ttl: "600"
|
dns.gardener.cloud/ttl: "600"
|
||||||
{{{ end }}}
|
{{{ end }}}
|
||||||
name: forgejo
|
name: forgejo-server
|
||||||
namespace: gitea
|
namespace: gitea
|
||||||
spec:
|
spec:
|
||||||
ingressClassName: nginx
|
ingressClassName: nginx
|
||||||
|
@ -20,7 +20,7 @@ spec:
|
||||||
paths:
|
paths:
|
||||||
- backend:
|
- backend:
|
||||||
service:
|
service:
|
||||||
name: forgejo-http
|
name: forgejo-server-http
|
||||||
port:
|
port:
|
||||||
number: 3000
|
number: 3000
|
||||||
path: /
|
path: /
|
|
@ -17,6 +17,22 @@ persistence:
|
||||||
test:
|
test:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
|
||||||
|
deployment:
|
||||||
|
env:
|
||||||
|
- name: SSL_CERT_FILE
|
||||||
|
value: /etc/elasticsearch/elasticsearch.cer
|
||||||
|
|
||||||
|
extraVolumeMounts:
|
||||||
|
- mountPath: /etc/elasticsearch
|
||||||
|
name: elasticsearch-cert-volume
|
||||||
|
readOnly: true
|
||||||
|
|
||||||
|
extraVolumes:
|
||||||
|
- name: elasticsearch-cert-volume
|
||||||
|
configMap:
|
||||||
|
defaultMode: 420
|
||||||
|
name: elasticsearch-cert
|
||||||
|
|
||||||
gitea:
|
gitea:
|
||||||
additionalConfigFromEnvs:
|
additionalConfigFromEnvs:
|
||||||
- name: FORGEJO__storage__MINIO_ACCESS_KEY_ID
|
- name: FORGEJO__storage__MINIO_ACCESS_KEY_ID
|
||||||
|
@ -53,27 +69,39 @@ gitea:
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: postgres-forgejo-cloud-credentials
|
name: postgres-forgejo-cloud-credentials
|
||||||
key: name
|
key: database
|
||||||
- name: FORGEJO__database__USER
|
- name: FORGEJO__database__USER
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: postgres-forgejo-cloud-credentials
|
name: postgres-forgejo-cloud-credentials
|
||||||
key: user
|
key: username
|
||||||
- name: FORGEJO__database__PASSWD
|
- name: FORGEJO__database__PASSWD
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: postgres-forgejo-cloud-credentials
|
name: postgres-forgejo-cloud-credentials
|
||||||
key: password
|
key: password
|
||||||
|
- name: FORGEJO__indexer__ISSUE_INDEXER_CONN_STR
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: elasticsearch-cloud-credentials
|
||||||
|
key: connection-string
|
||||||
|
|
||||||
admin:
|
admin:
|
||||||
existingSecret: gitea-credential
|
existingSecret: gitea-credential
|
||||||
|
|
||||||
config:
|
config:
|
||||||
|
indexer:
|
||||||
|
ISSUE_INDEXER_ENABLED: true
|
||||||
|
ISSUE_INDEXER_TYPE: elasticsearch
|
||||||
|
# TODO next
|
||||||
|
REPO_INDEXER_ENABLED: false
|
||||||
|
# REPO_INDEXER_TYPE: meilisearch # not yet working
|
||||||
|
|
||||||
storage:
|
storage:
|
||||||
MINIO_ENDPOINT: obs.eu-de.otc.t-systems.com:443
|
MINIO_ENDPOINT: obs.eu-de.otc.t-systems.com:443
|
||||||
STORAGE_TYPE: minio
|
STORAGE_TYPE: minio
|
||||||
MINIO_LOCATION: eu-de
|
MINIO_LOCATION: eu-de
|
||||||
MINIO_BUCKET: edp-forgejo-central-forgejo
|
MINIO_BUCKET: edp-forgejo-{{{ .Env.CLUSTER_ENVIRONMENT }}}
|
||||||
MINIO_USE_SSL: true
|
MINIO_USE_SSL: true
|
||||||
|
|
||||||
queue:
|
queue:
|
||||||
|
@ -132,4 +160,4 @@ forgejo:
|
||||||
- docker:docker://node:16-bullseye
|
- docker:docker://node:16-bullseye
|
||||||
- self-hosted:docker://ghcr.io/catthehacker/ubuntu:act-22.04
|
- self-hosted:docker://ghcr.io/catthehacker/ubuntu:act-22.04
|
||||||
- ubuntu-22.04:docker://ghcr.io/catthehacker/ubuntu:act-22.04
|
- ubuntu-22.04:docker://ghcr.io/catthehacker/ubuntu:act-22.04
|
||||||
- ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-22.04
|
- ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-22.04
|
|
@ -23,7 +23,7 @@ spec:
|
||||||
targetRevision: 0.43.0
|
targetRevision: 0.43.0
|
||||||
helm:
|
helm:
|
||||||
valueFiles:
|
valueFiles:
|
||||||
- $values/{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/core/vector/values.yaml
|
- $values/{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/observability-client/vector/values.yaml
|
||||||
- repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
- repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
||||||
targetRevision: HEAD
|
targetRevision: HEAD
|
||||||
ref: values
|
ref: values
|
|
@ -1,7 +1,7 @@
|
||||||
apiVersion: argoproj.io/v1alpha1
|
apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: forgejo
|
name: vm-client-stack
|
||||||
namespace: argocd
|
namespace: argocd
|
||||||
labels:
|
labels:
|
||||||
env: dev
|
env: dev
|
||||||
|
@ -12,18 +12,20 @@ spec:
|
||||||
selfHeal: true
|
selfHeal: true
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- CreateNamespace=true
|
||||||
retry:
|
|
||||||
limit: -1
|
|
||||||
destination:
|
destination:
|
||||||
name: in-cluster
|
name: in-cluster
|
||||||
namespace: gitea
|
namespace: observability
|
||||||
sources:
|
sources:
|
||||||
- repoURL: https://forgejo.edf-bootstrap.cx.fg1.ffm.osc.live/DevFW-CICD/forgejo-helm.git
|
- chart: victoria-metrics-k8s-stack
|
||||||
path: .
|
repoURL: https://victoriametrics.github.io/helm-charts/
|
||||||
targetRevision: v12.0.0-depends
|
targetRevision: 0.48.1
|
||||||
|
releaseName: vm
|
||||||
helm:
|
helm:
|
||||||
valueFiles:
|
valueFiles:
|
||||||
- $values/{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/core/forgejo/values.yaml
|
- $values/{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/observability-client/vm-client-stack/values.yaml
|
||||||
- repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
- repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
||||||
targetRevision: HEAD
|
targetRevision: HEAD
|
||||||
ref: values
|
ref: values
|
||||||
|
- repoURL: https://{{{ .Env.CLIENT_REPO_DOMAIN }}}/{{{ .Env.CLIENT_REPO_ORG_NAME }}}
|
||||||
|
targetRevision: HEAD
|
||||||
|
path: "{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/observability-client/vm-client-stack/manifests"
|
|
@ -0,0 +1,9 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: simple-user-secret
|
||||||
|
namespace: observability
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
username: simple-user
|
||||||
|
password: simple-password
|
1287
template/stacks/observability-client/vm-client-stack/values.yaml
Normal file
1287
template/stacks/observability-client/vm-client-stack/values.yaml
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,7 @@
|
||||||
apiVersion: argoproj.io/v1alpha1
|
apiVersion: argoproj.io/v1alpha1
|
||||||
kind: Application
|
kind: Application
|
||||||
metadata:
|
metadata:
|
||||||
name: victoria-k8s-stack
|
name: o12y
|
||||||
namespace: argocd
|
namespace: argocd
|
||||||
labels:
|
labels:
|
||||||
env: dev
|
env: dev
|
||||||
|
@ -12,6 +12,7 @@ spec:
|
||||||
selfHeal: true
|
selfHeal: true
|
||||||
syncOptions:
|
syncOptions:
|
||||||
- CreateNamespace=true
|
- CreateNamespace=true
|
||||||
|
- ServerSideApply=true
|
||||||
destination:
|
destination:
|
||||||
name: in-cluster
|
name: in-cluster
|
||||||
namespace: observability
|
namespace: observability
|
||||||
|
@ -19,7 +20,7 @@ spec:
|
||||||
- chart: victoria-metrics-k8s-stack
|
- chart: victoria-metrics-k8s-stack
|
||||||
repoURL: https://victoriametrics.github.io/helm-charts/
|
repoURL: https://victoriametrics.github.io/helm-charts/
|
||||||
targetRevision: 0.48.1
|
targetRevision: 0.48.1
|
||||||
releaseName: vm
|
releaseName: o12y
|
||||||
helm:
|
helm:
|
||||||
valueFiles:
|
valueFiles:
|
||||||
- $values/{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/observability/victoria-k8s-stack/values.yaml
|
- $values/{{{ .Env.CLIENT_REPO_ID }}}/{{{ .Env.DOMAIN }}}/stacks/observability/victoria-k8s-stack/values.yaml
|
||||||
|
|
|
@ -8,8 +8,8 @@ spec:
|
||||||
password: simple-password
|
password: simple-password
|
||||||
targetRefs:
|
targetRefs:
|
||||||
- static:
|
- static:
|
||||||
url: http://vmsingle-victoria-k8s-stack-victoria-metrics-k8s-stack:8429
|
url: http://vmsingle-o12y:8429
|
||||||
paths: ["/api/v1/write/.*"]
|
paths: ["/api/v1/write"]
|
||||||
- static:
|
- static:
|
||||||
url: http://vlogs-victorialogs:9428
|
url: http://vlogs-victorialogs:9428
|
||||||
paths: ["/insert/elasticsearch/.*"]
|
paths: ["/insert/elasticsearch/.*"]
|
||||||
|
|
|
@ -14,13 +14,13 @@ global:
|
||||||
# -- Override chart name
|
# -- Override chart name
|
||||||
nameOverride: ""
|
nameOverride: ""
|
||||||
# -- Resource full name override
|
# -- Resource full name override
|
||||||
fullnameOverride: ""
|
fullnameOverride: "o12y"
|
||||||
# -- Tenant to use for Grafana datasources and remote write
|
# -- Tenant to use for Grafana datasources and remote write
|
||||||
tenant: "0"
|
tenant: "0"
|
||||||
# -- If this chart is used in "Argocd" with "releaseName" field then
|
# -- If this chart is used in "Argocd" with "releaseName" field then
|
||||||
# VMServiceScrapes couldn't select the proper services.
|
# VMServiceScrapes couldn't select the proper services.
|
||||||
# For correct working need set value 'argocdReleaseOverride=$ARGOCD_APP_NAME'
|
# For correct working need set value 'argocdReleaseOverride=$ARGOCD_APP_NAME'
|
||||||
argocdReleaseOverride: ""
|
argocdReleaseOverride: "o12y"
|
||||||
|
|
||||||
# -- VictoriaMetrics Operator dependency chart configuration. More values can be found [here](https://docs.victoriametrics.com/helm/victoriametrics-operator#parameters). Also checkout [here](https://docs.victoriametrics.com/operator/vars) possible ENV variables to configure operator behaviour
|
# -- VictoriaMetrics Operator dependency chart configuration. More values can be found [here](https://docs.victoriametrics.com/helm/victoriametrics-operator#parameters). Also checkout [here](https://docs.victoriametrics.com/operator/vars) possible ENV variables to configure operator behaviour
|
||||||
victoria-metrics-operator:
|
victoria-metrics-operator:
|
||||||
|
@ -772,7 +772,7 @@ vmauth:
|
||||||
|
|
||||||
vmagent:
|
vmagent:
|
||||||
# -- Create VMAgent CR
|
# -- Create VMAgent CR
|
||||||
enabled: true
|
enabled: false
|
||||||
# -- VMAgent annotations
|
# -- VMAgent annotations
|
||||||
annotations: {}
|
annotations: {}
|
||||||
# -- Remote write configuration of VMAgent, allowed parameters defined in a [spec](https://docs.victoriametrics.com/operator/api#vmagentremotewritespec)
|
# -- Remote write configuration of VMAgent, allowed parameters defined in a [spec](https://docs.victoriametrics.com/operator/api#vmagentremotewritespec)
|
||||||
|
@ -875,6 +875,12 @@ grafana:
|
||||||
enabled: true
|
enabled: true
|
||||||
type: pvc
|
type: pvc
|
||||||
storageClassName: "default"
|
storageClassName: "default"
|
||||||
|
grafana.ini:
|
||||||
|
# auth:
|
||||||
|
# login_maximum_inactive_lifetime_duration: 0
|
||||||
|
# login_maximum_lifetime_duration: 0
|
||||||
|
security:
|
||||||
|
disable_brute_force_login_protection: true
|
||||||
sidecar:
|
sidecar:
|
||||||
datasources:
|
datasources:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|
Reference in a new issue