Builder now gets list of repos from server

cron
Jef Roosens 2022-02-21 22:58:05 +01:00
parent fe98112f79
commit 6194a3f408
Signed by untrusted user: Jef Roosens
GPG Key ID: 955C0660072F691F
3 changed files with 8 additions and 5 deletions

View File

@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
* Better environment variable support
* Each env var can now be provided from a file by appending it with `_FILE`
& passing the path to the file as value
* API for managing Git repositories to build
## Fixed

View File

@ -8,16 +8,19 @@ import os
import json
import server
import env
import net.http
const container_build_dir = '/build'
fn build() ? {
conf := env.load<env.BuildConfig>() ?
// Read in the repos from a json file
filename := os.join_path_single(conf.repo_dir, 'repos.json')
txt := os.read_file(filename) ?
repos := json.decode([]server.GitRepo, txt) ?
// We get the repos list from the Vieter instance
mut req := http.new_request(http.Method.get, '${conf.address}/api/repos', '') ?
req.add_custom_header('X-Api-Key', conf.api_key) ?
res := req.do() ?
repos := json.decode([]server.GitRepo, res.text) ?
mut commands := [
// Update repos & install required packages

View File

@ -23,7 +23,6 @@ pub:
pub struct BuildConfig {
pub:
api_key string
repo_dir string
address string
}