Skip to content

Gitops for SCMM, Registry, Jenkins#386

Open
nihussmann wants to merge 50 commits into
mainfrom
feature/argocd-chart
Open

Gitops for SCMM, Registry, Jenkins#386
nihussmann wants to merge 50 commits into
mainfrom
feature/argocd-chart

Conversation

@nihussmann
Copy link
Copy Markdown
Contributor

-> removed Argocd Wrapper chart and using Argocd MultiSource Applications instatt
-> Updating Argocd to 9.4.15
-> Adding Jenkins, Registry and SCM Manager to Argocd
-> Adding operator installation to project

@nihussmann nihussmann marked this pull request as draft April 17, 2026 08:25
nihussmann and others added 23 commits April 17, 2026 11:17
# Conflicts:
#	argocd/cluster-resources/apps/argocd/argocd/Chart.lock
#	src/main/groovy/com/cloudogu/gitops/Feature.groovy
#	src/main/groovy/com/cloudogu/gitops/cli/GitopsPlaygroundCliMainScripted.groovy
#	src/main/groovy/com/cloudogu/gitops/config/Config.groovy
#	src/main/groovy/com/cloudogu/gitops/features/CertManager.groovy
#	src/main/groovy/com/cloudogu/gitops/features/Ingress.groovy
#	src/main/groovy/com/cloudogu/gitops/features/Mail.groovy
#	src/main/groovy/com/cloudogu/gitops/features/deployment/ArgoCdApplicationStrategy.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/ScmManager.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/ScmManagerSetup.groovy
# Conflicts:
#	argocd/cluster-resources/apps/argocd/argocd/Chart.lock
#	argocd/cluster-resources/apps/argocd/argocd/Chart.yaml
#	src/main/groovy/com/cloudogu/gitops/cli/GitopsPlaygroundCliMainScripted.groovy
#	src/main/groovy/com/cloudogu/gitops/config/Config.groovy
#	src/main/groovy/com/cloudogu/gitops/features/deployment/Deployer.groovy
#	src/test/groovy/com/cloudogu/gitops/features/argocd/ArgoCDTest.groovy
# Conflicts:
#	src/main/groovy/com/cloudogu/gitops/Application.groovy
#	src/main/groovy/com/cloudogu/gitops/config/ConfigConstants.groovy
#	src/main/groovy/com/cloudogu/gitops/features/argocd/ArgoCD.groovy
#	src/test/groovy/com/cloudogu/gitops/features/ContentLoaderTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/JenkinsTest.groovy
build the weekly builds on develop, not on main anylonger.
We also want to have an image with the tag "develop" available
which reflects the latest development version of gop
* CodeNarc and Intellij Formatting (#368)

* with the introduction of the develop branch, we need jenkins to
build the weekly builds on develop, not on main anylonger.
We also want to have an image with the tag "develop" available
which reflects the latest development version of gop

* with the introduction of the develop branch, renovate should use it
as the target branch within pull requests

* Update application-dev.yaml

* Update application-dev.yaml

* Init commit: add repoContext and repoInitializer

* translate comment to englisch

* Rename and bugfix deploying  prometheusStack misc dashboard

* Merge RepoContext and RepoIntializer into ArgoCDRepoContext

* Move prepareGitOps to ArgoCDRepoSetup and fix ArgoCD unit tests

* docs and code format rules added

* adding .png

* imports

* update

* update

* review changes, rebase develop

---------

Co-authored-by: David Daehne <david.daehne@cloudogu.com>
Co-authored-by: avetgit <111436035+avetgit@users.noreply.github.com>
Co-authored-by: Anna Vetcininova <anna.vetcininova@cloudogu.com>
Co-authored-by: Thomas Michael <thomas.michael@cloudogu.com>

* Update Jenkins Pipeline to build on develop branch (#479)

* with the introduction of the develop branch, we need jenkins to
build the weekly builds on develop, not on main anylonger.
We also want to have an image with the tag "develop" available
which reflects the latest development version of gop

* with the introduction of the develop branch, renovate should use it
as the target branch within pull requests

* Update application-dev.yaml

* Update application-dev.yaml

* Merge pull request #482 from cloudogu/feature/newImageDescription

Change docker image description

---------

Co-authored-by: avetgit <111436035+avetgit@users.noreply.github.com>
Co-authored-by: Thomas <thomas@thomasmichael.de>

---------

Co-authored-by: Niklas Hußmann <niklas.hussmann-extern@cloudogu.com>
Co-authored-by: David Daehne <david.daehne@cloudogu.com>
Co-authored-by: avetgit <111436035+avetgit@users.noreply.github.com>
Co-authored-by: Anna Vetcininova <anna.vetcininova@cloudogu.com>
Co-authored-by: David Daehne <47227343+DerDaehne@users.noreply.github.com>
* store admin pw everytime in a secret

* Update src/main/groovy/com/cloudogu/gitops/Application.groovy

Co-authored-by: Niklas Hußmann <niklas.hussmann-extern@cloudogu.com>

* fixing jacoco plugin configuration

* testing maven wrapper

* testing maven wrapper

* remove minimum limit for coverage

* enable minimum coverage limit, but no build breaker

* remove wrong docker image build

---------

Co-authored-by: Niklas Hußmann <niklas.hussmann-extern@cloudogu.com>
avetgit and others added 21 commits May 18, 2026 12:22
* renovate should be allowed to auto-merge minor patches except Jenkins plugins.
Jenkins plugins are not yet tested by our ci server, to there's no way to tell
if the updated plugins work or not. also: use the "stable" jenkins update url
and not "latest"

* Update application-dev.yaml

* Update application-dev.yaml

* Merge pull request #482 from cloudogu/feature/newImageDescription

Change docker image description

* fixes cve in mina-sshd-api-common and mina-sshd-api-cor (#483)

* merges main into develop branch (#484)

* CodeNarc and Intellij Formatting (#368)

* with the introduction of the develop branch, we need jenkins to
build the weekly builds on develop, not on main anylonger.
We also want to have an image with the tag "develop" available
which reflects the latest development version of gop

* with the introduction of the develop branch, renovate should use it
as the target branch within pull requests

* Update application-dev.yaml

* Update application-dev.yaml

* Init commit: add repoContext and repoInitializer

* translate comment to englisch

* Rename and bugfix deploying  prometheusStack misc dashboard

* Merge RepoContext and RepoIntializer into ArgoCDRepoContext

* Move prepareGitOps to ArgoCDRepoSetup and fix ArgoCD unit tests

* docs and code format rules added

* adding .png

* imports

* update

* update

* review changes, rebase develop

---------

Co-authored-by: David Daehne <david.daehne@cloudogu.com>
Co-authored-by: avetgit <111436035+avetgit@users.noreply.github.com>
Co-authored-by: Anna Vetcininova <anna.vetcininova@cloudogu.com>
Co-authored-by: Thomas Michael <thomas.michael@cloudogu.com>

* Update Jenkins Pipeline to build on develop branch (#479)

* with the introduction of the develop branch, we need jenkins to
build the weekly builds on develop, not on main anylonger.
We also want to have an image with the tag "develop" available
which reflects the latest development version of gop

* with the introduction of the develop branch, renovate should use it
as the target branch within pull requests

* Update application-dev.yaml

* Update application-dev.yaml

* Merge pull request #482 from cloudogu/feature/newImageDescription

Change docker image description

---------

Co-authored-by: avetgit <111436035+avetgit@users.noreply.github.com>
Co-authored-by: Thomas <thomas@thomasmichael.de>

---------

Co-authored-by: Niklas Hußmann <niklas.hussmann-extern@cloudogu.com>
Co-authored-by: David Daehne <david.daehne@cloudogu.com>
Co-authored-by: avetgit <111436035+avetgit@users.noreply.github.com>
Co-authored-by: Anna Vetcininova <anna.vetcininova@cloudogu.com>
Co-authored-by: David Daehne <47227343+DerDaehne@users.noreply.github.com>

* store admin pw everytime in a secret (#485)

* store admin pw everytime in a secret

* Update src/main/groovy/com/cloudogu/gitops/Application.groovy

Co-authored-by: Niklas Hußmann <niklas.hussmann-extern@cloudogu.com>

* fixing jacoco plugin configuration

* testing maven wrapper

* testing maven wrapper

* remove minimum limit for coverage

* enable minimum coverage limit, but no build breaker

* remove wrong docker image build

---------

Co-authored-by: Niklas Hußmann <niklas.hussmann-extern@cloudogu.com>

* renovate should be allowed to auto-merge minor patches except Jenkins plugins.
Jenkins plugins are not yet tested by our ci server, to there's no way to tell
if the updated plugins work or not. also: use the "stable" jenkins update url
and not "latest"

---------

Co-authored-by: avetgit <111436035+avetgit@users.noreply.github.com>
Co-authored-by: Thomas <thomas@thomasmichael.de>
Co-authored-by: Niklas Hußmann <niklas.hussmann-extern@cloudogu.com>
Co-authored-by: Anna Vetcininova <anna.vetcininova@cloudogu.com>
…ture

# Conflicts:
#	Jenkinsfile
#	src/main/groovy/com/cloudogu/gitops/Application.groovy
#	src/main/groovy/com/cloudogu/gitops/Feature.groovy
#	src/main/groovy/com/cloudogu/gitops/FeatureWithImage.groovy
#	src/main/groovy/com/cloudogu/gitops/config/ApplicationConfigurator.groovy
#	src/main/groovy/com/cloudogu/gitops/config/CommonFeatureConfig.groovy
#	src/main/groovy/com/cloudogu/gitops/config/MultiTenantSchema.groovy
#	src/main/groovy/com/cloudogu/gitops/dependencyinjection/HttpClientFactory.groovy
#	src/main/groovy/com/cloudogu/gitops/destroy/ArgoCDDestructionHandler.groovy
#	src/main/groovy/com/cloudogu/gitops/destroy/JenkinsDestructionHandler.groovy
#	src/main/groovy/com/cloudogu/gitops/destroy/ScmmDestructionHandler.groovy
#	src/main/groovy/com/cloudogu/gitops/features/ContentLoader.groovy
#	src/main/groovy/com/cloudogu/gitops/features/ExternalSecretsOperator.groovy
#	src/main/groovy/com/cloudogu/gitops/features/Jenkins.groovy
#	src/main/groovy/com/cloudogu/gitops/features/Monitoring.groovy
#	src/main/groovy/com/cloudogu/gitops/features/Registry.groovy
#	src/main/groovy/com/cloudogu/gitops/features/Vault.groovy
#	src/main/groovy/com/cloudogu/gitops/features/argocd/ArgoCD.groovy
#	src/main/groovy/com/cloudogu/gitops/features/argocd/ArgoCDRepoSetup.groovy
#	src/main/groovy/com/cloudogu/gitops/features/argocd/RepoInitializationAction.groovy
#	src/main/groovy/com/cloudogu/gitops/features/argocd/RepoLayout.groovy
#	src/main/groovy/com/cloudogu/gitops/features/deployment/ArgoCdApplicationStrategy.groovy
#	src/main/groovy/com/cloudogu/gitops/features/deployment/DeploymentStrategy.groovy
#	src/main/groovy/com/cloudogu/gitops/features/deployment/HelmStrategy.groovy
#	src/main/groovy/com/cloudogu/gitops/features/git/GitHandler.groovy
#	src/main/groovy/com/cloudogu/gitops/features/git/config/ScmCentralSchema.groovy
#	src/main/groovy/com/cloudogu/gitops/features/git/config/ScmTenantSchema.groovy
#	src/main/groovy/com/cloudogu/gitops/features/git/config/util/GitlabConfig.groovy
#	src/main/groovy/com/cloudogu/gitops/features/git/config/util/ScmManagerConfig.groovy
#	src/main/groovy/com/cloudogu/gitops/features/git/config/util/ScmProviderType.groovy
#	src/main/groovy/com/cloudogu/gitops/git/GitRepo.groovy
#	src/main/groovy/com/cloudogu/gitops/git/GitRepoFactory.groovy
#	src/main/groovy/com/cloudogu/gitops/git/jgit/helpers/InsecureCredentialProvider.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/GitProvider.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/gitlab/Gitlab.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/Permission.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/ScmManager.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/ScmManagerUrlResolver.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/api/AuthorizationInterceptor.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/api/PluginApi.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/api/Repository.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/api/RepositoryApi.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/api/ScmManagerApi.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/api/ScmManagerApiClient.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/api/ScmManagerUser.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/api/UsersApi.groovy
#	src/main/groovy/com/cloudogu/gitops/jenkins/JenkinsApiClient.groovy
#	src/main/groovy/com/cloudogu/gitops/jenkins/JobManager.groovy
#	src/main/groovy/com/cloudogu/gitops/jenkins/PrometheusConfigurator.groovy
#	src/main/groovy/com/cloudogu/gitops/jenkins/UserManager.groovy
#	src/main/groovy/com/cloudogu/gitops/kubernetes/api/HelmClient.groovy
#	src/main/groovy/com/cloudogu/gitops/kubernetes/api/K8sClient.groovy
#	src/main/groovy/com/cloudogu/gitops/kubernetes/api/K8sJavaApiClient.groovy
#	src/main/groovy/com/cloudogu/gitops/kubernetes/argocd/ArgoApplication.groovy
#	src/main/groovy/com/cloudogu/gitops/kubernetes/rbac/RbacDefinition.groovy
#	src/main/groovy/com/cloudogu/gitops/kubernetes/rbac/Role.groovy
#	src/main/groovy/com/cloudogu/gitops/kubernetes/rbac/RoleBinding.groovy
#	src/main/groovy/com/cloudogu/gitops/kubernetes/rbac/ServiceAccountRef.groovy
#	src/main/groovy/com/cloudogu/gitops/okhttp/RetryInterceptor.groovy
#	src/main/groovy/com/cloudogu/gitops/okhttp/ScmManagerAPI.groovy
#	src/main/groovy/com/cloudogu/gitops/utils/AirGappedUtils.groovy
#	src/main/groovy/com/cloudogu/gitops/utils/NetworkingUtils.groovy
#	src/test/groovy/com/cloudogu/gitops/FeatureTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/ExternalSecretsOperatorTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/IngressTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/RegistryTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/VaultTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/deployment/ArgoCdApplicationStrategyTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/deployment/DeployerTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/git/GitHandlerTest.groovy
#	src/test/groovy/com/cloudogu/gitops/git/GitRepoTest.groovy
#	src/test/groovy/com/cloudogu/gitops/git/jgit/helpers/InsecureCredentialProviderTest.groovy
#	src/test/groovy/com/cloudogu/gitops/git/providers/scmmanager/ScmManagerTest.groovy
#	src/test/groovy/com/cloudogu/gitops/git/providers/scmmanager/api/UsersApiTest.groovy
#	src/test/groovy/com/cloudogu/gitops/infrastructure/deployment/HelmStrategyTest.groovy
#	src/test/groovy/com/cloudogu/gitops/infrastructure/git/providers/scmmanager/ScmManagerUrlResolverTest.groovy
#	src/test/groovy/com/cloudogu/gitops/infrastructure/jenkins/GlobalPropertyManagerTest.groovy
#	src/test/groovy/com/cloudogu/gitops/infrastructure/kubernetes/rbac/RbacDefinitionTest.groovy
#	src/test/groovy/com/cloudogu/gitops/jenkins/JenkinsApiClientTest.groovy
#	src/test/groovy/com/cloudogu/gitops/jenkins/JobManagerTest.groovy
#	src/test/groovy/com/cloudogu/gitops/jenkins/UserManagerTest.groovy
#	src/test/groovy/com/cloudogu/gitops/kubernetes/api/K8sJavaApiTest.groovy
#	src/test/groovy/com/cloudogu/gitops/kubernetes/rbac/ArgocdApplicationTest.groovy
#	src/test/groovy/com/cloudogu/gitops/okhttp/RetryInterceptorTest.groovy
#	src/test/groovy/com/cloudogu/gitops/tools/MonitoringTest.groovy
#	src/test/groovy/com/cloudogu/gitops/tools/core/ScmManagerSetupTest.groovy
#	src/test/groovy/com/cloudogu/gitops/tools/core/argocd/ArgoCDRepoSetupTest.groovy
#	src/test/groovy/com/cloudogu/gitops/tools/core/argocd/ArgoCDTest.groovy
#	src/test/groovy/com/cloudogu/gitops/utils/AirGappedUtilsTest.groovy
#	src/test/groovy/com/cloudogu/gitops/utils/HelmClientTest.groovy
#	src/test/groovy/com/cloudogu/gitops/utils/K8sClientForTest.groovy
#	src/test/groovy/com/cloudogu/gitops/utils/K8sClientTest.groovy
#	src/test/groovy/com/cloudogu/gitops/utils/TestLogger.groovy
#	src/test/groovy/com/cloudogu/gitops/utils/git/GitHandlerForTests.groovy
#	src/test/groovy/com/cloudogu/gitops/utils/git/GitlabMock.groovy
#	src/test/groovy/com/cloudogu/gitops/utils/git/TestGitProvider.groovy
#	src/test/groovy/com/cloudogu/gitops/utils/git/TestGitRepoFactory.groovy
#	src/test/groovy/com/cloudogu/gitops/utils/git/TestScmManagerApiClient.groovy
don't prefix official presets with "preset"
…package-structure

Refactor package structure to align with target architecture
* removed old kubectl commands and tests. Migrate to new fabric8 lib. Removed dependencies on k8sClient

* fixing tests compile

* fixing

* reformat code

* reformat code

* removed build

* removed build

* Fix Feature and Vault Test
Add new test mock client to testclasses

* Disable ArgoCDTests
Fix VaultTest
Clean Feauture and IngressTest

* Fix ExternalSecretsOperatorTest

* Fix ContentLoaderTest, add serviceAccounts in k8sclients

* Disable MonitoringTest to fix later

* Disable some K8sJavaApi Tests and enable Jenkins test step

* Disable some tests in ContentLoadder because of not running on jenkins

---------

Co-authored-by: Thomas Michael <thomas.michael@cloudogu.com>
Co-authored-by: Anna Vetcininova <anna.vetcininova@cloudogu.com>
# Conflicts:
#	src/main/groovy/com/cloudogu/gitops/Application.groovy
#	src/main/groovy/com/cloudogu/gitops/Feature.groovy
#	src/main/groovy/com/cloudogu/gitops/config/Config.groovy
#	src/main/groovy/com/cloudogu/gitops/config/ConfigConstants.groovy
#	src/main/groovy/com/cloudogu/gitops/features/ContentLoader.groovy
#	src/main/groovy/com/cloudogu/gitops/features/ExternalSecretsOperator.groovy
#	src/main/groovy/com/cloudogu/gitops/features/Jenkins.groovy
#	src/main/groovy/com/cloudogu/gitops/features/Monitoring.groovy
#	src/main/groovy/com/cloudogu/gitops/features/Registry.groovy
#	src/main/groovy/com/cloudogu/gitops/features/Vault.groovy
#	src/main/groovy/com/cloudogu/gitops/features/argocd/ArgoCD.groovy
#	src/main/groovy/com/cloudogu/gitops/features/deployment/ArgoCdApplicationStrategy.groovy
#	src/main/groovy/com/cloudogu/gitops/features/git/GitHandler.groovy
#	src/main/groovy/com/cloudogu/gitops/git/GitRepo.groovy
#	src/main/groovy/com/cloudogu/gitops/git/providers/scmmanager/ScmManager.groovy
#	src/main/groovy/com/cloudogu/gitops/infrastructure/deployment/Deployer.groovy
#	src/main/groovy/com/cloudogu/gitops/kubernetes/api/K8sJavaApiClient.groovy
#	src/main/groovy/com/cloudogu/gitops/tools/CertManager.groovy
#	src/main/groovy/com/cloudogu/gitops/tools/Ingress.groovy
#	src/main/groovy/com/cloudogu/gitops/tools/core/ScmManagerSetup.groovy
#	src/test/groovy/com/cloudogu/gitops/ApplicationConfiguratorTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/ContentLoaderTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/ExternalSecretsOperatorTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/IngressTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/JenkinsTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/MonitoringTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/RegistryTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/VaultTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/argocd/ArgoCDTest.groovy
#	src/test/groovy/com/cloudogu/gitops/features/deployment/DeployerTest.groovy
#	src/test/groovy/com/cloudogu/gitops/git/providers/scmmanager/ScmManagerSetupTest.groovy
#	src/test/groovy/com/cloudogu/gitops/tools/CertManagerTest.groovy
…nd ArgoCD operator deployment flow. (#493)

* Fix bug with argocd custom resource (mitmatch version)

* Fix bug argocd operator rbac

* Add tests for k8sClient

* Fix unit tests
# Conflicts:
#	src/main/groovy/com/cloudogu/gitops/infrastructure/kubernetes/api/K8sClient.groovy
#	src/main/groovy/com/cloudogu/gitops/tools/core/argocd/ArgoCD.groovy
@avetgit avetgit marked this pull request as ready for review May 29, 2026 12:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants