您的云项目自助注册和管理平台。
项目描述
适用于Django的云项目 
这是一个可插入的Django网络应用程序,用于以DevOps(DevSecOps)的方式在云平台上注册和管理应用程序和微服务。
谁应该使用此应用程序
如今,任何足够大的组织都在现代云基础设施上运行大量软件,无论是在公共云中还是在本地,在私有云中。但是,这些软件(通常是微服务或单体应用程序)的注册过程远非简单,尤其是在本地或混合云中。与公共云不同,公共云通常为单个应用程序定义了良好的注册流程,而企业环境运行高度定制的流程。
云项目 允许组织构建一个自助基础设施,系统工程师可以使用它来自动化通常的手动入职活动的一部分,并监控这些缓慢进行的活动的进度。成熟的敏捷组织甚至可以允许软件开发机构完全自助服务,并要求企业项目管理、DevOps 和安全专家通过 云项目 支持他们的工程团队。
功能
成熟的软件开发能力(Django 网络框架)
灵活应用开发的插件式基础设施(Django 应用)
可用的默认设置和易于配置(Django 设置)
安装
安装 django-cloudprojects 最简单的方法是使用 pip
pip install django-cloudprojects
作为安装选项,支持 SAML
pip install django-cloudprojects[saml]
请注意,SAML 支持需要在您的目标系统上安装额外的库,例如 Debian/Ubuntu 和 RedHat/CentOS 基于的系统
sudo apt-get install libxml2-dev libxmlsec1-dev libxmlsec1-openssl
sudo yum install libxml2-devel xmlsec1-devel xmlsec1-openssl-devel libtool-ltdl-devel
基本用法
在您的 Django 项目设置中,将 cloudprojects 和其依赖项添加到 INSTALLED_APPS,可选地省略您不打算使用的身份验证提供者,添加 Allauth 和 Django Admin 所需的身份验证后端,并确保 SITE_ID 已定义,例如:
INSTALLED_APPS = [
'django.contrib.auth',
'django.contrib.messages',
'django.contrib.sites',
...
# 'django_saml',
'allauth',
'allauth.account',
'allauth.socialaccount',
# 'allauth.socialaccount.providers.bitbucket_oauth2',
# 'allauth.socialaccount.providers.github',
'allauth.socialaccount.providers.gitlab',
'cloudprojects',
]
AUTHENTICATION_BACKENDS = [
'django.contrib.auth.backends.ModelBackend',
'django_saml.backends.SamlUserBackend',
'allauth.account.auth_backends.AuthenticationBackend',
]
SITE_ID = 1
将 cloudprojects 添加到您的项目的 urls 模块中,例如:
urlpatterns = [
...
path('', include('cloudprojects.urls')),
]
在您的 Django 项目设置中,根据 Allauth 文档 中所述配置身份验证提供者,例如:
SOCIALACCOUNT_PROVIDERS = {
'github': {
'GITHUB_URL': 'https://github.enterprise.local',
'SCOPE': ['api'],
},
'gitlab': {
'GITLAB_URL': 'https://gitlab.selfhosted.local',
'SCOPE': ['api'],
},
}
根据 Allauth 文档中所述,将身份验证应用程序注册到您的 VCS 服务
我们建议编写一个管理命令,在部署期间自动配置这些值。请参阅我们的 测试项目 了解实现可能的样子。
如果您打算使用 SAML,则需要将所有必需的设置添加到您的项目 Django 设置中,如 python3-saml-django 文档 中所述。
开发
您可以使用包含的 测试项目 进行交互式开发,例如。
pip install .[saml]
pip install pip-tools tox
pip-compile # generates requirements.txt
在 Django 设置中将 DEBUG = True 设置为在本地数据库中持久化更改,例如。
export DJANGO_DEBUG=true
tests/testproject/manage.py migrate
tests/testproject/manage.py runserver
使用 Tox 运行测试,例如。
tox -lv
tox -e flake8,py39-django40
tox -e clean
项目详细信息
哈希值 for django_cloudprojects-0.3.0-py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 8a54ec13310b5da8fe84745f939ae1c1d313f24e4f8e8a247e982d3c285f58f7 |
|
MD5 | 297c04088270cfef1ec3b33d323c7f98 |
|
BLAKE2b-256 | 9dbbef8f61a5b145b7da718caf91a2eaed7d6b4cc54f2b5b964db83a87b6a93b |