https://github.com/spacelift-io/vcs-agent
Spacelift VCS Agent - a gateway to access internal VCS systems
https://github.com/spacelift-io/vcs-agent
Last synced: 2 months ago
JSON representation
Spacelift VCS Agent - a gateway to access internal VCS systems
- Host: GitHub
- URL: https://github.com/spacelift-io/vcs-agent
- Owner: spacelift-io
- License: mit
- Created: 2022-01-14T12:40:55.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-13T01:49:39.000Z (3 months ago)
- Last Synced: 2025-04-05T22:11:33.259Z (2 months ago)
- Language: Go
- Homepage:
- Size: 7.59 MB
- Stars: 2
- Watchers: 12
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Spacelift VCS Agent
[](https://github.com/spacelift-io/vcs-agent/actions/workflows/deployment.yml)
The Spacelift VCS Agent provides a gateway to allow Spacelift to access VCS systems
that are not available via the public internet.For more information visit .
## ✨ Usage
You can either download the binary and run it directly or use the Docker image.
### Downloading the binary
The binary can be downloaded directly from the [Releases](https://github.com/spacelift-io/vcs-agent/releases) section or from Spacelift's CDN:
| URL | Architecture |
| ------------------------------------------------------------ | ------------- |
| | Linux (amd64) |
| | Linux (arm64) |### Running via Docker
Use the following command to run the VCS Agent [via Docker](https://gallery.ecr.aws/spacelift/vcs-agent):
```shell
docker run -it --rm -e "SPACELIFT_VCS_AGENT_POOL_TOKEN=" \
-e "SPACELIFT_VCS_AGENT_TARGET_BASE_ENDPOINT=" \
-e "SPACELIFT_VCS_AGENT_VENDOR=" \
public.ecr.aws/spacelift/vcs-agent
```To use this example, make sure to update the environment variables according to your environment as explained in the table below.
> If you want to pin the version of the VCS Agent, you can use the `public.ecr.aws/spacelift/vcs-agent:` image instead.
### Configuration
The configuration can be either provided as a command line argument or as an environment variable.
The VCS Agent requires the following settings to be configured to work:
| Command line flag | Environment varariable | Description |
| ------------------------ | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `--token` | SPACELIFT_VCS_AGENT_POOL_TOKEN | The token downloaded from Spacelift when creating the pool. You can decode this from base64 to edit the VCS Gateway address. |
| `--target-base-endpoint` | SPACELIFT_VCS_AGENT_TARGET_BASE_ENDPOINT | The base endpoint address for the VCS integration. For example `https://github.mycompany.com`. |
| `--vendor` | SPACELIFT_VCS_AGENT_VENDOR | The VCS vendor to use. Possible values: `azure_devops`, `bitbucket_datacenter`, `github_enterprise` and `gitlab`. |In addition, when running locally, you may want to set `SPACELIFT_VCS_AGENT_DIAL_INSECURE=true`
to enable the VCS Agent to communicate with a Gateway instance that isn't using TLS.Run the `spacelift-vcs-agent --help` command to see all available options.
### 🛠 Contributing
#### Running in VS Code
- Make a copy of the `.env.template` file and call it `.env` (see [here](#environment-variables)
for more information on how to configure your environment variables).
- Press F5 / run the _Launch Package_ configuration.
#### Release (for maintainers)Once you're ready to release a new version, bump a semver and push it:
```shell
git tag -a -m "Release v1.0.0" v1.0.0
git push origin v1.0.0
```