OpenMCF logoOpenMCF

Loading...

Civo IP Address

Deploys a static reserved (public) IPv4 address on Civo Cloud. Reserved IPs persist independently of instances and load balancers, making them useful for stable external endpoints that survive resource replacements.

What Gets Created

When you deploy a CivoIpAddress resource, OpenMCF provisions:

  • Reserved IP — a civo_reserved_ip resource that allocates a persistent public IPv4 address in the specified Civo region

The IP is created in an unattached state. You can later associate it with a CivoComputeInstance or load balancer in the same region.

Prerequisites

  • Civo credentials configured via environment variables or OpenMCF provider config
  • A target Civo region — reserved IPs are region-scoped and can only be attached to resources in the same region

Quick Start

Create a file civo-ip.yaml:

apiVersion: civo.openmcf.org/v1
kind: CivoIpAddress
metadata:
  name: my-ip
  labels:
    openmcf.org/provisioner: pulumi
    pulumi.openmcf.org/organization: my-org
    pulumi.openmcf.org/project: my-project
    pulumi.openmcf.org/stack.name: dev.CivoIpAddress.my-ip
spec:
  region: nyc1

Deploy:

openmcf apply -f civo-ip.yaml

This allocates a reserved IPv4 address in the New York region.

Configuration Reference

Required Fields

FieldTypeDescriptionValidation
regionenumCivo region where the IP is allocated. The IP can only be attached to resources in this region. Valid values: lon1, lon2, fra1, nyc1, phx1, mum1.Required

Optional Fields

FieldTypeDefaultDescription
descriptionstring—Human-readable name or description for the reserved IP. If omitted, Civo may default to using the IP address itself as the label. Max 100 characters.

Examples

Basic Reserved IP

A minimal manifest that allocates a reserved IP in Frankfurt:

apiVersion: civo.openmcf.org/v1
kind: CivoIpAddress
metadata:
  name: basic-ip
  labels:
    openmcf.org/provisioner: pulumi
    pulumi.openmcf.org/organization: my-org
    pulumi.openmcf.org/project: my-project
    pulumi.openmcf.org/stack.name: dev.CivoIpAddress.basic-ip
spec:
  region: fra1

Reserved IP with Description

Adding a description makes the IP easier to identify in the Civo dashboard and in IaC state:

apiVersion: civo.openmcf.org/v1
kind: CivoIpAddress
metadata:
  name: api-gateway-ip
  labels:
    openmcf.org/provisioner: pulumi
    pulumi.openmcf.org/organization: my-org
    pulumi.openmcf.org/project: my-project
    pulumi.openmcf.org/stack.name: staging.CivoIpAddress.api-gateway-ip
spec:
  region: lon1
  description: "API gateway public endpoint"

Production Stable Endpoint

A reserved IP intended for a production load balancer, paired with a DNS record:

apiVersion: civo.openmcf.org/v1
kind: CivoIpAddress
metadata:
  name: prod-lb-ip
  labels:
    openmcf.org/provisioner: pulumi
    pulumi.openmcf.org/organization: my-org
    pulumi.openmcf.org/project: my-project
    pulumi.openmcf.org/stack.name: prod.CivoIpAddress.prod-lb-ip
spec:
  region: nyc1
  description: "Production load balancer IP"

After deployment, use the ipAddress output to configure a CivoDnsRecord that points your domain to this stable IP.

Stack Outputs

After deployment, the following outputs are available in status.outputs:

OutputTypeDescription
reservedIpIdstringUnique identifier (UUID) of the reserved IP in Civo
ipAddressstringThe static IPv4 address allocated for this reserved IP
attachedResourceIdstringID of the Civo resource (instance or load balancer) currently attached to this IP. Empty if unattached.
createdAtRfc3339stringTimestamp when the reserved IP was created, in RFC 3339 format

Related Components

  • CivoComputeInstance — attach the reserved IP to a compute instance for a stable public address
  • CivoDnsRecord — create DNS records pointing to the reserved IP
  • CivoFirewall — control inbound traffic to resources using this IP
  • CivoVpc — private network for the resources that use this IP

Next article

Civo Kubernetes Cluster

Civo Kubernetes Cluster Deploys a managed K3s-based Kubernetes cluster on Civo Cloud with configurable node pools, optional high-availability control plane, and automatic patch upgrades. The cluster is attached to an existing Civo network and exposes a kubeconfig for immediate access. What Gets Created When you deploy a CivoKubernetesCluster resource, OpenMCF provisions: Kubernetes Cluster (K3s) — a civokubernetescluster resource in the specified region, attached to the given network, running...
Read next article
Presets
1 ready-to-deploy configurationView presets →