Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
cab9e06
Create content_loader.md
flxebrt Sep 17, 2025
fb6cf70
Update and rename content_loader.md to content-loader.md
flxebrt Sep 18, 2025
a70476d
Update content-loader.md
flxebrt Sep 18, 2025
a6027ea
Update content-loader.md
flxebrt Sep 18, 2025
5f22544
Create content-loader-config.yaml
flxebrt Sep 18, 2025
29a1a3e
Add files via upload
flxebrt Sep 18, 2025
4e393e4
Update content-loader.md
flxebrt Sep 18, 2025
6775026
Add files via upload
flxebrt Sep 18, 2025
f7eb05b
Add files via upload
flxebrt Sep 18, 2025
732e3f3
Update content-loader.md
flxebrt Sep 18, 2025
c884142
Update content-loader.md
flxebrt Sep 18, 2025
1f3ea41
Delete docs/content-loader-docs/example-tenant directory
flxebrt Sep 18, 2025
f20e974
Add files via upload
flxebrt Sep 18, 2025
d266696
Delete docs/content-loader-docs/example-tenant/gitops directory
flxebrt Sep 18, 2025
7cf8d3b
Add files via upload
flxebrt Sep 18, 2025
cb72e6c
Add empty folders
schnatterer Sep 18, 2025
5b628b7
Update content-loader.md
flxebrt Sep 19, 2025
d9f27a4
Update content-loader.md
flxebrt Sep 19, 2025
299b103
Update README.md
flxebrt Sep 19, 2025
10e3357
adopt docs for content loader
Sep 19, 2025
fdd650e
adopt docs for content loader
Sep 22, 2025
09f1239
add short instruction how to start with content loader
flxebrt Sep 22, 2025
b4fdcb2
adapt purpose of content loader
flxebrt Sep 23, 2025
026965c
adapt content loader docs and add table of contents
flxebrt Sep 23, 2025
de33346
Content Loader: Simply path structure
schnatterer Sep 25, 2025
5126e44
Polishing
schnatterer Sep 25, 2025
118348c
* fix typos
flxebrt Sep 26, 2025
49da023
Content Loader: Adapt TLDR after testing
schnatterer Sep 26, 2025
422e352
Content Loader docs: Finishing touches
schnatterer Sep 26, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ Kubernetes clusters:
* Pipelines: Example applications using [Jenkins](#jenkins) with the [gitops-build-lib](https://github.com/cloudogu/gitops-build-lib) and [SCM-Manager](#scm-manager)
* Ingress Controller: [ingress-nginx](https://github.com/kubernetes/ingress-nginx/)
* Certificate Management: [cert-manager](#certificate-management)
* [Content Loader](docs/content-loader/content-loader.md): Completely customize what is pushed to Git during installation.
This allows for adding your own end-user or IDP apps, creating repos, adding Argo CD tenants, etc.
* Runs on:
* local cluster (try it [with only one command](#tldr)),
* in the public cloud,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: example-tenant
namespace: ${config.application.namePrefix}argocd
# finalizer disabled, because otherwise everything under this Application would be deleted as well, if this Application is deleted by accident
# finalizers:
# - resources-finalizer.argocd.argoproj.io
spec:
destination:
namespace: ${config.application.namePrefix}argocd
server: https://kubernetes.default.svc
project: argocd
source:
path: argocd/
repoURL: "http://scmm.${config.application.namePrefix}scm-manager.svc.cluster.local/scm/repo/${config.application.namePrefix}example-tenant/gitops"
targetRevision: main
directory:
recurse: true
syncPolicy:
automated:
prune: false # is set to false to prevent projects to be deleted by accident
selfHeal: true
33 changes: 33 additions & 0 deletions docs/content-loader/argocd/argocd/projects/example-tenant.ftl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: example-tenant
namespace: ${config.application.namePrefix}argocd
annotations:
<#if config.features.mail.active>
notifications.argoproj.io/subscribe.email: ${config.features.argocd.emailToUser}
</#if>
spec:
description: Contains examples of end-user applications
destinations:
- namespace: ${config.application.namePrefix}example-tenant-production
server: https://kubernetes.default.svc
- namespace: ${config.application.namePrefix}example-tenant-staging
server: https://kubernetes.default.svc
sourceRepos:
- http://scmm.${config.application.namePrefix}scm-manager.svc.cluster.local/scm/repo/${config.application.namePrefix}example-tenant/gitops
- http://scmm.${config.application.namePrefix}scm-manager.svc.cluster.local/scm/repo/${config.application.namePrefix}example-tenant/nginx-helm-umbrella
- https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami

# allow to only see application resources from the specified namespace
sourceNamespaces:
- '${config.application.namePrefix}example-tenant-staging'
- '${config.application.namePrefix}example-tenant-production'

# Allow all namespaced-scoped resources to be created
namespaceResourceWhitelist:
- group: '*'
kind: '*'

# Deny all cluster-scoped resources from being created. Least privilege.
clusterResourceWhitelist:
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
55 changes: 55 additions & 0 deletions docs/content-loader/content-loader-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# $schema: https://raw.githubusercontent.com/cloudogu/gitops-playground/main/docs/configuration.schema.json
content:
repos:
- url: https://github.com/cloudogu/gitops-build-lib
target: 3rd-party-dependencies/gitops-build-lib
overwriteMode: RESET
- url: https://github.com/cloudogu/ces-build-lib
target: 3rd-party-dependencies/ces-build-lib
overwriteMode: RESET
- url: https://github.com/cloudogu/spring-boot-helm-chart
target: 3rd-party-dependencies/spring-boot-helm-chart
overwriteMode: RESET
- url: https://github.com/cloudogu/spring-petclinic
target: example-tenant/petclinic-plain
ref: feature/gitops_ready
targetRef: main
# ref: b0738b2
overwriteMode: UPGRADE
createJenkinsJob: true
- url: https://github.com/cloudogu/spring-petclinic
target: example-tenant/petclinic-helm
ref: feature/gitops_ready
targetRef: main
overwriteMode: UPGRADE
createJenkinsJob: true
- url: 'https://github.com/cloudogu/gitops-playground.git'
path: 'docs/content-loader'
ref: main
templating: true
type: FOLDER_BASED
overwriteMode: UPGRADE

namespaces:
# - ${config.application.namePrefix}example-tenant-production
# - ${config.application.namePrefix}example-tenant-staging
- example-tenant-production
- example-tenant-staging
variables:
umbrella:
nginxAnnotation: 'my value'
some: other

application:
yes: true
baseUrl: http://localhost
# namePrefix: customer-1
jenkins:
active: true
registry:
active: true
features:
argocd:
active: true
ingressNginx:
active: true
Loading