跳转到主要内容

您的云项目自助注册和管理平台。

项目描述

适用于Django的云项目 PyPI上的最新版本

GitHub Workflow Status GitHub Workflow Status Python versions Software license

这是一个可插入的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

基本用法

  1. 在您的 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
  1. cloudprojects 添加到您的项目的 urls 模块中,例如:

urlpatterns = [
    ...
    path('', include('cloudprojects.urls')),
]
  1. 在您的 Django 项目设置中,根据 Allauth 文档 中所述配置身份验证提供者,例如:

SOCIALACCOUNT_PROVIDERS = {
    'github': {
        'GITHUB_URL': 'https://github.enterprise.local',
        'SCOPE': ['api'],
    },
    'gitlab': {
        'GITLAB_URL': 'https://gitlab.selfhosted.local',
        'SCOPE': ['api'],
    },
}
  1. 根据 Allauth 文档中所述,将身份验证应用程序注册到您的 VCS 服务

    我们建议编写一个管理命令,在部署期间自动配置这些值。请参阅我们的 测试项目 了解实现可能的样子。

  2. 如果您打算使用 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

项目详细信息


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

django-cloudprojects-0.3.0.tar.gz (8.6 kB 查看散列

上传时间

构建分布

django_cloudprojects-0.3.0-py3-none-any.whl (8.5 kB 查看散列

上传时间 Python 3

由以下支持