Code Monkey home page Code Monkey logo

kontainer-driver-metadata's Introduction

kontainer-driver-metadata

Run

  • go generate
  • rancher >=2.3 will listen on changes in data.json and load automatically

How to add to data

  • K8sVersionRKESystemImages map[string]v3.RKESystemImages

    • introduce new k8s version along with required system images, exact version required (eg 1.13.5-rancher1-1)
  • K8sVersionServiceOptions map[string]v3.KubernetesServicesOptions

    • mostly done on major k8s version basis, add minor specific version if needed
    • preference order while reading, minor_version > major_version (eg 1.13.5-rancher1-2 > 1.13)
  • K8sVersionToRancherVersions / K8sVersionToRKEVersions minRKE, maxRKE, minRancher, maxRancher)

    • exact version required (eg 1.13.5-rancher1-1)
    • min and max versions are to limit, nil or "" will be considered as "allowed" for all rancher and rke versions
    • add minRKE and maxRKE From RKE - Only versions that meet the requirements will be loaded for system images - K8sVersionsCurrent - max(minor_versions) for each major_version
    • add minRancher and maxRancher From Rancher - Only versions that meet minRancher will be loaded for system images (not max, to handle upgrades) - K8sVersionsCurrent - max(minor_versions) for each major_version if maxVersion < rancherVersion
  • DefaultK8sVersions (RancherDefaultK8sVersions, RKEDefaultK8sVersions) map[string]string -- need to combine these in one --

    • for every new rancher and rke version, add default k8s version
    • mostly will be required to update when introducing a new k8s version
    • if not present, rancher and rke will fallback on "default" key
  • K8sVersionedTemplates map[string]map[string]string

    • map[addon_name]map[version_]template
    • addon_names currently are : calico, canal, flannel, weave, coreDNS, kubeDNS, metricsServer, nginxIngress
    • version_num are mostly major version (eg v1.13) or "default"
      • can introduce minor version if required (eg v1.13.5)
      • preference order while reading, minor_version > major_version > "default"
  • Follow same for K8sVersionWindowsSystemImages, K8sVersionWindowsServiceOptions from 1 and 2

  • For detailed explanations,

Structure

metadata
- data
  - data.json
- rke
  - templates
    - calico
    - coredns
    - etc
  - k8s_defaults
  - k8s_rancher_rke_versions
  - k8s_system_images
  - k8s_service_options
  - k8s_windows_defaults

kontainer-driver-metadata's People

Contributors

dramich avatar galal-hussein avatar ibuildthecloud avatar kinarashah avatar leodotcloud avatar moelsayed avatar mrajashree avatar oats87 avatar orangedeng avatar prachidamle avatar rgl avatar rmweir avatar strongmonkey avatar superseb avatar

Watchers

 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.