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
}
Click to show internal directories.
Click to hide internal directories.