NAME

Kubernetes::Comb::Upstream::Static - An upstream with fixed endpoints and no cluster behind it

VERSION

version 0.001

SYNOPSIS

# a vendor service, from the controlling code or a class upstream method
upstream => sub {
  Static => (
    endpoints => [ { name => 'api', port => 443, cluster => 'geoip.vendor.example:443' } ],
    via       => [ 'vendor' ]
  );
}

# the same in the custom resource
upstream:
  class: Kubernetes::Comb::Upstream::Static
  endpoints:
    - { name: api, port: 443, cluster: geoip.vendor.example:443 }
  via: [ vendor ]

DESCRIPTION

An upstream whose endpoints are given, with nothing to ask: a vendor service, a process or a Docker container running next to the cluster, or the upper layers of a chain in a test. Its "status" is whatever it was built with.

endpoints

Constructor argument: arrayref of what the upstream offers, each a Kubernetes::Comb::Endpoint or a hashref of its attributes (name, port, protocol, cluster, external). cluster is the address to use from inside the Comb's cluster; without it the Comb uses external. Default: none. Construction dies on an endpoint that is not one.

phase

The phase "status" reports, default Running.

via

Arrayref of the layers "status" reports, default none.

reachable

Whether "status" reports the upstream reachable, default true.

message

Optional message "status" reports.

endpoint_class

The class hashrefs in "endpoints" become, Kubernetes::Comb::Endpoint.

status

Future of { reachable, phase, via, message } as built.

endpoints

Future of the arrayref of the "endpoints" as Kubernetes::Comb::Endpoint.

SEE ALSO

SUPPORT

Issues

Please report bugs and feature requests on GitHub at https://github.com/Getty/p5-kubernetes-comb/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.

AUTHOR

Torsten Raudssus <getty@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2026 by Torsten Raudssus <torsten@raudssus.de> https://raudssus.de/.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.