{"id":29132331,"url":"https://github.com/expediagroup/flyte-consul","last_synced_at":"2025-10-08T10:26:05.242Z","repository":{"id":150177303,"uuid":"309637314","full_name":"ExpediaGroup/flyte-consul","owner":"ExpediaGroup","description":"A Consul pack for Flyte","archived":false,"fork":false,"pushed_at":"2024-03-05T08:17:48.000Z","size":22,"stargazers_count":0,"open_issues_count":1,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-06-30T06:44:39.209Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ExpediaGroup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-11-03T09:35:33.000Z","updated_at":"2020-12-10T15:11:42.000Z","dependencies_parsed_at":null,"dependency_job_id":"7bc0e883-1369-405c-8dc7-ccf97fe26d4e","html_url":"https://github.com/ExpediaGroup/flyte-consul","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ExpediaGroup/flyte-consul","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpediaGroup%2Fflyte-consul","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpediaGroup%2Fflyte-consul/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpediaGroup%2Fflyte-consul/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpediaGroup%2Fflyte-consul/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ExpediaGroup","download_url":"https://codeload.github.com/ExpediaGroup/flyte-consul/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpediaGroup%2Fflyte-consul/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278928463,"owners_count":26070358,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-30T06:39:21.482Z","updated_at":"2025-10-08T10:26:05.236Z","avatar_url":"https://github.com/ExpediaGroup.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# flyte-consul\n\n![Build Status](https://travis-ci.org/ExpediaGroup/flyte-consul.svg?branch=master)\n[![Docker Stars](https://img.shields.io/docker/stars/expediagroup/flyte-consul.svg)](https://hub.docker.com/r/expediagroup/flyte-consul)\n[![Docker Pulls](https://img.shields.io/docker/pulls/expediagroup/flyte-consul.svg)](https://hub.docker.com/r/expediagroup/flyte-consul)\n\nA Consul pack for flyte.\n\n## Build\n\nPack requires go version min. 1.14\n\n- go build `go build`\n- go test `go test ./...`\n- docker build `docker build -t \u003cname\u003e:\u003cversion\u003e .`\n\n## Configuration\n\nThe plugin is configured using environment variables:\n\nENV VAR                          | Default  |  Description                               | Example               \n ------------------------------- |  ------- |  ----------------------------------------- |  ---------------------\nFLYTE_API                        | -        | The API endpoint to use                    | http://localhost:8080\n\nSee [consul documentation](https://www.consul.io/commands#environment-variables) for consul specific environment variables.\n\nExample `FLYTE_API=http://localhost:8080 ./flyte-consul`\n\n## Commands\n\n### TransactKV\n\n    {\n        \"dc\": \"...\", // optional\n        \"operations\": [ // required (at least one)\n            {\n                \"verb\": \"...\", // required (see https://godoc.org/github.com/hashicorp/consul/api#KVOp for supported values)\n                \"key\": \"...\", // required\n                \"value\": {...} // optional\n            },\n            ...\n        ]\n    }\n\n#### Returned events\n\n`TransactionSucceeded`\n\n    {\n        \"input\": {\n            \"dc\": \"...\",\n            \"operations\": [\n                {\n                    \"verb\": \"...\",\n                    \"key\": \"...\",\n                    \"value\": {...}\n                },\n                ...\n            ]\n        },\n        \"results\": [\n            {\n                \"index\": 0..n,\n                \"key\": \"...\",\n                \"value\": {...}\n            },\n            ...\n        ]\n    }\n\n`TransactionRolledBack`\n\n    {\n        \"input\": {\n            \"dc\": \"...\",\n            \"operations\": [\n                {\n                    \"verb\": \"...\",\n                    \"key\": \"...\",\n                    \"value\": {...}\n                },\n                ...\n            ]\n        },\n        \"errors\": [\n            {\n                \"index\": 0..n,\n                \"error\": \"...\"\n            },\n            ...\n        ]\n    }\n\n# consul-flyte-pack\n\n## Prerequisites\n\nBuilding the application requires [Go](https://golang.org/). Please install Go as instructed below\nor using [Docker](https://www.docker.com/) to compile and run the application.\n\nThe application is using [Modules](https://github.com/golang/go/wiki/Modules) for dependency management.\n\n### Installing Go tools\n\nInstructions: https://golang.org/doc/install.\n\nTLDR: download Go binaries and add them to `PATH` environment variable.\n\n```\ncurl -L 'https://dl.google.com/go/go1.11.2.darwin-amd64.tar.gz' | tar xz -C \"$HOME/Downloads\"\nexport PATH=\"$PATH:$HOME/Downloads/go/bin\"\n# Test it\ngo version\n```\n\nIf you are using Homebrew you can also install Go by running:\n\n```\nbrew install go\n```\n\nBy default `$GOPATH` is set to `$HOME/go` so all packages will be downloaded into this folder.\n\nFor release build, it is recommended to use `./go.sh` wrapper script as build information such as\ngit commit, branch and build time will be included in the binary.\nThe script can also download Go into `$GOPATH` when Go is not installed and use it to run Go commands.\n\n### Installing Docker\n\nIf you want to use Docker, please follow the instructions at https://docs.docker.com/engine/installation/\n\nThe `./build-auto.sh` script utilizes Docker and is used to build and test the application on\nautomation server like Jenkins.\n\n## Development\n\n### Build and test\n\nDownload dependencies:\n\n```\n./go.sh mod download\n```\n\nBuild:\n\n```\n./go.sh build -v\n```\n\nRun tests and benchmarks:\n\n```\n./go.sh test -v -bench . ./...\n```\n\nRun the application:\n\n```\nAPP_NAME=consul-flyte-pack CERT_PASS=changeit ./consul-flyte-pack\n```\n\nOpen browser and try https://localhost:8443/buildInfo\n\n### Docker\n\nRun tests in Docker container:\n\n```\n./go.sh docker go test -v ./...\n```\n\nBuild locally and run the binary in Docker container:\n\n```\nGOOS=linux GOARCH=amd64 ./go.sh build\ndocker build -t consul-flyte-pack:local .\ndocker run -e \"APP_NAME=consul-flyte-pack\" -p 8443:8443 consul-flyte-pack:local\n```\n\n### Vault\n\nIn case you get vault \"certificate signed by unknown authority\" error while developing from your machine, set this environment variable:\n\n```\nVAULT_CACERT=/path/to/consul-flyte-pack/conf/vault-ca.pem\n```\n\n`VAULT_SSL_CERT` is also supported for compability purpose.\n\n### Learning Go \n\nWriting code: https://golang.org/doc/code.html\n\nEditors: https://golang.org/doc/editors.html\n\nFor more information, see https://golang.org/doc/\n\n## Troubleshooting\n\n### Could not download packages from GitHub\n```\ngo: finding github.com/a/package vx.y.z\n(exit code 128)\n```\n\nIt can be GitHub throttled the requests.\nTry ssh protocol instead: `git config --global url.git@github.com:.insteadOf https://github.com/`\n\n## Legal\nThis project is available under the [Apache 2.0 License](http://www.apache.org/licenses/LICENSE-2.0.html).\n\nCopyright 2020 Expedia, Inc.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpediagroup%2Fflyte-consul","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexpediagroup%2Fflyte-consul","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpediagroup%2Fflyte-consul/lists"}