Here you can find some of configuration files I use to setup my personal infrastructure. It uses Pulumi to manage the Kubernetes cluster and the applications running on it.
- packages/core: The handy utility wrappers around the Pulumi SDK and some common infrastructure components;
- packages/<package>: The ready-to-use application and their infrastructure components;
- packages/<package>-crds: The generated SDK for SRDs of the application;
- stacks/: The final Pulumi stacks, may contain some environment-specific configuration.
Feel free to use this repository as a reference or a starting point for your own infrastructure.
You can also add it as a submodule and use some parts of it in your own repository:
git submodule add [email protected]:Exeteres/infra.git lib
If you are using Yarn, you can add it as a workspace:
// package.json
{
"workspaces": ["lib/packages/*"]
}
Then you can reference the packages in your stacks:
// stacks/<my-stack>/package.json
{
"dependencies": {
"@infra/core": "workspace:*",
"@infra/<package>": "workspace:*"
}
}
Run yarn
to install and link the packages.
To see the example of how to use the packages, check the stacks/
folder.
- Zitadel: The Identity and Access Management solution;
- Mailu: The Mailu mail server;
- Factorio: The Factorio game server.
This repository is licensed under the MIT License.