Skip to content

Releases: projectcapsule/capsule

v0.1.0-rc6

16 Aug 08:55
Compare
Choose a tag to compare
v0.1.0-rc6 Pre-release
Pre-release

This is a pre-release, some of the planned features may not be yet implemented or misbehaving.

  • a2fda44 fix: NewIngressHostnameCollision is returning pointer for error parsing
  • 06330cf fix: example was wrong due to missing porting of NamespaceOptions
  • 1ec9936 docs: hostname collision is now managed at Tenant level
  • 694b519 build(helm): hostname collision is now managed at Tenant level
  • 0b34f04 build(helm): removing deprecated collision values
  • a702ef2 docs(helm): deprecating hostname collision
  • 04d91af build(kustomize): hostname collision is now managed at Tenant level
  • 8949be7 test(e2e): scoped Ingress hostname and path collision
  • df08c9e refactor: hostname collision is now managed at Tenant level
  • 07daffd build(helm): Ingress hostname collision scope at Tenant level
  • 3a42b90 build(kustomize): Ingress hostname collision scope at Tenant level
  • 09277e9 feat: Ingress hostname collision scope at Tenant level
  • 47794c0 style: no need of nolint here
  • e24394f refactor: avoiding init functions for direct registration
  • 01053d5 refactor: renaming struct field names for allowed hostnames and classes
  • b749e34 refactor: grouping Ingress options into defined struct
  • 82480f3 docs: fix minor issues
  • 88a9c24 docs: update links in documentation
  • 651c62f docs: add further test cases
  • dcb8b78 docs: additional test cases
  • 7a69863 docs: additional test cases
  • 894ea50 docs: add few test cases
  • e4e3283 build(helm): Tenant status enums must be capitalized
  • 007f008 build(kustomize): Tenant status enums must be capitalized
  • bc6fc92 fix: Tenant status enums must be capitalized
  • 01b511b test(e2e): fixing flakiness for Service and EP metadata
  • 6223b1c chore(github): forcing Go 1.16 and removing caching
  • d5158f0 chore(github): updating Kubernetes supported matrix
  • 047f4a0 build(helm): aligning descriptions for v1.22.0
  • 71cdb45 build(kustomize): aligning descriptions for v1.22.0
  • 9182895 refactor:EndpointSlice v1beta1 deprecated for v1
  • 2eceb09 chore(gomod): updating Kubernetes deps to 1.22
  • 8ead555 docs: reference to admissionregistration.k8s.io/v1 for local debugging
  • 57bf3d1 feat: skipping Ingress indexer setup for deprecated APIs
  • bb58e90 test(e2e): skipping ingress class tests if running on Kubernetes 1.22
  • f8fa87a chore(hack)!: upgrading to certificates.k8s.io/v1
  • b3658b7 refactor AdditionalMetadataSpec struct. Remove Additional prefix from labels and annotations fields (#379)
  • 54d0201 test(e2e): fix linting issues for NamespaceOptions tests
  • 44ffe0d build(installer): CRD update for v1beta1 NamespaceOptions
  • 491ab71 build(helm): CRD update for v1beta1 NamespaceOptions
  • 4e9dbf8 build(kustomize): CRD update for v1beta1 NamespaceOptions
  • 3461401 test(e2e): aligning tests to use new NamespaceOptions structure
  • 737fb26 refactor: use NamespaceOptions struct to store namespace-related tenant configurations
  • b560159 chore(gh): using build-args
  • ddb9ffd (issues/365) refactor: split tenant controller to separate files
  • cae65c9 fix: capsuleconfiguration controller package name should be config instead of rbac
  • befcf65 feat: adding webhook and rest client latency per endpoint
  • e1d9833 chore(gh): updating e2e workflow
  • 848c6d9 refactor: using goroutines per Namespace for each resource Kind reconciliation
  • bd12068 fix: handling multiple resources for hard ResourceQuota resources
  • 4604e44 build(helm): Tenant or Namespace scope for resource quota budgets
  • 31863b5 build(kustomize): Tenant or Namespace scope for resource quota budgets
  • 7a055fc fix(test): matching upon reconciliation, not retrieval
  • 29ab5ca test: Tenant or Namespace scope for resource quota budgets
  • c52f784 feat: Tenant or Namespace scope for resource quota budgets
  • 9244122 docs (helm): added namespace creation
  • f883e7b fix: wrong description of Service external IPs
  • 2f5f31b test(e2e): allowed external IPs is grouped in ServiceOptions
  • e7ef964 build(helm): allowed external IPs is grouped in ServiceOptions
  • 34f73af build(kustomize): allowed external IPs is grouped in ServiceOptions
  • 18912a0 feat: allowed external IPs is grouped in ServiceOptions
  • d43ad2f build(kustomize): updating to v0.1.0-rc5
  • 9a59587 docs: update capsule-proxy docs

v0.1.0-rc5

22 Jul 10:09
Compare
Choose a tag to compare
v0.1.0-rc5 Pre-release
Pre-release

This is a pre-release, some of the planned features may not be yet implemented or misbehaving.

  • c0d4aab build(helm): CRD update for PriorityClass enum
  • 6761fb9 build(kustomize): CRD update for PriorityClass enum
  • bf9e0f6 test: PriorityClass proxy operations conversion
  • f937942 feat: capsule-proxy operations for PriorityClass resources
  • 89d7f30 build(helm): CRD update for v1beta1 service options
  • 2a6ff09 build(kustomize): CRD update for v1beta1 service options
  • 35f4810 test(e2e): aligning tests to new v1beta1 structure and ExternalName case
  • 7aa62b6 test: conversion for new Service options
  • 58645f3 chore(samples): example for ServiceOptions
  • 0e55823 feat: toggling ExternalName service

v0.1.0-rc4

20 Jul 09:22
Compare
Choose a tag to compare
v0.1.0-rc4 Pre-release
Pre-release

This is a pre-release, some of the planned features may not be yet implemented or misbehaving.

  • ba69048 refactor: use OwnerListSpec to store tenant owners information
  • faa2306 chore: support multiple groups in create-{user}/{user-openshift}.sh scripts
  • c1448c8 build(installer): add description fields in CRD
  • 776a56b build(helm): add description fields in CRD
  • e4883bb build(kustomize): add description fields in CRD
  • e70afb5 feat: add description fields in CRD
  • ee7af18 docs: bare installation of Capsule using kubectl
  • ac7de3b chore(github): updating steps for single YAML file installer diffs
  • 8883b15 chore: single YAML file installer
  • e23132c chore(kustomize): using single YAML file to install Capsule
  • bec59a5 build(kustomize): updating to v0.1.0-rc3
  • 9c649ac chore(kustomize): adding v1beta1 Tenant
  • 3455aed fix(samples): Tenant v1beta1 example
  • ad1edf5 fix(samples): removing empty file
  • d64dcb5 fix: preserving v1alpha1 enable node ports false value avoiding CRD default
  • 76d7697 docs: minor improvements
  • 96f4f31 docs(velero): add brief explanation about new cli flag
  • c3f9dfe feat(velero): improve usage function
  • 502e9a5 feat(velero): add possibility to specify a tenant list by cli
  • 6f208a6 fix(velero): fix wrong argument behaviour
  • 1fb5200 fix(velero): add possibility to fix also apiVersion parameter
  • 98e1640 fix: avoid nil slice during resource conversion

v0.1.0-rc3

12 Jul 09:54
Compare
Choose a tag to compare
v0.1.0-rc3 Pre-release
Pre-release

This is a pre-release, some of the planned features may not be yet implemented or misbehaving.

  • eb19a7a chore: fix linting issues
  • db8b8ac test(e2e): support multiple tenant owners(add applications to act as tenant owners)
  • 663ce93 build(helm): support multiple tenant owners(add applications to act as tenant owners)
  • a6408f2 feat: support multiple tenant owners(add applications to act as tenant owners)
  • 1aa026c chore(github): no need of fundings
  • 6008373 bug: ensuring to update the conversion webhook CA bundle
  • 414c03a feat: reconciliation for Tenant state
  • 4d34a9e build(helm): support for Tenant state
  • cb9b560 build(kustomize): support for Tenant state
  • ef75d04 feat(api): Tenant state
  • e1e75a0 docs(velero): add documentation about velero-restore script
  • 80143ff feat(velero): add script to manage velero backup restoration
  • 3d54810 chore: bump-up to latest version
  • 09dfe33 bug(kustomize): fixing JSON path for kustomize-based installation
  • 01ea36b chore: updating kustomize
  • bd448d8 test(e2e): avoiding flaky tests for ingress hostnames collision
  • b58ca3a chore: v1beta1 goimports and formatting
  • 52fb094 feat(v1beta1): add conversion webhook
  • 1b0fa58 chore: remove unused functions for v1alpha1 version
  • 92655f1 build(helm): update crds to use v1beta1 version
  • 44bf846 test(e2e): update tests to use v1beta1 version
  • e6b433d feat(v1beta1): update code to use v1beta1 version
  • 3e0882d refactor: domains is now API utils
  • 4166093 feat(v1beta1): tenant spec
  • 3d714dc build(kustomize)!: adding the conversion endpoint for v1beta1
  • bd01881 feat(v1beta1): scaffolding the Convertible interface
  • ac6af13 feat(v1beta1): registering conversion webhook
  • 8fb4b7d feat: scaffolding v1beta1 Tenant version
  • d4280b8 chore(makefile): ensure validation for each version
  • 6e39b17 chore(operatorsdk): required scaffolding for v1alpha2
  • b1a9603 fix: ensuring single reconciliation for Capsule RoleBinding resources
  • 0d4201a docs(helm): update documentation about hostNetwork
  • 1734c90 build(helm): add hostNetwork for manager pod
  • 184f054 test(e2e): adding further tests for collisions
  • 126449b build(helm): fixing pairing between values and collision CRD keys
  • 284e7da build(helm): support for admission review version to v1
  • 99e1589 build(helm)!: using multiple handlers per webhook
  • 7cc2c3f build(kustomize)!: using multiple handlers per webhook
  • ba07f99 refactor!: using multiple handers per route
  • d799726 docs: Amazon EKS documentation

v0.1.0-rc2

25 Jun 15:48
Compare
Choose a tag to compare
v0.1.0-rc2 Pre-release
Pre-release

This is a pre-release, some of the planned features may not be yet implemented or misbehaving.

  • 8d1a109 build(helm): webhook for Namespace handling when tenant is freezed
  • a190454 build(kustomize): webhook for Namespace handling when tenant is freezed
  • 7574335 refactor: using separated webhooks for Namespace handling
  • 72e97b9 feat: providing utility for webhook auth identification
  • b3c6082 feat: providing event for Tenant cordoning
  • 9a94009 docs: fixing links
  • f9becf3 docs: Tenant cordoning
  • e1160b8 test(e2e): Tenant cordoning webhook
  • 6472b22 build(helm): Tenant cordononing webhook
  • a2e5bbf build(kustomize): Tenant cordoning webhook
  • 8804496 feat: cordoning Tenant webhook
  • 5de0a6d # This is a combination of 2 commits. # This is the 1st commit message:
  • 531cc4c refactor: renaming Tenant webhook handler
  • 3e33290 fix: fixed typo in script description
  • 824442b feat: add exits when encounters an error
  • 3458335 refactor: meaningful error for complete block of Service external IPs
  • 5681228 fix: blocking non valid external IP
  • 7237972 fix: using /32 in case of bare IPs
  • 46fc65a fix: avoiding concurrent map write
  • 44acfae feat: fix typo in event message
  • 7ca087c feat: update event messages
  • b2b640d test(e2e): refactoring to avoid flakiness
  • 5b35e0b refactor(e2e): using non absolute version import name
  • accd9ca feat: emitting events for policies violations
  • e7b33bd docs: documenting ImagePullPolicy enforcement
  • 08fbd26 test(e2e): bug on PodPriorityClass case
  • 006b0c8 test(e2e): ImagePullPolicy for v1alpha using annotations
  • b6f3fcc build(helm): webhook for ImagePullPolicy enforcement
  • bf79c25 build(kustomize): webhook for image PullPolicy
  • 630e802 feat: image PullPolicy webhook enforcer
  • e5a1861 test: aligning to new additional RoleBinding name pattern
  • 246c1a3 fix: misleading info message for additional RoleBindings sync
  • a06e689 fix: avoiding Namespace's RoleBinding labels collision
  • 61c9bc6 refactor: object labels must be set in the mutateFn
  • 9c8b037 feat: emitting events for Tenant operations
  • dfe0f5e chore: do docker(x) build/push step in gh actions
  • a1a2e5e build(helm): using arm compatible kubectl image
  • 20aa765 build: using targetarch for arm support
  • 7c1592e chore(license): switching over SPDX license header (#280)
  • f60f2b1 build: using Quay.io-hoested builder image
  • 53377e9 docs: Updated Golang version
  • d0893a5 docs: Fixed typo

v0.1.0-rc1

31 May 15:21
Compare
Choose a tag to compare
v0.1.0-rc1 Pre-release
Pre-release

This is a pre-release, some of the planned features may not be yet implemented or misbehaving.

  • feat: providing log upon CapsuleConfiguration change (a7fff59)
  • chore(make): reorg helm params (a4128b5)
  • chore: no need of fmt or vet, already managed by golanci-lint (b349042)
  • test(e2e): typo on feature documentation By group (40bdf0c)
  • docs: documenting CapsuleConfiguration CRD and options (20d0ef8)
  • test(e2e): modifying CapsuleConfiguration at runtime (6103494)
  • build(helm): deletion of CRB using names rather than label (ca7b859)
  • build(helm)!: support for CapsuleConfiguration CRD (73e6a17)
  • build(kustomize)!: support for CapsuleConfiguration CRD (9103a14)
  • refactor: simplifying RBAC managed with multiple user groups (d532f16)
  • feat!: using CapsuleConfiguration CRD with reload at runtime (3570b02)
  • chore: using last git commit as build date (994a4c2)
  • chore: upgrading kubebuilder project to v3 (eff1282)
  • docs: block of NodePort services using Tenant annotation (52a73e0)
  • docs: Pod Priority Class enforcement using Tenant annotations (4ccef41)
  • test: testing enforced Pod Priority Class using Tenant annotations (dfb0a53)
  • build(helm): providing webhook for Pod Priority Class (9ef64d0)
  • build(kustomize): installing Pod Priority Class webhook (5649283)
  • feat: enforcing Pod Priority Class (0481822)
  • build(helm): using different names for Job hooks (bcbd9c2)
  • fix: the ClusterRoleBindings capsule-namespace-provisioner are not re… (229b569)
  • fix: wrong order of checks in validating-external-service-ips webhook (ef6eea6)
  • chore(ci): output diff files for manifests files (bb6614d)
  • build(helm): use multiple groups as capsule-user-group. Remove capsul… (784f3a7)
  • feat: use multiple groups as capsule-user-group (3c9895e)
  • fix: generating TLS certificate matching the deployed Namespace (6dc83b1)
  • feat: block use of NodePort Services (e6da507)
  • chore(go): upgrading to go 1.16 (5bca3b7)
  • chore(operatorsdk): upgrading to v3 format (2e188d2)
  • chore(kustomize): new CRD and webhooks for admission/v1 (3afee65)
  • refactor: moving to admission/v1 for Kubernetes +1.16 (c22cb6c)
  • chore(mod): upgrading controller-runtime to v0.8.3 (202a18c)
  • chore(make): upgrading to controller-tools v0.5.0 (8441d88)
  • test: checking runtime count for pods (d5af190)
  • chore(kustomize): deprecating metrics RBAC proxy (82ae78b)
  • chore(helm): deprecating metrics RBAC proxy (6c44a6a)
  • docs: update capsule-proxy documentation (d6e7437)
  • chore: triggering Helm Charts CD upon tag release (ac7114e)
  • docs: typo on README.md (2fdc08c)
  • refactor: better name variables in pkg/webhook/utils (c2cede6)
  • refactor: better name variables in pkg/webhook/tenantprefix (36c90d4)
  • refactor: better name variables in pkg/webhook/tenant (34c9583)
  • refactor: better name variables in pkg/webhook/services (e5f17d1)
  • refactor: better name variables in pkg/webhook/registry (e1b2037)
  • refactor: better name variables in pkg/webhook/pvc (cec8cc0)
  • refactor: better name variables in pkg/webhook/ownerreference (7ca9fe0)
  • refactor: better name variables in pkg/webhook/namespacequota (b87a6c0)
  • refactor: better name variables in pkg/webhook/ingress (01b75a5)
  • refactor: better name variables in pkg/webhook (2c6dcf0)
  • refactor: better name variables in main.go (7994ae1)
  • Helm and Kustomize to v0.0.5 (#239) (d8449fe)
  • feat: adding name label to each Namespace (#242) (12237ae)

v0.0.5

20 Mar 16:07
37ec991
Compare
Choose a tag to compare

v0.0.5 (2021-03-20)

Capsule v0.0.5 is out, grab your version as following!

docker pull quay.io/clastix/capsule:v0.0.5

Improvements

  • Various typos in the docs (#198, #201, #197, #210)
  • Custom image for Helm hooks (#208)
  • Typo in validating webhook error message (#212)
  • No more confusing .dirty information on logs (#213)
  • Providing user script creation for OCP (#229)
  • Capsule Helm Chart probes are configurable (#220)

Features

  • Avoid Ingress resources hostname collision (#215)
  • Allow multiple Tenant resources to share the same hostnames in the allowed lists (#206)

Hotfix

  • Avoiding deletion of Capsule secrets on Helm upgrade (#194)
  • Namespaces metadata are just handled by the Tenant manifest (#200)
  • Ignoring webhooks for kube-system ServiceAccount resources (#234)

Many congrats to the community for helping to shape this new release: @ValentinoUberti, @ludusrusso, @davideimola, @frodopwns, @unai-ttxu, @donhighmsft, @onematchfox, @bsctl!

v0.0.5-rc2

06 Mar 20:27
Compare
Choose a tag to compare
v0.0.5-rc2 Pre-release
Pre-release

v0.0.5-rc2 (2021-03-06)

Final release candidate for upcoming v0.0.5.

docker pull quay.io/clastix/capsule:v0.0.5-rc2

Improvements

  • Various typos in the docs (#198, #201, #197, #210)
  • Custom image for Helm hooks (#208)
  • Typo in validating webhook error message (#212)
  • No more confusing .dirty information on logs (#213)

Features

  • Avoid Ingress resources hostname collision (#215)
  • Allow multiple Tenant resources to share the same hostnames in the allowed lists (#206)

Hotfix

  • Avoiding deletion of Capsule secrets on Helm upgrade (#194)
  • Namespaces metadata are just handled by the Tenant manifest (#200)

v0.0.5-rc1

21 Jan 06:14
16906db
Compare
Choose a tag to compare
v0.0.5-rc1 Pre-release
Pre-release

v0.0.5-rc1 (2021-01-21)

A small hotfix regarding a missing webhook at the Tenant level will be addressed along with other minor improvements on the v0.0.5 release.

docker pull quay.io/clastix/capsule:v0.0.5-rc1

Hotfix

  • Validating Tenant also on UPDATE (#191)

v0.0.4

13 Jan 22:50
d270055
Compare
Choose a tag to compare

v0.0.4 (2021-01-13)

Happy new year from Clastix Labs!

Docker images are hosted on quay.io and can be pulled with the following command:

docker pull quay.io/clastix/capsule:v0.0.4

Enhancement

  • Helm Charts are included in the Capsule repository and can be fetched using the repo https://clastix.github.io/charts (#147)
  • Tenant ResourceQuota hard value is available in the Namespaced resource as an annotation (#158)
  • Allowed container registries are annotated in the Tenant Namespaces (#154)
  • Making Capsule more flexible with optional fields (#153)
  • Documentation improved (#146)
  • E2E tests are less flaky (#172, #176)
  • Adding more strict linters (#169)

Features

  • Mitigating Kubernetes CVE-2020-8554 enforcing Service external IPs (#161)
  • Supporting Kubernetes 1.20 (#171)
  • Enforcing the allowed hostnames per Tenant (#162)

Bug

  • Avoiding loop with Tenant ResourceQuota dealing with multiple Namespaces (#168)
  • Fixing the broken binary search for the InCapsuleGroup function (#181)

More features are on their way and planned here

Thanks

We got new entries as @gernest and @paolocarta: thanks for helping us shaping Capsule! 🎉

Last but not least, same for @bsctl and @MaxFedotov: unstoppable and awesome maintainers.