GithubHelp home page GithubHelp logo

openspug / spug Goto Github PK

View Code? Open in Web Editor NEW
9.9K 9.9K 2.0K 5.41 MB

开源运维平台:面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。

Home Page: https://spug.cc

License: GNU Affero General Public License v3.0

Python 36.30% Shell 0.21% JavaScript 59.46% CSS 0.83% HTML 0.19% Less 3.01%
alert ci cicd cmdb deploy devops django-ops jenkins monitor operations ops ops-admin ops-tools opsadmin spug task webconsole webshell webssh

spug's People

Contributors

dependabot[bot] avatar lucius-chen avatar vanishcode avatar vapao avatar xfan1024 avatar xiasf avatar xyombo avatar zyupo avatar zzqqw avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

spug's Issues

centeros7 执行 python manage.py init.db报错

File "/data/spug/spug_api/venv/lib/python3.6/site-packages/django/core/checks/model_checks.py", line 32, in check_all_models
errors.extend(model.check(**kwargs))
File "/data/spug/spug_api/venv/lib/python3.6/site-packages/django/db/models/base.py", line 1235, in check
*cls._check_fields(**kwargs),
File "/data/spug/spug_api/venv/lib/python3.6/site-packages/django/db/models/base.py", line 1314, in _check_fields
errors.extend(field.check(**kwargs))
File "/data/spug/spug_api/venv/lib/python3.6/site-packages/django/db/models/fields/init.py", line 918, in check
*super().check(**kwargs),
File "/data/spug/spug_api/venv/lib/python3.6/site-packages/django/db/models/fields/init.py", line 205, in check
*self._check_backend_specific_checks(**kwargs),
File "/data/spug/spug_api/venv/lib/python3.6/site-packages/django/db/models/fields/init.py", line 326, in _check_backend_specific_checks
return connections[db].validation.check_field(self, **kwargs)
File "/data/spug/spug_api/venv/lib/python3.6/site-packages/django/db/utils.py", line 201, in getitem
backend = load_backend(db['ENGINE'])
File "/data/spug/spug_api/venv/lib/python3.6/site-packages/django/db/utils.py", line 110, in load_backend
return import_module('%s.base' % backend_name)
File "/usr/local/python3.6/lib/python3.6/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 978, in _gcd_import
File "", line 961, in _find_and_load
File "", line 950, in _find_and_load_unlocked
File "", line 655, in _load_unlocked
File "", line 678, in exec_module
File "", line 205, in _call_with_frames_removed
File "/data/spug/spug_api/venv/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 66, in
check_sqlite_version()
File "/data/spug/spug_api/venv/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py", line 63, in check_sqlite_version
raise ImproperlyConfigured('SQLite 3.8.3 or later is required (found %s).' % Database.sqlite_version)
django.core.exceptions.ImproperlyConfigured: SQLite 3.8.3 or later is required (found 3.7.17).

紧急求帮助 谢谢。

能否支持使用私钥登录

出于安全考虑,服务器已关闭密码登录,能否在主机管理中支持使用私钥登录的方式,否则无法添加主机

菜单权限控制问题

你好,我看到网站的菜单权限貌似是通过localstorage对象来存储并基于此来控制的。但这个对象前台用户是可以自己更改的,这样用户就可以自定义属性来修改权限(如localStorage.setItem('is_supper',"true")),他就能看到所有的菜单了。

在应用列表里点击发布是有报错


ERROR in middleware [/spug/spug_api/libs/middleware.py:40]:
'bool' object has no attribute 'lower'

Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functionsrule.endpoint
File "/spug/spug_api/libs/decorators.py", line 28, in wrapper
return func(*args, **kwargs)
File "/spug/spug_api/apps/deploy/publish.py", line 39, in app_update
Argument('host_ids', type=list)
File "/spug/spug_api/libs/tools.py", line 143, in parse
rst[e.name] = e.parse(*self._get(e.name))
File "/spug/spug_api/libs/tools.py", line 108, in parse
assert value.lower in ['true', 'false']
AttributeError: 'bool' object has no attribute 'lower'

这是是我操作问题,还是bug呢

demo 演示地址

您好:
感谢开源和分享 spug 项目,已收录到 HG 月刊。将于本月 28 号发布,阅读该项目过程中发现如下问题:

  • 访问 demo 演示地址,显示:链接不安全。可能是服务器 https 证书配置有问题,用户可能会停在这个警告下,影响项目的推广。

常规发布:一直卡在“检出前任务”不动

11:46:57 建立接连... 完成
11:46:57 发布准备... 完成
11:46:57 检出前任务...

常规发布
代码迁出前执行:
date
或是
代码迁出前执行:
echo 'test'

都没反应,发布时一直在“检出前任务”转

点返回,发布状态是“发布异常”;点“查看”,“检出前任务”还在转。

代码迁出后执行,也有这问题

报警联系组删除问题

删除已经有监控任务,监控联系人的报警联系组,前端页面显示删除成功,但实际未删除,且从逻辑上也应该不允许删除,后台代码逻辑发现是这样的:
def delete(self, request):
form, error = JsonParser(
Argument('id', type=int, help='请指定操作对象')
).parse(request.GET)
if error is None:
detection = Detection.objects.filter(notify_grp__contains=f'"{form.id}"').first()
if detection:
return json_response(error=f'监控任务【{detection.name}】正在使用该报警组,请解除关联后再尝试删除该联系组')
Group.objects.filter(pk=form.id).delete()
return json_response(error=error)
水平有限,暂未查出问题出在哪?

应用发布过程还是发布中是否可以取消

应用发布过程还是发布中时候,是否可以增加取消发布功能。
因为有时候发布都几十分过去了还是显示发布中真的好无奈啊。。。,一直在『检出前任务』那里不动,也不知道是什么原因(退出登录进入还是发布中)
image

你好,我遇到了添加主机的问题。

我通过docker 在虚拟机部署完毕后,可以正常打开网页,在主机管理里面我添加单条主机不能成功,里面的连接主机docker的地址,我添加为虚拟机的IP不能成功,docker的2375端口映射为主机的2375端口也不能成功提示信息为:
“获取扩展信息失败,请检查docker是否可以正常连接“
在网站上没有找到相关说明。
编辑主机
链接失败

Exception: Authentication failed

账号密码 ip 地址都对, 首次验证也通过
但是console 里面提示验证失败

Connecting ...
Exception: Authentication failed.

Connection is closed.

账号密码问题

用户重置密码以后只能使用默认密码,无法修改密码。

init_db初始化异常

linkding:spug_api Linkding$ python manage.py init_db
Traceback (most recent call last):
  File "manage.py", line 117, in <module>
    r_func(*sys.argv)
  File "manage.py", line 47, in init_db
    import apps.configuration.models
  File "/Users/Linkding/Linkding.com/project.Linkding.com/spug-master/spug_api/apps/configuration/__init__.py", line 2, in <module>
    from apps.configuration import service
  File "/Users/Linkding/Linkding.com/project.Linkding.com/spug-master/spug_api/apps/configuration/service.py", line 4, in <module>
    from apps.deploy.models import App
  File "/Users/Linkding/Linkding.com/project.Linkding.com/spug-master/spug_api/apps/deploy/__init__.py", line 1, in <module>
    from apps.deploy import app as app_page
  File "/Users/Linkding/Linkding.com/project.Linkding.com/spug-master/spug_api/apps/deploy/app.py", line 2, in <module>
    from apps.deploy.models import App, AppHostRel, DeployMenu
  File "/Users/Linkding/Linkding.com/project.Linkding.com/spug-master/spug_api/apps/deploy/models.py", line 3, in <module>
    from apps.system.models import NotifyWay
  File "/Users/Linkding/Linkding.com/project.Linkding.com/spug-master/spug_api/apps/system/__init__.py", line 1, in <module>
    from apps.system import notify
  File "/Users/Linkding/Linkding.com/project.Linkding.com/spug-master/spug_api/apps/system/notify.py", line 68
    message = f'# <font face=\"微软雅黑\">运维平台通知</font> #  \n ' \
                                                          ^
SyntaxError: invalid syntax

系统环境:MacOS

python version:3.5.2

发布日志

image
这是一个发布完成的日志,但是去查看日志的时候,日志并没有显示完全,而且发布过程中的deploy还在转圈

python3.7.1安装python-ldap失败

