Clk Maybe List
FleetingThose are stuff that I wish I can do in the future but won’t commit for now. Most of them are fleeting note that still need to be precised. And I won’t work on them till I have a need (pragmatisme).
provide several examples of A: O: and F: in bash commands
to be disabled if asked to –disable-parameters-hints
document clk bash commands parameters
provide a wasm sandbox in a browser to play with clk without installing it
clk k8s detect tainted nodes
ktl get nodes -o json | jq -r '.items[].status.conditions[]|select(.status=="True")|.type'
provide –edit-command everywhere
-
Note prise le
doit se faire non pas au niveau de la création de la commande mais au momnt de l’évaluationCar la commande cmd peut être mises dans x.y.cmd et dans a.b.cmd indifféremment.
provide sh(“something”) | sh(“something else”)
provide help in bash completion like helm does
redo call(internal=safe)
document CLK___* variables
provide boolean options, like git-annex, to be able to run clk command –not something –and somethingelse –or –not somethingelse
make @table stuff more user friendly
try harder to deal with the impact of renaming in aliases, parameters and flows
clk main/next command
to ease users find out what the next command is
- comme ça, clk describe dit par quelle commande commencer
- la commande indique les autres commandes à considérer, permettant de naviguer dans une succession d’aides cohérents
- clk describe –html pour en sortir une « doc » à publier
- publier une « doc » de clk comme ça (dogfooding)
- montrer echo
- puis alias
- puis parameter
- puis command create
- puis extension
- sortir dans la CI de clk l’html pour avoir le tuto dynamiquement généré
- dans un groupe, ajouter une section qui montre les sous commandes directes à regarder
add a test of reactivity. With 500 alias, completion should take less than 0.5s
clk flowdep graph detect cycles and deal with them
use snyk on clk
clk command –flow-continue to go on after error
clk k8s deal with several clusters
clk command create python some.command
clk flowdep graph –flatten
pass clk -a through external commands
eval: vault: generic with dynamicprovider and a command to configure it
make eval: not accept any command
Or it might be a security flaw where people provide extensions with parameters that call arbitrary commands.
resource based flow
In addition to the classical command flow, I wish I could have a more makefile-ish way of specifying the flow.
A command could indicate the resources it creates and the resources it needs. A resource could be an abstaction of the form.
class Resource:
def exists():
pass
And I could create more than simple file based resources.
Like a port resource.
class PortResource(Resource):
def __init__(self, port):
self.port = port
def exists(self):
return lib.is_port_available(self.port)
Then, I could have a command that is run only if the resource is not fulfilled.
@command(provides=[PortResource(5432)])
def start_postgres():
pass
I could provide a resource command line handler
clk resource set postgre PortResource 5432
clk resource flow postgre
@command(provides=[FileResource("CMakeLists.txt")], needs=[FileResource("somesourceoftruth.yml")])
def generate():
pass
@command(provides=[FileResource("Makefile")], needs=[FileResource("CMakeLists.txt")])
def configure():
pass
@command(needs=[FileResource("Makefile")])
def build():
pass
But then, changing from makefile to ninja would imply to change the resources as well?
auto exclusive extensions
In case several extensions provides the same features