kratix
Kratix is an open-source framework for building platforms
File Explorer
Download Latest Version (.zip)- dependabot-auto-merge.yaml
- pr.yaml
- trigger-ci.yaml
- upgrade-flux.yaml
- validate-pr-title.yaml
- dependabot.yml
- fake_promise_fetcher.go
- bucketstatestore_types.go
- const.go
- destination_types.go
- dryrun_types.go
- gitstatestore_types.go
- groupversion_info.go
- healthrecord_types.go
- interface.go
- pipeline_factory.go
- pipeline_types.go
- pipeline_types_test.go
- promise_types.go
- promise_types_test.go
- promiserelease_types.go
- promiserevision_types.go
- promiserevision_types_test.go
- resourcebinding_types.go
- resourcebinding_types_test.go
- v1alpha1_suite_test.go
- work_types.go
- work_types_test.go
- workplacement_types.go
- zz_generated.deepcopy.go
- distribution.yaml
- cmd_suite_test.go
- main.go
- main_test.go
- certificate.yaml
- kustomization.yaml
- kustomizeconfig.yaml
- platform.kratix.io_bucketstatestores.yaml
- platform.kratix.io_destinations.yaml
- platform.kratix.io_dryruns.yaml
- platform.kratix.io_gitstatestores.yaml
- platform.kratix.io_healthrecords.yaml
- platform.kratix.io_promisereleases.yaml
- platform.kratix.io_promiserevisions.yaml
- platform.kratix.io_promises.yaml
- platform.kratix.io_resourcebindings.yaml
- platform.kratix.io_workplacements.yaml
- platform.kratix.io_works.yaml
- cainjection_in_bucketstatestores.yaml
- cainjection_in_clusters.yaml
- cainjection_in_gitstatestores.yaml
- cainjection_in_healthrecords.yaml
- cainjection_in_promisereleases.yaml
- cainjection_in_promises.yaml
- cainjection_in_workplacements.yaml
- cainjection_in_works.yaml
- webhook_in_bucketstatestores.yaml
- webhook_in_clusters.yaml
- webhook_in_gitstatestores.yaml
- webhook_in_healthrecords.yaml
- webhook_in_promisereleases.yaml
- webhook_in_promises.yaml
- webhook_in_workplacements.yaml
- webhook_in_works.yaml
- kustomization.yaml
- kustomizeconfig.yaml
- cert_metrics_manager_patch.yaml
- kustomization.yaml
- manager_metrics_patch.yaml
- manager_webhook_patch.yaml
- metrics_service.yaml
- webhookcainjection_patch.yaml
- kustomization.yaml
- manager.yaml
- pipeline-adapter-config.properties
- allow-metrics-traffic.yaml
- allow-webhook-traffic.yaml
- kustomization.yaml
- kustomization.yaml
- monitor.yaml
- auth_proxy_client_clusterrole.yaml
- auth_proxy_role.yaml
- auth_proxy_role_binding.yaml
- auth_proxy_service.yaml
- bucketstatestore_editor_role.yaml
- bucketstatestore_viewer_role.yaml
- cluster_editor_role.yaml
- cluster_viewer_role.yaml
- dryrun_editor_role.yaml
- dryrun_viewer_role.yaml
- gitstatestore_editor_role.yaml
- gitstatestore_viewer_role.yaml
- healthrecord_editor_role.yaml
- healthrecord_viewer_role.yaml
- kustomization.yaml
- leader_election_role.yaml
- leader_election_role_binding.yaml
- metrics_auth_role.yaml
- metrics_auth_role_binding.yaml
- metrics_reader_role.yaml
- promise_editor_role.yaml
- promise_viewer_role.yaml
- promiserelease_editor_role.yaml
- promiserelease_viewer_role.yaml
- promiserevision_admin_role.yaml
- promiserevision_editor_role.yaml
- promiserevision_viewer_role.yaml
- role.yaml
- role_binding.yaml
- service_account.yaml
- work_editor_role.yaml
- work_viewer_role.yaml
- workplacement_editor_role.yaml
- workplacement_viewer_role.yaml
- Dockerfile
- kustomization.yaml
- patch.yaml
- postgres-promise.yaml
- postgres-resource-request.yaml
- destination-selectors.yaml
- Dockerfile
- kustomization.yaml
- redis-crd.yaml
- redis-promise.yaml
- redis-resource-request.yaml
- redis-resource-update-request.yaml
- kind-platform-config.yaml
- kind-worker-2-config.yaml
- kind-worker-config.yaml
- kratix-config.yaml
- kustomization.yaml
- minio-install.yaml
- nil-api-promise.yaml
- platform_v1alpha1_bucketstatestore.yaml
- platform_v1alpha1_gitstatestore.yaml
- platform_v1alpha1_healthrecord.yaml
- platform_v1alpha1_promise.yaml
- platform_v1alpha1_promiserelease.yaml
- platform_v1alpha1_promiserevision.yaml
- platform_v1alpha1_resourcebinding.yaml
- platform_v1alpha1_work.yaml
- platform_v1alpha1_worker.yaml
- platform_v1alpha1_worker_2.yaml
- platform_v1alpha1_workplacement.yaml
- kustomization.yaml
- kustomizeconfig.yaml
- manifests.yaml
- service.yaml
- getting-started-step-1.png
- getting-started-step-2.png
- getting-started-step-3.png
- white_logo_color_background.jpg
- writing-a-promise-1.png
- writing-a-promise-2.png
- writing-a-promise-3.png
- writing-a-promise-4.png
- writing-a-promise-5.png
- compare.md
- detailed-start.md
- FAQ.md
- known-issues.md
- kratix-value.md
- promise-samples.md
- promises.md
- quick-start.md
- single-cluster.md
- writing-a-promise.md
- dry-run.md
- white_logo_color_background.jpg
- README.md
- gitops-argo-resources-git.yaml
- gitops-tk-install.yaml
- gitops-tk-resources-git.yaml
- gitops-tk-resources-single-cluster.yaml
- gitops-tk-resources.yaml
- helm-values-gitea.yaml
- helm-values-minio.yaml
- kind-worker-config.yaml
- build_and_push.sh
- Dockerfile
- execute-pipeline.bash
- README.md
- build_and_push.sh
- Dockerfile
- kubectl-wrapper.sh
- installer.go
- kratix-quick-start-installer.yaml
- installer_test.go
- test_suite_test.go
- Dockerfile
- go.mod
- go.sum
- main.go
- Makefile
- gitea-install.yaml
- gitea-server-values.yaml
- helm-values-gitea.yaml
- helm-values-minio.yaml
- kind-platform-config.yaml
- minio-install.yaml
- gitops-tk-resources-template.yaml
- platform-v1alpha1-worker-cluster-template.yaml
- main.go
- boilerplate.go.txt
- namespace.yaml
- promise-with-delete-workflow.yaml
- promise-with-deps-only-updated.yaml
- promise-with-deps-only.yaml
- promise-with-requirements.yaml
- promise-with-workflow-updated.yaml
- promise-with-workflow.yaml
- redis-request-other.yaml
- redis-request-updated.yaml
- redis-request.yaml
- redis-simple-promise-updated.yaml
- redis-simple-promise.yaml
- fake_manager.go
- fake_repository_cache.go
- fake_work_scheduler.go
- bucketstatestore_controller.go
- bucketstatestore_controller_test.go
- destination_controller.go
- destination_controller_test.go
- dryrun_controller.go
- dynamic_resource_request_controller.go
- dynamic_resource_request_controller_test.go
- export_test.go
- gitstatestore_controller.go
- gitstatestore_controller_test.go
- healthrecord_controller.go
- healthrecord_controller_test.go
- promise_controller.go
- promise_controller_test.go
- promiserelease_controller.go
- promiserelease_controller_test.go
- promiserevision_controller.go
- promiserevision_controller_test.go
- repository_cache.go
- resourcebinding_controller.go
- resourcebinding_controller_test.go
- scheduler.go
- scheduler_test.go
- shared.go
- shared_test.go
- state_store.go
- suite_test.go
- trace_helpers.go
- work_controller.go
- work_controller_test.go
- workflow_job_pod_cleanup_controller.go
- workflow_job_pod_cleanup_controller_test.go
- workplacement_controller.go
- workplacement_controller_test.go
- logger.go
- logger_test.go
- logging_suite_test.go
- ptr.go
- ptr_suite_test.go
- ptr_test.go
- metrics.go
- metrics_spec_test.go
- setup.go
- setup_spec_test.go
- tracing.go
- tracing_spec_test.go
- tracing_suite_test.go
- bucketstatestore_webhook.go
- bucketstatestore_webhook_test.go
- destination_webhook.go
- destination_webhook_test.go
- export_test.go
- promise_webhook.go
- promise_webhook_test.go
- promiserelease_webhook.go
- promiserelease_webhook_test.go
- promiserevision_webhook.go
- promiserevision_webhook_test.go
- webhook_suite_test.go
- compression.go
- compression_suite_test.go
- compression_test.go
- promise-and-namespace.yaml
- promise.yaml
- fetchers_suite_test.go
- url.go
- url_test.go
- hash_suite_test.go
- hash_test.go
- hasher.go
- name.go
- name_test.go
- objectutil_suite_test.go
- conditions.go
- finalizer.go
- resourceutil_suite_test.go
- util.go
- util_test.go
- work.go
- export_test.go
- rbac.go
- reconciler.go
- reconciler_test.go
- workflow_suite_test.go
- fake_state_store_writer.go
- git.go
- git_test.go
- s3.go
- s3_test.go
- statestore_writer.go
- writers_suite_test.go
- deployment-resource-request.yaml
- postgresql-resource-request.yaml
- redis-resource-request.yaml
- slack-resource-request.yaml
- Dockerfile
- execute-pipeline
- nginx-ingress-promise.yaml
- postgresql-promise.yaml
- deployment.yaml
- ingress.yaml
- service.yaml
- Dockerfile
- execute-pipeline
- appprotect.f5.com_aplogconfs.yaml
- appprotect.f5.com_appolicies.yaml
- appprotect.f5.com_apusersigs.yaml
- appprotectdos.f5.com_apdoslogconfs.yaml
- appprotectdos.f5.com_apdospolicy.yaml
- appprotectdos.f5.com_dosprotectedresources.yaml
- externaldns.nginx.org_dnsendpoints.yaml
- helm-template.yaml
- k8s.nginx.org_globalconfigurations.yaml
- k8s.nginx.org_policies.yaml
- k8s.nginx.org_transportservers.yaml
- k8s.nginx.org_virtualserverroutes.yaml
- k8s.nginx.org_virtualservers.yaml
- fetch-deps
- inject-deps
- pipeline-image
- test
- README.md
- .envrc
- promise.yaml
- README.md
- resource-request.yaml
- postgresql-instance.yaml
- Dockerfile
- execute-pipeline
- operator.yaml
- operatorconfiguration.crd.yaml
- postgresql.crd.yaml
- postgresteam.crd.yaml
- fetch-pipeline-resources
- fetch-worker-resources
- inject-deps
- pipeline-image
- test
- README.md
- .envrc
- promise.yaml
- README.md
- resource-request.yaml
- fetch-pipeline-resources
- fetch-worker-resources
- inject-deps
- pipeline-image
- test
- README.md
- .envrc
- promise.yaml
- README.md
- resource-request.yaml
- Dockerfile
- knative-resource-request.yaml
- postgres-resource-request.yaml
- paved-path-demo-promise.yaml
- paved-path-demo-resource-request.yaml
- README.md
- README.md
- download-images
- generate-gitea-credentials.sh
- helm-e2e-test.sh
- install-gitops
- install-jenkins.sh
- make-distribution
- otel-config.sh
- quick-start.sh
- register-destination
- release-worker-resource-builder
- teardown
- utils.sh
- workshop-reset-clusters.sh
- contract.md
- promise-configure.sh
- resource-configure-0.sh
- resource-configure-1.sh
- Dockerfile
- destination.yaml
- example-resource-v2.yaml
- example-resource.yaml
- flux.yaml
- promise-v2.yaml
- promise.yaml
- core_suite_test.go
- core_test.go
- git_suite_test.go
- git_test.go
- cluster.go
- promise.yaml
- resource-request.yaml
- sub-promise-v2.yaml
- sub-promise.yaml
- destination-aggregated-yaml.yaml
- destination-cleanup-all.yaml
- destination-git-filepathmode-none.yaml
- destination-git-recovery.yaml
- destination-git-test-store.yaml
- destination-test-store.yaml
- destination-worker-3.yaml
- destination-worker-git.yaml
- promise-cleanup-all.yaml
- promise-filepathmode-none.yaml
- promise-git-recovery.yaml
- promise.yaml
- resource-filepathmode-none.yaml
- resource-git-recovery.yaml
- resources-cleanup-all.yaml
- resources.yaml
- destination.yaml
- dry-run.yaml
- promise.yaml
- healthy-health-record.yaml
- promise.yaml
- resource-request.yaml
- unhealthy-health-record.yaml
- promise.yaml
- resource-request.yaml
- namespaced-workflow-promise.yaml
- namespaced-workflow-resource-request.yaml
- build_and_push.sh
- Dockerfile
- go.mod
- go.sum
- insecure-promise.yaml
- main.go
- secure-promise.yaml
- deployment.yaml
- promise-release.yaml
- promise-failing-version.yaml
- promise-new-version.yaml
- promise.yaml
- resource-binding-3.yaml
- resource-request-2.yaml
- resource-request-3.yaml
- resource-request.yaml
- promise.yaml
- resource-request.yaml
- resources.yaml
- kratix-config-no-retry.yaml
- kratix-config-retry.yaml
- promise-workflow.yaml
- promise.yaml
- resource-request.yaml
- pause-promise-rr-one-updated.yaml
- pause-promise-rr-one.yaml
- pause-promise-rr-two.yaml
- pause-promise.yaml
- pause-request-promise-rr-update.yaml
- pause-request-promise-rr.yaml
- pause-request-promise-update.yaml
- pause-request-promise.yaml
- kratix-config-pinned.yaml
- promise.yaml
- resource-request.yaml
- configmap.yaml
- promise-retry.yaml
- promise-updated.yaml
- promise.yaml
- resource-request-retry.yaml
- resource-request.yaml
- kratix-config.yaml
- compound_promise_test.go
- destination_test.go
- dry_run_feature_flag_test.go
- git_recovery_test.go
- healthchecks_test.go
- kratix_config_test.go
- promise_features_test.go
- promise_release_test.go
- promise_revision_test.go
- rbac_test.go
- reconcile_after_failure_test.go
- reconciliation_test.go
- resource_binding_default_version_test.go
- system_suite_test.go
- workflow_control_test.go
- tools.go
- mock_client.go
- config.go
- creds.go
- errors.go
- exec.go
- git.go
- git_suite_test.go
- github_app.go
- http.go
- NOTICE
- reset_to_remote_test.go
- ssh.go
- common.go
- reader.go
- root.go
- update_status.go
- work_creator.go
- helpers.go
- reader.go
- reader_test.go
- status_updater.go
- status_updater_test.go
- suite_test.go
- work_creator.go
- work_creator_test.go
- workflow_control.go
- workflow_control_test.go
- baz-namespace-resource-request.yaml
- namespace-resource-request.yaml
- multi-resource-requests.yaml
- configmap.yaml
- promise-scheduling
- destination-selectors.yaml
- baz-namespace-resource-request.yaml
- namespace-resource-request.yaml
- multi-resource-requests.yaml
- configmap.yaml
- promise-scheduling
- destination-selectors.yaml
- baz-namespace-resource-request.yaml
- namespace-resource-request.yaml
- multi-resource-requests.yaml
- configmap.yaml
- promise-scheduling
- destination-selectors.yaml
- configmap.yaml
- workflow-control.yaml
- configmap.yaml
- workflow-control.yaml
- baz-namespace-resource-request.yaml
- promise-scheduling
- destination-selectors.yaml
- multi-resource-requests.yaml
- namespace-resource-request.yaml
- promise-scheduling
- workflow-control-with-invalid-retry.yaml
- workflow-control-with-retry.yaml
- main.go
- Makefile
- README.md
- .dockerignore
- .gitignore
- .gitkeep
- .golangci-required.yml
- .golangci.yml
- .goreleaser.yaml
- .images
- CONTRIBUTING.md
- Dockerfile
- go.mod
- go.sum
- LICENCE
- Makefile
- PROJECT
- README.md
# Installation Guide
1. Get the code
git clone https://github.com/syntasso/kratix
Downloads the entire project code from GitHub to your computer.
cd kratix
Moves into the project folder you just downloaded.
2. Docker
Easy RecommendedPrerequisites
- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -t kratix .
Builds a runnable image based on the Dockerfile.
docker run -p 8080:80 kratix
Runs the built image as an actual container.
Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.
3. Go
MediumPrerequisites
go build ./...
Compiles the Go program into an executable.
go run .
Runs the Go program directly without a separate build step.
If the build finishes without errors, it worked. If you used go run ., check the terminal output.
4. Make
MediumPrerequisites
- Git Needed to download the project code from GitHub.
- Make Usually pre-installed on Linux/macOS. On Windows, install separately (e.g. via MSYS2 or WSL).
make
Compiles the code based on the generated build configuration to produce an executable.
If it finishes without errors, it worked. Try running the generated executable directly.
// repository documentation
Was this content helpful?
(0 ratings)
