Skip to content
Snippets Groups Projects
  1. Feb 01, 2018
  2. Aug 30, 2017
    • Alex Clemmer's avatar
      Implement ClusterSpec.data for `version:` scheme · 4664eaa6
      Alex Clemmer authored
      `metadata.ClusterSpec` represents a specification for an abstract
      Kubernetes cluster. For example, `version:1.7.0` represents a Kubernetes
      cluster running a build from 1.7.0. This specification is primarily used
      to generate ksonnet-lib.
      
      This struct exposes a method, `data` that will retrieve the OpenAPI JSON
      that specifies the API for a Kubernetes cluster. Eventually, `data` will
      be able to read a file, pull from a URL, pull from a live cluster, or
      pull a specific version of the API from the official Kubernetes
      repository.
      
      This commit introduces the the last of these options.
      4664eaa6
  3. Aug 15, 2017
    • Alex Clemmer's avatar
      First cut at core app metadata management facilities · 57351df8
      Alex Clemmer authored
      Much of the tooling build around ksonnet applications will be powered by
      metadata presented in a structured directory format. This is similar in
      principle to how Hugo and Rails structure web applications.
      
      This commit will begin the process of introducing a FS-based state
      machine that manages this directory structure. Primarily, this involves
      introducing:
      
      1. Init routines for the directory structure
      2. Routines to search parent directories for a ksonnet application
         (similar to how git does this with repositories)
      
      Initially, the directory structures looks like this:
      
        app-name/
          .ksonnet/   Metadata for ksonnet
          components/ Top-level Kubernetes objects defining application
          lib/        User-written .libsonnet files
          vendor/     Mixin libraries, prototypes
      
      The `.ksonnet` file marks the application root, making it possible to
      search parent directories for the root.
      
      As time continues, more verbs will be introduced to manipulate this
      metadata (including, e.g., vendoring dependencies, searching prototypes,
      and so on).
      57351df8