infraops

module
v1.272.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 6, 2024 License: Unlicense

README

CircleCI codecov Go Report Card Go Reference

A place where all infrastructure is taken care of.

Background

The following tools are used:

Areas

Each folder takes care of an area of infrastructure. Each area has a package that is used as the entry point, so it is a facade.

Setup

To setup a new area follow the following:

  • Run pulumi new.
  • Choose the template you need, if in doubt choose go.
  • The stack name should always be prod.

Applications (apps)

This consists of my open source projects https://github.com/alexfalkowski being deployed to kubernetes.

Install

The above is for a new application. If you want to setup all current apps, run the following.

❯ make -C area/apps setup
Delete

To remove all the apps, you need to run the following:

❯ make -C area/apps delete

Cloudflare (cf)

The code is bases on the package https://www.pulumi.com/registry/packages/cloudflare/.

DigitalOcean (do)

The code is bases on the package https://www.pulumi.com/registry/packages/digitalocean/.

GitHub (gh)

The code is based on the package https://www.pulumi.com/registry/packages/github/.

The original idea was inspired from https://github.com/dirien/pulumi-github.

Creation

There is a caveat when creating repositories, that requires a 2 step process.

The first step is to have:

EnablePages: false

Then the second PR, we set it to:

EnablePages: true

The reason for this is that there seems to be a timing issue with creating the master branch.

Kubernetes (k8s)

This contains all the packages our cluster needs.

Setup

To ge the cluster ready, you need to run the following:

❯ make -C area/k8s setup update
Delete

To remove all the apps, you need to run the following:

❯ make -C area/k8s delete

Dependencies

Dependencies

Directories

Path Synopsis
area
cf
do
gh

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL