1. 06 Sep, 2018 1 commit
  2. 06 Aug, 2018 1 commit
    • bryanl's avatar
      Allow showing only env set parameters · 49a682d5
      bryanl authored
      
      
      When listing parameters for an environment, add an option that only
      shows parameters set in the environment itself. This will allow ks users
      to show only the differences. The new option is `--without-modules`.
      
      example:
      
      ```
       $ ks param list --env default
      COMPONENT     PARAM   VALUE
      =========     =====   =====
      nested.redis3 envset  1
      redis         envset  1
      redis2        envset  1
      redis2        name    'redis2'
      redis2        values  {}
      redis2        version '3.7.3'
      $ ks param list --env default --without-modules
      COMPONENT     PARAM  VALUE
      =========     =====  =====
      nested.redis3 envset 1
      redis         envset 1
      redis2        envset 1
      ```
      
      Fixes #747
      Signed-off-by: default avatarbryanl <bryanliles@gmail.com>
      49a682d5
  3. 30 Jul, 2018 1 commit
  4. 03 Jul, 2018 1 commit
    • bryanl's avatar
      Use full module name when evaluating environment parameters · c415ad13
      bryanl authored
      
      
      To remove the chance for ambiguous environment parameters, use the
      full module name when evaluating environment parameters. For example:
      
      Given two modules, nested and nested2, and they both have a
      component named `deployment`, when setting environment parameters for
      enviromnet `nested2` component `deployment`,
      the ksonnet user will have to set the parameters like:
      
      `ks param set nested2.deployment replicas 3`
      Signed-off-by: default avatarbryanl <bryanliles@gmail.com>
      c415ad13
  5. 28 Jun, 2018 1 commit
    • bryanl's avatar
      Support environment arguments in module parameters · 5b3be7a9
      bryanl authored
      
      
      It is possible that a user might want to use environment parameters
      (namespace or server) in their parameters. This would not work with
      ksonnet for two reasons:
      
      1. ksonnet didn't provide external variables with those settings
      1. params.libsonnet was evaluated as an object
      
      This change adds support for these two items.
      
      ```
      bash-3.2$ ks param list
      COMPONENT PARAM         VALUE
      ========= =====         =====
      ds        arr           [1, 2, 3, 4]
      ds        containerPort 80
      ds        image         'gcr.io/heptio-images/ks-guestbook-demo:0.1'
      ds        name          'ds'
      ds        namespace     ''
      ds        obj           { a: 'b' }
      ds        replicas      1
      ds        server        ''
      ds        servicePort   80
      ds        type          'ClusterIP'
      bash-3.2$ ks param list --env default
      COMPONENT PARAM         VALUE
      ========= =====         =====
      ds        arr           [1, 2, 3, 4]
      ds        containerPort 80
      ds        image         'gcr.io/heptio-images/ks-guestbook-demo:0.1'
      ds        name          'ds'
      ds        namespace     'default'
      ds        obj           { a: 'b' }
      ds        replicas      1
      ds        server        'https://localhost:6443'
      ds        servicePort   80
      ds        type          'ClusterIP'
      ```
      
      An example parameters file that produces the preceeding output:
      
      ```js
      local env = std.extVar("__ksonnet/environments");
      
      {
        global: {
        },
        components: {
          ds: {
            containerPort: 80,
            image: "gcr.io/heptio-images/ks-guestbook-demo:0.1",
            name: "ds",
            replicas: 1,
            servicePort: 80,
            type: "ClusterIP",
            namespace: env.namespace,
            server: env.server,
            obj: {a:"b"},
            arr: [1,2,3,4],
          },
        },
      }
      ```
      
      * note: params files aren't currently generated with the `env` local.
      Signed-off-by: default avatarbryanl <bryanliles@gmail.com>
      5b3be7a9
  6. 27 Jun, 2018 1 commit
    • Oren Shomron's avatar
      Add versioned, environment-scoped package support · ada571f6
      Oren Shomron authored
      
      
      This change adds version-mapped package support to environments. An environment can specify the specific version of a package to consume - and multiple, side-by-side versions of a package can be installed in the package cache.
      
      Closes #631
      Closes #651
      
      * Deprecate GitVersion from LibraryConfig
      * pkg.Descriptor.Part -> pkg.Descriptor.Name
      * Add Version, Path to PackageManager.
      * Composed package structs
      * Revendoring - Tailor import path to environment's packages, allow version-free import strings
      * Skip unversioned packages when revendoring
      * Allow injection of custom importers into jsonnet.VM wrapper
      * Allow passing VMOpts to VM via Evaluate*
      * Add versioned package evaluation test
      * Allow versioned packages to fall back to unversioned paths
      * Fix DefaultInstallChecker shadowed variable when looking up environment packages
      * Test skipping of missing paths in revendorPackages
      * Tweak CacheDependency->ResolveLibrary interface - onFile paths should always be relative to the registry root
      * Ensure 0.2.0 version is output when re-writing app.yaml
      Signed-off-by: default avatarOren Shomron <shomron@gmail.com>
      ada571f6
  7. 24 Jun, 2018 1 commit
  8. 12 Jun, 2018 1 commit
  9. 08 Jun, 2018 1 commit
    • bryanl's avatar
      adding component selection for diff · 19351844
      bryanl authored
      This change adds components for diffs. You can now run:
      
      ```
      ks diff local:default remote:default -c <component name>
      ```
      
      To diff a component in a module, specify the component with a module name. e.g component (for a module in the root component) or nested.component (for a module in nested/ under components)
      
      In addition, module support throughout the ks was updated
      
      * Modules allow ksonnet users to separate their configurations under components.
      * Modules are dot separated paths that correlate to their location on the file system. e.g module a is in /app/components/a
      * Modules can be deeply nested. e.g components in /app/components/nested/deeply would be in module nested.deeply
      * Modules are now added as a label to kubernetes resources in `ksonnet.io/component`. This will allow the user to determine which component created a resource
      
      Signed-off-by: bryanl bryanliles@gmail.com
      19351844
  10. 19 May, 2018 1 commit
  11. 17 May, 2018 1 commit
  12. 26 Apr, 2018 2 commits
  13. 25 Apr, 2018 1 commit
  14. 22 Apr, 2018 1 commit
  15. 21 Apr, 2018 1 commit
  16. 20 Apr, 2018 2 commits
  17. 17 Apr, 2018 2 commits
  18. 06 Apr, 2018 1 commit
  19. 04 Apr, 2018 1 commit
    • bryanl's avatar
      Support env param globals · dc80ac49
      bryanl authored
      
      
      * Adds env param globals. These can be used to attach metadata labels to
      every component in an environment.
      * Print more debugging info for jsonnet vm invocations
      
      Fixes #378
      Signed-off-by: default avatarbryanl <bryanliles@gmail.com>
      dc80ac49
  20. 03 Apr, 2018 1 commit
  21. 01 Apr, 2018 1 commit
  22. 30 Mar, 2018 1 commit
  23. 24 Mar, 2018 1 commit
  24. 16 Mar, 2018 1 commit