Services Resources - v1 offers a comprehensive suite of templates for Kubernetes Service resources, including Service, Endpoints, Ingress, and IngressClass, enabling efficient management of network services and traffic routing in clusters. These templates utilize a flexible, facet-based design with dynamic variable population, streamlining the creation and configuration of service-related resources while accommodating a wide range of networking scenarios in Kubernetes environments.
Authentication
Add API authentication details
Readme
User instructions for this resource
The IngressClass template in ConfigFacets is designed to create and manage Kubernetes IngressClass resources, which are used to specify the controller that should implement an Ingress.
Key aspects of the template design
Simplicity: The template is intentionally simple, reflecting the straightforward nature of IngressClass resources.
Modularity: The template is divided into three main sections:
A "master" facet for the core IngressClass fields (kind, apiVersion, metadata)
An "addon:controller" facet for specifying the Ingress controller
An "addon:parameters" facet for optional additional configuration
Flexibility: The use of the
variable allows for dynamic population of all IngressClass fields.__IC_ID__
Optional Components: By using separate facets for different spec components, users can easily include or exclude parts of the IngressClass configuration as needed.
Consistency: The template follows the same structure as other ConfigFacets templates, maintaining a consistent user experience across different resource types.
Extensibility: While IngressClass resources are typically simple, the facet-based approach allows for easy addition of new fields if needed in future Kubernetes versions.
Examples
Check Request Body tab section to play around with interactive examples.
Install(
)Example
The Curl tab in the request section below provides the curl command for your resource.
curl -s -X POST "https://configfacets.com/apis/repos/kubernetes/service-resources/v1/resources/collections/ingressclass/exec?format=json" -d '{"facets":["master","addon:spec","addon:controller"],"values":{"basic_ic":{"spec":{"controller":"example.com/ingress-controller"},"metadata":{"name":"external-lb"}}},"globalvars":{"__IC_ID__":"basic_ic"}}' | kubectl apply -f -