🌧️ Automated infrastructure and demo provisioning
Infra (the server) and infractl (the cli) are written in Go, and use gRPC for client-server communication. The UI uses a React/Typescript/Yarn toolchain (see ui/README.md).
While a development workflow can be achieved using a locally installed toolchain, it is also possible to rely on CI. CI will lint, build and push the infra server. And then deploy it to a development cluster created using the production infra deployment. A (comment)[#711 (comment)] will appear on PRs with more detail.
If opened in VS Code, you will find configurations for debugging CLI and Server.
To debug a CLI command, update the VS Code launch configuration "Debug CLI" with the desired command and update the INFRA_TOKEN value if necessary.
You may also point to a different infra server with the --endpoint flag.
To debug the server, you need to fulfil the prerequisites first.
- Have an authenticated gcloudCLI and GNUsedinstalled.
- Have your KUBECONFIGpoint to a cluster where Argo Workflows and the ConfigMaps and Secrets for infra are deployed. This is most easily achieved by connecting to a PR cluster or deploying infra withENVIRONMENT=<DEVELOPMENT,PRODUCTION> make helm-deployto a new or local cluster. This cluster will only be used to run workflows.
- Run make prepare-local-server-debuggingto set the contents of theconfigurationdirectory and compile the UI + CLI (for downloads).
Then, you can use the "Debug Server" launch configuration.
To regenerate the Go proto bindings, run:
make proto-generated-srcs
To compile a server and client binary, run:
make server cli-local
GitHub Actions will build and push the infra-server image based on make tag of
the most recent commit. Or you can build and push locally if you have the
correct tooling installed with:
make image push
For additional information on how this service is deployed, please refer to the deployment instructions.
For additional information on how to debug and remediate issues with the deployed service, please refer to the runbook instructions.