mirror of
				https://gitea.com/gitea/act_runner.git
				synced 2025-10-31 12:57:56 +01:00 
			
		
		
		
	Works for both interactive and non-interactive registration mode. A further enhancement would be jitconfig support of the daemon command, because after some changes in Gitea Actions the registration token became reusable. removing runner and fail seems not possible at the current api level Part of https://github.com/go-gitea/gitea/pull/33570 Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Reviewed-on: https://gitea.com/gitea/act_runner/pulls/649 Reviewed-by: Zettat123 <zettat123@noreply.gitea.com> Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Christopher Homberger <christopher.homberger@web.de> Co-committed-by: Christopher Homberger <christopher.homberger@web.de>
		
			
				
	
	
		
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2023 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package config
 | |
| 
 | |
| import (
 | |
| 	"encoding/json"
 | |
| 	"os"
 | |
| )
 | |
| 
 | |
| const registrationWarning = "This file is automatically generated by act-runner. Do not edit it manually unless you know what you are doing. Removing this file will cause act 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.NewDecoder(f).Decode(®); 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
 | |
| 
 | |
| 	enc := json.NewEncoder(f)
 | |
| 	enc.SetIndent("", "  ")
 | |
| 	return enc.Encode(reg)
 | |
| }
 |