Go to file
Kevin Franklin Kim 5866731e84
Merge pull request #94 from foomo/fix/spinner-play
fix: add spinner play
2025-04-09 22:42:24 +02:00
_examples feat: add extends option 2024-10-22 16:14:31 +02:00
.github chore: update gh action 2025-03-25 13:12:46 +01:00
.husky chore: update setup 2023-08-14 22:39:41 +02:00
cmd fix: rollback 2025-04-09 17:28:28 +02:00
internal fix: add spinner play 2025-04-09 22:39:31 +02: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 feat: use noop spinner on ci and trim length 2025-04-02 22:31:47 +02:00
.goreleaser.yml chore: update goreleaser 2025-03-25 10:42:34 +01:00
.husky.yaml chore: use golangci-lint fmt 2025-04-02 22:46:46 +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 chore(deps): bump golang.org/x/sync in the gomod-update group 2025-04-06 03:04:34 +00:00
go.sum chore(deps): bump golang.org/x/sync in the gomod-update group 2025-04-06 03:04:34 +00: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: remove PATH 2025-04-09 15:41:25 +02:00
README.md docs: add community files 2025-03-25 10:43:08 +01:00
squadron_test.go feat: parallel and better output 2025-03-25 10:44:26 +01:00
squadron.go fix: add spinner play 2025-04-09 22:39:31 +02:00
squadron.schema.json feat: add priority 2025-03-25 10:56:27 +01: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