Go to file
2025-03-25 10:43:08 +01:00
_examples feat: add extends option 2024-10-22 16:14:31 +02:00
.github docs: add community files 2025-03-25 10:43:08 +01:00
.husky chore: update setup 2023-08-14 22:39:41 +02:00
cmd feat: add info 2024-10-17 09:52:47 +02:00
internal test: fix input 2024-10-27 13:40:39 +01:00
testdata fix: change mergo settings 2024-10-22 17:36:32 +02:00
.editorconfig chore: update setup 2023-08-14 22:39:41 +02:00
.gitignore chore: change ownbrew config 2024-10-17 10:15:13 +02:00
.golangci.yml chore: update golangci lint 2025-03-25 10:42:19 +01:00
.goreleaser.yml chore: update goreleaser 2025-03-25 10:42:34 +01:00
.husky.yaml chore: update configs 2025-03-25 10:42:45 +01:00
.ownbrew.yaml chore: update configs 2025-03-25 10:42:45 +01: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: add build params 2024-10-26 15:26:10 +02:00
go.sum feat: add build params 2024-10-26 15:26:10 +02:00
init.go feat: add squadron name to schema 2023-09-21 10:25:54 +02:00
LICENSE docs: add community files 2025-03-25 10:43:08 +01:00
Makefile chore: add ownbrew 2024-10-16 22:21:08 +02:00
README.md docs: add community files 2025-03-25 10:43:08 +01:00
squadron_test.go feat: add test 2024-10-22 16:21:00 +02:00
squadron.go refactor: move values to global scope 2024-10-27 13:32:41 +01:00
squadron.schema.json feat: add build params 2024-10-26 15:28:19 +02:00
TODO.md docs: update todos 2023-12-20 16:27:27 +01:00

Build Status Go Report Card Coverage Status GoDoc

squadron

Squadron

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)

Configuration squadron.yaml

Configure your squadron

# https://raw.githubusercontent.com/foomo/squadron/refs/heads/main/squadron.schema.json
version: '2.2'

# squadron template vars
vars: {}

# helm global vars
global: {}

# squadron definitions
squadron:
  # squadron units
  site:
    # squadron unit
    frontend:
      # helm chart definition
      chart:
        name: mychart
        version: 0.1.0
        repository: http://helm.mycompany.com/repository
      # container builds
      builds:
        service:
          tag: latest
          file: Dockerfile
          image: docker.mycompany.com/mycomapny/frontend
          build_arg:
            - "foo=foo"
            - "bar=bar"
      # helm chart values
      values:
        image: docker.mycompany.com/mycomapny/frontend:latest
    # squadron unit
    backend:
      # helm chart definition
      chart: <% env "PROJECT_ROOT" %>/path/to/chart
      # kustomize path
      kustomize: <% env "PROJECT_ROOT" %>/path/to/kustomize
      # container builds
      builds:
        service:
          tag: latest
          file: Dockerfile
          image: docker.mycompany.com/mycomapny/backend
          build_arg:
            - "foo=foo"
            - "bar=bar"
      # helm chart values
      values:
        image: docker.mycompany.com/mycomapny/backend:latest

Usage

$ squadron help
Usage:
  squadron [command]

Available Commands:
  build         build or rebuild squadron units
  completion    Generate completion script
  config        generate and view the squadron config
  diff          shows the diff between the installed and local chart
  down          uninstalls the squadron or given units
  help          Help about any command
  list          list squadron units
  push          pushes the squadron or given units
  rollback      rolls back the squadron or given units
  schema        generate squadron json schema
  status        installs the squadron or given units
  template      render chart templates locally and display the output
  up            installs the squadron or given units
  version       show version information

Flags:
  -d, --debug          show all output
  -f, --file strings   specify alternative squadron files (default [squadron.yaml])
  -h, --help           help for squadron
  -s, --silent         only show errors
  -v, --verbose        show more output

Use "squadron [command] --help" for more information about a command.

How to Contribute

Please refer to the CONTRIBUTING details and follow the CODE_OF_CONDUCT and SECURITY guidelines.

License

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

Made with ♥ foomo by bestbytes