kubernetes

package
v0.3.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2025 License: Apache-2.0 Imports: 14 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type ExposeType

type ExposeType string
const (
	ExposeNodePort ExposeType = "NodePort"
	ExposeIngress  ExposeType = "Ingress"
)

type ExposedMonopod

type ExposedMonopod struct {
	pulumi.ResourceState

	// URL to reach the exposed monopod to.
	// Content depends on the ExposeType argument.
	URL pulumi.StringOutput
	// contains filtered or unexported fields
}

func NewExposedMonopod

func NewExposedMonopod(ctx *pulumi.Context, name string, args *ExposedMonopodArgs, opts ...pulumi.ResourceOption) (*ExposedMonopod, error)

NewExposedMonopod builds the Kubernetes resources for an *ExposedMonopod. It fits the best cases of web or pwn challenges where only 1 pod is required.

type ExposedMonopodArgs

type ExposedMonopodArgs struct {
	Identity pulumi.StringInput
	Label    pulumi.StringInput
	Hostname pulumi.StringInput

	Image pulumi.StringInput
	Port  pulumi.IntInput

	// Envs is a list of additional environment variables to
	// set on the pods. Key is the varenv name, value is its
	// value.
	// Can be used to provision a per-instance flag.
	Envs pulumi.StringMapInput

	// Files is a list of additional files to inject in the pod
	// filesystem on the pods. Key is the file absolute path,
	// value is its content.
	// Can be used to provision a per-instance flag.
	//
	// WARNING: provisionning a file in a directory makes adjacent
	// files unavailable.
	// For more info, refer to https://kubernetes.io/docs/tasks/configure-pod-container/configure-pod-configmap/#populate-a-volume-with-data-stored-in-a-configmap
	Files pulumi.StringMapInput

	// FromCIDR can be configured to specify an IP range that will
	// be able to access the pod.
	// TODO @NicoFgrx support it when ExposeIngress too
	FromCIDR pulumi.StringPtrInput

	ExposeType ExposeType

	// IngressAnnotations is a set of additional annotations to
	// put on the ingress, if the `ExposeType` is set to
	// `ExposeIngress`.
	IngressAnnotations pulumi.StringMapInput

	// IngressNamespace must be configured to the namespace in
	// which the ingress (e.g. nginx, traefik) is deployed.
	IngressNamespace pulumi.StringInput

	// IngressLabels must be configured to the labels of the ingress
	// pods (e.g. app=traefik, ...).
	IngressLabels pulumi.StringMapInput

	// LimitCPU is an optional value, yet recommended to avoid resources exhaustion
	// i.e. DoS.
	// It defines the limit of CPU time allocated to this Pod.
	LimitCPU pulumi.StringInput

	// LimitMemory is an optional value, yet recommended to avoid resources
	// exhaustion i.e. DoS.
	// It defines the limit of RAM memory allocated to this Pod.
	LimitMemory pulumi.StringInput
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL