First off, thank you for thinking about contributing! Below you’ll find instructions that will hopefully guide you through how to contribute to, fix, and improve FlyteCTL.
Docs are generated using Sphinx and are available at [flytectl.rtfd.io](https://flytectl.rtfd.io).
To update the documentation, follow these steps:
- Install the requirements by running
pip install -r doc-requirements.txt
in the root folder - Make modifications in the cmd folder
- Run
make gendocs
from within the docs folder - Open html files produced by Sphinx in your browser to verify if the changes look as expected (html files can be found in the
docs/build/html
folder)
Run
make compile
in the root directory to compile the codeSet up a local cluster by running
./bin/flytectl sandbox start
in the root directoryRun
flytectl get project
to see if things are workingRun the command you want to test in the terminal
If you want to update the command (add additional options, change existing options, etc.):
Navigate to cmd directory
Each sub-directory points to a command, for example,
create
points toflytectl create ...
Here are the directories you can navigate to:
FlyteCTL cmd directories Directory
Command
Description
config
flytectl config ...
Common package for all commands; has root flags
configuration
flytectl configuration ...
Command to validate/generate flytectl config
create
flytectl create ...
Command to create a project/execution
delete
flytectl delete ...
Command to abort an execution and delete resource attributes
get
flytectl get ...
Command to get a task/workflow/launchplan/execution/project/resource's-attributes
register
flytectl register ...
Command to register a task/workflow/launchplan
sandbox
flytectl sandbox ...
Command to interact with sandbox
update
flytectl update ...
Command to update a project/launchplan/resource's-attributes
upgrade
flytectl upgrade ...
Command to upgrade/rollback FlyteCTL version
version
flytectl version ...
Command to fetch FlyteCTL version
Find all FlyteCTL commands on the Nouns page.
Run appropriate tests to test the changes by running
go test ./... -race -coverprofile=coverage.txt -covermode=atomic -v
in the root directory