Traceback (most recent call last):
File "setup.py", line 8, in
from setuptools import setup, Extension
File "/data/spug/spug_api/venv/lib/python3.7/site-packages/setuptools/init.py", line 20, in
from setuptools.dist import Distribution, Feature
File "/data/spug/spug_api/venv/lib/python3.7/site-packages/setuptools/dist.py", line 35, in
from setuptools import windows_support
File "/data/spug/spug_api/venv/lib/python3.7/site-packages/setuptools/windows_support.py", line 2, in
import ctypes
File "/usr/local/lib/python3.7/ctypes/init.py", line 7, in
from _ctypes import Union, Structure, Array
ModuleNotFoundError: No module named '_ctypes'

总是有依赖会安装失败,各种查,心累。

Docker 部署之后上传xls提示 pyexcel-xls 缺失

ERROR in middleware [/spug/spug_api/libs/middleware.py:40]:
Please install pyexcel-xls

Traceback (most recent call last):
File "/usr/lib/python3.6/site-packages/flask/app.py", line 1612, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/lib/python3.6/site-packages/flask/app.py", line 1598, in dispatch_request
return self.view_functionsrule.endpoint
File "/spug/spug_api/libs/decorators.py", line 28, in wrapper
return func(*args, **kwargs)
File "/spug/spug_api/apps/assets/host.py", line 122, in host_import
data = excel_parse()
File "/spug/spug_api/apps/assets/utils.py", line 7, in excel_parse
return dict(request.get_dict(field_name='file'))
File "/usr/lib/python3.6/site-packages/pyexcel_webio/init.py", line 114, in get_dict
return pe.get_dict(**params)
File "/usr/lib/python3.6/site-packages/pyexcel/core.py", line 141, in get_dict
**keywords)
File "/usr/lib/python3.6/site-packages/pyexcel/core.py", line 36, in get_sheet
named_content = sources.get_sheet_stream(**keywords)
File "/usr/lib/python3.6/site-packages/pyexcel/internal/core.py", line 20, in get_sheet_stream
sheets = a_source.get_data()
File "/usr/lib/python3.6/site-packages/pyexcel/plugins/sources/memory_input.py", line 38, in get_data
**self._keywords)
File "/usr/lib/python3.6/site-packages/pyexcel/plugins/parsers/excel.py", line 25, in parse_file_content
file_content, file_type=self._file_type, **keywords)
File "/usr/lib/python3.6/site-packages/pyexcel/plugins/parsers/excel.py", line 35, in _parse_any
anything, file_type=file_type, **keywords)
File "/usr/lib/python3.6/site-packages/pyexcel_io/io.py", line 65, in get_data
streaming=False, **keywords)
File "/usr/lib/python3.6/site-packages/pyexcel_io/io.py", line 83, in _get_data
return load_data(**keywords)
File "/usr/lib/python3.6/site-packages/pyexcel_io/io.py", line 173, in load_data
reader = READERS.get_a_plugin(file_type, library)
File "/usr/lib/python3.6/site-packages/pyexcel_io/plugins.py", line 77, in get_a_plugin
plugin = self.load_me_now(__file_type, library=library)
File "/usr/lib/python3.6/site-packages/lml/plugin.py", line 289, in load_me_now
self.raise_exception(key)
File "/usr/lib/python3.6/site-packages/pyexcel_io/plugins.py", line 91, in raise_exception
raise exceptions.SupportingPluginAvailableButNotInstalled(message)
pyexcel_io.exceptions.SupportingPluginAvailableButNotInstalled: Please install pyexcel-xls

主机添加问题

强烈建议添加密码登录功能
以及 批量导入、自定义扫描网段、公有云接入等添加批量主机的方式

使用任务模板出错

117

使用任务模板时出错?这是怎么回事?我从运行正常的shell脚本中拷贝代码过来也是出错。

麻烦大家指教一下。

自定义发布一些问题

不是基于git的应用发布,不适用于常规发布,使用自定义发布,自定义的环境环境变量,每一步不能通用,spug的全局变量没有当前发布机器的ip地址

监控中心能不能发送的消息能不能多一点?

只返回状态信息,并不知道具体是什么情况。
比如说:我想知道每天某个指定文件夹下多了几个文件?每个文件的名称。
我希望看到每天的具体内容。

如果放在计划任务里,发不了短信。
如果放在监控中心里,发送回的信息太少。

二次开发问题

麻烦作者提供一下二次开发添加新功能的全部流程。包括:前段导航-路由-权限-视图》》》》》

主机管理需要增加共钥登陆

服务器的主机一般还要添加密钥登陆,否则极不安全,目前的版本只能账号密码登陆,考虑增加下密钥登陆,谢谢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.