Module: KubernetesSchemas

Defined in:
lib/kubernetes_schemas.rb,
lib/kubernetes_schemas/version.rb

Defined Under Namespace

Classes: Validator

Constant Summary collapse

VERSION =
"0.5.0"

Class Method Summary collapse

Class Method Details

.load(kubernetes_version, strict: false) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/kubernetes_schemas.rb', line 5

def self.load(kubernetes_version, strict: false)
  kubernetes_version = "#{kubernetes_version}-strict" if strict
  path = File.expand_path("../../schemas/#{kubernetes_version}", __FILE__)
  Dir.each_child(path).with_object({}) { |filename, hash|
    definition = JSON.parse(File.read(File.join(path, filename)))
    if kinds = definition["x-kubernetes-group-version-kind"]
      definition = JSONSchemer.schema(definition)
      kinds.each do |meta|
        hash["#{meta["group"]}/#{meta["version"]}/#{meta["kind"]}"] = definition
      end
    end
  }
end