https://github.com/0x1a8510f2/droneexternalconfig
An extremely simple Drone CI (drone.io) configuration extension to allow fetching of build configs from various locations outside of the repository, depending on the repository being built.
https://github.com/0x1a8510f2/droneexternalconfig
docker drone drone-ci drone-extension go golang
Last synced: 4 months ago
JSON representation
An extremely simple Drone CI (drone.io) configuration extension to allow fetching of build configs from various locations outside of the repository, depending on the repository being built.
- Host: GitHub
- URL: https://github.com/0x1a8510f2/droneexternalconfig
- Owner: 0x1a8510f2
- License: apache-2.0
- Created: 2021-01-18T21:27:45.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2022-11-24T00:50:03.000Z (almost 3 years ago)
- Last Synced: 2025-06-21T23:05:48.623Z (4 months ago)
- Topics: docker, drone, drone-ci, drone-extension, go, golang
- Language: Go
- Homepage:
- Size: 84 KB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# DroneExternalConfig
[](https://ci.0x1a8510f2.space/0x1a8510f2/DroneExternalConfig)An extremely simple [Drone CI](https://drone.io) [configuration extension](https://docs.drone.io/extensions/configuration/) to allow fetching of build configs from various locations outside of the repository, depending on the repository being built.
## Usage and configuration
DroneExternalConfig is primarily used as a [Docker container](https://hub.docker.com/r/trslimey/drone-external-config).The container can be started like so:
```
docker run \
-d \
-p 8080:8080 \
--restart always \
-v drone-external-config:/conf \
--name drone-external-config \
trslimey/drone-external-config:latest
```
This will fail initially as a config needs to be created. You can do this by placing a `config.ini` file in the `drone-external-config` volume or using and modifying the `example-config.ini` file which is already there.The config file follows the `ini` format, and has two sections: `[server]` and `[config-map]`:
- `[server]` - Configuration for the HTTP server itself:
- `listen-addr` - the address to listen for connections on
- `listen-port` - the port to listen on
- `tls-cert` - the location of the TLS certificate to use*
- `tls-key` - the location of the TLS key to use*\* Only if both of these options are enabled will the server use HTTPS. The port will remain as set (or default to 8080) so you may want to change the port to `443` or `8443`.
- `[config-map]` - A mapping of repositories to configuration files, represented as ``=`` where:
- `repo_name` - the name of the repository including the author; for example, `0x1a8510f2/DroneExternalConfig`
- `config_url/uri` - the location of the config file (`http://`, `https://` or `file://`); for example, `https://example.com/configs/repo/project/drone.yml`Example: `0x1a8510f2/DroneExternalConfig=https://example.com/build-configs/0x1a8510f2/DroneExternalConfig/drone.yml`
Note: The config files are fetched by DroneExternalConfig not Drone