fsoc

command module
v0.69.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 4, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

README

fsoc - Cisco Observability Platform Developer's Control Tool

Release stability-alpha Go Report Card License Github All Releases build CodeQL OpenSSF Scorecard

The Cisco Observability Platform provides core capabilities for developers to build observability solutions to gain visibility and actionable insights across their technology and business stack. The platform leverages OpenTelemetry collections to collect MELT* telemetry and then transforms the raw data into flexible and scalable objects that can be correlated and queried.

*MELT: Metrics, Events, Logs and Traces

The platform control tool, fsoc, provides a command line interface to help developers manage their solutions lifecycle and interact with the core services and solutions in the platform.

Documentation

The fsoc user documentation is published in Cisco's DevNet as part of the platform documentation.

As fsoc is still evolving quickly, the DevNet documentation may sometimes not include information about the latest released version of fsoc. The fsoc help command is always the best way to get the correct help for the version of fsoc you have. Most commands provide sample command lines you can try.

You can also run fsoc gendocs to generate a command reference. It provides the same information as fsoc help but in static Markdown pages.

Build fsoc from source code

To build fsoc locally, after cloning this repository:

  • Run go build
  • Use the binary saved in the same directory, e.g., ./fsoc help

For more information on setting up the development environment and building fsoc, please see CONTRIBUTING.

Install using Homebrew

  1. Install homebrew if not already installed from https://brew.sh
  2. Install fsoc using homebrew
    brew tap cisco-open/tap
    brew install fsoc
    

Install Prebuilt Binaries

Prebuilt binaries are published for each fsoc release for the following platforms:

Platform Binary file name
Mac OS, Intel fsoc-darwin-amd64
Mac OS, M1/M2 fsoc-darwin-arm64
Linux, Intel/AMD fsoc-linux-amd64
Linux, ARM fsoc-linux-arm64
Windows 10/11 fsoc-windows-amd64.exe
Install on Linux or Windows with WSL

To install fsoc on Linux or on Windows with the Windows Subsystem for Linux (WSL), use the following commands:

FSOCOS=linux-amd64 \
bash -c 'curl -fSL -o fsoc "https://github.com/cisco-open/fsoc/releases/latest/download/fsoc-${FSOCOS}"'
chmod +x fsoc
sudo mv fsoc /usr/local/bin

Change the FSOCOS platform name above to linux-arm64 for installing on Linux/ARM.

Install on Mac OS, Intel
curl -fSL -o fsoc "https://github.com/cisco-open/fsoc/releases/latest/download/fsoc-darwin-amd64"
chmod +x fsoc
sudo mv fsoc /usr/local/bin
Install on Mac OS, M1/M2
curl -fSL -o fsoc "https://github.com/cisco-open/fsoc/releases/latest/download/fsoc-darwin-arm64"
chmod +x fsoc
sudo mv fsoc /usr/local/bin
Install On Windows

If you will run fsoc on the Windows Subsystem for Linux (WSL), please use the Linux and WSL instructions above.

For installing fsoc as a native application on Windows, follow these steps:

  1. Download the latest release. If you have curl installed, you can run the following command in cmd.exe or Powershell:
curl -fSL -o fsoc "https://github.com/cisco-open/fsoc/releases/latest/download/fsoc-windows-amd64.exe"
  1. Append or prepend the fsoc binary folder to your PATH environment variable.

  2. Test to ensure the version of fsoc is the same as the latest:

fsoc version

Set Shell Autocompletion

This is an optional step. To add autocompletion in bash, run:

. <(./fsoc completion bash)

For other shells, check out the completion help with fsoc help completion.

Configure

Configure the default profile to your tenant of choice (replace MYTENANT with your tenant's name):

fsoc config create auth=oauth url=https://MYTENANT.observe.appdynamics.com

This command will create the initial fsoc configuration file and attempt to log in. Since this example uses OAuth authentication, the command will pop up a browser to perform the login and then continue executing the command. Subsequent invocations of fsoc will use cached credentials. You can close the browser once is shows "Logged in successfully".

Use the fsoc help config create command to see examples of the different authentication methods that fsoc supports in addition to OAuth (e.g., service principal, agent principal, local). You can find additional details in the fsoc config page in the platform docs.

Assistance and Suggestions

We are working to provide channels for help, suggestions, etc., for this project. In the meantime, if you have suggestions or want to report a problem, please use Github issues.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
cmd
Package cmd defines all CLI commands and their flags
Package cmd defines all CLI commands and their flags
config
Package config provides access to fsoc configuration, both to obtain the current configuration and to incrementally or fully modify the configuration.
Package config provides access to fsoc configuration, both to obtain the current configuration and to incrementally or fully modify the configuration.
gendocs
Package gendocs generates a command line reference for the fsoc utility using markdown.
Package gendocs generates a command line reference for the fsoc utility using markdown.
uql
Package cmdkit provides tools for implementing standard command patterns, such as fetch+print.
Package cmdkit provides tools for implementing standard command patterns, such as fetch+print.
Package config provides access to fsoc configuration, both to obtain the current configuration and to incrementally or fully modify the configuration.
Package config provides access to fsoc configuration, both to obtain the current configuration and to incrementally or fully modify the configuration.
Package output provides display and formatting capabilities to show the result of command's execution (command output)
Package output provides display and formatting capabilities to show the result of command's execution (command output)
platform
api
Package api provides access to the platform API, in all forms supported by the config context (aka access profile)
Package api provides access to the platform API, in all forms supported by the config context (aka access profile)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL