Giter VIP home page Giter VIP logo

kude's People

Contributors

arikkfir avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

kude's Issues

Create a generic framework for name references

Allow a resource to specify an "externalName" (in addition to its standard Kubernetes name), probably through an annotation; that external name will be used by Kude to find references to that external name elsewhere, and replace those references with the actual Kubernetes name of that resource.

For example:

apiVersion: v1
kind: ConfigMap
metadata:
  name: cfg-aj491djs2
  namespace: main
  annotation:
    # this annotation tells Kude to replace references ConfigMaps named
    # "cfg" in namespace "main" to the actual name of this resource
    kude.kfirs.com/externalName: cfg
data:
  foo: bar
---
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
  - name: server
    env:
    - name: FOO
      valueFrom:
        configMapKeyRef:
          name: cfg # this should be replaced with "cfg-aj491djs2"
          key: foo

Extend `label-selector` of functions for more use-cases

Support targeting specific resource types as well.

Something like this:

- image: .../annotate
  config:
    name: my-annotation

    # annotate any resource matching ANY of the following predicates (logical OR)
    targets:
      # This will annotate all resources of type "Namespace" (even if they are not of API version "v1")
      - kind: Namespace

      # This will annotate all service accounts (this is more specific, using the "apiVersion"...)
      - apiVersion: v1 
        kind: ServiceAccount

      # This will annotate all config maps with the label "component=mysql"
      - apiVersion: v1
        kind: ConfigMap
        labels:
          component: mysql

Design solution for storing secret values in IaC repositories

Currently values must be stored as plain-text values either in kude.yaml files or as text files read by Kude during processing.

We should support some kind of encryption/decryption mechanism that will allow users to store such values committed in the source code (or at least available to the pipeline externally) so that Kude is able to incorporate those secret values into the YAML output.

Increase test coverage

Increase the tests coverage - both reporting-wise as well as actual coverage.

This will likely require a refactor of the testing mechanism to be more scenario-declarative.

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.