Go to file
2024-02-05 14:12:08 +01:00
_examples style: format code 2024-01-03 17:03:36 +01:00
.github chore: remove field 2024-02-05 10:50:55 +01:00
.husky chore: update setup 2023-08-14 22:39:41 +02:00
cmd fix: parallel local dependencies update 2024-02-05 10:40:06 +01:00
internal feat: replace OP_MODE 2024-02-05 14:12:08 +01:00
testdata fix: parallel local dependencies update 2024-02-05 10:40:06 +01:00
.editorconfig chore: update setup 2023-08-14 22:39:41 +02:00
.gitignore feat: add yamllint 2023-12-20 16:26:59 +01:00
.golangci.yml chore: disable linter 2023-12-20 16:55:16 +01:00
.goreleaser.yml chore: set prerelease to auto 2024-01-04 09:17:33 +01:00
.husky.yaml chore: update setup 2023-08-14 22:39:41 +02:00
.yamllint.yaml style: format code 2024-01-03 17:03:36 +01:00
CODE_OF_CONDUCT.md chore: update setup 2023-08-14 22:39:41 +02:00
go.mod feat: update deps 2024-02-05 10:44:29 +01:00
go.sum feat: update deps 2024-02-05 10:44:29 +01:00
init.go feat: add squadron name to schema 2023-09-21 10:25:54 +02:00
LICENSE docs: add license 2021-07-26 15:57:20 +02:00
Makefile chore: update test output 2023-09-21 10:25:10 +02:00
README.md docs: update readme 2024-01-27 00:19:34 +01:00
squadron_test.go feat: fix race conditions 2023-09-27 10:02:55 +02:00
squadron.go fix: nil pointer 2024-02-05 11:05:31 +01:00
TODO.md docs: update todos 2023-12-20 16:27:27 +01:00

Squadron

Go Report Card godoc goreleaser

Application for managing kubernetes microservice environments.

Use it, if a helm chart is not enough in order to organize multiple services into an effective squadron.

Another way to think of it would be helm-compose, because it makes k8s and helm way more approachable, not matter if it is development or production (where it just becomes another helm chart)

Quickstart

Configure your squadron

# squadron.yaml
version: '2.0'

squadron:
  site:
    frontend:
      chart:
        name: mychart
        version: 0.1.0
        repository: http://helm.mycompany.com/repository
      builds:
        service:
          tag: latest
          dockerfile: Dockerfile
          image: docker.mycompany.com/mycomapny/frontend
          args:
            - "foo=foo"
            - "bar=bar"
      values:
        image: docker.mycompany.com/mycomapny/frontend:latest
    backend:
      chart: <% env "PROJECT_ROOT" %>/path/to/chart
      kustomize: <% env "PROJECT_ROOT" %>/path/to/kustomize
      builds:
        service:
          tag: latest
          dockerfile: Dockerfile
          image: docker.mycompany.com/mycomapny/backend
          args:
            - "foo=foo"
            - "bar=bar"
      values:
        image: docker.mycompany.com/mycomapny/backend:latest

Install the squadron squadron and namespace:

$ squadron up --build --push --namespace default

Uninstall the squadron again:

$ squadron down

Commands

# See:
$ squadron help

See also

Sometimes as a sailor or a pirate you might need to get a grapple : go get github.com/foomo/gograpple/...

How to Contribute

Make a pull request...

License

Distributed under MIT License, please see license file within the code for more details.