Skip to content

Releases: genesis-community/genesis

genesis Release v1.7.4

01 Feb 19:38
Compare
Choose a tag to compare

Bug Fixes

  • Over the course of time, a few calls to sha1sum had been added,
    which would cause issues on Darwin, if you did not have the GNU
    coreutils installed. This has been resolved
  • Fix a regression in genesis ci smoke-tests that would not
    allow any test name to be used, due to misplaced initialization.
  • Fix a regression that was itself a fix of an imaginary
    regression. I'll just be over hear, deploying pipelines...

genesis Release v1.7.3

25 Jan 17:03
Compare
Choose a tag to compare

Improvements

  • Track the site/env directory itself in Concourse pipeines
    (watch git for changes). This allows environments to be
    symlinked, in case you want to colo your alpha/beta environments
    and save on some cloud usage costs.

Bug Fixes

  • Remove an errant cp of a temporary file to /tmp, which
    causes some issues with shared environments (i.e. jumpboxen)
    Sorry.
  • Fix a stray call to ci_update, which was causing the upkeep
    job to never be created, and corrupted .ci.yml configurations.
    Thanks to @bodymindarts for find, researching and reporting this
    fix so quickly.

genesis Release v1.7.2

24 Jan 17:56
Compare
Choose a tag to compare

New Features

  • Email Notification Support.
    Genesis Pipelines now support both Slack notification and Email
    notification (well, really, one or the other). Existing pipeline
    installations that use slack will continue to work without modification.

    To use the new email notifications, drop the meta.slack bits from your
    ci/settings.yml, and rpelace them with meta.email settings, that
    look like this:

    meta:
     email:
       to: [[email protected], [email protected], ...]
       from: [email protected]
       smtp:
         host: mailrelay.example.com
         port: 587
         username: concourse
         password: secret
    

Improvements

  • Pipeline Upkeep is now optional.
    If you set meta.skip_upkeep to a non-empty true value, Genesis will
    now skip the stemcells upkeep job, and not include it in your pipeline.
    This can be helpful if you don't want to roll stemcells automatically.

  • Support BOSH directors with the same URLs.
    Some environments like to re-use IP addresses. This change allows them
    to do so (assuming tagged workers), by changing the structure of
    ci/boshes.yml in a backwards-compatible way.

    Old (still supported) file format:

    auth:
      $url:
        username: ...
        password: ...
    
    aliases:
      target:
        $uuid: $url
    

    New format:

    $site-$env:
      auth:
        $url:
          username: ...
          password: ...
      aliases:
        target:
          $uuid: $url
    
    $othersite-$env: ...
    
  • Vault user-id can now be overridden.
    Sometimes, the defaults are too guessable. If your Vault exists on an
    open network (like the Public Internet) you may want to generate a more
    secure 'secret' to use as the user-id. Now you can.

  • Tagged Worker Pipeline Support.
    If you set meta.tagged to a true (non-empty) value, Genesis will tag
    each task with the site-env name, so that you can implement against
    globally-distributed concourse platforms, with lots of tagged workers.

Bug Fixes

  • Handle -p in CI jobs. Now, Genesis fully supports
    separate pipelines for different subsets of environments.

genesis Release v1.7.1

20 Jan 20:24
Compare
Choose a tag to compare

Improvements

  • The CI deployment pipelines generated by genesis now support waiting on BOSH to finish
    its active tasks before starting a deployment. This is highly useful for pipelines that
    deploy BOSH itself, so you do not interrupt active tasks by upgrading BOSH.

    To configure it, set the meta.pause_for_existing_bosh_tasks value to true in
    ci/settings.yml. If not set, this defaults to false. Additionally, to help guide
    genesis to target the right BOSH to query for active tasks, you will need to add additional
    aliases in your ci/boshes.yml, pointing the name of the BOSH director (from it's name.yml
    file) to the URL of the director:

      aliases:
        target:
          f635b1ba-5000-48e1-92c8-19471d20e0e4: https://10.10.10.10:25555
          vsphere-prod-bosh: https://10.10.10.10:25555
    

    The deployment task will wait up to 100 seconds for BOSH to finish current tasks.
    If tasks are stull running after 100 seconds, it will give up, refusing to deploy.

Bug Fixes

  • Fixed an issue where genesis ci draft-messages was not working

genesis Release v1.7.0

19 Jan 17:25
Compare
Choose a tag to compare

The Documentation Release

This release overhauls the documentation system to provide help for not
only the commands, but the concepts around Genesis. Also improved
error handling messages for usage errors.

