NAME

    Net::Kubernetes - An object oriented interface to the REST API's
    provided by kubernetes

VERSION

    version 0.18

SYNOPSIS

      my $kube = Net::Kubernetes->new(url=>'http://127.0.0.1:8080', username=>'dave', password=>'davespassword');
      my $pod_list = $kube->list_pods();
    
      my $nginx_pod = $kube->create_from_file('kubernetes/examples/pod.yaml');
    
      my $ns = $kube->get_namespace('default');
    
      my $services = $ns->list_services;
    
      my $pod = $ns->get_pod('my-pod');
    
      $pod->delete;
    
      my $other_pod = $ns->create_from_file('./my-pod.yaml');

METHODS

 new - Create a new $kube object

    All parameters are optional and have some basic default values (where
    appropriate).

    url ['http://localhost:8080']

      The base url for the kubernetes. This should include the protocal
      (http or https) but not "/api/v1beta3" (see base_path).

    base_path ['/api/v1beta3']

      The entry point for api calls, this may be used to set the api
      version with which to interact.

    username

      Username to use with basic authentication. If either username or
      password are not provided, basic authentication will not be used.

    password

      Password to use with basic authentication. If either username or
      password are not provided, basic authentication will not be used.

    token

      An authentication token to be used to access the apiserver. This may
      be provided as a plain string, a path to a file from which to read
      the token (like /var/run/secrets/kubernetes.io/serviceaccount/token
      from within a pod), or a reference to a file handle (from which to
      read the token).

 get_namespace("myNamespace");

    This method returns a "Namespace" object on which many methods can be
    called implicitly limited to the specified namespace.

 get_pod('my-pod-name')

    Delegates automatically to Net::Kubernetes::Namespace via
    $self->get_namespace('default')

 get_repllcation_controller('my-rc-name') (aliased as
 $ns->get_rc('my-rc-name'))

    Delegates automatically to Net::Kubernetes::Namespace via
    $self->get_namespace('default')

 get_service('my-servce-name')

    Delegates automatically to Net::Kubernetes::Namespace via
    $self->get_namespace('default')

 get_secret('my-secret-name')

    Delegates automatically to Net::Kubernetes::Namespace via
    $self->get_namespace('default')

 list_nodes([label=>{label=>value}], [fields=>{field=>value}])

    returns a list of Net::Kubernetes::Resource::Nodes

 list_service_accounts([label=>{label=>value}], [fields=>{field=>value}])

    returns a list of Net::Kubernetes::Resource::Services

AUTHOR

    Dave Mueller <dave@perljedi.com>

COPYRIGHT AND LICENSE

    This software is Copyright (c) 2015 by Dave Mueller.

    This is free software, licensed under:

      The MIT (X11) License

SEE ALSO

    Please see those modules/websites for more information related to this
    module.

      * Net::Kubernetes::Namespace

      * Net::Kubernetes::Resource

CONSUMES

      * Net::Kubernetes::Role::APIAccess

      * Net::Kubernetes::Role::ResourceFactory

      * Net::Kubernetes::Role::ResourceFetcher

      * Net::Kubernetes::Role::ResourceLister

CONTRIBUTORS

      * Christopher Pruden <cdpruden@liquidweb.com>

      * Dave <dave@perljedi.com>

      * Dave Mueller <dmueller@liquidweb.com>

