Skip to content

sassoftware/viyactl

Viyactl

Overview

Viyactl allows for the declarative management of settings within SAS Viya, using a simple YAML format.

It lets users save configurations from a SAS Viya environment, and then compare and apply them to SAS Viya environments.

This allows the following patterns:

  • Health checking
    • Comparing configuration between multiple environments
  • Rollback
    • Saving configuration, then if future changes are suboptimal Viyactl can apply this old configuration, rolling back to a previous state
  • GitOps
    • Saving configuration in a Git repository, then using CICD platforms like GitHub Actions to apply the configuration whenever it is changed

Installation

Viyactl is distributed as a single binary with no external dependencies. Viyactl can be installed with either of the following sets of instructions.

Go Install

go install github.com/sassoftware/viyactl@latest

Prebuilt binary

Built binaries can be downloaded from https://github.com/sassoftware/viyactl/releases

  • Download viyactl build for correct OS/Architecture
  • Add Viyactl to the PATH of your OS, or use the full path to the executable for all commands

Getting Started

To get started you can follow the quickstart guide

Viyactl also has help messages for all commands, simply type viyactl --help or viyactl $COMMAND --help

Autocompletion

Viyactl is built with cobra which generates scripts for shell completion

Contributing

Maintainers are accepting patches and contributions to this project. Please read CONTRIBUTING.md for details about submitting contributions to this project.

License

This project is licensed under the Apache 2.0 License.

Third-Party Dependencies

This project requires the following dependencies.

Dependency License
gopkg.in/yaml.v2 Apache-2.0
github.com/spf13/cobra Apache-2.0
github.com/gonvenience/idem Apache-2.0
golang.org/x/crypto/blake2b BSD-3-Clause
github.com/virtuald/go-ordered-json BSD-3-Clause
github.com/spf13/pflag BSD-3-Clause
github.com/google/go-cmp/cmp BSD-3-Clause
golang.org/x/sync BSD-3-Clause
golang.org/x/sys BSD-3-Clause
golang.org/x/term BSD-3-Clause
dario.cat/mergo BSD-3-Clause
github.com/BurntSushi/toml MIT
github.com/a-h/templ MIT
github.com/goccy/go-yaml MIT
github.com/gonvenience/bunt MIT
github.com/gonvenience/neat MIT
github.com/gonvenience/term MIT
github.com/gonvenience/text MIT
github.com/gonvenience/ytbx MIT
github.com/homeport/dyff/pkg/dyff MIT
github.com/lucasb-eyer/go-colorful MIT
github.com/mattn/go-ciede2000 MIT
github.com/mattn/go-isatty MIT
github.com/mitchellh/go-ps MIT
github.com/mitchellh/hashstructure MIT
github.com/sergi/go-diff/diffmatchpatch MIT
github.com/texttheater/golang-levenshtein/levenshtein MIT
go.uber.org/multierr MIT
go.uber.org/zap MIT
gopkg.in/yaml.v3 MIT

Additional Resources

Viyactl code has been written with the intention of using pkgsite for code docs.

About

A CLI that manages configuration of SAS Viya deployments using YAML

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors