Go to file
Kevin Franklin Kim 0508151f1b
Merge pull request #104 from foomo/feature/sub-dependencies
Feature/sub dependencies
2025-07-25 11:49:51 +02:00
_examples feat: add extends option 2024-10-22 16:14:31 +02:00
.github chore: bump action 2025-05-21 11:14:35 +02:00
.husky chore: update setup 2023-08-14 22:39:41 +02:00
cmd feat: add with-priority flag 2025-05-21 11:08:07 +02:00
internal fix: lint issues 2025-07-25 11:44:51 +02:00
testdata revert: test 2025-07-25 11:48:03 +02:00
.editorconfig chore: update setup 2023-08-14 22:39:41 +02:00
.gitignore chore: ignore go.work 2025-07-25 10:46:02 +02:00
.golangci.yml fix: lint issues 2025-07-25 11:44:51 +02:00
.goreleaser.yml chore: update setup 2025-05-21 11:08:39 +02: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
go.mod feat: update deps 2025-07-25 10:45:36 +02:00
go.sum feat: update deps 2025-07-25 10:45:36 +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 output 2025-07-25 10:45:26 +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: lint issues 2025-07-25 10:47:40 +02:00
squadron.schema.json feat: allow overriding release name 2025-04-10 09:03:27 +02:00
status.go fix: multi status rendering 2025-05-21 11:07: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