NAME

IO::K8s::Resource - Base class for all Kubernetes resources

VERSION

version 1.001

SYNOPSIS

package IO::K8s::Api::Core::V1::Pod;
use IO::K8s::Resource;

k8s apiVersion => 'Str';
k8s kind => 'Str';
k8s metadata => 'Meta::V1::ObjectMeta';
k8s spec => 'Core::V1::PodSpec';

1;

DESCRIPTION

Base class that sets up Moo, inheritance, and provides the k8s DSL. Just use IO::K8s::Resource; - no need for use Moo or extends.

NAME

IO::K8s::Resource - Base class for Kubernetes resources

EXPORTED FUNCTIONS

k8s

k8s name => 'Str';
k8s replicas => 'Int';
k8s suspend => 'Bool';
k8s spec => 'Core::V1::PodSpec';           # Short class name
k8s containers => ['Core::V1::Container']; # Array of objects
k8s labels => { Str => 1 };                # Hash of strings

Short class names are auto-expanded:

Core::V1::Pod      -> IO::K8s::Api::Core::V1::Pod
Meta::V1::ObjectMeta -> IO::K8s::Apimachinery::Pkg::Apis::Meta::V1::ObjectMeta

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/pplu/io-k8s-p5/issues.

IRC

Join #kubernetes on irc.perl.org or message Getty directly.

CONTRIBUTING

Contributions are welcome! Please fork the repository and submit a pull request.

AUTHORS

  • Torsten Raudssus <torsten@raudssus.de>

  • Jose Luis Martinez <jlmartin@cpan.org> (original author, inactive)

COPYRIGHT AND LICENSE

This software is Copyright (c) 2018 by Jose Luis Martinez.

This is free software, licensed under:

The Apache License, Version 2.0, January 2004