Skip to content

@boosh boosh released this Sep 19, 2019 · 2 commits to master since this release

This lightning release addresses some issues that came up while writing the tutorials:

  • Bug fix - Don't process nodes whose conditions have failed in most commands
  • Print vars for nodes regardless of conditions
  • Neaten up console messages around which templates have been rendered
  • Possible breaking change: The default is now to render templates when creating a cache. Renamed the ws create flag --template to --no-template
  • Breaking change: Rename all flags starting with --skip- to --no- for standardisation
  • Make loading outputs more robust
Assets 4

@boosh boosh released this Sep 18, 2019 · 9 commits to master since this release

Sugarkube is ready!

This is our first non-prerelease release! All major functionality is now complete and the developer experience has been smoothed over. We believe Sugarkube is ready for use and look forward to receiving feedback. For full documentation see - a tutorial is in progress. Docs will be our focus over the next few weeks.

Major features of this release are:

  • EKS support - added a provisioner that orchestrates eksctl to create and delete AWS EKS clusters
  • A kapps graph command that generates an SVG of the DAG to visualise the dependencies between kapps (requires graphviz).
  • Stability - all data races reported by go have been removed and code for setting up SSH port forwarding is more robust
  • Fine grained control over when to template files, load outputs or execute kapps via conditions
  • YAML loading is now strict to help catch errors

There are several breaking changes:

  • Changed the format of dependencies and added support for them being conditional based on other attributes of the target stack. Please see the docs.
  • Templates are now declared as a map of templates keyed by an ID
  • Removed the state attribute of kapps in favour of a list of conditions to make it easier to conditionally control whether a kapp should be processed or not
  • Replaced the 'skip' pre/post kapp action with 'none'. Conditions should now be used to control whether to install/delete kapps. The 'none' action can be used to prevent actions from running when overriding settings for kapps.

Please see the changelog for full details of changes in this release.

Assets 4

@boosh boosh released this Aug 20, 2019 · 149 commits to master since this release

This is an important usability update.

  • Implement a new "run unit" installer and completely remove the makefile installer. Installation steps are now declared in sugarkube.yaml files or in the main project sugarkube-conf.yaml file so makefiles are no longer required at all. Make sure to update your kapps. See the incubator kapps and sample project for examples until the documentation is written (ignore any makefiles in there - they'll shortly be deleted as kapps are migrated to use run units).
  • Add coloured console messages so it's finally possible to usefully use Sugarkube with logging disabled
  • Rename the 'cache' subcommand to 'workspaces' and change references in documentation. This should make it clearer that workspaces are mutable and not just some temporary local cache.
  • The DAG now prints progress while executing

It's expected there will only be one more pre-release version after this, so Sugarkube is nearly ready for primetime :-)

Assets 4

@boosh boosh released this May 19, 2019 · 244 commits to master since this release

Lots of updates. Sugarkube is almost ready for non-trivial projects.

For full changelog see... the CHANGELOG.

Assets 3

@boosh boosh released this Mar 25, 2019 · 472 commits to master since this release

Lots of changes, but there's still more to do. Here are the changes in this release:

  • Major code clean up & refactoring
  • Variables can now be interpolated based on other variables
  • Kapp variables are now namespaced under a dedicated key ('kapp') to prevent them overwriting system variables
  • Added a command kapps vars for inspecting variables available to a kapp
  • Added a command cluster vars for inspecting variables available for a cluster/stack
  • Unified the URI format for kapp sources
  • Allow settings for kapps to be overridden from stack config files
  • Custom provisioner binaries can now be specified per stack to control which version of a provisioner is used in each stack
  • Improved error handling
  • Make some CLI options required positional arguments
  • Clarify the extent to which values can be supplied on the command line vs in stack config files
  • Rename the name key on sources to id for consistency with everywhere else
  • Allow only selected kapps to be installed
  • Templates for kapps are written immediately before applying kapps by default now
  • Kapps can now declare actions to be run after applying the kapp. Currently the only supported post action is to update a cluster (the cluster will be launched if it's offline)
  • Removed support for init manifests. All manifests should be run and they're expected to be idempotent.
  • Depend on forked version of go-yaml that doesn't split output wider than 80 characters
  • Kapp template source/dest paths can now contain variables
  • Kapp vars are namespaced under the .kapp.vars key in the stack config map
  • Provider vars are not namespaced in the stack config map
  • Provider vars directories will be searched breadth-first in a similar way to how kapp vars dirs are searched to allow cross-cutting configuration (e.g. all AMI IDs for a region can be set once and will be merged into each region's config)
  • Add a way of connecting to K8s API servers that were created with internal load balancers by kops (provided there's a bastion)
  • Allow the path to a custom config file to be given
  • Enable and use trace-level logging to make debug level logging easier to read
  • Change the format of the 'args' YAML in kapps
Assets 3

@boosh boosh released this Dec 2, 2018 · 732 commits to master since this release

Kapps now need to declare the environment variables and arguments in their sugarkube.yaml file. Values for env vars can come from vars files. This makes kapps more flexible and sugarkube more generic.

Assets 3

@boosh boosh released this Sep 29, 2018 · 769 commits to master since this release

  • Control log level and log output with CLI args
  • Neaten up log messages
  • Print status messages to stdout
Assets 3

@boosh boosh released this Sep 28, 2018 · 779 commits to master since this release

  • Implement loading variables from directories outside the provider directory tree to
  • Allow kapps to specify templates that should be rendered for them to use. They can use variables loaded from arbitrarily specified locations
Assets 3

@boosh boosh released this Sep 22, 2018 · 826 commits to master since this release

New features

  • Add an AWS provider
  • Support creating and updating Kops clusters
Assets 3

@boosh boosh released this Aug 28, 2018 · 857 commits to master since this release

Pass the user's environment variables when running commands.

  • Passes the PATH to makefiles.
Assets 3
You can’t perform that action at this time.