MC-Application-Manager is one of the components of the M-CMP platform. With MC-Application-Manager, you can deploy and manage applications on the desired infrastructure (VM/K8S) and register a separate repository for use. Additionally, for users who are not familiar with using Yaml, there is a Yaml Generator feature available.
- Application Catalog Management
- Repository Management
- Yaml Generator
- System Requirements
- Installation with Docker Compose
- Project Structure
- Run Instructions
- Contributing
- License
To use mc-application-manager, ensure your system meets the following requirements:
- Operating System: Linux (Ubuntu 22.04 LTS recommended)
- Java: OpenJDK 17+
- Gradle: v7.6+
- Docker: v24.0.2+
- Application-Provisioning-Engine(Jenkins): v2.424+
- Git: Latest version
The easiest way to deploy mc-application-manager is via Docker Compose. Follow the steps below to get started.
First, clone the mc-application-manager
repository to your local machine:
git clone https://github.com/m-cmp/mc-application-manager.git
cd mc-application-manager
You can customize the following environment variables in the docker-compose.yaml file:
- DDL_AUTO : Database initialization # create-drop
- DB_USER : Database user ID
- DB_PASS : Database user password
- SQL_DATA_INIT : always # or never
- Edit these environment variables according to your needs.
To bring up the mc-application-manager service along with its dependencies, run the following command:
sudo apt update
sudo apt install -y docker-compose
cd ./script
chmod +x setup-docker-no-sudo.sh
./setup-docker-no-sudo.sh
cd ..
# The initial user information for the workflow engine is admin / 123456
# The initial user information for the repository is admin / 123456
# If you need to modify, modify docker-compose.yaml
sudo docker-compose up -d
This command will pull the necessary Docker images, build the services, and start the containers in detached mode.
Once the services are up, you can access the following endpoints:
- Swagger UI:
http://<Public_IP>:18084/swagger-ui/index.html
- Application-Provisioning-Engine(Jenkins) UI:
http://<Public_IP>:9800
- Repository UI :
http://<Public_IP>:8081
- Application Manager UI:
http://<Public_IP>:18084/web
- OSS Management:
http://<Public_IP>:18084/web/oss/list
- Application Catalog Management:
http://<Public_IP>:18084/web/softwareCatalog
- Repository Management:
http://<Public_IP>:18084/web/repository/list
- Yaml Generator:
http://<Public_IP>:18084/web/generate/yaml
- OSS Management:
- Access the OSS List
- Modify previously registered OSS
- Update with Workflow Engine And Repository information
- Check for duplicates and verify connections
- Click the "Edit" button
※ If no separate modifications were made, the Workflow Engine (Jenkins) information is as follows.
- APE (Application Provisioning Engine) - Jenkins
URL : http://<Public_IP>:9800
OSS ID : admin
OSS PW : 123456
- Repository - Nexus
URL : http://<Public_IP>:8081
OSS ID : admin
OSS PW : 123456
To stop the running services, use:
sudo docker-compose down
This will gracefully shut down the containers without removing volumes, allowing you to preserve the state of the database.
mc-application-manager/
├── docker-compose.yaml # Docker Compose file for service orchestration
├── src/ # Source code for the Application Manager
├── script/ # Helper scripts for build and execution
├── README.md # Project documentation
├── LICENSE # License information
└── docs/ # Additional documentation
If you prefer to build and run the project manually, follow these steps:
-
Install Git
sudo apt update sudo apt install -y git
-
Download mc-application-manager Source Code
cd $HOME git clone https://github.com/m-cmp/mc-application-manager.git export PROJECT_ROOT=$(pwd)/mc-application-manager
-
Install Required Packages/Tools and Set Environment Variables
-
Install Java, Docker
cd $PROJECT_ROOT/script sudo chmod +x *.sh . $PROJECT_ROOT/script/init-install.sh
-
Set Environment Variables
cd $PROJECT_ROOT/script . $PROJECT_ROOT/script/set_env.sh source $HOME/.bashrc
-
-
Build and Run
- Execute Shell Script
# Run Jenkins . $PROJECT_ROOT/script/run-jenkins.sh # Build Springboot Project . $PROJECT_ROOT/script/build-mc-application.sh # Run Springboot Project . $PROJECT_ROOT/script/run-mc-application.sh
- Execute Shell Script
We welcome contributions to the mc-application-manager project! To get involved, follow these steps:
- Fork the repository on GitHub.
- Create a feature branch:
git checkout -b feature-branch
. - Commit your changes:
git commit -m "Add new feature"
. - Push the branch:
git push origin feature-branch
. - Open a Pull Request.
- For detailed guidelines, refer to the Contributing Guide.
This project is licensed under the terms of the Apache 2.0 License. See the LICENSE file for details.