Skip to content

Releases: defenseunicorns/pepr

v0.19.0

06 Dec 23:04
ef6b756
Compare
Choose a tag to compare

Features

When(a.Pod)
  .IsCreated()
  .Validate(pod => {
    // returns all containers in pod
    const podsContainers = containers(pod);

    for (const container of podsContainers) {
  ... go on

image

What's Changed

  • chore: create a library of helper functions that make working with pepr easier by @schaeferka in #415
  • fix: watch does not respect ns testing by @cmwylie19 in #398
  • chore: fix PeprStore rendering where multiple capabilities are in play by @cmwylie19 in #422
  • chore: update logo image in header by @schaeferka in #420

Full Changelog: v0.18.1...v0.19.0

v0.18.1

04 Dec 21:29
52303cf
Compare
Choose a tag to compare

What's Changed

  • chore: bump the development-dependencies group with 1 update by @dependabot in #406
  • chore: minor updates to capabilities.md to fix typos and for readability by @schaeferka in #407
  • chore: bump the development-dependencies group with 1 update by @dependabot in #408
  • chore: bump the development-dependencies group with 1 update by @dependabot in #409
  • chore: bump the development-dependencies group with 1 update by @dependabot in #410
  • chore: bump the production-dependencies group with 1 update by @dependabot in #413
  • chore: bump the development-dependencies group with 1 update by @dependabot in #414

New Contributors

Full Changelog: v0.18.0...v0.18.1

v0.18.0

29 Nov 22:53
5aeb57c
Compare
Choose a tag to compare

Features

What's Changed

Full Changelog: v0.17.1...v0.18.0

v0.17.1

28 Nov 13:58
de5a3a3
Compare
Choose a tag to compare

What's Changed

  • chore: bump the development-dependencies group with 1 update by @dependabot in #399

Full Changelog: v0.17.0...v0.17.1

v0.17.0

27 Nov 16:04
8e38bba
Compare
Choose a tag to compare

New Features

  • feat!: update pepr build --entry-point flag to allow output of deployable module by @btlghrants in #391
This PR changes the way the --entry-point flag works to make it output fully a
deployable module and instead adds a new flag: --no-embed to cover the pre-existing
behavior. This allows use of the flags --output-dir and --entry-point together to fully
specify what-gets-built-and-where while still allowing callers to opt-in to the previous
behavior with the new flag (--no-embed).

What's Changed

  • chore: bump the development-dependencies group with 2 updates by @dependabot in #379
  • fix: update to use kubernetes-fluent-client v1.8.3 by @bdw617 in #380
  • docs: npm version by @cmwylie19 in #378
  • fix: add support for ephemeralContainers in webhook by @mjnagel in #382
  • chore: bump the development-dependencies group with 5 updates by @dependabot in #390
  • chore: bump the production-dependencies group with 1 update by @dependabot in #396
  • chore: bump the development-dependencies group with 1 update by @dependabot in #394

New Contributors

Full Changelog: v0.16.0...v0.17.0

v0.16.0

16 Nov 16:01
5db2a7f
Compare
Choose a tag to compare

New Features

  • feat: add flag to change directory of built artifacts by @cmwylie19 in #352
npx pepr build -o some_test_folder
  • feat: setItemAndWait transactional way to set an item in the store by @cmwylie19 in #365
.Mutate(pod => {
  pod.setLabel("pepr.dev","estaba aquí")
})
.Watch(async pod => {
  await setItemAndWait("latestTimeStamp",new Date().getTime().toString())
})
OnSchedule({
  every: 10,
  unit: "hours",
  run: async () => {
    await updateAWSToken()
  },
});

What's Changed

  • chore: bump the production-dependencies group with 1 update by @dependabot in #347
  • chore: bump the development-dependencies group with 1 update by @dependabot in #351
  • fix: include Ramda type data in prod deps for type-completion by @jeff-mccoy in #356
  • chore: bump the development-dependencies group with 1 update by @dependabot in #357
  • chore: bump actions/dependency-review-action from 3.1.0 to 3.1.1 by @dependabot in #360
  • chore: bump the production-dependencies group with 1 update by @dependabot in #361
  • chore: bump the development-dependencies group with 6 updates by @dependabot in #362
  • chore: bump actions/dependency-review-action from 3.1.1 to 3.1.2 by @dependabot in #363
  • chore: bump the development-dependencies group with 2 updates by @dependabot in #366
  • chore: bump actions/dependency-review-action from 3.1.2 to 3.1.3 by @dependabot in #370
  • chore: bump the development-dependencies group with 1 update by @dependabot in #371
  • chore: bump the production-dependencies group with 2 updates by @dependabot in #375
  • docs: best practices for watch, store, and onschedule by @cmwylie19 in #377

Full Changelog: v0.15.0...v0.16.0

v0.15.0

27 Oct 16:06
2bceca0
Compare
Choose a tag to compare

Features

  • Created a [WIP] docs website by @bdfinst in #328
  • Incorporate a flag to force the ClusterRole to adhere to the least privilege principle, tailored according to the Capability bindings by @cmwylie19 in #324. See docs for more info. This should be used when you are getting ready to move your Pepr Module into Prod.
npx pepr build --rbac-mode=scoped

What's Changed

  • chore: add diagnostic flag to journey tests by @btlghrants in #329
  • chore: bump the development-dependencies group with 1 update by @dependabot in #330
  • chore: bump the development-dependencies group with 2 updates by @dependabot in #331
  • docs: port over existing docs to hugo site by @cmwylie19 in #334
  • test: wait for k3d cluster to 'be up' before returning by @btlghrants in #335
  • chore: bump actions/setup-node from 3.8.1 to 4.0.0 by @dependabot in #338
  • chore: bump ossf/scorecard-action from 2.3.0 to 2.3.1 by @dependabot in #337
  • chore: bump the production-dependencies group with 1 update by @dependabot in #336
  • docs: add documentation around importing CRD as GVK by @cmwylie19 in #321
  • fix: correct secondary color & update default inline-code color to match by @btlghrants in #341
  • chore: update favicon and fix Netlify config by @bdfinst in #343
  • chore: bump the production-dependencies group with 1 update by @dependabot in #344
  • chore: bump the development-dependencies group with 3 updates by @dependabot in #345
  • chore: bump the development-dependencies group with 1 update by @dependabot in #346

New Contributors

Full Changelog: v0.14.2...v0.15.0

v0.14.2

19 Oct 16:23
4199a65
Compare
Choose a tag to compare

Features

Run WASM modules in Pepr - #314 by @cmwylie19. More info in the docs.

{
  "name": "pepr-test-module",
  "version": "0.0.1",
  "description": "A test module for Pepr",
  "keywords": [
    "pepr",
    "k8s",
    "policy-engine",
    "pepr-module",
    "security"
  ],
  "engines": {
    "node": ">=18.0.0"
  },
  "pepr": {
    "name": "pepr-test-module",
    "uuid": "static-test",
    "onError": "ignore",
    "alwaysIgnore": {
      "namespaces": [],
      "labels": []
    },
    "includedFiles":[
      "main.wasm",
      "wasm_exec.js"
    ]
  },

What's Changed

Full Changelog: v0.14.1...v0.14.2

v0.14.1

12 Oct 18:18
7b84b7b
Compare
Choose a tag to compare

Indirect Features

Introduces new Kubernetes Fluent Client feature for generating types by @jeff-mccoy in #315

$> npx kubernetes-fluent-client crd https://raw.githubusercontent.com/istio/istio/master/manifests/charts/base/crds/crd-all.gen.yaml istio

$> ls -l istio
total 464
-rw-r--r--@ 1 cmwylie19  staff   3593 Oct 12 15:04 authorizationpolicy-v1.ts
-rw-r--r--@ 1 cmwylie19  staff   3598 Oct 12 15:04 authorizationpolicy-v1beta1.ts
-rw-r--r--@ 1 cmwylie19  staff  36767 Oct 12 15:04 destinationrule-v1alpha3.ts
-rw-r--r--@ 1 cmwylie19  staff  36766 Oct 12 15:04 destinationrule-v1beta1.ts
-rw-r--r--@ 1 cmwylie19  staff   8006 Oct 12 15:04 envoyfilter-v1alpha3.ts
-rw-r--r--@ 1 cmwylie19  staff   4146 Oct 12 15:04 gateway-v1alpha3.ts
-rw-r--r--@ 1 cmwylie19  staff   4145 Oct 12 15:04 gateway-v1beta1.ts
-rw-r--r--@ 1 cmwylie19  staff   1686 Oct 12 15:04 peerauthentication-v1beta1.ts
-rw-r--r--@ 1 cmwylie19  staff   1448 Oct 12 15:04 proxyconfig-v1beta1.ts
-rw-r--r--@ 1 cmwylie19  staff   2949 Oct 12 15:04 requestauthentication-v1.ts
-rw-r--r--@ 1 cmwylie19  staff   2954 Oct 12 15:04 requestauthentication-v1beta1.ts
-rw-r--r--@ 1 cmwylie19  staff   3559 Oct 12 15:04 serviceentry-v1alpha3.ts
-rw-r--r--@ 1 cmwylie19  staff   3558 Oct 12 15:04 serviceentry-v1beta1.ts
-rw-r--r--@ 1 cmwylie19  staff   7031 Oct 12 15:04 sidecar-v1alpha3.ts
-rw-r--r--@ 1 cmwylie19  staff   7030 Oct 12 15:04 sidecar-v1beta1.ts
-rw-r--r--@ 1 cmwylie19  staff   6699 Oct 12 15:04 telemetry-v1alpha1.ts
-rw-r--r--@ 1 cmwylie19  staff  21299 Oct 12 15:04 virtualservice-v1alpha3.ts
-rw-r--r--@ 1 cmwylie19  staff  21298 Oct 12 15:04 virtualservice-v1beta1.ts
-rw-r--r--@ 1 cmwylie19  staff   4671 Oct 12 15:04 wasmplugin-v1alpha1.ts
-rw-r--r--@ 1 cmwylie19  staff   1515 Oct 12 15:04 workloadentry-v1alpha3.ts
-rw-r--r--@ 1 cmwylie19  staff   1514 Oct 12 15:04 workloadentry-v1beta1.ts
-rw-r--r--@ 1 cmwylie19  staff   4318 Oct 12 15:04 workloadgroup-v1alpha3.ts
-rw-r--r--@ 1 cmwylie19  staff   4479 Oct 12 15:04 workloadgroup-v1beta1.ts
$> cat istio/proxyconfig-v1beta1.ts
// This file is auto-generated by kubernetes-fluent-client, do not edit manually

import { GenericKind, RegisterKind } from "kubernetes-fluent-client";

export class ProxyConfig extends GenericKind {
    /**
     * Provides configuration for individual workloads. See more details at:
     * https://istio.io/docs/reference/config/networking/proxy-config.html
     */
    spec?:   Spec;
    status?: { [key: string]: any };
}

/**
 * Provides configuration for individual workloads. See more details at:
 * https://istio.io/docs/reference/config/networking/proxy-config.html
 */
export interface Spec {
    /**
     * The number of worker threads to run.
     */
    concurrency?: number;
    /**
     * Additional environment variables for the proxy.
     */
    environmentVariables?: { [key: string]: string };
    /**
     * Specifies the details of the proxy image.
     */
    image?: Image;
    /**
     * Optional.
     */
    selector?: Selector;
}

/**
 * Specifies the details of the proxy image.
 */
export interface Image {
    /**
     * The image type of the image.
     */
    imageType?: string;
}

/**
 * Optional.
 */
export interface Selector {
    /**
     * One or more labels that indicate a specific set of pods/VMs on which a policy should be
     * applied.
     */
    matchLabels?: { [key: string]: string };
}

RegisterKind(ProxyConfig, {
  group: "networking.istio.io",
  version: "v1beta1",
  kind: "ProxyConfig",
});

What's Changed

  • Bump the development-dependencies group with 1 update by @dependabot in #286
  • Bump the production-dependencies group with 3 updates by @dependabot in #298
  • Bump the production-dependencies group with 2 updates by @dependabot in #300
  • Bump the development-dependencies group with 1 update by @dependabot in #303
  • Bump ossf/scorecard-action from 2.2.0 to 2.3.0 by @dependabot in #302
  • Update codeowners by @cmwylie19 in #278
  • Bump the development-dependencies group with 3 updates by @dependabot in #305
  • chore: add commitlint around PRs for standardization by @cmwylie19 in #306
  • chore: bump the development-dependencies group with 4 updates by @dependabot in #310
  • chore: bump the production-dependencies group with 3 updates by @dependabot in #304
  • chore: bump the production-dependencies group with 1 update by @dependabot in #315

Full Changelog: v0.14.0...v0.14.1

v0.14.0

03 Oct 00:55
6eb9299
Compare
Choose a tag to compare

Features

Watch Action for observing existing K8s resources in the cluster by @jeff-mccoy in #180

When(a.ConfigMap)
  .IsCreatedOrUpdated()
  .Watch(async (cm, phase) => {
    Log.info(cm, `ConfigMap was ${phase}.`); 
  });

Introduce new Kubernetes Fluent Client with support K8s Server-Side Apply by @jeff-mccoy in #180

async function applyDemo() {
  await K8s(kind.ConfigMap).Apply({
    metadata: {
      name: "pepr-ssa-demo",
      namespace: "pepr-demo-2",
    },
  });
}

PeprStore simple key-value store for persisting data across actions and pods by @jeff-mccoy in #180

Store.onReady(data => {
  Log.info(data, "Pepr Store Ready");
});

Store.subscribe(data => {
  Log.info(data, "Pepr Store Updated");
});

Store.setItem("example-1", "was-here");

What's Changed

Full Changelog: v0.13.4...v0.14.0