The “bump” pipeline is here to help bumping Traefik version.
When a pull request is submitted by the pipeline, the Traefik configuration
template in jobs/traefik/templates/conf/traefik.toml should be inspected for
any required evolution.
The helper scripts/check-config.sh is designed to assist that task.
As requirements, the colordiff utility must be installed first, and the
TRAEFIK_REPO environment variable must point to a Git directory where the
traefik new version has been checked out.
For a first run, adapt the following example commands to your context:
cd traefik-boshrelease
git clone --branch "v1.7" -- https://github.com/containous/traefik.git ../traefik
TRAEFIK_REPO=../traefik scripts/check-config.shThis will display a diff between current configuration ERB template, and new configuration examples, so that you have a chance to spot any evolutions, that you would then port to the configurtion ERB template.
When submitting code, take care that it is tested. For this, one option is to run the Concourse pipeline, another is to run the smoke tests manually.
As a requirement, you need to target a properly-configured Bosh Director.
This means that you need the bosh CLI in your shell $PATH, and typically
four environment variables to be properly set (i.e. BOSH_ENVIRONMENT,
BOSH_CA_CERT, BOSH_CLIENT and BOSH_CLIENT_SECRET) so that the CLI can
properly “talk” to the Director. Of course, this requires a configured and
deployed Bosh server, that properly serves the Director REST API. Refer to the
documentation for that.
This director needs to have a “runtime config” that properly implements
BOSH DNS, and a “cloud config” that defines a
default VM type, a default network, and a default persistent disk type.
This is fairly common when using bosh-deployment, as
advised by the Bosh documentation, but also a source of confusion for
newcomers when it's missing.
When these requirements are met, just run the manual-testflight.sh script,
that will execute the same bosh deploy and bosh run-errand smoke-tests as
the testflight job does in the Concourse pipeline.
scripts/manual-testflight.shAns you may pass a --non-interactive option to this script when you're
confident about what you are doing.
After the debug is done, make sure that you properly cleanup the “testflight” deployment.
bosh delete-deployment --deployment "traefik-testflight" --non-interactiveThe Concourse pipeline can be deployed on any Concourse installation using the
ci/repipe script, just as explained in the
documentation.
The Concourse pipeline is a standard pipeline of boshrelease type, from the
pipeline templates, as maintained by the Cloud Foundry
community. It can be re-generated using the setup boshrelease command as
detailed by the documentation.
cd traefik-boshrelease
path/to/concourse/pipeline-templates/setup boshreleaseAfter runing this, one should inspect the changes appled, and update the
settings.yml accordingly, to that the spruce merge operation keeps being
successful. This is most often a trivial update.