o6r
TypeScript icon, indicating that this package has built-in type declarations

0.0.12 • Public • Published

🪛 o6r

npm version

Simple framework for create Operator

Exemple

import {O6r,apply} from "./framework/main";
import * as k8s from "@kubernetes/client-node";

class MyOperator {

    public static GROUP = "myoperator.me.fr";
    public static VERSION = "v1";
    public static KIND_PLURAL = "MyOperators";

    public constructor() {
    }

    @O6r.event.update(B2rLocal.GROUP,B2rLocal.VERSION,B2rLocal.KIND_PLURAL,'spec')
    @O6r.event.create(B2rLocal.GROUP,B2rLocal.VERSION,B2rLocal.KIND_PLURAL)
    public async onCreate(watcherEvent: WatchEventModel<KindOfMyOperatorInterface>,kc: k8s.KubeConfig): Promise<void>{
        console.log(`Create or update ${watcherEvent.resource.metadata.name}`);
        console.log(`Sepc :  ${watcherEvent.resource.metadata.spec}`);
        // apply is tool function for
        apply( `Apply kind`,kc);
    }

    @O6r.event.remove(B2rLocal.GROUP,B2rLocal.VERSION,B2rLocal.KIND_PLURAL)
    public onRemove(watcherEvent: WatchEventModel<B2rKindInterface>,kc: k8s.KubeConfig){
        console.log(`Delete ${watcherEvent.resource.metadata.name}`);
    }

}

OLM

TODO

  • [ ] Clear log
  • [ ] Add log level
  • [ ] Add TU

Readme

Keywords

none

Package Sidebar

Install

npm i o6r

Weekly Downloads

2

Version

0.0.12

License

MIT

Unpacked Size

16.7 kB

Total Files

22

Last publish

Collaborators

  • o6r