{"id":14155550,"url":"https://github.com/opendevstack/ods-core","last_synced_at":"2025-04-06T04:10:57.937Z","repository":{"id":38421405,"uuid":"142568962","full_name":"opendevstack/ods-core","owner":"opendevstack","description":"The core of OpenDevStack - infrastructure setup based on Atlassian tools, Jenkins, Nexus, SonarQube and shared images ","archived":false,"fork":false,"pushed_at":"2025-03-25T13:26:10.000Z","size":59660,"stargazers_count":52,"open_issues_count":82,"forks_count":34,"subscribers_count":26,"default_branch":"master","last_synced_at":"2025-03-30T03:05:13.514Z","etag":null,"topics":["atlassian","bitbucket","confluence","infrastructure","jenkins","jira","nexus","opendevstack","openshift","sonarqube"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opendevstack.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-27T11:28:08.000Z","updated_at":"2025-03-25T13:26:11.000Z","dependencies_parsed_at":"2024-02-22T10:37:41.370Z","dependency_job_id":"58352342-0ab9-4e94-98dc-90342dab9fea","html_url":"https://github.com/opendevstack/ods-core","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opendevstack%2Fods-core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opendevstack%2Fods-core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opendevstack%2Fods-core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opendevstack%2Fods-core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opendevstack","download_url":"https://codeload.github.com/opendevstack/ods-core/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247430870,"owners_count":20937874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["atlassian","bitbucket","confluence","infrastructure","jenkins","jira","nexus","opendevstack","openshift","sonarqube"],"created_at":"2024-08-17T08:03:54.789Z","updated_at":"2025-04-06T04:10:57.921Z","avatar_url":"https://github.com/opendevstack.png","language":"Shell","readme":"# ODS core \u0026 infrastructure\n\n| branch | Last Completed E2E test status | Last Successful E2E test status | CI test status | \n| ------------- | ------------- | -------------- | -------------- |\n| [master](https://ods-ci.apps.bix-digital.com/job/ods-ci/job/ods-build-master-branch/lastBuild/consoleText) | ![](https://ods-ci.apps.bix-digital.com/buildStatus/icon?job=ods-ci%2Fods-build-master-branch\u0026build=lastCompleted\u0026config=odsbuild) | ![](https://ods-ci.apps.bix-digital.com/buildStatus/icon?job=ods-ci%2Fods-build-master-branch\u0026build=lastSuccessful\u0026config=odsbuild) | ![](https://github.com/opendevstack/ods-core/workflows/Continous%20Integration%20Tests/badge.svg?branch=master) |\n| [4.x](https://ods-ci.apps.bix-digital.com/job/ods-ci/job/ods-build-4_x-branch/lastBuild/consoleText) | ![](https://ods-ci.apps.bix-digital.com/buildStatus/icon?job=ods-ci%2Fods-build-4_x-branch\u0026build=lastCompleted\u0026config=odsbuild) | ![](https://ods-ci.apps.bix-digital.com/buildStatus/icon?job=ods-ci%2Fods-build-4_x-branch\u0026build=lastSuccessful\u0026config=odsbuild) | ![](https://github.com/opendevstack/ods-core/workflows/Continous%20Integration%20Tests/badge.svg?branch=4.x) |\n| [3.x](https://ods-ci.apps.bix-digital.com/job/ods-ci/job/ods-build-3_x-branch/lastBuild/consoleText) | ![](https://ods-ci.apps.bix-digital.com/buildStatus/icon?job=ods-ci%2Fods-build-3_x-branch\u0026build=lastCompleted\u0026config=odsbuild) | ![](https://ods-ci.apps.bix-digital.com/buildStatus/icon?job=ods-ci%2Fods-build-3_x-branch\u0026build=lastSuccessful\u0026config=odsbuild) | ![](https://github.com/opendevstack/ods-core/workflows/Continous%20Integration%20Tests/badge.svg?branch=3.x) |\n\n## Introduction\nOpenDevStack (ODS) Core houses all the central infrastructure components.\n\nAll the contained components except Atlassian tools are built in the Openshift central `ods` namespace.\n\nThe extended, most up to date, user friendly documentation can be found @ [opendevstack.org](https://www.opendevstack.org/ods-documentation/)\n\n## Contents\n1. [Jenkins master](jenkins/master) \u0026 base agent - the basis of the ODS build engine\u003cbr\u003e\nThe [base agent](jenkins/agent-base) provides plugins for Sonarqube, optionally Snyk, AquaSec, CNES, skopeo and is HTTP proxy aware.\nSpecific [quickstarters / boilerplates](https://github.com/opendevstack/ods-quickstarters/tree/master) require different technologies e.g. `gradle`, `NPM/Yarn` etc. to build, hence warrant their own `builder agents`. These `agents` are based on the ods `jenkins base agent` and are hosted in the [ods-quickstarter repository](https://github.com/opendevstack/ods-quickstarters/tree/master/common/jenkins-agents) - next to their respective [boilerplates](https://github.com/opendevstack/ods-quickstarters/tree/master). \u003cbr\u003eDuring `jenkins` builds, instances/pods of those `builder / agent` images can be found within the project specific `cd` namespace.\n\u003cbr\u003e*Deployment:* one global Jenkins instance in the central `ods` namespace\n\n1. [Jenkins Webhook proxy](jenkins/webhook-proxy) - the glue layer between Bitbucket / Jira and Jenkins - to start a build from a change in a repository.\n\u003cbr\u003e*Deployment:* There is one instance of the webhook proxy in each project's `cd` namespace. The base image of the webhook proxy is located in the central `ods` namespace\n\n1. [Nexus](nexus) - artifact \u0026 repository manager\u003cbr\u003e\nNexus is used as artifact manager throughout OpenDevStack. Each [`jenkins agent`](https://github.com/opendevstack/ods-quickstarters/tree/master/common/jenkins-agents) is configured to bind to the installed NEXUS to centralize build / dependency artifact resolution. In case one wants to upload an artifact to Nexus, jenkins component stage `odsComponentStageUploadToNexus` can be used.\n\u003cbr\u003e*Deployment:* There is one central instance of Nexus in the `ods` project\n\n1. [Sonarqube](sonarqube) - Sofware quality management \u003cbr\u003e\nThe OpenDevStack version of Sonarqube - preconfigured with language plugins used by the [boilerplates](https://github.com/opendevstack/ods-quickstarters/tree/master). All generated `Jenkinsfile`s contain a stage `odsComponentStageScanWithSonar` for sourcecode review - which connects to this central instance.\n\u003cbr\u003e*Deployment:* There is one central instance of SQ in the `ods` project\n\n1. [ODS Provisioning Application](ods-provisioning-app) - The 'entrypoint' to work with OpenDevStack\u003cbr\u003e\nProvides the functionality to provision new projects and also components within those, based on [boilerplates](https://github.com/opendevstack/ods-quickstarters/tree/master). \u003cbr\u003eThe code for the provision application can be found [here](https://github.com/opendevstack/ods-provisioning-app). In case you want to work on the provision application, and build it yourself - there is a quickstarter that allows this, namely [ODS Provisioning Quickstarter](https://github.com/opendevstack/ods-quickstarters/tree/master/ods-provisioning-app).\n\u003cbr\u003e*Deployment:* There is one central instance of the provisioning app in the `ods` project\n\n1. [ODS document generation service](ods-document-generation-svc) - a service used to create PDF documents from json input and html templates.\nUsed by the [release manager quickstarter](https://github.com/opendevstack/ods-quickstarters/tree/master/release-manager).\nThe templates are located in the [templates repository](https://github.com/opendevstack/ods-document-generation-templates). \u003cbr\u003eThe code for the documentation generation service is located [here](https://github.com/opendevstack/ods-document-generation-svc). In case you want to work on the document generation service, and build it yourself - there is a quickstarter that allows this, namely [ODS Document Generation Service](https://github.com/opendevstack/ods-quickstarters/tree/master/ods-document-gen-svc). \u003cbr\u003e*Deployment:* There is one instance of the document generation service in each project's `cd` namespace. The base image of the doc gen service is located in the central `ods` namespace\n\n1. [Atlassian infrastructure](infrastructure-setup) \u003cbr\u003e\nContains all the ansible scripts to setup jira / confluence / bitbucket and atlassian crowd. Optional, if you have your own instances running, you can just configure OpenDevStack to use those in `ods-configuration/ods-core.env`.\n\n1. [Tests \u0026 Installation verification](tests) \u003cbr\u003e\nThe automated tests for ods core are in two locations:\u003cbr\u003e\na) located side by side to the components, e.g for `sonarqube` they are located in [sonarqube/test.sh](sonarqube/test.sh). \u003cbr\u003e\nb) inside the [tests](tests) directory. \u003c/p\u003e The tests can be started with `make test`, which will call two test-suites. Namely, the tests to create a new project in [tests/create-projects](tests/create-projects) and those in [tests/ods-verify](tests/ods-verify) to verify if all components are installed successfully and run. If both pass - the setup of ods-core components is successful. Once those tests have passed, all quickstarters in [ods-quickstarters](https://github.com/opendevstack/ods-quickstarters) can be run via `make test-quickstarter`.\n\n1. [ODS Development Environment / ODS in a box](ods-devenv)\u003cbr\u003e\nODS also ships as Amazon AMI - ready to go. The scripts to create the AMI can be found in ods-devenv. These scripts can be used also be used to install a `developer` version of ODS on a plain linux vm. Simply execute [bootstrap.sh](ods-devenv/scripts/bootstrap.sh)\n\n## Current AMI build logs\nthe log files contain color coding, they are best viewed using a tool supporting color coding, like tail. E.g.:\n\n\n```\n# after untaring view the log file 'current' like so:\ntail -fn +1 current\n```\n","funding_links":[],"categories":["jenkins"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopendevstack%2Fods-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopendevstack%2Fods-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopendevstack%2Fods-core/lists"}