Update readme
This commit is contained in:
38
README.md
38
README.md
@ -0,0 +1,38 @@
|
|||||||
|
# WebServicesManager
|
||||||
|
|
||||||
|
**A script set for web services management.**
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
- First clone the repository
|
||||||
|
```bash
|
||||||
|
# the remote repository where located on my cloud server
|
||||||
|
git clone https://gitea.virtualguard101.com/virtualguard101/webscripts.git
|
||||||
|
cd webscripts
|
||||||
|
```
|
||||||
|
|
||||||
|
- Launch the manager with `main.py`
|
||||||
|
```bash
|
||||||
|
./main.py
|
||||||
|
```
|
||||||
|
|
||||||
|
Add `-h` as parameter to find usage:
|
||||||
|
```bash
|
||||||
|
./main.py -h
|
||||||
|
usage: main.py [-h] {register,list,operate} ...
|
||||||
|
|
||||||
|
=====> Web Services Manager <=====
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
{register,list,operate}
|
||||||
|
register Register a new service
|
||||||
|
list List all services
|
||||||
|
operate Service operations to carry out
|
||||||
|
|
||||||
|
options:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
```
|
||||||
|
|
||||||
|
## TODO
|
||||||
|
|
||||||
|
- [ ] Add the function that can remove services
|
||||||
|
24
main.py
24
main.py
@ -7,21 +7,21 @@ from src.manager import ServiceFactory, ServiceRepository, Manager
|
|||||||
from src.services import DockerServiceStrategy, SystemServiceStrategy
|
from src.services import DockerServiceStrategy, SystemServiceStrategy
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(description="服务管理工具")
|
parser = argparse.ArgumentParser(description="=====> Web Services Manager <=====")
|
||||||
subparsers = parser.add_subparsers(dest="command", required=True)
|
subparsers = parser.add_subparsers(dest="command", required=True)
|
||||||
|
|
||||||
# 注册服务命令
|
# 注册服务命令
|
||||||
register_parser = subparsers.add_parser("register", help="注册新服务")
|
register_parser = subparsers.add_parser("register", help="Register a new service")
|
||||||
register_parser.add_argument("tag", choices=["sys", "docker"], help="服务类型")
|
register_parser.add_argument("tag", choices=["sys", "docker"], help="Tag of the service")
|
||||||
register_parser.add_argument("name", help="服务名称")
|
register_parser.add_argument("name", help="Name of the service")
|
||||||
register_parser.add_argument("--path", help="Docker服务路径(仅docker类型需要)")
|
register_parser.add_argument("--path", help="Config/Data path of the service where the 'docker-compose.yml' located (docker-based services only)")
|
||||||
|
|
||||||
# 列出服务命令
|
# 列出服务命令
|
||||||
subparsers.add_parser("list", help="列出所有服务")
|
subparsers.add_parser("list", help="List all services")
|
||||||
|
|
||||||
# 执行操作命令
|
# 执行操作命令
|
||||||
operate_parser = subparsers.add_parser("operate", help="执行服务操作")
|
operate_parser = subparsers.add_parser("operate", help="Service operations to carry out")
|
||||||
operate_parser.add_argument("index", type=int, help="服务索引")
|
operate_parser.add_argument("index", type=int, help="Index of the service, which is a integer")
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
@ -34,7 +34,7 @@ def main():
|
|||||||
if args.command == "register":
|
if args.command == "register":
|
||||||
# 创建服务
|
# 创建服务
|
||||||
service = manager.register_service(args.tag, args.name, args.path)
|
service = manager.register_service(args.tag, args.name, args.path)
|
||||||
print(f"服务注册成功: {service.name}")
|
print(f"Register a new service successfully: {service.name}")
|
||||||
|
|
||||||
elif args.command == "list":
|
elif args.command == "list":
|
||||||
# 列出所有服务
|
# 列出所有服务
|
||||||
@ -46,11 +46,11 @@ def main():
|
|||||||
# 执行服务操作
|
# 执行服务操作
|
||||||
try:
|
try:
|
||||||
manager.execute_service_operation(args.index)
|
manager.execute_service_operation(args.index)
|
||||||
print("操作执行成功")
|
print("Operation success!")
|
||||||
except IndexError:
|
except IndexError:
|
||||||
print("错误:无效的服务索引")
|
print("Error: invalid index")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"操作失败: {str(e)}")
|
print(f"Operation failed: {str(e)}")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
@ -4,7 +4,7 @@ version = "0.1.0"
|
|||||||
authors = [
|
authors = [
|
||||||
{ name="virtualguard101", email="virtualguard101@gmail.com"}
|
{ name="virtualguard101", email="virtualguard101@gmail.com"}
|
||||||
]
|
]
|
||||||
description = "A template for web services management."
|
description = "A script set for web services management."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.12"
|
requires-python = ">=3.12"
|
||||||
classifiers = [
|
classifiers = [
|
||||||
@ -18,6 +18,6 @@ dependencies = [
|
|||||||
"colorlog==6.9.0",
|
"colorlog==6.9.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[project.urls]
|
# [project.urls]
|
||||||
Homepage = "https://github.com/virtualguard101/WebServicesManager"
|
# Homepage = "https://github.com/virtualguard101/WebServicesManager"
|
||||||
Issues = "https://github.com/virtualguard101/WebServicesManager/issues"
|
# Issues = "https://github.com/virtualguard101/WebServicesManager/issues"
|
||||||
|
@ -151,6 +151,8 @@ class Manager:
|
|||||||
logger.error(f"Service registration failed: {str(e)}")
|
logger.error(f"Service registration failed: {str(e)}")
|
||||||
raise
|
raise
|
||||||
|
|
||||||
|
# TODO: Add the function that can remove services
|
||||||
|
|
||||||
def list_services(self) -> List[Service]:
|
def list_services(self) -> List[Service]:
|
||||||
"""List all registered services.
|
"""List all registered services.
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user