# README
common
This is a shared repository for tooling for interacting with Git.
This is alpha code, just extracted from another project for reuse.
updater
This provides functionality for updating YAML files with a single call, including updating the file and optionally opening a PR for the change.
package main
import (
"context"
"log"
"github.com/gitops-tools/common/pkg/client"
"github.com/gitops-tools/common/pkg/updater"
"github.com/jenkins-x/go-scm/scm/factory"
"go.uber.org/zap"
)
func main() {
cli, err := factory.NewClientFromEnvironment()
if err != nil {
log.Fatal(err)
}
scmClient := client.New(cli)
logger, _ := zap.NewProduction()
sugar := logger.Sugar()
u := updater.New(sugar, scmClient)
input := updater.Input{
Repo: "my-org/my-repo",
Filename: "service/deployment.yaml",
Branch: "main",
Key: "metadata.annotations.reviewed",
NewValue: "test-user",
BranchGenerateName: "test-branch-",
CommitMessage: "testing a common component library",
PullRequest: updater.PullRequestInput{
Title: "This is a test",
Body: "No, really, this is just a test",
},
}
pr, err := u.UpdateYAML(context.Background(), &input)
if err != nil {
log.Fatal(err)
}
log.Printf("pr.Link = %s", pr.Link)
}
# Packages
No description provided by the author
Package kubeconfig provides functionality for parsing Kubernetes secret with a KubeConfig in a key into a client.
No description provided by the author
No description provided by the author
No description provided by the author
This is an implementation of the k8s util sets package using Go 1.18 generics.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author