Contributing Guide#
First off, thank you for thinking about contributing! Here are the instructions that will guide you through contributing, fixing, and improving Flytectl.
📝 Contribute to Documentation#
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.txtin the root folder.Make modifications in the cmd folder.
Run
make gendocsfrom 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/htmlfolder).
💻 Contribute Code#
Run
make compilein the root directory to compile the code.Set up a local cluster by running
./bin/flytectl sandbox startin the root directory.Run
flytectl get projectto see if things are working.Run 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, e.g.,
createpoints toflytectl create ...Here are the directories you can navigate to:
Flytectl cmd directories# Directory
Command
Description
configflytectl config ...Common package for all commands; has root flags
configurationflytectl configuration ...Validates/generates Flytectl config
createflytectl create ...Creates a project/execution
deleteflytectl delete ...Aborts an execution and deletes the resource attributes
getflytectl get ...Gets a task/workflow/launchplan/execution/project/resource attribute
registerflytectl register ...Registers a task/workflow/launchplan
sandboxflytectl sandbox ...Interacts with sandbox
updateflytectl update ...Updates a project/launchplan/resource attribute
upgradeflytectl upgrade ...Upgrades/rollbacks Flytectl version
versionflytectl version ...Fetches Flytectl version
Find all the Flytectl commands here.
Run appropriate tests to view the changes by running
go test ./... -race -coverprofile=coverage.txt -covermode=atomic -vin the root directory.