Documentation
¶
Overview ¶
Package function holds the helpers shared across the builtin Function implementations.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ErrNotFound = errors.New("not found")
ErrNotFound is the sentinel for a resource that could not be resolved.
Functions ¶
func ClusterConfig ¶
func ClusterConfig(newRoundTripper apifunc.K8sRoundTripperFactory, agentID string) (*rest.Config, error)
ClusterConfig builds a rest.Config for the cluster behind agentID.
agent_id arrives as a string (Starlark has no int64) and is parsed only here.
func NewGitlabClient ¶
NewGitlabClient builds a GitLab API client for the given host. An empty token selects the upstream Unauthenticated source — fine for public reads, and it will fail for any write.
func StructuredOutput ¶ added in v0.5.0
StructuredOutput JSON round-trips a value into the nested maps, slices and scalars step-runner accepts: it converts the result to structpb, which rejects a Go struct or struct slice outright and silently turns a json.RawMessage into a base64 string.
Types ¶
type CommitAction ¶ added in v0.3.0
type CommitAction struct {
Action string `json:"action"`
Path string `json:"path"`
Content string `json:"content"`
LastCommitID string `json:"last_commit_id"`
}
CommitAction is a single file change, shaped as gitlab_project.commit's actions input expects.
type VersionedFile ¶ added in v0.3.0
VersionedFile is one manifest file read from the repo, with the token that makes a later write to it optimistically concurrent.
func GetFiles ¶
func GetFiles(builtinCtx runner.BuiltinContext, inputSpec map[string]*proto.Spec_Content_Input) ([]VersionedFile, error)
GetFiles reads the "files" array input off the BuiltinContext. Missing fields decode to the empty string (structpb getters are nil-safe), so the only structural error worth flagging here is an element that isn't an object.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package argopromote implements the argo.promote builtin function: clear one canary pause gate on an Argo Rollout, idempotently.
|
Package argopromote implements the argo.promote builtin function: clear one canary pause gate on an Argo Rollout, idempotently. |
|
Package argosync implements the argo.sync builtin function: set an Argo CD Application's spec.source.targetRevision and trigger a sync.
|
Package argosync implements the argo.sync builtin function: set an Argo CD Application's spec.source.targetRevision and trigger a sync. |
|
Package commit implements the gitlab_project.commit builtin function: create a commit with one or more file changes on a branch in a GitLab project.
|
Package commit implements the gitlab_project.commit builtin function: create a commit with one or more file changes on a branch in a GitLab project. |
|
Package functiontest holds an httptest-backed GitLab client for the builtin Function tests.
|
Package functiontest holds an httptest-backed GitLab client for the builtin Function tests. |
|
Package k8sget implements the k8s.get builtin function: a generic, idempotent read of a single Kubernetes object by api_version, kind, namespace, and name.
|
Package k8sget implements the k8s.get builtin function: a generic, idempotent read of a single Kubernetes object by api_version, kind, namespace, and name. |
|
Package manifest mutates Kubernetes GitOps manifests by editing a structured YAML document model, never by splicing strings into manifest text: only the matched document is re-encoded, so its siblings survive byte-for-byte.
|
Package manifest mutates Kubernetes GitOps manifests by editing a structured YAML document model, never by splicing strings into manifest text: only the matched document is re-encoded, so its siblings survive byte-for-byte. |
|
Package pinimages implements manifest.pin_images: for each service, it finds the workload document matching the service name and sets each artifact's "source image:version" reference on the container already running that artifact's image repository.
|
Package pinimages implements manifest.pin_images: for each service, it finds the workload document matching the service name and sets each artifact's "source image:version" reference on the container already running that artifact's image repository. |
|
Package readfile implements the gitlab_project.read_files builtin function: read one or more files from a GitLab project at a Git ref.
|
Package readfile implements the gitlab_project.read_files builtin function: read one or more files from a GitLab project at a Git ref. |
|
Package setrollingstrategy implements manifest.set_rolling_strategy: it finds the Rollout document matching the target service and replaces its spec.strategy with a canary carrying the given surge bounds and no steps, which Argo runs as a rolling update.
|
Package setrollingstrategy implements manifest.set_rolling_strategy: it finds the Rollout document matching the target service and replaces its spec.strategy with a canary carrying the given surge bounds and no steps, which Argo runs as a rolling update. |