Coder Social home page Coder Social logo

rke2-charts's Introduction

Source Branch

This branch contains packages that contain Packages that will be synced to another branch.

See the README.md under packages/ for more information.

The following directory structure is expected:

package/
  <package>/

RKE2 Integration

RKE2 injects at runtime a number of cluster configuration values into values.yaml; the most important of which is global.systemDefaultRegistry. If set this must be used as a registry prefix for all images used by the chart.

The authoritative list of variables can be found within the setChartValues function of bootstrap.go; at the time this document was last updated it includes:

  • global.clusterCIDR - the CIDR range used for pod IP addresses.
  • global.clusterDNS - the cluster DNS (coredns) service address.
  • global.clusterDomain - the cluster DNS suffix.
  • global.rke2DataDir - the RKE2 data-dir; effectively must be the same on all nodes.
  • global.serviceCIDR - the CIDR range used for in-cluster service IP addresses.
  • global.systemDefaultRegistry - the default registry that all images should be loaded from.

For an example of a chart that uses systemdefaultregistry you can look at:

Configuration

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

Validate

This branch validates against the generated assets of the following branches to make sure it isn't overriding already released charts.

Before submitting any PRs, a Github Workflow will check to see if your package doesn't break any already released packages in these repository branches.

Making Changes

As a developer making changes to a particular package, you will usually follow the following steps:

If this is the first time you are adding a package:

PACKAGE=<packageName>
mkdir -p packages/${PACKAGE}
touch packages/${PACKAGE}/package.yaml

See packages/README.md to configure the packages/${PACKAGE}/package.yaml file based on the Package that you are planning to add.

To make changes, see the steps listed below.

If the package already exists

If you are working with a single Package, set export PACKAGE=<packageName> to inform the scripts that you only want to make changes to a particular package.

This will prevent the scripts from running commands on every package in this repository.

You'll also want to update the packageVersion and releaseCandidateVersion located in packages/${PACKAGE}/package.yaml.

See the section below for how to update this field.

Once you have made those changes, the Workflow will be:

make prepare # Instantiates the chart in the workingDir specified in the package.yaml
# Make your changes here to the workingDir directly here
make patch # Saves changes to generated-changes/
make clean # Cleans up your workingDir, leaving behind only the generated-changes/

Once your directory is clean, you are ready to submit a PR.

Versioning Packages

If this major.minor.patch (e.g. 0.0.1) version of the Chart has never been released, reset the packageVersion to 01 and the releaseCandidateVersion to 00.

If this major.minor.patch (e.g. 0.0.1) version of the Chart has been released before:

  • If this is the first time you are making a change to this chart for a specific Rancher release (i.e. the current packageVersion has already been released in the Live Branch), increment the packageVersion by 1 and reset the releaseCandidateVersion to 00.
  • Otherwise, only increment the releaseCandidateVersion by 1.

Makefile

Basic Commands

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

make prepare: Pulls in your charts from upstream and creates a basic generated-changes/ directory with your dependencies from upstream

make patch: Updates your generated-changes/ to reflect the difference between upstream and the current working directory of your branch (note: this command should only be run after make prepare).

make clean: Cleans up all the working directories of charts to get your repository ready for a PR

Advanced Commands

make charts: Runs make prepare and then exports your charts to assets/ and charts/ and generates or updates your index.yaml.

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

make docs: Pulls in the latest docs, scripts, etc. from the charts-build-scripts repository

rke2-charts's People

Contributors

aiyengar2 avatar brandond avatar briandowns avatar brooksn avatar chrisho avatar davidnuzik avatar dereknola avatar dweomer avatar erikwilson avatar galal-hussein avatar github-actions[bot] avatar guangbochen avatar jcaamano avatar josedev-union avatar jossemargt-3pillar avatar mallardduck avatar manuelbuil avatar mgfritch avatar monzelmasry avatar n-guitar avatar oats87 avatar phillipsj avatar raulcabello avatar rbrtbnfgl avatar ron1 avatar thomasferrandiz avatar vadorovsky avatar vicente-cheng avatar w13915984028 avatar yaocw2020 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.