Giter Club home page Giter Club logo

partner-charts's Introduction

Live Branch

This branch contains generated assets that have been officially released on partner-charts.rancher.io.

The following directory structure is expected:

assets/
  <package>/
    <chart>-<packageVersion>.tgz
  ...
charts/
  <package>
    <chart>
      <packageVersion>
        # Unarchived Helm chart

Configuration

This repository branch contains a configuration.yaml file that is used to specify how it interacts with other repository branches.

Cutting a Release

In the Live branch, cutting a release requires you to copy the contents of the Staging branch into your Live Branch, which can be done with the following simple Bash script.

# Assuming that your upstream remote (e.g. https://github.com/rancher/charts.git) is named `upstream` 
# Replace the following environment variables
STAGING_BRANCH=dev-v2.x
LIVE_BRANCH=release-v2.x
FORKED_BRANCH=release-v2.x.y
git fetch upstream
git checkout upstream/${LIVE_BRANCH} -b ${FORKED_BRANCH}
git branch -u origin/${FORKED_BRANCH}
git checkout upstream/${STAGING_BRANCH} -- charts assets index.yaml
git add charts assets index.yaml
git commit -m "Releasing chart"
git push --set-upstream origin ${FORKED_BRANCH}
# Create your pull request!

Once complete, you should see the following:

  • The assets/ and charts/ directories have been updated to match the Staging branch. All entires should be additions, not modifications.
  • The index.yaml's diff shows only adds additional entries and does not modify or remove existing ones.

No other changes are expected.

Cutting an Out-Of-Band Chart Release

Similar to the above steps, cutting an out-of-band chart release will involve porting over the new chart from the Staging branch via git checkout. However, you will need to manually regenerate the Helm index since you only want the index.yaml on the Live branch to be updated to include the single new chart.

Use the following example Bash script to execute this change:

# Assuming that your upstream remote (e.g. https://github.com/rancher/charts.git) is named `upstream` 
# Replace the following environment variables
STAGING_BRANCH=dev-v2.x
LIVE_BRANCH=release-v2.x
FORKED_BRANCH=release-v2.x.y
NEW_CHART_DIR=charts/rancher-monitoring/rancher-monitoring/X.Y.Z
NEW_ASSET_TGZ=assets/rancher-monitoring/rancher-monitoring-X.Y.Z.tgz
git fetch upstream
git checkout upstream/${LIVE_BRANCH} -b ${FORKED_BRANCH}
git branch -u origin/${FORKED_BRANCH}
git checkout upstream/${STAGING_BRANCH} -- ${NEW_CHART_DIR} ${NEW_ASSET_TGZ}
helm repo index --merge ./index.yaml --url assets assets; # FYI: This will generate new 'created' timestamps across *all charts*.
mv assets/index.yaml index.yaml
git add ${NEW_CHART_DIR} ${NEW_ASSET_TGZ} index.yaml
git commit -m "Releasing out-of-band chart"
git push --set-upstream origin ${FORKED_BRANCH}
# Create your pull request!

Once complete, you should see the following:

  • The new chart should exist in assets and charts. Existing charts should not be modified.
  • The index.yaml's diff should show an additional entry for your new chart.
  • The index.yaml's diff should show modified created timestamps across all charts (due to the behavior of helm repo index).

No other changes are expected.

Makefile

Basic Commands

make pull-scripts: Pulls in the version of the charts-build-scripts indicated in scripts.

make validate: Validates your current repository branch against all the repository branches indicated in your configuration.yaml

make template: Updates the current directory by applying the configuration.yaml on upstream Go templates to pull in the most up-to-date docs, scripts, etc. from rancher/charts-build-scripts

partner-charts's People

Contributors

actions-user avatar aiyengar2 avatar alex-isv avatar atrendafilov avatar bobadair avatar cbron avatar deniseschannon avatar ibuildthecloud avatar nflondo avatar paraglade avatar pennyscissors avatar samuelattwood avatar strongmonkey avatar vincent99 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.