All Projects → cantarus → Polydeploy

cantarus / Polydeploy

Licence: apache-2.0
A Bulk Deployment tool for the DNN CMS. PolyDeploy is focussed on security, reliability and auditability.

Projects that are alternatives of or similar to Polydeploy

Caprover
Scalable PaaS (automated Docker+nginx) - aka Heroku on Steroids
Stars: ✭ 7,964 (+19810%)
Mutual labels:  deployment
Meteor Google Cloud
Automate Meteor deployments on Google Cloud App Engine Flexible
Stars: ✭ 32 (-20%)
Mutual labels:  deployment
Dnnextensions
One solution. Multiple extensions. No pain. A collection of DNN modules and other extensions.
Stars: ✭ 37 (-7.5%)
Mutual labels:  dnn
Plek
Make continuous deployment delightful. Deploy and preview your apps for each pull request with Plek. 🇳🇱
Stars: ✭ 15 (-62.5%)
Mutual labels:  deployment
Mr Drupal
Declaratively indicate which Drupal projects you want to use, run `mr update`, the end. No "check tarballs into git", no git submodules, no git-subtree. Great for smallish Drupal sites.
Stars: ✭ 27 (-32.5%)
Mutual labels:  deployment
Exoframe
Exoframe is a self-hosted tool that allows simple one-command deployments using Docker
Stars: ✭ 972 (+2330%)
Mutual labels:  deployment
Touchdown
Cloud service orchestration framework for python
Stars: ✭ 10 (-75%)
Mutual labels:  deployment
Sentry
Kubernetes Object Validating Admission Controller
Stars: ✭ 40 (+0%)
Mutual labels:  deployment
Akkeeper
An easy way to deploy your Akka services to a distributed environment.
Stars: ✭ 30 (-25%)
Mutual labels:  deployment
Gh Actions Hugo Deploy Gh Pages
Github Actions : Hugo static site generator
Stars: ✭ 37 (-7.5%)
Mutual labels:  deployment
Dnn.azureadprovider
The DNN Azure Active Directory Provider is an Authentication provider for DNN Platform (formerly DotNetNuke) that uses Azure Active Directory OAuth2 authentication to authenticate users.
Stars: ✭ 21 (-47.5%)
Mutual labels:  dnn
Fastlane
🚀 The easiest way to automate building and releasing your iOS and Android apps
Stars: ✭ 33,382 (+83355%)
Mutual labels:  deployment
Pipeline With Gradle And Docker
Continuous Deployment with Gradle and Docker example project
Stars: ✭ 34 (-15%)
Mutual labels:  deployment
Kanary
Kubernetes Operator to manage canary deployment using HAProxy
Stars: ✭ 14 (-65%)
Mutual labels:  deployment
Kevoree
The Kevoree Java project
Stars: ✭ 37 (-7.5%)
Mutual labels:  deployment
Dnn.appinsights
A module to use Visual Studio Application Insights with the DNN Platform (formerly DotNetNuke) CMS
Stars: ✭ 12 (-70%)
Mutual labels:  dnn
Adhokku
A toy PaaS
Stars: ✭ 32 (-20%)
Mutual labels:  deployment
Dialectid e2e
End to End Dialect Identification using Convolutional Neural Network
Stars: ✭ 40 (+0%)
Mutual labels:  dnn
Tacotron Wavernn
TTS (Tacotron + WaveRNN)
Stars: ✭ 40 (+0%)
Mutual labels:  dnn
Nvquicksite
nvQuickSite is a desktop installation app for DNN, the world's most popular ASP.NET-based CMS. This app allows you to easily install DNN onto any environment that meets the minimum system requirements for DNN to be installed.
Stars: ✭ 36 (-10%)
Mutual labels:  dnn

PolyDeploy

PolyDeploy

Seasoned DNN developers will no doubt have experience of installing many modules at once by placing their module install files in the [websiteroot]/Install/Module/ directory and calling [domain]/Install.aspx?Mode=InstallResources. It was the only efficient way to install many modules together while avoiding multiple AppPool restarts.

Unfortunately, due to a security exploit within Install.aspx it is now removed after the installation of DNN is complete. This leaves the installation of large numbers of modules a tedius and time consuming task.

What is PolyDeploy?

PolyDeploy aims to bring that deployment convenience back to DNN developers so deployments can once again be quick and easy. In addition, we aim to add additional convenience to allow more flexible deployment solutions including remote deployments and automated deployments that can be performed by your continuous integration solution to help streamline the development process.

Features

Security

PolyDeploy has been architected with security in mind from the very beginning. There are multiple mechanisms in place to prevent the unauthorised use of PolyDeploy to defend against attackers deploying modules.

IP Whitelisting

By default, PolyDeploy will only allow access from the host machine (127.0.0.1). Starting out with the strictest possible whitelisting and requiring that the user log in on the host machine to specify additional trusted IP addresses ensures no security vulnerability is introduced if PolyDeploy is installed and not immediately configured.

Host Only

The API exposed for use with PolyDeploy's Angular user interface requires a Host user account in order to be accessible. If for some reason the PolyDeploy module is mistakenly placed on a page which is accessible by standard DNN users or visitors who aren't logged in, no vulnerability is created.

DNN Services Framework

The API available to allow management of PolyDeploy through its Angular user interface requires that the appropriate anti-forgery token is supplied in the request. The DNN Services Framework provides this security.

API Users

PolyDeploy requires that clients accessing its API to perform remote deployments have an API User. Each API User can be uniquely indentified by its API Key. Access to the API can be quickly and easily revoked on an individual basis in the event that an API Key is considered compromised.

Encryption

Modules being deployed remotely using a valid API Key must also be encrypted using the unique Encryption Key which is generated when the API User is created. This Encryption Key is never passed over the web for security. If an attacker were to acquire a client's API Key, any modules that were sent to the API would be rejected as it wouldn't be possible to decrypt them unless they also had the Encryption Key.

Local Deployments

PolyDeploy provides an easy to use drag and drop interface that allows the user to upload multiple modules quickly and inititate a deployment.

Remote Deployments

PolyDeploy provides the ability to perform secure module deployments over the web through the use of many security features described above.

Additionally, an example of a client is provided in this repository which we currently use in our development workflow as part of our continous integration solution.

Dependency Detection

When you upload modules to PolyDeploy, it looks through the modules' dependencies and ensures that they can be met. Dependencies are checked against modules that are already installed as well as modules that are included as part of the current deployment session.

During the dependency checks, modules in the deployment session are placed into a suitable installation order. Modules will only be installed after the modules they depend on have been installed. For example, if I add Module A and Module B to a deployment session and Module B has a dependency on Module A, PolyDeploy will make sure that Module A is installed before Module B during the deployment.

Circular Dependencies

PolyDeply is also able to detect circular dependencies in modules and will prevent a deployment from starting if a circular dependency is found.

Auditability

PolyDeploy logs all key activities including:

  • Failed IP Whitelist Checks
  • Failed API User Checks
  • Session Creation
  • Module Upload
  • Module Installation

Find out more about our products and services at www.cantarus.com.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].