manage Kubernetes manifests from remote repository
pipeline, pipe
manage Spinnaker pipelines
Account subcommands are
subcommand
Description
get
returns the specified spinnaker account
list, ls
returns list of all spinnaker accounts
Application subcommands are
subcommand
Description
delete, del
delete the specified application
get
returns the specified spinnaker application
list, ls
returns list of all spinnaker applications
save, create
save/update the provided spinnaker application
save-all, create-all
save/update all spinnaker applications from provided GitHub repository
Manifest subcommands are
subcommand
Description
delete, del
delete yaml manifest(s) for provided application
save, create, generate
save/update yaml manifest(s) for provided application
save-all, create-all, generate-all
save/update yaml manifest(s) for for all applications from provided GitHub repository
Pipeline subcommands are
subcommand
Description
delete, del
delete the provided pipeline from the provided spinnaker application
delete-all, prune
delete all pipelines in the provided spinnaker application
disable, off
disable pipelines in the provided spinnaker application
disable-all
disable all pipelines in the provided spinnaker account(cluster)
enable, on
enable pipelines in the provided spinnaker application
enable-all
enable all pipelines in the provided spinnaker account(cluster)
execute, exec
execute the provided pipeline in the provided spinnaker application
execute-all
execute all pipelines in the provided spinnaker application or kubernetes cluster
get
returns the pipeline with the provided name from the provided spinnaker application
list, ls
returns list of all pipelines for the provided spinnaker application
save, create
save/update pipeline(s) for the provided spinnaker application
save-all, create-all
save/update pipeline(s) for all spinnaker applications from provided GitHub repository
Examples: Common operations
Manage Spinnaker applications
# Create a new (or update existing) Spinnaker application using the definition in configuration.json (from remote GitHub repository).
jarvis application save --name=jarvis-test-application --repo=test-k8s --local=false --dry-run=false
# Create a new (or update existing) Spinnaker application using the definition in configuration.json (from remote GitHub repository and custom branch).
jarvis application save --name=jarvis-test-application --repo=test-k8s --branch=custom --local=false --dry-run=false
# Create a new (or update existing) Spinnaker application using the definition in configuration.json (from local GitHub repository).
jarvis application save --name=jarvis-test-application --dry-run=false
# Create (or update if exist) all Spinnaker applications using the definitions in configuration.json (from remote GitHub repository).
jarvis application save-all --repo=test-k8s --local=false --dry-run=false
# Create (or update if exist) all Spinnaker applications using the definitions in configuration.json (from remote GitHub repository and custom branch).
jarvis application save-all --repo=test-k8s --branch=custom --local=false --dry-run=false
# Create (or update if exist) all Spinnaker applications using the definitions in configuration.json (from local GitHub).
jarvis application save-all --dry-run=false
# List all Spinnaker applications.
jarvis application list
# Retrieve a single Spinnaker application.
jarvis application get --name=jarvis-test-application
# Delete a single Spinnaker application.
jarvis application delete --name=jarvis-test-application --dry-run=false
Manage Kubernetes manifests
# Create a new (or update existing) Kubernetes manifest(s) with custom commit message for provided application using the definitions in configuration.json (from remote GitHub repository).
jarvis manifest save --name=jarvis-test-application --commit-message="Custom message" --repo=test-k8s --local=false --dry-run=false
# Create a new (or update existing) Kubernetes manifest(s) with default commit message for provided application using the definitions in configuration.json (from local GitHub repository).
jarvis manifest save --name=jarvis-test-application --dry-run=false
# Create a new (or update existing) Kubernetes manifests for all applications from configuration.json (from remote GitHub repository and custom branch).
jarvis manifest save-all --repo=test-k8s --branch=custom --local=false --dry-run=false
# Delete Kubernetes manifest(s) for provided application using the definitions in configuration.json (from remote GitHub repository).
jarvis manifest delete --name=jarvis-test-application --repo=test-k8s --local=false --dry-run=false
Manage Spinnaker pipelines
# Create a new (or update existing) Spinnaker pipeline(s) using the definition in configuration.json (from remote GitHub repository).
jarvis pipeline save --name=jarvis-test-application --repo=test-k8s --local=false --dry-run=false
# Create a new (or update existing) Spinnaker pipeline(s) using the definition in configuration.json (from local GitHub repository).
jarvis pipeline save --name=jarvis-test-application --dry-run=false
# Create a new (or update existing) pipeline(s) for all Spinnaker applications using the definition in configuration.json (from remote GitHub repository).
jarvis pipeline save-all --repo=test-k8s --local=false --dry-run=false
# Create a new (or update existing) pipeline(s) for all Spinnaker applications using the definition in configuration.json (from local GitHub repository).
jarvis pipeline save-all --dry-run=false
# List all pipelines in the provided Spinnaker application.
jarvis pipeline list
# Retrieve a single pipeline from the provided Spinnaker application.
jarvis pipeline get --name=jarvis-test-application --pipeline="deploy-gke1-dc(production)"# Start a single pipeline execution from the provided Spinnaker application.
jarvis pipeline execute --name=jarvis-test-application --pipeline="deploy-gke1-dc(production)" --dry-run=false
# Start all pipelines execution from the provided Spinnaker application.
jarvis pipeline execute-all --name=jarvis-test-application --dry-run=false
# Start all pipelines execution in all Spinnaker applications from the provided Kubernetes cluster.
jarvis pipeline execute-all --account=gke1 --dry-run=false
# Enable pipelines in the provided Spinnaker application.
jarvis pipeline enable --name=jarvis-test-application --dry-run=false
# Enable all pipelines in the provided Spinnaker account(Kubernetes cluster).
jarvis pipeline enable-all --account=sgp1 --dry-run=false
# Disable pipelines in the provided Spinnaker application.
jarvis pipeline disable --name=jarvis-test-application --dry-run=false
# Disable all pipelines in the provided Spinnaker account(Kubernetes cluster).
jarvis pipeline disable-all --account=sgp1 --dry-run=false
# Delete a single pipeline from the provided Spinnaker application.
jarvis pipeline delete --name=jarvis-test-application --pipeline="deploy-gke1-dc(production)" --dry-run=false
# Delete all pipelines from the provided Spinnaker application.
jarvis pipeline delete-all --name=jarvis-test-application --dry-run=false
Sample definition application(s) properties are in configuration.json file repository
Owner
Yevhen Lebid
I am infrastructure administrator, focused on high availability, devops technique and monitoring.
GitOops is a tool to help attackers and defenders identify lateral movement and privilege escalation paths in GitHub organizations by abusing CI/CD pipelines and GitHub access controls.