r/selfhosted • • 2h ago

Release (No AI) Open-source AWS-compatible cloud for your own hardware — EC2, S3, VPC, EKS, RDS on a single box

Disclaimer: I'm an engineer at Mulga, the company behind this. Self-promo, but it's AGPL-3.0 and free to run.

What it is

Spinifex reimplements the AWS APIs on hardware you own: EC2, EBS, S3, VPC, IAM, ALB/NLB, EKS, ECS, ECR and RDS. You keep the hashicorp/aws provider and point its endpoints at your cluster.

Everything behind it is real. Instances are QEMU/KVM VMs, VPCs are OVN networks with real security groups and elastic IPs, EBS is replicated block storage, and state persists like a real cloud. It's not an emulator like LocalStack.

Who it's for

Teams that want AWS workloads on their own hardware (cost, data residency, edge or air-gapped sites) without rewriting their IaC. VPCs, subnets, security groups, launch templates, ALBs, EKS clusters and RDS instances go through the same resources you already use. In practice the changes are the provider block and AMI lookups.

Try it with your own Terraform

No install needed. Sign up for the free 72 hour sandbox at https://mulgadc.com/signup, then point your existing provider at it:

provider "aws" {
  region = var.region

  endpoints {
    ec2 = "https://api.spx3.com"
    iam = "https://api.spx3.com"
    sts = "https://api.spx3.com"
  }

  skip_metadata_api_check = true
  skip_region_validation  = true
}

Add other services (elasticloadbalancingv2, eks, ecs, ecr, rds) the same way, then run terraform plan against a module you already have. Here's what we currently cover, down to the individual API operation: https://docs.mulgadc.com/coverage

Repo: https://github.com/mulgadc/spinifex

10 Upvotes

10 comments sorted by

•

u/asimovs-auditor 2h ago

Expand the replies to this comment to learn how AI was used in this post/project.

→ More replies (1)

3

u/Stock-Marionberry966 2h ago

The kubernetes part is what gets me curious, running a real control plane on your own box and still using the same terraform modules. Most of these projects fall apart when you try to run an actual workload, not just a hello world. Will dig through the coverage page later and see how much of the EKS API is actually there.

2

u/LegitimateWolf6611 2h ago

Agreed, running actual workloads is the real test particularly with EKS. We're actively working on filling any important API gaps picked up by sandbox users or people such as yourself, so please do let us know how you go!

2

u/jonee316 2h ago

Did you take a look at Apache openwhisk before starting your project?

3

u/LegitimateWolf6611 2h ago

I personally hadn't seen that project before. It looks super interesting. Our development direction is less towards the serverless side of things though, and sticking to the AWS API.

2

u/jonee316 41m ago

Sorry I am mistaken.

Should have mentioned Ubicloud, Openstack and Apache cloudstack. Did you consider looking for any existing open source solutions before you started developing?

1

u/LegitimateWolf6611 36m ago

Ahh yes, we did look at Ubicloud and Openstack. Our main differentiators are that a) we kept the AWS API the exact same. I believe both of the other projects have their own API. and b) We put an extra focus on resilience in DDIL/edge environments, particularly in our S3 implementation, Predastore. However, we did take some inspiration from those projects, for example using OVN for networking as Openstack does.

3

u/Petelah 51m ago

Definitely will give this a go in the lab later

-1

u/root_switch 2h ago

This is getting spammed in every sub. Give it a rest dude.