Giter Club home page Giter Club logo

ibm-roks-toolkit's Introduction

IBM-ROKS Toolkit

Overview

The IBM-ROKS toolkit is a set of tools and files that enables running OpenShift x on IBM Public Cloud in a hyperscale manner with many control planes hosted on a central management cluster. This tool was jointly developed by RedHat and IBM.

Getting Started

Install on standalone environment

  • Run make build to build the binary
  • Construct a "cluster.yaml" to define custom parameters for the cluster. Example found here: cluster.yaml.example
  • Construct a "pull-secret.txt" to provide authentication to pull from desired docker registries. Example found here: pull-secret.txt.example
  • Construct and run the render command, with optional fields below: ./bin/ibm-roks render
    • output-dir: Specify the directory where manifest files should be output (default ./manifests)
    • config: Specify the config file for this cluster (default ./cluster.yaml)
    • pull-secret: Specify the pull secret used to pull from desired docker registries (default ./pull-secret.txt)
    • pki-dir: Specify the directory where the input PKI files have been placed (default ./pki)
    • include-secrets: If true, PKI secrets will be included in rendered manifests (default false)
    • include-etcd: If true, Etcd manifests will be included in rendered manifests (default false)
    • include-autoapprover: If true, includes a simple autoapprover pod in manifests (default false)
    • include-vpn: If true, includes a VPN server, sidecar and client (default false)
    • include-registry: If true, includes a default registry config to deploy into the user cluster (default false)
  • Apply all the generated resources to the cluster kubectl apply -f output-dir/

Release Process

Creating a new release

New releases for the toolkit are created via pull requests.

  1. Run hack/bump-release.sh. This will increment the date in the release-date file.
  2. Submit a pull request with this change.
  3. Once the PR is merged, a post submit job will automatically be kicked off to publish the release.
    • You can track the status of the post release jobs for all branches here.
  4. (optional) Cherry-pick the change to other branches.

Changing the base image

The base images specified in the Dockerfiles are for testing only. When releases are created and images published, the base images are substituted. Master branch substitution definitions can be found here, with the other release branches located in the same directory. There is a golang base, which is used for the first stage of the Dockerfiles, and a roks-toolkit-base, which is used for the second stage. The roks-toolkit-base image is further defined here. To bump the base image for all toolkit images, submit a PR to update the image in that file. Once merged, follow the steps for Creating a new release.

ibm-roks-toolkit's People

Contributors

attiss avatar csrwng avatar davidhay1969 avatar enxebre avatar evan-reilly avatar jeffnowicki avatar jmcmeek avatar jonesbr17 avatar joseph-goergen avatar lucaspalm avatar openshift-ci[bot] avatar openshift-merge-robot avatar relyt0925 avatar rtheis avatar ryan-cradick avatar shalver avatar thrasher-redhat avatar wmlynch avatar

Forkers

mihalysz02

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.