Git Product home page Git Product logo

moo's Introduction

Maintenance

This project is no longer being maintained. For an alternative, please see https://github.com/rancher/fleet, especially agent self-registration.

If you have interest in maintaining this, or a use case for it, please open an issue.

Server, agent, mooctl functionality is not guaranteed. This was heavily a work-in-progress at time of maintenance cessation.

Moo

Moo is a tool to auto-register Kubernetes (or k3s) clusters with a Rancher instance.

The driving force for this project was not wanting to interact with a k3s node after deployment, but still have it register in Kubernetes.

Usage

Standalone

NAME:
   moo - Auto-registration agent for Rancher imported clusters

USAGE:
   agent [global options] command [command options] [arguments...]

COMMANDS:
   help, h  Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --kubeconfig value          kubeconfig if running outside of cluster (default: "/Users/ebauman/.config/k3d/moo/kubeconfig.yaml") [$KUBECONFIG]
   --namespace value           namespace used in registration check (default: "cattle-system") [$CATTLE_NAMESPACE]
   --deployment value          name of deployment used in registration check (default: "cattle-cluster-agent") [$CATTLE_DEPLOYMENT]
   --daemonset value           name of daemonset used in registration check (default: "cattle-node-agent") [$CATTLE_DAEMONSET]
   --rancher-url value         url of rancher instance [$RANCHER_URL]
   --rancher-access-key value  access key for rancher [$RANCHER_ACCESS_KEY]
   --rancher-secret-key value  secret key for rancher [$RANCHER_SECRET_KEY]
   --cluster-name value        name of this cluster when registering with rancher [$MOO_CLUSTER_NAME]
   --rancher-insecure          use an insecure connection to rancher (default: false) [$RANCHER_INSECURE]
   --rancher-cacerts value     path to cacerts file used when connecting to rancher [$RANCHER_CA_CERTS]
   --loglevel value            log level (trace, debug, info, warning, error, fatal, panic) (default: "info") [$LOGLEVEL]
   --use-existing-cluster      if cluster already exists in rancher, use it and import this node (default: false) [$MOO_USE_EXISTING]
   --help, -h                  show help (default: false)

Kubernetes Cluster

Check out kubernetes.yaml for a manifest to deploy moo-agent into your cluster.

If you're using k3s, this manifest can be placed in /var/lib/rancher/k3s/server/manifests which will auto-deploy the moo-agent Job upon server installation.

Building

cd agent/
go build

Contributing

Please file issues for enhancements, upgrades, bugs, etc.

moo's People

Contributors

ebauman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

moo's Issues

Agent always runs reconciliation loop

This may not be desirable. Someone may want to just run this once (as a k8s job for instance) and then not again.

Should offer the option at least to change this behavior. Or change the default behavior to be a single run, and offer a loop option.

Rate-limiting occurring in agent code

K8s calls in the agent are being rate-limited because of client-go defaults.

Should set the QPS and Burst higher to achieve this small burst of activity w/o being rate limited.

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.