https://github.com/bytedance/smartinfra

A smart, efficient and powerful automated configuration platform through the SaltStack and Ansible

https://github.com/bytedance/smartinfra

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (4.7%) to scientific vocabulary
Last synced: 9 months ago · JSON representation

Repository

A smart, efficient and powerful automated configuration platform through the SaltStack and Ansible

Basic Info
  • Host: GitHub
  • Owner: bytedance
  • License: apache-2.0
  • Language: HTML
  • Default Branch: main
  • Homepage:
  • Size: 9.65 MB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created about 1 year ago · Last pushed 10 months ago
Metadata Files
Readme Contributing License

README-zh.md

SmartInfra

English | 简体中文

SmartInfra是一个综合性云平台,涵盖计算存储、数据库管理、白盒交换机管理和自动化变更等一系列功能。具体包含以下: 1. SmartInfra作为云平台,可以提供IaaS和PaaS层的计算、存储、负载均衡和持续集成持续发布等资源分配与工具管理

  1. SmartInfra平台作为我们自研硬件网络交换机和网络解决方案的智能大脑,可以实现整个基础网络的自动初始化、自动化配置和自动化运维,大大减轻IT领导者和从业者的负担。同时,我们开创性的提出以租赁设备模式对用户输出服务质量为指标的方式对外合作,真正做到客户是上帝,用的好才是真的好。整个方案中还包含DNS、网盘等配套服务,极致服务客户

  2. SmartInfra平台兼具整个Infra层的统一运维功能,包括系统和网络的CMDB、自动化变更、批量配置等

目前开源的"自动化配置变更管理功能"是SmartInfra的一个模块,基于SaltStack&Ansible进行任务自动化配置和执行的系统。该平台能够标准化、流程化的执行变更配置,支持shell、state、playbook、文件分发等操作以异步方式定时或立即执行。执行目标适用于所有开放操作系统的运维和批量操作场景。

平台系统架构如图:

image

功能清单

  1. 主机管理,详细展示被纳管主机节点信息。提供定时和手动两种方式刷新节点信息并录入数据库,刷新间隔可自定义,默认为60分钟。同时提供操作(删除/接受/驳回)功能可对节点进行管理

  2. 系统管理,系统巧妙设计出一个虚拟角色 - 资源组,将用户-资源组-master(salt/ansible)资源进行清晰的多对多关联,使其在操作便捷性和权限严格性方面达成一个很好的协调

  3. 认证方式支持三种模式,分别为系统内部认证、Ldap认证和OAuth认证,便捷用户选择自己适配的模式

  4. 主机分组,创建主机分组时同时支持salt全选、多次选择单主机、文件上传一次性选择等三种模式,便捷用户的日常操作管理

  5. 任务执行,支持shell、playbook、state和文件分发等四种执行模式,满足用户的操作需要。同时在执行方式上支持定时和立即执行两种模式,在大批量节点执行场景中是非常匹配和合理的。系统内置的只读策略功能,通过规则匹配,可以将查询非变更型命令免审批执行,在效率和稳定性方面得到改进

  6. 全面的审计日志记录,充分满足企业内要求的安全合规工作,保驾护航

快速开始

系统体验

http://119.13.95.124

| 账号 | 密码 | | --- | --- | | admin | admin |

Docker安装

平台部署

下载 docker目录,进入docker文件夹

```bash

start SmartInfra

docker-compose -f docker-compose.yml up -d

exit

exit ``` Yes, it is ready for you now!

访问

http://127.0.0.1

依赖清单

贡献代码

可查阅主页的开发计划以及依赖清单,在对应Issues中回复认领,或者直接提交PR,感谢你对SmartInfra的贡献

贡献包括但不限于以下方式: - Bug修复 - 新功能提交 - 代码优化 - 测试用例完善

Owner

  • Name: Bytedance Inc.
  • Login: bytedance
  • Kind: organization
  • Location: Singapore

GitHub Events

Total
  • Watch event: 2
  • Delete event: 1
  • Push event: 3
  • Public event: 1
  • Create event: 1
Last Year
  • Watch event: 2
  • Delete event: 1
  • Push event: 3
  • Public event: 1
  • Create event: 1

Dependencies

docker/docker-compose.yml docker
  • 349317925/smartinfra latest
  • mariadb latest
salt/static/vendor/fontawesome-free/package.json npm
salt/templates/package-lock.json npm
  • 644 dependencies
salt/templates/package.json npm
  • browser-sync 2.26.14 development
  • del 6.0.0 development
  • gulp 4.0.2 development
  • gulp-autoprefixer 7.0.1 development
  • gulp-clean-css 4.3.0 development
  • gulp-header 2.0.9 development
  • gulp-plumber ^1.2.1 development
  • gulp-rename 2.0.0 development
  • gulp-sass 4.1.0 development
  • gulp-uglify 3.0.2 development
  • merge-stream 2.0.0 development
  • @fortawesome/fontawesome-free 5.15.3
  • bootstrap 4.6.0
  • chart.js 2.9.4
  • datatables.net-bs4 1.10.24
  • jquery 3.6.0
  • jquery.easing ^1.4.1
static/vendor/fontawesome-free/package.json npm
requirements.txt pypi
  • Django ==5.1.3
  • ansible-runner ==2.4.1
  • croniter ==5.0.1
  • django-mirage-field ==1.4.0
  • django-q2 ==1.7.4
  • django-storages ==1.14.4
  • ldap3 ==2.9.1
  • mysqlclient ==2.2.5
  • paramiko ==3.5.0
  • python-decouple ==3.8
  • requests ==2.32.3