mirror of
https://github.com/portainer/portainer.git
synced 2025-08-02 20:35:25 +02:00
version: display dependencies versions (#188)
Co-authored-by: LP B <xAt0mZ@users.noreply.github.com>
This commit is contained in:
parent
d393529026
commit
a261f60764
8 changed files with 177 additions and 52 deletions
106
pkg/build/info.go
Normal file
106
pkg/build/info.go
Normal file
|
@ -0,0 +1,106 @@
|
|||
package build
|
||||
|
||||
import "os"
|
||||
|
||||
/*
|
||||
Package build contains variables that are set at build time using the -X linker flag.
|
||||
|
||||
These variables provide metadata about the build environment and specify the
|
||||
versions of dependencies shipped with the application.
|
||||
|
||||
These variables are typically set during the build process using the -X flag with
|
||||
the go build command, allowing for dynamic injection of build-time information.
|
||||
|
||||
It also contains structs and methods that can be used to display build, dependencies and runtime information.
|
||||
*/
|
||||
|
||||
var (
|
||||
// BuildNumber is the build number of the application.
|
||||
BuildNumber string
|
||||
|
||||
// ImageTag is the Docker image tag associated with this build.
|
||||
ImageTag string
|
||||
|
||||
// NodejsVersion is the version of Node.js used in the build.
|
||||
NodejsVersion string
|
||||
|
||||
// YarnVersion is the version of Yarn used in the build.
|
||||
YarnVersion string
|
||||
|
||||
// WebpackVersion is the version of Webpack used in the build.
|
||||
WebpackVersion string
|
||||
|
||||
// GoVersion is the version of Go used to compile the application.
|
||||
GoVersion string
|
||||
|
||||
// GitCommit is the Git commit hash at the time of the build.
|
||||
GitCommit string
|
||||
|
||||
// DepComposeVersion is the version of the Docker Compose plugin shipped with the application.
|
||||
DepComposeVersion string
|
||||
|
||||
// DepDockerVersion is the version of the Docker binary shipped with the application.
|
||||
DepDockerVersion string
|
||||
|
||||
// DepHelmVersion is the version of the Helm binary shipped with the application.
|
||||
DepHelmVersion string
|
||||
|
||||
// DepKubectlVersion is the version of the Kubectl binary shipped with the application.
|
||||
DepKubectlVersion string
|
||||
)
|
||||
|
||||
type (
|
||||
// BuildInfo contains information about how an application was built
|
||||
BuildInfo struct {
|
||||
BuildNumber string
|
||||
ImageTag string
|
||||
NodejsVersion string
|
||||
YarnVersion string
|
||||
WebpackVersion string
|
||||
GoVersion string
|
||||
GitCommit string
|
||||
}
|
||||
|
||||
// DependenciesInfo contains information about the dependencies of Portainer
|
||||
DependenciesInfo struct {
|
||||
DockerVersion string
|
||||
HelmVersion string
|
||||
KubectlVersion string
|
||||
ComposeVersion string
|
||||
}
|
||||
|
||||
// RuntimeInfo contains information about the runtime environment an application
|
||||
RuntimeInfo struct {
|
||||
Env []string `json:",omitempty"`
|
||||
}
|
||||
)
|
||||
|
||||
// GetBuildInfo is a shortcut method to return the build information
|
||||
func GetBuildInfo() BuildInfo {
|
||||
return BuildInfo{
|
||||
BuildNumber: BuildNumber,
|
||||
ImageTag: ImageTag,
|
||||
NodejsVersion: NodejsVersion,
|
||||
YarnVersion: YarnVersion,
|
||||
WebpackVersion: WebpackVersion,
|
||||
GoVersion: GoVersion,
|
||||
GitCommit: GitCommit,
|
||||
}
|
||||
}
|
||||
|
||||
// GetDependenciesInfo is a shortcut method to return the dependencies information
|
||||
func GetDependenciesInfo() DependenciesInfo {
|
||||
return DependenciesInfo{
|
||||
DockerVersion: DepDockerVersion,
|
||||
HelmVersion: DepHelmVersion,
|
||||
KubectlVersion: DepKubectlVersion,
|
||||
ComposeVersion: DepComposeVersion,
|
||||
}
|
||||
}
|
||||
|
||||
// GetRuntimeInfo is a shortcut method to return the runtime information
|
||||
func GetRuntimeInfo() RuntimeInfo {
|
||||
return RuntimeInfo{
|
||||
Env: os.Environ(),
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue