Releases: genesis-community/genesis
genesis Release v1.7.4
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
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
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 withmeta.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 setmeta.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 setmeta.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
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 totrue
in
ci/settings.yml
. If not set, this defaults tofalse
. Additionally, to help guide
genesis to target the right BOSH to query for active tasks, you will need to add additional
aliases in yourci/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
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. Seegenesis help ci parent
- Added support for correct handling of stemcells in v2-style manifests.
Seegenesis help use stemcell
for more information
genesis Release v1.6.0
Improvements
- Add
meta.type
,meta.env
, andmeta.site
to name.yml.
Fixes #85 - We now use more finesse when dealing with BOSH directors:
- ICMP (ping) is no longer a requirement, we use curl with the
--max-time
argument - 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 - The code for handling BOSH director aliveness is now more
in-line with the assertion-based architecture of Genesis. - Timeouts for interacting with BOSH can be set via the new
$DIRECTOR_TIMEOUT
environment variable. Value is in
seconds, and defaults to '3'.
- ICMP (ping) is no longer a requirement, we use curl with the
- 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
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 theurl
file.
genesis Release v1.5.4
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, forlatest
,
orx.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 likemake manifest
. - Added warning/error message to
genesis ci repipe
whentrack
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
andgenesis use stemcell
tolatest
,
fromtrack
.
genesis Release v1.5.3
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 thetree
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 theci/pipeline.yml
file whengenesis ci repipe
is run. - Smoke tests configured via
genesis ci smoke-test
are now executed properly
in the pipeline. genesis repipe
now addsrebase: true
when pushing updated configs back
to your deployment repo, for greater success and less failure.
genesis Release v1.5.2
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 keywordlatest
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