Kubernetes

NAME

Kubernetes - shared kubectl helpers for Raku scripts

SYNOPSIS

use Kubernetes::Resources::Core;
class Foo does Kubernetes::Resources::Core::NamespacedResource { ... }
my $ref = Kubernetes::Resources::Core::ResourceRef.new(
      :name<my-sub>, :namespace<ns>, :kubectl-name<subscription>, :kind<Subscription>,
  );
  $ref.delete('kubectl');
# Pod with wait-until-ready:
  use Kubernetes::Resources::Pod;
  my $pod = Kubernetes::Resources::Pod::Pod.new(:name<my-pod>, :namespace<default>);
  $pod.wait-until-ready('kubectl', :timeout-s(120));
# ConfigMap apply/delete and data helpers:
  use Kubernetes::Resources::ConfigMap;
  my $cm = Kubernetes::Resources::ConfigMap::ConfigMap.new(
      :name<my-config>, :namespace<default>, :data(%(foo => 'bar')),
  );
  $cm.apply('kubectl');
  $cm.delete('kubectl');
# Secret apply/delete and ensure-key:
  use Kubernetes::Resources::Secret;
  my $secret = Kubernetes::Resources::Secret::Secret.new(
      :name<my-secret>, :namespace<default>, :data(%(api-key => 'value')),
  );
  $secret.apply('kubectl');
  $secret.delete('kubectl');
# Namespace lifecycle:
  use Kubernetes::Resources::Namespace;
  my $ns = Kubernetes::Resources::Namespace::Namespace.new(:name<my-ns>);
  $ns.ensure('kubectl', :dry-run);

DESCRIPTION

Facade that loads all Kubernetes submodules. Reference symbols via their fully-qualified submodule names:

  • Kubernetes::Resources::Core::K8sResource

  • Kubernetes::Resources::Core::NamespacedResource

  • Kubernetes::Resources::Core::ResourceRef

  • Kubernetes::Resources::Pod::Pod

  • Kubernetes::Resources::ConfigMap::ConfigMap

  • Kubernetes::Resources::Secret::Secret

  • Kubernetes::Resources::Namespace::Namespace

  • Kubernetes::Operations::Wait::WaitForReady

  • Kubernetes::Client::resolve-kubectl()

Kubernetes v0.0.3

Kubernetes kubectl helpers for Raku

Authors

  • Rui Vieira

License

Apache-2.0

Dependencies

Test Dependencies

Provides

  • Kubernetes
  • Kubernetes::Client
  • Kubernetes::Exec
  • Kubernetes::Log
  • Kubernetes::Operations
  • Kubernetes::Operations::Wait
  • Kubernetes::Resources
  • Kubernetes::Resources::ConfigMap
  • Kubernetes::Resources::Core
  • Kubernetes::Resources::Namespace
  • Kubernetes::Resources::Pod
  • Kubernetes::Resources::Secret

The Camelia image is copyright 2009 by Larry Wall. "Raku" is a trademark of the Yet Another Society. All rights reserved.

Built with Podlite — the markup and publishing tools behind this site.