Awesome
deisrel
Hephy (pronounced HEF-ee) Workflow is an open source Platform as a Service (PaaS) that adds a developer-friendly layer to any Kubernetes cluster, making it easy to deploy and manage applications on your own servers.
For more information about the Hephy Workflow, please visit the main project page at https://github.com/teamhephy/workflow.
We welcome your input! If you have feedback, please submit an issue. If you'd like to participate in development, please read the "Development" section below and submit a pull request.
About
deisrel
is a utility tool for assisting with Hephy product releases. It makes is easy to check what components need to be released before making a workflow release.
Installing deisrel
You can install the latest version of deisrel
from the following links:
Alternatively, you can compile this project from source using Go 1.6+:
$ git clone https://github.com/teamhephy/deisrel
$ cd deisrel
$ make bootstrap build
$ ./deisrel
Once done, you can then move the client binary anywhere on your PATH:
$ mv deisrel /usr/local/bin/
Usage
deisrel requires two files, the requirements.lock
file from a Kubernetes Helm Workflow chart,
and a repository mapping file, allowing deisrel to map between a repository and chart name.
You may fetch the requirements.lock
file from a given chart in the following manner:
$ helm repo add hephy https://charts.teamhephy.com
$ helm fetch --untar hephy/workflow --version v2.23.0
$ cat workflow/requirements.lock
As the Workflow component list has stabilized, the repository mapping file (map.json
) at the root of this project may be used. (However, it will need to be updated when/if the list changes.) The key is the repository name, and the value is the chart name, as found in the requirements.lock
file.
With these two files, you can use deisrel to generate a report:
$ deisrel path/to/requirements.lock path/to/repomapping.json
builder v2.6.1 -> v2.7.1 (dirty)
builder has unreleased changes. See https://github.com/teamhephy/builder/compare/v2.7.1...master
controller v2.10.0 -> v2.11.0 (dirty)
controller has unreleased changes. See https://github.com/teamhephy/controller/compare/v2.11.0...master
database v2.5.0 -> v2.5.1 (clean)
dockerbuilder v2.5.2 -> v2.6.0 (clean)
fluentd v2.6.0 -> v2.6.1 (clean)
logger v2.4.1 -> v2.4.2 (clean)
minio v2.3.4 -> v2.3.5 (clean)
monitor v2.7.0 -> v2.7.1 (clean)
nsqd v2.2.5 -> v2.2.6 (clean)
redis v2.2.4 -> v2.2.5 (clean)
registry v2.3.2 -> v2.3.3 (clean)
registry-proxy v1.1.1 -> v1.1.1 (dirty)
registry-proxy has unreleased changes. See https://github.com/teamhephy/registry-proxy/compare/v1.1.1...master
registry-token-refresher v1.1.0 -> v1.1.1 (clean)
router v2.8.1 -> v2.9.0 (clean)
slugbuilder v2.4.8 -> v2.4.9 (clean)
slugrunner v2.2.4 -> v2.2.4 (dirty)
slugrunner has unreleased changes. See https://github.com/teamhephy/slugrunner/compare/v2.2.4...master
workflow-manager v2.4.4 -> v2.4.5 (clean)
It's also possible to output the report in json using the -o json
argument for easier machine parsing.
Github has a very low ratelimit for unauthenticated api requests. A "personal access token" can be used to bypass this restriction. Create a GitHub token with "repo" permission and set it to $GITHUB_ACCESS_TOKEN
. deisrel
will
use it when making requests.
Development
The Hephy project welcomes contributions from all developers. The high level process for development matches many other open source projects. See below for an outline.
- Fork this repository
- Make your changes
- Submit a pull request (PR) to this repository with your changes, and unit tests whenever possible
- If your PR fixes any issues, make sure you write
Fixes #1234
in your PR description (where#1234
is the number of the issue you're closing)
- If your PR fixes any issues, make sure you write
- The Hephy core contributors will review your code. After each of them sign off on your code, they'll label your PR with
LGTM1
andLGTM2
(respectively). Once that happens, a contributor will merge it
License
Copyright 2013, 2014, 2015, 2016 Engine Yard, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.