Skip to content
Snippets Groups Projects
  1. Sep 21, 2017
  2. Sep 20, 2017
  3. Sep 19, 2017
  4. Sep 18, 2017
    • Alex Clemmer's avatar
      Set default permissions in `metadata.Manager` to 0644 · d6b691cc
      Alex Clemmer authored
      Currently all files and folders created with the `metadata.Manager`
      (which is the core FS management subsystem) are created with permissions
      0777, i.e., everyone has all permissions.
      
      This commit transistions us to a more locked down permissions set, 0644,
      which allows the user to do everything except execute, and everyone else
      to only read.
      
      Since we don't store any app code that needs to be executed, this should
      be suitable for everything.
      
      Fixes #136.
      d6b691cc
    • Alex Clemmer's avatar
      Merge pull request #131 from jessicayuen/env-subcommands · 1953d8bf
      Alex Clemmer authored
      Introduce env subcommands 'env add', 'env rm', 'env set' & 'env list'
      1953d8bf
    • Jessica Yuen's avatar
      Add subcommand 'env set' · f86667a6
      Jessica Yuen authored
      'env set <name>' sets environment fields such as the name, and cluster
      URI. It currently accepts the flags '--name' and '--uri'. Changing the
      name of an environment will also update the directory structure in
      'environments'.
      f86667a6
  5. Sep 15, 2017
    • Jessica Yuen's avatar
      Add subcommand 'env rm' · 530f5777
      Jessica Yuen authored
      'env rm <env-name>' deletes an environment within a ksonnet project.
      This is the same as removing the <env-name> environment directory and
      all files contained.  Empty parent directories will also be removed.
      530f5777
    • Jessica Yuen's avatar
      Add subcommand 'env list' · a169d973
      Jessica Yuen authored
      'env list' will list all environments within a Ksonnet project. Each
      environment will be pretty-printed with it's name and cluster URI
      location.
      a169d973
  6. Sep 13, 2017
    • Jessica Yuen's avatar
      Add subcommand 'env add' · 56777310
      Jessica Yuen authored
      'env add <env-name> <env-uri>' will create a new environment within a
      ksonnet project, by generating a new directory, 'env-name', within the
      'envs' directory. Each environment will contain environment-specfic
      files. Notably, a new environment-specific file is 'spec.json'.
      'spec.json' currently only contains the 'env-uri' of the Kubernetes
      cluster located at the added environment.
      
      Below is an example directory structure for the environment
      'us-west/staging':
      
      app-name/
        .gitignore           Default .gitignore; can customize VCS
        .ksonnet/            Metadata for ksonnet
        environments/        Env specs (defaults: dev, test, prod)
          default/           [Default generated environment.]
          us-west/           [Example of user-generated env]
            staging/
              k.libsonnet
              k8s.libsonnet
              swagger.json
              spec.json      [This will contain the uri of the environment]
        components/          Top-level Kubernetes objects defining application
        lib/                 user-written .libsonnet files
        vendor/              mixin libraries, prototypes
      56777310
  7. Sep 11, 2017
    • Alex Clemmer's avatar
      Merge pull request #122 from hausdorff/fix-116 · 70af2cd3
      Alex Clemmer authored
      Add types for prototype parameters
      70af2cd3
    • Alex Clemmer's avatar
      Merge pull request #121 from hausdorff/fix-113 · 394dea5d
      Alex Clemmer authored
      Fix #113
      394dea5d
    • Alex Clemmer's avatar
      Add pretty-printing for `prototype search` results · fd0251bc
      Alex Clemmer authored
      When a user runs `prototype search`, we'd like for the output to include
      the name, description, and available template types, and we'd like that
      output to be padded for readability. For example, if the user runs
      `prototype search io.`, we'd like to output something like this:
      
         io.whatever.pkg.foo    Foo's main template    [jsonnet, yaml]
         io.whatever.pkg.foobar Foobar's main template [jsonnet,   yaml, json]
      
      This commit will introduce this style of padded output to the `prototype
      search` subcommand.
      fd0251bc
    • Alex Clemmer's avatar
      Add types for prototype params and templates · 358e6c25
      Alex Clemmer authored
      This commit will fix #116 by introducing two new constructs to the
      prototype specification schema:
      
      1. Mandatory types for prototype parameters. This lets us accept bare
         words on the command line, and then "do the right thing" when
         emitting JSON or Jsonnet.
      
         For example, say a template produces a `core.v1.Service` that exposes
         a port with a `--targetPort` flag. When the user passes a number
         (e.g., `80`) in, we should _not_ put quote marks around it, since we
         want to expose port `80`. When the user passes a string (e.g.,
         `"nginxPort"`), we _should_ put quote marks around it, to denote that
         we're exposing the port with that name.
      
         In order to do this, we need to know they "type" of the parameter (in
         this case, `NumberOrString`).
      
      2. Mandatory template types. A template can have a JSON, YAML, or
         Jsonent flavor, and we default to using Jsonnet. This is useful
         mostly to make type parameters less error-prone (since one set of
         parameters corresponds to one set of templates), but it also
         significantly de-bloats the output of commands like `search`, since
         one fully-qualified name can correspond to multiple flavors of the
         same template.
      358e6c25
    • Alex Clemmer's avatar
      Emit `k.libsonnet` during `init` subcommand · 98c7428f
      Alex Clemmer authored
      This commit fixes #113, causing us to emit `k.libsonnet` (a collection
      of extensions to the k8s API) by updating the dependency on
      `ksonnet-lib/ksonnet-gen` and exercising the new signature for
      `ksonnet.Emit`, which handles this automatically.
      
      We update the `vendor/` directory and the code that depends on it in the
      same commit so that we don't break bisect.
      98c7428f
  8. Sep 09, 2017
  9. Sep 08, 2017
  10. Sep 07, 2017