redhat-developer / redhat-developer/mapt

[Feature] Add support for more network configurations

Open
#572 4 comments 2 reactions 1 assignee View on GitHub

@p8r-the-gr8 is already working on this.

Since Sep 9, 2025.

Dominant language
Go
Stars
24
Forks
36
Avg merge
6d 13h
Merged PRs (30d)
8

Description

Hi,

It would be great if all of the following networking configurations could be supported by mapt:

  • airgapped (already supported)
  • private with NAT Gateways (already supported)
  • public
  • private with NAT Instances
  • user-configured

The new modes in a bit more details

Public

In this mode, only a public subnet is created with an Internet Gateway.
Security Group and other security features could/should still be used to secure the instance(s).

This approach could benefit workloads not requiring the level of isolation provided by private subnets.
Deployments would be faster.
Architecture would be simpler.
Costs would be greatly reduced.

Private with NAT Instances

This mode would work very similarly to the current "private with NAT Gateways" mode with one exception:
Instead of creating a NAT Gateway, an EC2 instance would be created and configured to perform the same role in the network stack.

The benefits of this approach is to keep the isolation level while greatly reducing costs associated with NAT Gateways.
This is ideal for dev/test/staging/etc workloads that don't require the same guarantees and performance as production deployments.

There are several open-source projects with the aim to reduce the downsides of this approach (failover support, healthchecking, etc) and automate the deployment and configuration.

One such project is the alterNAT Terraform module.
For information on the features and architecture of the project, see its project page.

I tested this project with both its native Terraform tool but also with Pulumi (using Pulumi's Terraform module compatibilty):
https://github.com/p8r-the-gr8/alternat-playground

User-configured

This mode would leave the network creation up to the user.
As such, the user could use any other tool (or even manual work) to create the desired networking setup, be that as complex or simple as necessary, and supply the VPC ID, subnet IDs and any other details to mapt.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.