Skip to content
This repository was archived by the owner on Dec 11, 2023. It is now read-only.

Files

Latest commit

e6e64be · Mar 24, 2023

History

History

hack

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Sep 21, 2022
Sep 21, 2022
Sep 21, 2022
Feb 20, 2023
Feb 20, 2023
Sep 21, 2022
Sep 21, 2022
Sep 21, 2022
Sep 21, 2022
Sep 21, 2022
Sep 21, 2022
Sep 21, 2022

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.