Categorygithub.com/gitops-tools/pkg
module
0.2.0
Repository: https://github.com/gitops-tools/pkg.git
Documentation: pkg.go.dev

# 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