Octopus: V1 backlog

When I started building Octopus and released a first beta, I had a pretty rough idea of what Octopus would be about. The beta experience has definitely shaped the product, and I'm much happier with the result that has been created by so much good feedback from the Octopus beta testers. Last week I had a couple of really useful phone calls with Octopus users, and I used some of that feedback to come up with a list of features that will make the final 'v1' cut of Octopus.

What does v1 actually mean?

Octopus currently has version numbers starting with 0.8, suggesting it's still in beta. Octopus 1.0 will be the version that is ready for production use (though a few companies are already using Octopus in production at the moment). The 1.0 builds will also be the first builds where a license key will be required to unlock multiple projects. But in truth, there will still be new builds every few days after 1.0, and the product will continue to evolve incrementally.

V1 features

Before 1.0 is stamped, I'll add the following 'big' features:

  • Auto upgrade Tentacle
    Tentacles will be automatically kept up to date with the Octopus (as per this blog post).
  • Ad-hoc PowerShell execution on Octopus
    As a user, I can define a deployment step that involves executing arbitrary PowerShell scripts on the Octopus, so I can perform tasks like configuring load balancers.
  • Role based security
    Create application-managed groups of Windows groups/users, and give them project/environment permissions - e.g., only 'Release Managers' can deploy Project A to Production (suggestion)
  • Pre-defined variable substitutions
    For example, you can define VarA = Hello${VarB}, and a number of useful pre-defined variables will be available (current path, date, etc.) (suggestion)

Those features will be built first, so they have the most time to be tested and to get feedback on.

The following small features/bug fixes are also going to be added:

  • Download log files
    When viewing the results of a deployment, instead of trying to read the results in my browser, I'd like a link to download the output as a .txt file that I can open in my preferred text editor (suggestion)
  • Show NuGet descriptions
    When viewing a release, I want to see the the NuGet package description and release notes in the 'Packages' tab (suggestion).
  • Proxy server support
    Ensure Octopus can contact Tentacles and NuGet repositories via the default proxy server (suggestion)
  • Command line
    A command line Tentacle.exe, and a command line Octopus.exe, for programmatically executing a deployment (either locally or remotely) (suggestion)
  • Project clone
    Create a copy of an existing project to reduce effort required. Useful for example when setting up deployment of a branch of the same code (suggestion).

There are also some small usability features, like better rendering of times, making it obvious deployment steps can be sorted using drag and drop, better naming of some buttons, and adding a favicon.

There's also a nice long backlog of post-v1 features, such as automatic deployments, pull-based deployments,

I estimate that this will take 6 to 8 weeks. Tomorrow I'll announce a special discount that will apply until v1 is released.

A picture of me

Welcome, my name is Paul Stovell. I live in Brisbane and work on Octopus Deploy, an automated deployment tool for .NET applications.

Prior to founding Octopus Deploy, I worked for an investment bank in London building WPF applications, and before that I worked for Readify, an Australian .NET consulting firm. I also worked on a number of open source projects and was an active user group presenter. I was a Microsoft MVP for WPF from 2006 to 2013.