You can access these by typing genesis help for the help overview or
genesis help --topics for the list of all topics.

Other Noteworthy Improvements

  • genesis ci commands now take a -p pipeline argument, for
    specifying alternate pipeline configurations, of separate
    environments.
  • Added parent support to the CI pipeline, so that you can select which
    environment preceeds another environment instead of all preceeded by
    alpha->beta. See genesis help ci parent
  • Added support for correct handling of stemcells in v2-style manifests.
    See genesis help use stemcell for more information

genesis Release v1.6.0

01 Dec 14:03
Compare
Choose a tag to compare

Improvements

  • Add meta.type, meta.env, and meta.site to name.yml.
    Fixes #85
  • We now use more finesse when dealing with BOSH directors:
    1. ICMP (ping) is no longer a requirement, we use curl with the
      --max-time argument
    2. Responses from BOSH will be cached in a temporary director,
      to be re-used by future jq-y goodness and avoid the extra
      round-trip to a potentially laggy BOSH director
    3. The code for handling BOSH director aliveness is now more
      in-line with the assertion-based architecture of Genesis.
    4. Timeouts for interacting with BOSH can be set via the new
      $DIRECTOR_TIMEOUT environment variable. Value is in
      seconds, and defaults to '3'.
  • Checking / verification of stemcells and releases is now only
    done once, minimizing roundtrip interaction with both the BOSH
    director and (if in play) the Genesis Index.
  • New command, genesis update to pull down the latest released
    version of Genesis from Github, and update your local copy.
    Fixes #86

Bug Fixes

  • cmd ci commands now properly handle site and environment names
    that contain embedded (non-leadng) hyphens.
  • Target bosh director earlier in pipeline based deployment.
    Fixes #91
  • env_hook failure is now detected and handled properly in
    bosh-init deployments.
  • Updating a release version will clear out sha1 and url files to
    force a genesis-index lookup on next deploy.

genesis Release v1.5.5

21 Oct 13:20
Compare
Choose a tag to compare

Bug Fixes

  • Fixed an issue where genesis's automatic release/stemcell detection would fail sometimes
    due to slow connections to the BOSH director, or delays returning stemcell data.
  • Fixed an issue with genesis ci stemcell not properly updating the url file.

genesis Release v1.5.4

27 Sep 20:09
Compare
Choose a tag to compare

Improvements

  • Vastly improved handling of versions for non-bosh-init deployments. track still behaves
    as it used to, as do releases/stemcells with sha1 + url data specified. However, for latest,
    or x.y.z versions that do not use sha1/url data, Genesis now contacts the director to see
    if the desired versions are present. If not, it fetches the data from the Genesis index and
    uploads the release/stemcell, for you (but only during deployment). This results in a substantial
    reduction of Genesis Index calls for things like make manifest.
  • Added warning/error message to genesis ci repipe when track is specified. It will introduce
    mostly undesirable behavior/race conditions with release + stemcell versions that break the
    intentions of only deploying known-tested versions from pre-production to production.
  • Changed the default version for genesis add release and genesis use stemcell to latest,
    from track.

genesis Release v1.5.3

16 Sep 14:14
Compare
Choose a tag to compare

Improvements

  • Increased help coverage
  • When using genesis ci stemcell, the URL will now be updated from the
    stemcell source, as well as the version/sha1 values.
  • Auto-lookup of director UUID is now disabled when the director cannot be
    contacted.
  • genesis no longer requires the tree command. If it is not present,
    directory tree listings are simply not performed.
  • genesis Concourse pipelines now use a genesis-specific Docker image.

Fixes

  • Fixed some bad defaults and confusing templates related to genesis ci
  • Beta environments now pick up site level changes properly
  • The contents of boshes.yml is now redacted from the ci/pipeline.yml
    file when genesis ci repipe is run.
  • Smoke tests configured via genesis ci smoke-test are now executed properly
    in the pipeline.
  • genesis repipe now adds rebase: true when pushing updated configs back
    to your deployment repo, for greater success and less failure.

genesis Release v1.5.2

07 Jul 20:46
Compare
Choose a tag to compare

Improvements

  • Releases and Stemcells can now be set to the version keyword
    track to pull latest information from the Genesis Index at
    deploy / manifest-generation time. The keyword latest has
    reverted to its original meaning of 'latest available on the
    BOSH director'

Bug Fixes

  • set release command now queries the Genesis Index for URL /
    SHA1 information