mirror of
https://gitea.com/gitea/runner.git
synced 2026-08-26 05:47:45 +00:00
e30c2fed62
- Raised go to 1.27 - Adopted json v2 - Sync lint config from gitea - Fixed all issues Co-authored-by: silverwind <me@silverwind.io> Reviewed-on: https://gitea.com/gitea/runner/pulls/1185 Reviewed-by: bircni <bircni@icloud.com> Co-authored-by: Renovate Bot <renovate-bot@gitea.com>
59 lines
1.4 KiB
Go
59 lines
1.4 KiB
Go
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package config
|
|
|
|
import (
|
|
"encoding/json/jsontext"
|
|
"encoding/json/v2"
|
|
"os"
|
|
)
|
|
|
|
const registrationWarning = "This file is automatically generated by Gitea Runner. Do not edit it manually unless you know what you are doing. Removing this file will cause Gitea Runner to re-register as a new runner."
|
|
|
|
// Registration is the registration information for a runner
|
|
type Registration struct {
|
|
Warning string `json:"WARNING"` // Warning message to display, it's always the registrationWarning constant
|
|
|
|
ID int64 `json:"id"`
|
|
UUID string `json:"uuid"`
|
|
Name string `json:"name"`
|
|
Token string `json:"token"`
|
|
Address string `json:"address"`
|
|
Labels []string `json:"labels"`
|
|
Ephemeral bool `json:"ephemeral"`
|
|
}
|
|
|
|
func LoadRegistration(file string) (*Registration, error) {
|
|
f, err := os.Open(file)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
defer f.Close()
|
|
|
|
var reg Registration
|
|
if err := json.UnmarshalRead(f, ®); err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
reg.Warning = ""
|
|
|
|
return ®, nil
|
|
}
|
|
|
|
func SaveRegistration(file string, reg *Registration) error {
|
|
f, err := os.Create(file)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
defer f.Close()
|
|
|
|
reg.Warning = registrationWarning
|
|
|
|
if err := json.MarshalWrite(f, reg, jsontext.WithIndent(" ")); err != nil {
|
|
return err
|
|
}
|
|
_, err = f.WriteString("\n")
|
|
return err
|
|
}
|