Skip to content

Latest commit

 

History

History

hack

Hack

A directory containing custom scripts and utilities used to help with the day-to-day development of the TriggerMesh platform.

This practice was inspired by the Kubernetes project.

Contents

crd-annotations-check.sh

A shell script which verifies that all TriggerMesh CustomResourceDefinition manifests under config/ use a valid JSON-formatted object as the value of the following annotations:

  • registry.knative.dev/eventTypes
  • registry.triggermesh.io/acceptedEventTypes

crd-update.py

A Python script which updates the parts of a given CustomResourceDefinition manifest which are common to all TriggerMesh CustomResourceDefinitions, such as spec.adapterOverrides.

It also indirectly ensures — due to a property of the underlying YAML emitter — that long strings, such as description attributes, are wrapped consistently at 120 characters.

gen-api-reference-docs.sh

A shell script that generates the HTML version of the TriggerMesh API reference, based on the Go structs defined in sub-packages of pkg/apis/.

It uses the ahmetb/gen-crd-api-reference-docs utility under the hood.

inc.Codegen.mk

A Makefile that contains goals for producing generated code to pkg/client/, such Kubernetes clients and Knative injectors.

kodata-check.sh

A shell script which verifies that all TriggerMesh component commands under cmd/ have a properly set up kodata directory.

Each kodata directory typically contains at least (symlinks to) the following files:

  • Used by Knative's logging package to augment the structured logger with the short hash of the TriggerMesh revision:
    • .git/refs: A list of Git references, such as branches and tags, with the hash of their latest commit.
    • .git/HEAD: A pointer to the working branch under .git/refs.
  • Used to reproduce open source licenses in binary distributions of TriggerMesh, such as container images:
    • LICENSES: Copies of licenses, copyright notices — and in some cases the source code — of open source software dependencies.

manifest-cleaner

A utility written in Go which cleans up the YAML manifests generated by ko resolve by:

  • Removing redundant copyright headers
  • Filtering out null YAML documents
  • Removing +rbac-check tags (see description of rbac-check)

rbac-check

A utility written in Go which verifies that all custom types included in the TriggerMesh platform are referenced by the relevant RBAC roles under config/.

release-notes.sh

A shell script that generates release notes in Markdown format for a given revision of TriggerMesh.

targetgen

A utility written in Go which produces the scaffolding for a new "target" component via code generation.