Skip to content

Refactor package structure to align with target architecture#489

Open
avetgit wants to merge 19 commits into
developfrom
feature/rename-feature-and-new-package-structure
Open

Refactor package structure to align with target architecture#489
avetgit wants to merge 19 commits into
developfrom
feature/rename-feature-and-new-package-structure

Conversation

@avetgit
Copy link
Copy Markdown
Contributor

@avetgit avetgit commented May 19, 2026

This PR restructures the package layout to better reflect the intended architectural boundaries.

Changes include:

  • move application-level flow and context concerns into dedicated application packages
  • group deployable tools into dedicated tool package
  • separate technical integrations into infrastructure package
  • relocate content-related logic to application package
  • improve overall package clarity and navigation

This PR is mainly a structural preparation step and is not intended to introduce significant behavioral changes.

nihussmann and others added 19 commits May 12, 2026 13:19
* 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>
* 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>
…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
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.

3 participants