A CLI command to parse kustomize build result and notify it to GitLab

Overview

ksnotify

A CLI command to parse kustomize build result and notify it to GitLab

Caution

This repository is under development status.

What ksnotify does

  1. Parse the execution result of Kustomize
  2. Bind parsed results to handlebars templates
  3. Notify it to GitLab as you like

Usage

kustomize build | ksnotify
Comments
  • Repository description is wrong (Not `kustomize build` but `kubectl diff`)

    Repository description is wrong (Not `kustomize build` but `kubectl diff`)

    I'm sorry if I'm misunderstanding, but I suspect the repository description A CLI command to parse kustomize build result and notify it to GitLab is wrong.

    I guess the correct description is A CLI command to parse kubectl diff result and notify it to GitLab.

    image
    opened by suzuki-shunsuke 2
  • support target and empty output

    support target and empty output

    In this PR, I implemented followings:

    • target variable support which adds target variable on comment title.
    • no changes output which display no changes explicitly.

    If you run ksnotify --target sample then we get following output:


    Plan result (sample)

    CI link

    • updated
      • apps.v1.Deployment.test.test-app
    Details (Click me)

    apps.v1.Deployment.jasmine.test-app

     @@ -5,7 +5,6 @@
         deployment.kubernetes.io/revision: "3"
    +  labels:
    +    app: test-app
       name: test-app
       namespace: test
     spec:
    @@ -27,7 +26,6 @@
           creationTimestamp: null
           labels:
             app: test-app
    -        skaffold.dev/run-id: 1234
         spec:
           containers:
           - args:
    

    If you run ksnotify without any change in k8s configuration then we get following output:


    Plan result (sample)

    CI link

    No changes. Kubernetes configurations are up-to-date.
    
    opened by hirosassa 1
  • suppress skaffold run

    suppress skaffold run

    If you using skaffold, skaffold added label to every resources automatically.

    skaffold.dev/run-id: 1234
    

    Since this label is not essential difference, we want to suppress this.

    ref: https://skaffold.dev/docs/tutorials/skaffold-resource-selector/

    opened by hirosassa 0
  • add diff parser

    add diff parser

    In this PR, I implemented diff parser to display diff on GitLab comment. The comment by ksnotify is as following:


    Plan result

    CI link

    • updated
      • apps.v1.Deployment.test.test-app
    Details (Click me)

    apps.v1.Deployment.jasmine.test-app

     @@ -5,7 +5,6 @@
         deployment.kubernetes.io/revision: "3"
       labels:
         app: test-app
    -    skaffold.dev/run-id: 1234
       name: test-app
       namespace: test
     spec:
    @@ -27,7 +26,6 @@
           creationTimestamp: null
           labels:
             app: test-app
    -        skaffold.dev/run-id: 1234
         spec:
           containers:
           - args: 
    
    opened by hirosassa 0
  • handle config file

    handle config file

    implement config file handling feature

    currently fixed file handling (only ksnotify.yaml on current directory available) https://github.com/hirosassa/ksnotify/blob/2f4ef310123856bc148d1777e353709ac10ce2f6/src/main.rs#L170

    opened by hirosassa 0
Owner
null
Recollection Notify you for daily, weekly, monthly and yearly events

Recollection Notify you for daily, weekly, monthly and yearly events. Usage Use recollectctl to manage the events, and run recollectd daemon to monito

Kaiyang Wu 3 Jun 28, 2022
CLI tool that make it easier to perform multiple lighthouse runs towards a single target and output the result in a plotable format.

Lighthouse Aggregator CLI tool that make it easier to perform multiple lighthouse runs towards a single target and output the result in a "plotable" f

Polestar 1 Jan 12, 2022
parse command-line arguments into a hashmap and vec of positional args

parse command-line arguments into a hashmap and vec of positional args This library doesn't populate custom structs, format help messages, or convert types.

James Halliday 17 Aug 11, 2022
Allows processing of iterators of Result types

try-continue try-continue provides one method, try_continue, which allows you to work with iterators of type Result<T, _>, as if they were simply iter

Nick Krichevsky 3 Dec 26, 2021
Parse command line arguments by defining a struct.

StructOpt Parse command line arguments by defining a struct. It combines clap with custom derive. Documentation Find it on Docs.rs. You can also check

Guillaume P. 2.6k Jan 5, 2023
Anglosaxon is a command line tool to parse XML files using SAX

anglosaxon - Convert large XML files to other formats anglosaxon is a command line tool to parse XML files using SAX. You can do simple transformation

Amanda 8 Oct 7, 2022
Mirror of https://gitlab.redox-os.org/redox-os/termion

Documentation Examples Changelog Tutorial Termion is a pure Rust, bindless library for low-level handling, manipulating and reading information about

Redox OS 1.9k Dec 31, 2022
CarLI is a framework for creating single-command and multi-command CLI applications in Rust

CarLI is a framework for creating single-command and multi-command CLI applications in Rust. The framework provides error and IO types better suited for the command line environment, especially in cases where unit testing is needed.

Kevin Herrera 3 Jan 21, 2022
Download pdbs from symbol servers and cache locally, parse symbol paths from env vars

symsrv This crate lets you download and cache pdb files from symbol servers, according to the rules from the _NT_SYMBOL_PATH environment variable. It

Markus Stange 6 Sep 15, 2022
languagetool-code-comments integrates the LanguageTool API to parse, spell check, and correct the grammar of your code comments!

languagetool-code-comments integrates the LanguageTool API to parse, spell check, and correct the grammar of your code comments! Overview Install MacO

Dustin Blackman 17 Dec 25, 2022
Vim plugin to quickly parse strings into arrays.

butcher Vim plugin to quickly parse strings into arrays. It is painful to write arrays in any programming language, so butcher makes it easy for you.

null 5 Dec 31, 2021
Parse hex colors to tui::style::Color

Color -> Tui Parse hex colors to tui rgb colors #c3f111 -> Color::Rgb(195,241,17) Note that the indexed colors are NOT HEX #142 -> Color::Indexed(142)

Uttarayan Mondal 1 Nov 8, 2021
Irx-config - The library provides convenient way to represent/parse configuration from different sources

The irx-config library provides convenient way to represent/parse configuration from different sources. The main goals is to be very easy to use and t

Andriy Bakay 2 Sep 14, 2022
A CLI tool for CIs and build scripts, making file system based caching easy and correct (locking, eviction, etc.)

FS Dir Cache A CLI tool for CIs and build scripts, making file system based caching easy and correct (locking, eviction, etc.) When working on build s

Dawid Ciężarkiewicz 5 Aug 29, 2023
A command line tool written in Rust and designed to be a modern build tool + package manager for C/C++ projects.

CCake CCake is a command line tool written in Rust and designed to be a modern build tool + package manager for C/C++ projects. Goals To be easily und

Boston Vanseghi 4 Oct 24, 2022
A simple CLI to build VEXCode V5 Pro projects and download them to the V5 brain.

vexer A simple CLI to build VEXCode V5 Pro projects and download them to the V5 brain. (WIP) This currently is only tested on and only works on window

null 2 May 16, 2022
A tool crate to quickly build rust command line application.

Falsework A tool crate to quickly build rust command line application.

Leon Ding 103 Dec 12, 2022
REC2 (Rusty External Command and Control) is client and server tool allowing auditor to execute command from VirusTotal and Mastodon APIs written in Rust. 🦀

Information: REC2 is an old personal project (early 2023) that I didn't continue development on. It's part of a list of projects that helped me to lea

Quentin Texier (g0h4n) 104 Oct 7, 2023