...

Package edgeinfra

import "edge-infra.dev"
Overview
Index
Subdirectories

Overview ▾

Index ▾

Package files

embed_version.go

Variables

var SemVer string

Subdirectories

Name Synopsis
..
cmd
edge
api
auth-proxy
bannerctl
bsl
chariot2
clusterctl
gke-auth
ctlfish
datasync
chirp
couchctl
cushion
datasyncinit
magpie
shoot
sparrow
device-registrar
edge
edge-agent
edge-injector
edge-issuer
edge-sql
edgeadmin
envctl
iam
active-ttl
operator
provider
verify-client
kinform-psqlinjector
lighthouse
linkerdctl
logging
logreplay
monitoring
alertman
cli
am-webhook
billman
dashman
cli
dsp
metermaid
cli
plank
prometheus
sequel
syncedobjectctl
f8n
dennis
ipranger
kinform
client
server
pgrstoauth
pinitctl
rebar
excursions
ghappman
github-actions-exporter
gridbug
jack
middlechild
overlook
warehouse
lift
lumperctl Lumperctl is a K8s controller for scheduling Pallets.
packagelock
promote
registryforwarder Registryforwarder is a PubSub daemon that forwards Google Artifact Registry packages from one project to another.
release
sds
admission
controller
audio
pipewire
controlplaneguardian
controlplanepromoter
corednsctl
daemonsetdns
devices
device-agent
serial-loopback-tester
devicewaiter
display
displayctl
displayinfo
webhook
xserver
emergencyaccess
authservice
eagateway
remotecli
rulesengine
userservice
v1
remotecliv1
etcd
manager
recovery
operator
firewallctl
ingressctl
interlock
kpower
lanoutage
detector
controller
helper
scheduler
nfd-helper
nodeagent
novnc
integration
mocks
gateway
wsserver
patchmanager
productionartifactsigner
pvgarbagecollector
pxe
pxe-controller
remoteaccess
authserver
wireguardctl
terminalctl
tolerator
tools
vpnctl
vms
vmctl
vnc
gateway
logProcessor
tools Package tools contains general purpose tools written in Go to assist with development workflows in this repository.
art Package main contains the binary entrypoint for art, a tool for uploading job artifacts to GCS.
actions
argo
bzl-cache-rc-gen
ci-billing
dlog
gh-status
hack
pusha
teamster
vset
x
gcp
publisher
ocirefsplainer ocirefsplainer demonstrates usage of google/go-containerregistry's name package and the structure of OCI registry references.
pgrstc
config
components
info Package edgeinfo provides access to the embedded vendored manifests related to the edge-info ConfigMap available on all Edge clusters.
pxe
pallets
sds
lanoutage
scheduler Package lanoutagectl exposes LAN outage detector controller manifests as slices of bytes
hack
build
ci
leaf
cmd
pkg
go
rules
container
archsupport
gazelle
language
d2
gazelle
constants
kustomize
gazelle
language
graphiql
observability
billing Some hack code which can make multiple calls to the log and metric cost utilities used by the cmd/billman cli.
sds
memoryload
tools
apk-repository An HTTPS server that serves a GCP bucket and makes it available to apko or any Alpine apk add call.
apko-updater-bot
cmd
update
bzldot simplify-bzl-dot accepts a Graphviz graph represented as DOT and simplifies the Bazel labels for each node, producing easier to read graphs.
cicterminals
cicterminals
use-database How to use: cicterminals useDatabase --databaseHost=localhost --databaseName=dev0 --databaseUser=postgres --topLevelProjectID=ret-edge-dev0-foreman --chariotTopic=chariot-rides
cleaner How does this work?
config
eyede
use-database How to use: eyede useDatabase --databaseHost=localhost --databaseName=dev0 --databaseUser=postgres --databasePassword=**** --topLevelProjectID=ret-edge-dev0-foreman --chariotTopic=chariot-rides
use-storage How to use: eyede useStorage --databaseHost=localhost --databaseName=dev0 --databaseUser=postgres --databasePassword=**** --topLevelProjectID=ret-edge-dev0-foreman --chariotTopic=chariot-rides
utils
fmt-manifests
gcs-file-cleaner
hiss Command Hiss is a gitHub ISSue creator utility and how you feel when you are creating issues.
hr
populate
utils
lumberjack
utils
tp-container-dep-migrator
pkg
edge
api
apierror
bsl
gcp
sql
testutils
bsl
types
client
examples
clients
fake
mocks
graph
generated
mapper
model
pagination
plugins
validate
resolver Package resolver manages requests from grahpql resolvers to services which handles communications to chariot, kubernetes and BSP api.
generate
setup
test
utils
graphqlhelpers
middleware
activityhistory
audit
environment
errorlog
request
mocks Package mocks is a generated GoMock package.
services
artifacts
channels
cluster
label
clustersecrets
edgenode
activationcode
common
gcp
interfaces
kinform
virtualmachine
common
status
sql
metrics
migrationmanager
plugin
query
utils
status
testutils
seededpostgres
totp
types
utils
apis
banner
v1alpha1 Package v1alpha1 contains API Schema definitions for the edge v1alpha1 API group +kubebuilder:object:generate=true +groupName=edge.ncr.com
client
cluster
v1alpha1 Package v1alpha1 contains API Schema definitions for the edge.ncr.com v1alpha1 API group +kubebuilder:object:generate=true +groupName=edge.ncr.com
errors
gkecluster
v1alpha1 Package v1alpha1 contains API Schema definitions for the edge.ncr.com v1alpha1 API group +kubebuilder:object:generate=true +groupName=edge.ncr.com
meta
persistence
v1alpha1 Package v1alpha1 contains API Schema definitions for the edge v1alpha1 API group +kubebuilder:object:generate=true +groupName=edge.ncr.com
sequel
k8s
v1alpha2 Package v1alpha1 contains API Schema definitions for CustomResourceDefinitions for creating database users.
syncedobject
apis
v1alpha1 Package v1alpha1 contains API Schema definitions for the edge.ncr.com v1alpha1 API group +kubebuilder:object:generate=true +groupName=edge.ncr.com
audit
auth-proxy
faker
handlers
interceptor
session
store
types
utils
bootstrapping
bsl
fake
bsl-reconciler
metrics
capabilities
chariot
client
errorsnode Package `errosnode` provides a safe way to combine errors together for use with the `errors.As` and `errors.Is` functions.
example
client
clientutils
compatibility compatibility is a helper pkg with functions to compare and support n, n-1, and n-2 versions.
component
build Package build provides libraries for working with builds of Edge platform components
image Package image provides utilities for defining container image structs and working with them.
updatemanifests Package updatemanifests provides a common library for updating Edge platform manifests.
constants Package constants contains the strings used throughout the K8s ecosystem
api
banner
cluster Package cluster contains Edge Cluster enum constants.
fleet Package fleet contains Edge Fleet enum constants that represent each tier of K8s clusters in the Edge platform.
pallet
workload Package workload defines the API constants + validation functions for workload.edge.ncr.com
controllers
bannerctl
clusterctl
pkg
iamutils
plugins
activationcode The ActivationCode clusterctl plugin takes care of creating/deleting external secrets (and the related permissions for pulling these secrets from secret manager) for node activation codes.
clusternetworkservice
clustersecrets
dnsconfig
emissarycert
helmreleases
cache
providers
memory
encryption
info-configmaps
log-levels
log-replay
metrics This package aims to expose metrics related to the running and operation of clusterctl plugins It will be helpful to reveal the time taken to run a plugin, error rates/pruneness of a plugin among other things.
multikustomization
provider
secretmanagersecrets
spegelconfig
vpnconfig
dbmetrics
envctl
pkg
nameutils This function can be used to Create StatefulSet name(s) It accepts the node object and desired name for the StatefulSet name.
sequel Sequel is the Edge Database Authentication and Authorization controller it is an extension of kcc.
dbctl
syncedobject
util
edgedb
ctlfish
metrics
monitor
option
datasync
apis
v1alpha1 Package v1alpha1 contains API Schema definitions for the datasync v1alpha1 API group +kubebuilder:object:generate=true +groupName=datasync.edge.ncr.com
chirp
model
persister
files
provider
sender
server
grpc
http
worker
controllers
couchctl
test_runner
couchdb
cushion
datasyncinit
http
kafkaclient
magpie Package classification Magpie
shoot Shoot passes messages from RedPanda (https://redpanda.com) to the cloud via GCP Pub/Sub as part of the data sync edge to cloud data pipeline.
config
fake
handler
http
model
pubsub package pubsub handle the publishing of messages into Google Pub/Sub
worker
sparrow Package classification Sparrow
device-registrar
api
v1alpha1 Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=device-registrar.edge.ncr.com
config
controller
services Device Registrar
utils
test
edge-issuer
api
v1alpha1 Package v1alpha1 contains API Schema definitions for the edge-issuer v1alpha1 API group +kubebuilder:object:generate=true +groupName=edge-issuer.edge.ncr.com
controllers
signer
edgeadmin Package edgeadmin contains the `edgeadmin` CLI client that can be packaged into Go binaries e.g., cmd/edge/main.go
commands
cfg Package cfg contains the `cfg` CLI command
updatemanifests Package updatemanifests contains the `cfg update-manifests` CLI command, which can be used in CI pipelines to update the container images a set of existing manifests reference and apply build metadata labels, e.g., commit, version, etc.
chart The edgeadmin chart command group lets you publish, delete, and diff Edge NCR Charts.
operatorintervention
add
mocks
delete
edgeextension package edgeextension provides a [command.Extension] which can be used in cli commands to automatically generate an EdgeClient for the cli to use.
format package format provides helper functions which can be used to generate output strings to be displayed to the user when interacting with operatorintervention commands
loaddata
view
mocks
version
edgecliutils
registrar
edgeagent
audit Package audit implements a logger implementation to provide standardized logging for edge agent request events
model
edgecli
commands
activationcode
get
list
refresh
banner
securitycompliance
cluster
bootstrap
connect
register
clusterconfig
listclusterconfig
modifyclusterconfig
clustersecret
lease
update
versions
view
context
add
delete
list
set
update
networkservice
list
modify
register
remove
terminal
bulkregister
disk
create
discover
list
modify
remove
modify
register
remove
terminaladdress
modify
terminalinterface
modify
constructors
flagutil
edgeencrypt
externalsecrets
flux
bootstrap
gcpinfra Package gcpinfra defines the GCP Resource Manager / Cloud resource structure that is used to manage all infrastructure owned by Edge.
constants
gitops
fn Package fn defines the function interface that GItOps functions will implement to make them easily runnable by both the Chariot web server and Kpt binary.
testutil Package testutil was originally forked from github.com/kubernetes-sigs/kustomize
v1alpha1 Package v1alpha1 defines the scheme registration info for Edge Kpt functions.
fns
edgerelease Package edgerelease implements the EdgeRelease Kpt function, based on the Kpt delivery pipeline RFC: https://docs.edge-infra.dev/rfc/kpt-delivery-pipeline/.
normalizer Package normalizer contains the logic for the kpt fn so that it can be leveraged in non-kpt contexts
trimmer Package trimmer contains the logic for the kpt fn so that it can be leveraged in non-kpt contexts
iam
api
v1alpha1 Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=iam.edge-infra.dev
apperror
barcode
client
cloud
config
crypto
ctl
clientctl
encryptionctl
providerctl
device
errors package errors contain all the custom-built errors, which happens during the different flows of Edge IAM
identity nolint ToDo: need to address code complexity in the handler
log
middleware
oauth2
pin
profile
prometheus
provider
session
storage
database nolint:dupl
memory
types
util
verify
templates
info
fake
k8objectsutils
gcp
iamcomponent
ownerref
kustomization
lighthouse Lighthouse is configurable using a configmap whose CHANNELS data field specifies what channels to listen to for events.
config
event
testutils
linkerd Package linkerd implements Edge's linkerdctl controller and custom modifications made to linkerd solution
certs
identity Package identity abstracts the linkerd identity certificate manager objects and implements the logic to create the certmanager resources for the linkerd identity issuer and its certificate as well as obtaining linkerd-proxy identity certificates from K8s pods
trustanchor Package trustanchor abstracts the linkerd trustanchor certificate manager objects and implements the logic to create/read the linkerd trustanchor certificate K8s secret
helm
render Package render implements a helm rendering functions to mutate the values.yaml and render the helm chart during runtime operation
values package values vendors https://github.com/linkerd/linkerd2/blob/release/stable-2.14/pkg/charts/linkerd2/values.go until linkerd go version is updated to stable release commit.
k8s
apis
linkerd
v1alpha1 Package v1alpha1 contains API Schema definitions for the Linkerd Edge controller types.
controllers
linkerd
config
install Package install implements the logic for rendering and applying the linkerd manifests from the official helm charts onto the cluster.
proxyinjection Package proxyinjection implements the logic to determine which namespaces should be injected with the linkerd proxy and creates a linkerdworkloadinjection object to begin injection by the workloadinjection controller.
linstor
metrics
workloadinjection
restart Package restart implements the logic required to restart K8s workloads so that the linkerd-proxy can be injected into the assosciated pods
workloads Package workloads implements the logic required to determine what workloads are required to be reinjected
manifests Package manifests implements utility functions for mutating linkerd unstructured objects with custom configurations.
policy
logging
logcfg
logreplay
workload-siem
monitoring
am-webhook
billman
cmd Package cmd contains the billman CLI
all Package `all` contains the billman CLI for calculating log and metric billing data.
logs Package `logs` contains the billman CLI for calculating log billing data.
metrics Package `metrics` contains the billman CLI for calculating metric billing data.
costs Package costs provides functions for calculating and showing GCP costs
edgesql Package edgesql makes calls into an edge SQL db in order to gather data about an edge cluster.
gcp Package gcp calls the GCP metrics api to return data about metric samples and logs ingested for edge clusters.
k8s
controllers
prometheusctl
plank
okta
psqlinjector
metrics
registration
rollouts Package rollouts contains types and logic for implementing graphical, user defined, cluster operation flows.
drivers
engine
examples
secrets
shipment
generator
webhooks
edge-injector
yamlfmt
f8n Package f9 is the root package for code owned by the Edge Foundation team.
devinfra
database
psql
gcp
artifactregistry
bigquery
job
storage Package storage is concerned with storing and accessing job data in Google Cloud Storage.
pubsub
ghappman Package ghappman contains functions to create a ghappman server, as well as types that can be shared between client/server code for request/responses
github
ghfs Package ghfs provides a fs.FS implementation backed by remote GitHub repo contents, fetched via the GitHub API.
oauth
devicecode Package devicecode implements functionality for getting oauth tokens to authenticate with GitHub on behalf of a user
github-actions-exporter
config
metrics
server
github-client
gridbug
jack
constants
excursions
guest_services
logger
overlook nolint added no lint because it constantly complained about duplicated code for the handlers
pluginimports
plugin
approved_label
deleted_issue
enforce_milestone
enforce_release_label
epics
list
milestone_report
milestones
options
pr
pr_project
project
project_pruning
size
task
triage_issue
triage_parent
type
uploadjob
webhook_events
job
middlechild
overlook
repo Package repo implements packages used to support the maintenance and management of this repository.
owners
policybot Package policybot contains forked types from github.com/palantir/policy-bot so that they can be updated to use omitempty.
policy
approval
common
disapproval
predicate
reviewer
pull
pulltest
reports
testinfra
model
sql
schema
gcp
k8s
controllers
dennis Package dennis provides a simple K8s controller for automatically creating DNSRecordSets in response to ComputeAddress resources, based on annotation values.
projectinit Package projectinit provides a simple K8s controller for automating some common infrastructure set up in GCP for Project resources.
ipranger
server
kinform
client
fields
helper
mapper
metrics
model
server
sql
pgrstoauth
sovereign
client
model
warehouse Package warehouse contains the package specification and core functionality for Edge OCI artifacts.
capability
cluster
forwarder Package forwarder implements a PubSub daemon for copying artifacts from one Google Artifact Registry instance to another.
k8s Package k8s implements the K8s API types for working with warehouse artifacts and controllers that reconcile them.
apis
meta Package meta implements K8s machinery for Warehouse metadata.
v1alpha1 Package v1alpha1 contains API Schema definitions for CustomResourceDefinitions for unpacking Warehouse artifacts and scheduling them to clusters.
v1alpha2 Package v1alpha2 contains API Schema definitions for CustomResourceDefinitions for unpacking Warehouse artifacts and scheduling them to clusters.
controllers
lumperctl
kauth Package kauthn implements functionality for producing OCI registry keychains from K8s service accounts.
lift Package lift implements warehouse packaging semantics on top of the warehouse OCI types.
cmd Package cmd contains the lift CLI, for working with Edge Pallets.
apply
flatten
graph
inspect
pack
pallet
render
warehouse
pack Package pack implements functionality for building Warehouse packages.
filters Package filters implements built-in YAML filters that can be used when packing a Pallet.
transformers
ambiguous
bazel Package bazel implements a YAML transformer that automatically builds, pushes containers, and updates digests if the image field starts with `bzl://`
labels
palletmetadata Package palletmetadata defines a thin wrapper around annotations.Filter so it can implement our Filter interface.
types Package types defines the types for Warehouse package build configuration, e.g.
render Package render templates the contents of manifests pulled from pallets and defines the total set of valid template variables.
unpack Package unpack allows for unpacking OCI artifacts, rendering the contents using supported variables, and applying the artifacts to a K8s cluster.
oci Package oci contains OCI functionality and types that are used to support Warehouse specific implementations in other packages.
cache
providers
disk
memory
cmp Package cmp implements comparisons and evaluations of Warehouse artifacts.
layer
layout Package layout defines utilities for working with a Pallet OCI Image Layout.
match Package match implements Warehouse matchers on top of ggcr/v1/match
mutate Package mutate implements Warehouse-specific mutation logic and helpers for mutating Warehouse OCI artifacts.
name Package name implements functionality for parsing package names from OCI artifacts and working with them.
remote
validate
walk Package walk allows traversing, or "walking", all of the entities that comprise a given OCI artifact.
packagelock
cmd
inspect package inspect displays and validates annotations on a set of packages For a single package-lock, org.opencontainers.image.version should be same for all specified packages if they were built from the same revision
validate
pallet Package pallet defines the requirements for a Pallet OCI artifact and provides utilities for constructing them.
resolve
promote
release
cmd
build
lock
render
whtest Package whtest contains test utils for Warehouse that are suitable for unit tests.
registry Package registry provides an in-memory httptest-backed registry for testing.
k8s
certmanager
apis
meta
decoder Package decoder provides common functionality for parsing raw data containing K8s resources into structs that can then be applied via the K8s API.
eyaml Package eyaml (edgeyaml) implements functionality for working with K8s YAML documents.
fieldspecs Package fieldspecs defines types and helpers for working with Kustomize FieldSpecs.
filesys Package filesys implements helpers for converting various filesystems to Kustomize / kyaml filesystems.
kcli Package kcli contains utilities for building K8s CLIs.
konfigkonnector
apis
configconnector
v1beta1 v1beta1 provides homerolled structs for the ConfigConnector Kube CRD used by the K8s Config Connector project: https://github.com/GoogleCloudPlatform/k8s-config-connector
meta
kustomize Package kustomize implements extensions and utilities for the Kustomize ecosystem.
meta
status Package status provides common K8s status conditions, reasons, and other utilities for building controllers with consistent statuses that are compatible with kstatus (https://github.com/kubernetes-sigs/cli-utils/tree/master/pkg/kstatus).
net Package net (k8s) implements utilities for common network queries and manipulation on ks networks
calico
object
fobject Package fobject implements a fake object that can be used for unit tests.
match Package match provides composable K8s object matchers.
rbac
runtime
client
conditions Package conditions implements generic functionality for working with kstatus compliant K8s resource conditions.
controller
metrics
reconcile Package reconcile implements functionality for processing reconciliation results and errors to return to controller-runtime.
recerr Package recerr implements custom controller reconciliation error types and utilities used during reconciliaton result summarization.
events Package events provides a Recorder to record Kubernetes Events.
inventory Package inventory provides functionality for working with resource inventories being managed by K8s controllers or other actors.
objectrestarter Package objectrestarter provides a utility for restarting workloads using the kubectl annotation used by K8s for graceful restarting.
patch
sap Package sap implements a server-side apply (SSA) resource manager for K8s.
install Package install implements naive one-shot application of K8s objects using server-side apply.
statusreaders
testing
kmp Package kmp provides K8s comparisons for test assertions.
unstructured
lib
build
apko
bazel
git Package git provides functionality for getting information about a local Git repository and its HEAD commit.
semver Package semver provides utilities for working with semantic versioning based on https://semver.org
cli
clog Package clog implements github.com/go-logr/logr.Logger for CLIs.
command
commands
rags Package rags implements rich flag functionality on top of the stdlib flag package.
sh
sink Package sink assists in building out consistent CLI plumbing.
compression
crypto
certs
pem
x509
encodings
osutilcrypt Package crypt provides interface for password crypt functions and collects common constants.
common
sha512 Package sha512_crypt implements Ulrich Drepper's SHA512-crypt password hashing algorithm.
randomizer
validation
db
postgres Package postgres is an attempt is to have a common interface for all PostgreSQL usage.
edgeutils
errors Package errors provides common custom Error types.
featureflag
testutil
filesystem
fog Package fog (Foundation Log) implements a zap-backed logr LogSink that integrates with Google Cloud Logging special keys.
gcp Package gcp is a standard library for Google Cloud.
cloudsql
iam
roles
utils
metricsscopes Package metricsscopes provides functions for working with GCP Metrics Scopes TODO: add link to metrics scopes
monitoring
alerting
alertmanager Package alertmanager gets GCP alert policies and saves them to disk.
dashboardmanager
dsp
alert
cmd
create
metrics
monutil Package monutil contains functions for file operations used with dashman and alertman
project Package project contains convenience functions for working with GCP projects, eg creation, deletion, updating billing accounts
pubsub
resource Pacakage resource provides basic utilities for working with Google Cloud Platform resource strings.
secretmanager Package secretmanager provides a set of functions to facilitate easily working with the Secret Manager API without all of the gory details of request handling
serviceusage
utils
icmp
ini Package ini provides INI file read and write functionality in Go.
kernel
cgroup Package cgroup implements functionality to add cgroup rules to containers to allow or deny access to devices
devices Package devices implements logic to parse file system for linux devices.
drm
modules Package modules implements kernel module functions
netlink Package netlink implements common netlink manipulation.
ip Package implements ip manipulation.
link Package implements helpers for link devices through netlink
mock
modules
netns Package implements handlers for netlink netns
socket Package socket implements a socket server capable of sending a data stream to netlink or a remote destination
tc Package tc - "traffic control"
udev Package udev implements an interface to read KOBJECT_EVENTS from a remote socket or netlink in local network namespace
reader
sockets
logging
mqtt
ncr
gcp
security Package security contains constants used by various components that are part of the Edge ecosystem to reliably create and manage the appropriate GCP security policies and resources.
networkvalidator
pprof
promassert `promassert` is the easiest way to test prometheus metrics in go unit tests.
runtime
healthz
manager
signals
metrics
subscriber
metrics
version Package version provides a version struct from values defined at build-time for binaries.
server Package server provides a generic http server and metrics server with overridable implementations for Kubernetes probes
health
inmemorylistener
text
drawing
uuid Edge UUID package provides compatibility for all the naming and identification of resources.
webhooks
sds Includes common constants/functions used by sds pkg
admission
observability
verify
db
audio
constants
k8s
controllers
pipewire
clustersecrets Package clustersecrets implements a generic interface for secrets synced from cloud to clusters through SecretManager secrets and external secrets.
audit Package audit implements a logger implementation to provide standardized logging for cluster secret security events
breakglass Package breakglass implements the cluster secret interface for breakglass user.
common
grub Package grub implements the cluster secret interface for grub recovery user.
filesystem
controlplaneguardian
api
common
config
detection
arp
identifier
job
queue
state
controlplanepromoter
devices
agent
cgroups
common
containers
events
metrics
mocks Package mocks is a generated GoMock package.
udevproxy
class
k8s
apis
v1 +kubebuilder:object:generate=true +groupName=device-system.edge.ncr.com
device-plugins
logger
wait
display
constants
displayinfo
xorg
displaymanager
applier
example
xorg
command
runner
fake
xinput
xrandr
xset
manager
example
xorg
reader
example
xorg
waiter
example
xorg
k8s
apis
v1 +kubebuilder:object:generate=true +groupName=display.edge.ncr.com
v2 +kubebuilder:object:generate=true +groupName=display.edge.ncr.com
controllers
displayctl
xserver
config
webhooks
display
dns
constants
k8s
controllers
corednsctl Package corednsctl provides a K8s controller for managing CoreDNS configuration on edge clusters.
coredns Package coredns implements the logic required to parse, edit and apply the third party CoreDNS default manifests depedning on the thickPOS/thinPOS setting on the edge cluster
daemonset Package daemonset implements the logic required to parse the default CoreDNS deployment manifest, update the spec as required and convert to daemonset
deployment Package deployment implements the logic required to parse the default CoreDNS deployment manifest and update the spec as required
service Package service implements the logic required to parse the default CoreDNS service manifest and update the spec depending on thickPOS/thinPOS setting
emergencyaccess
apierror
handler
authservice
server
setup
storage
database
sql
client Package client is used to store reusable http helper types that can be used across cliservices.
cliservice
config
ea_integration
v2
mockbffserver
eaconst
eagateway
server
emulator
emulatorsvc
middleware
msgdata
msgsvc
remotecli
requestservice
retriever package retriever contains the Operator Intervention Artifact Retriever cabable of retrieving Operator Intervention artifacts from the DB
rules
server
setup
storage
database
sql
file
sql
plugin
emergencyaccess Package emergencyaccess is used to find the correct seed data for the given environment
types
user
server
service
etcd
manager
cluster Package cluster provides functionality for monitoring etcd cluster health and recovering the cluster if quorum is lost.
recovery
operator Package operator configures and manages etcd members
apis
etcdmember
v1 after editing this package run just update-k8s-codegen to populate the zz-
constants
ien
bootoptions
containers Package containers lists out the container images required by kubeadm installation.
k8s
apis
v1 +kubebuilder:object:generate=true +groupName=dsds.edge.ncr.com
controllers
firewallctl
nodeagent
config
fake
plugins
clustersecrets
breakglass
grub
edgeconfigsync
example
networking
cniplugin
dhclient
iptables
netplan
ntp
trafficshaping
nodefirewall
nodepatcher
remoteagentconfig
staticpodscheduler
pkg
render
templates
swapcfg
thinclient
configobject
selector
pxe
apis
v1 after editing this package run just update-k8s-codegen to populate the zz-
common
dnsmasq
staticfileserver
network
info Package network/info implements common interfaces for network service ConfigMap
netplan package netplan implements an interface to the netplan APIs
node Package node implements conversion types between the k8s Node object and the IENode
resource
topology Package topology provides common interfaces for topology-info ConfigMap
ingress
emissary
gateway
k8s
controllers
ingressctl
tcpmappings
interlock Package classification Interlock
topic
cluster
example
host
instances
websocket
k8s
bootstrap
tokens
controllers
terminalctl
pkg
plugins
emergencyaccess
daemonsetdns
client
daemonsetdnstest Package daemonsetdnstest contains f2 test helpers to install the daemonsetdns component to a cluster for use in L2 integration tests
iplookup
tolerator
kpower
common
lock
logwriter
metrics
power
server
payloads
lanoutage
detector
helper
scheduler
lib
ci
dsds-sandboxes
colors
containerd Package containerd provides high-level functionality for interacting with containerd resources
mocks Package mocks is a generated GoMock package.
dbus
systemd Package systemd provides high-level functionality for interacting with systemd services
mocks Package mocks is a generated GoMock package.
edid
etcd
client
mocks Package mocks is a generated GoMock package.
retry Package retry provides an etcd client wrapper that implements retries for etcd methods.
mocks Package mocks is a generated GoMock package.
server
embed
fswatcher
jsonpatch
k8s
manifest
retryclient Package retryclient provides a Kubernetes client wrapper that implements retries for Kubernetes methods.
mocks Package mocks is a generated GoMock package.
types
networking
routing
os
env
fake
file
fake
grub
passthrough Package for Passthrough Exec Commands via Chroot
fake
service
process
processmanager
processtime
set
systemd
systemdconfig
xorg
dpms
fake
xinput
fake
xrandr
fake
nfd
helper
patching
common
k8s
apis
ienpatch
v1 +kubebuilder:object:generate=true +groupName=patchmanager.edge.ncr.com
controller
patchmanager
test
remoteaccess
authserver
constants
k8s
apis
vpnconfigs
v1 +kubebuilder:object:generate=true +groupName=remoteaccess.edge.ncr.com
controllers
wireguardctl
vpnconfig
service
wireguard
client
relay
secret
store
vpn
securedelivery
productionartifactsigner
storage
constants
k8s
controllers
pvgarbagecollector
tools
vpnctl
apiclient
commands
toggletest
flags
vms
k8s
controllers
vmctl
apis
v1alpha +kubebuilder:object:generate=true +groupName=virtualmachine.edge.ncr.com
controllers
usbredirctl
pkg
constants
manager
vnc
constants
gateway
constants
integration
requeststates
server
statemachine
log
processor
tools Package tools contains code for internal dev tools.
ci-billing
commands
applylabels
billingrefs
owners
dlog Package dlog implements functionality for working with structured decision logs in the spirit of MADR (https://adr.github.io/madr).
cmd
gh-status
github
ghx Package ghx contains a lib/cli/sink extension for GitHub.
teamster Package teamster implements configuration-driven GitHub team automation.
hack Package hack implements the common development CLI used by all contributors to perform common tasks.
bazelx Package bazelx is a `sink` CLI extension package for CLIs that need to integrate with Bazel.
cmd
dlogs
owners
push
root Package root implements setup and execution of root `hack` CLI command.
containers Package containers implements build logic for container dev workflows.
team Package team provides configuration driven engineering team definitions for the purpose of integrating with other systems such as GitHub and documentation generation.
vset The vset package is used to configure a VSCode user's settings.json to the guidelines set by their team or organization.
x
tonic
uuid
test Package test contains generic test utilities that could conceivably be used by any type of test (unit, integration, e2e) for any test in our codebase.
f2
examples
embed
kustomization
container This is a very simple golang binary which will be packaged up into a container image, and referenced in a deployment manifest
sharingdata
shared
fctx Package fctx provides utilities for working with f2 test contexts.
integration
x Package x contains test framework extensions.
bslauth Package bslauth implements an f2 extension for working with BSL credentials
ktest
envtest Package envtest helps to set up various pieces of controller-runtime's envtest library to simplify writing K8s controller tests
kpoll Package kpoll provides a wrapper around gotest.tools/v3/poll to facilitate continually evaluating checks on K8s objects against a live cluster.
kustomization package kustomization provides a set of helpers useful when applying manifests to a k8s cluster during L2 integration tests
postgres Package postgres implements an f2 extension for working with PostgreSQL databases
pstest
warehouse Package warehouse implements a testing framework extension for working with Warehouse OCI packages and registries.
fixtures Package fixtures provides functions for loading embedded test fixtures used by various tests.
framework Package framework provides a bare-bones base framework that is intended to be embedded by other framework implementations (see test/{integration,e2e}/framework)
config Package config simplifies the declaration of configuration options.
gcp Package gcp provides test fraemwork utilities and configuration for integration tests against GCP.
pubsub
integration
k8s Package k8s provides test framework utilities for K8s-based unit and integration tests, supporting the ability to do both with the same test suite.
envtest Package envtest helps to set up various pieces of sigs.k8s.io/controller-runtime/pkg/envtest framework to simplify writing K8s controller tests
skipper
rosa
snapshot Package snapshot implements Go snapshot testing by writing expected test results to files (a snapshot of the expected results) and comparing actual test output against those files.
examples
third_party
gke-iap
gopherage
cmd
aggregate
diff
filter
html
junit
merge
metadata
pkg
cov
junit
calculation Package calculation calculates coverage through summarizing and filtering.
util
k8s
certmanager Package certmanager provides access to the embedded vendored manifests for installing cert-manager to K8s clusters.
configconnector Package configconnector provides access to the embedded vendored manifests for installing K8s Config Connector to K8s clusters.
coredns
fluxcd Package fluxcd provides access to the embedded vendored manifests for installing FluxCD to K8s clusters.
grafana-operator
linkerd
helm
node-exporter
prometheus-operator
prometheus
test2json Package test2json implements conversion of test binary output to JSON.