Sign inSign up

rombert/snoco

By rombert

•Updated over 4 years ago

Sneaky Node Configurator

Image
0

311

rombert/snoco repository overview

⁠Sneaky node configurator (Snoco)

The idea is to semi-manage features on a node where the is no other recourse. Supported:

  • SSH public key
  • Wireguard network

Concept:

  • operator labels nodes
  • operator launched jobs for each node in need of bootstrapping
  • bootstrap job executes, applies configuration, and marks the node as bootstrapped

In case of re-bootstrapping it is recommended to either recycle the nodes or to remove the annotations.

Resources:

  • ConfigMap
    • sshPublicKeys
    • wireGuardTemplate
  • Secret
    • wireGuardKeyPairs: $PUBLIC_KEY:$PRIVATE_KEY, one per line.

⁠Lifecycle

  • nodes scanned
  • for each node node:
    • if not set, set an 'index' annotation, used for wireguard keypair selection
    • if time of successful provisioning is not set as annotation, launch a job to provision:
      • job runs provisioning scripts
      • job records time of successful annotation?

⁠Development

Spin up a cluster and export the path to the kubeconfig file

$ export KUBECONFIG=...
$ kubectl config current-context set ... --namespace=...

Push the image to the registry and deploy it

$ make podman-push
$ make test-deploy

⁠TODO

  • automated end-to-end testing

Tag summary

Content type

Image

Digest

Size

27.6 MB

Last updated

over 4 years ago

docker pull rombert/snoco