diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8dabbdb..86efcf2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,7 @@ env: COSIGN_EXPERIMENTAL: 1 REGISTRY: ghcr.io IMAGE_NAME: ${{ github.repository }} - VERSION: 0.2.2 + VERSION: 0.2.3 jobs: build: diff --git a/README.md b/README.md index 99bebbd..4823100 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ The following packages are maintained by the [Arktonix](https://github.com/arkto * [cartographer-blueprints](https://github.com/arktonix/cartographer-blueprints) * [cartographer-delivery](https://github.com/arktonix/cartographer-delivery) * [cartographer-golden-path-web](https://github.com/arktonix/cartographer-golden-path-web) +* [contour](https://github.com/arktonix/package-for-contour) * [fluxcd-source-controller](https://github.com/arktonix/package-for-fluxcd-source-controller) * [knative-eventing](https://github.com/arktonix/package-for-knative-eventing) * [knative-serving](https://github.com/arktonix/package-for-knative-serving) @@ -25,7 +26,6 @@ It also includes the following open-source packages maintained by the [VMware Ta * [cartographer](https://github.com/vmware-tanzu/package-for-cartographer) * [cert-manager](https://github.com/vmware-tanzu/community-edition/tree/main/addons/packages/cert-manager) -* [contour](https://github.com/vmware-tanzu/community-edition/tree/main/addons/packages/contour) * [kpack](https://github.com/vmware-tanzu/package-for-kpack) * [metrics-server](https://github.com/vmware-tanzu/community-edition/tree/main/addons/packages/metrics-server) * [secretgen-controller](https://github.com/vmware-tanzu/carvel-secretgen-controller) @@ -48,7 +48,7 @@ You can install the Kadras package repository in a dedicated namespace using `kc ```shell kubectl create namespace carvel-packages kctrl package repository add -r kadras-repo \ - --url ghcr.io/arktonix/kadras-packages:0.2.2 \ + --url ghcr.io/arktonix/kadras-packages:0.2.3 \ -n carvel-packages ``` diff --git a/repo/packages/contour.packages.kadras.io/1.23.0.yml b/repo/packages/contour.packages.kadras.io/1.23.0.yml new file mode 100644 index 0000000..133c6b5 --- /dev/null +++ b/repo/packages/contour.packages.kadras.io/1.23.0.yml @@ -0,0 +1,186 @@ +apiVersion: data.packaging.carvel.dev/v1alpha1 +kind: Package +metadata: + creationTimestamp: null + name: contour.packages.kadras.io.1.23.0 +spec: + capacityRequirementsDescription: Varies significantly based on number of Services, + Ingresses/HTTPProxies, etc. A starting point is 128MB RAM and 0.5 CPU for each + Contour and Envoy pod, but this can and should be tuned based on observed usage. + licenses: + - Apache 2.0 + refName: contour.packages.kadras.io + releaseNotes: https://github.com/projectcontour/contour/releases + releasedAt: "2022-10-22T16:07:26Z" + template: + spec: + deploy: + - kapp: {} + fetch: + - imgpkgBundle: + image: ghcr.io/arktonix/package-for-contour@sha256:b2dfa33475159ac2c38965542cc3cce59b30491a08633461e85acb15343f2535 + template: + - ytt: + paths: + - config + - kbld: + paths: + - '-' + - .imgpkg/images.yml + valuesSchema: + openAPIv3: + additionalProperties: false + description: OpenAPIv3 Schema + properties: + certificates: + additionalProperties: false + description: Settings for the TLS certificates for securing communication + between Contour and Envoy. + properties: + duration: + default: 8760h + description: If using cert-manager, how long the certificates should + be valid for. If useCertManager is false, this field is ignored. + type: string + renewBefore: + default: 360h + description: If using cert-manager, how long before expiration the certificates + should be renewed. If useCertManager is false, this field is ignored. + type: string + useCertManager: + default: false + description: Whether to use cert-manager to provision TLS certificates + for securing communication between Contour and Envoy. If false, the + upstream Contour certgen job will be used to provision certificates. + If true, the cert-manager addon must be installed in the cluster. + type: boolean + type: object + contour: + additionalProperties: false + description: Settings for the Contour component. + properties: + configFileContents: + default: null + description: The YAML contents of the Contour config file. See https://projectcontour.io/docs/latest/configuration/#configuration-file + for more information. + nullable: true + logLevel: + default: info + description: The Contour log level. Valid options are 'info' and 'debug'. + type: string + replicas: + default: 2 + description: How many Contour pod replicas to have. + type: integer + useProxyProtocol: + default: false + description: Whether to enable PROXY protocol for all Envoy listeners. + type: boolean + type: object + envoy: + additionalProperties: false + description: Settings for the Envoy component. + properties: + hostNetwork: + default: false + description: Whether to enable host networking for the Envoy pods. + type: boolean + hostPorts: + additionalProperties: false + description: Host port settings for the Envoy pods. + properties: + enable: + default: false + description: Whether to enable host ports. If false, http & https + are ignored. + type: boolean + http: + default: 80 + description: If enable == true, the host port number to expose Envoy's + HTTP listener on. + type: integer + https: + default: 443 + description: If enable == true, the host port number to expose Envoy's + HTTPS listener on. + type: integer + type: object + logLevel: + default: info + description: The Envoy log level. + type: string + service: + additionalProperties: false + description: Envoy service settings. + properties: + annotations: + default: null + description: Annotations to set on the Envoy service. + nullable: true + aws: + additionalProperties: false + description: AWS-specific settings for the Envoy service. If infrastructure + provider is not 'aws', these settings are ignored. + properties: + loadBalancerType: + default: classic + description: The type of AWS load balancer to provision. Options + are 'classic' and 'nlb'. + type: string + type: object + externalTrafficPolicy: + default: "" + description: The external traffic policy for the Envoy service. + If type is 'ClusterIP', this field is ignored. Otherwise, defaults + to 'Cluster' for vsphere and 'Local' for others. + type: string + loadBalancerIP: + default: "" + description: The desired load balancer IP. If type is not 'LoadBalancer', + this field is ignored. It is up to the cloud provider whether + to honor this request. If not specified, then load balancer IP + will be assigned by the cloud provider. + type: string + nodePorts: + additionalProperties: false + description: NodePort settings for the Envoy service. If type is + not 'NodePort' or 'LoadBalancer', these settings are ignored. + properties: + http: + default: 0 + description: The node port number to expose Envoy's HTTP listener + on. If not specified, a node port will be auto-assigned by + Kubernetes. + type: integer + https: + default: 0 + description: The node port number to expose Envoy's HTTPS listener + on. If not specified, a node port will be auto-assigned by + Kubernetes. + type: integer + type: object + type: + default: "" + description: The type of Kubernetes service to provision for Envoy. + If not specified, will default to 'NodePort' for docker and vsphere + and 'LoadBalancer' for others. + type: string + type: object + terminationGracePeriodSeconds: + default: 300 + description: The termination grace period, in seconds, for the Envoy + pods. + type: integer + type: object + infrastructureProvider: + default: "" + description: The underlying infrastructure provider. Options are aws, azure, + docker and vsphere. This field is not required, but enables better validation + and defaulting if provided. + type: string + namespace: + default: projectcontour + description: The namespace in which to deploy Contour and Envoy. + type: string + type: object + version: 1.23.0 diff --git a/repo/packages/contour.packages.kadras.io/metadata.yml b/repo/packages/contour.packages.kadras.io/metadata.yml index 439fc65..e8ca714 100644 --- a/repo/packages/contour.packages.kadras.io/metadata.yml +++ b/repo/packages/contour.packages.kadras.io/metadata.yml @@ -1,19 +1,18 @@ apiVersion: data.packaging.carvel.dev/v1alpha1 kind: PackageMetadata metadata: + creationTimestamp: null name: contour.packages.kadras.io spec: + categories: + - ingress + - envoy + - gateway displayName: contour - shortDescription: "An ingress controller" - longDescription: "An Envoy-based ingress controller that supports dynamic configuration updates and multi-team ingress delegation. See https://projectcontour.io for more information." - providerName: VMware + iconSVGBase64: PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzNjAgMzYwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6IzAwOWNkYzt9PC9zdHlsZT48L2RlZnM+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjMzLjQ5MzU0LDEzLjYwNzQyQTE3Mi41NDE2NiwxNzIuNTQxNjYsMCwwLDAsMTg5LjYwMSw1LjQzODE0Yy0xOC4xMDk1OSw5OS44NzYtNjguMDE5MzUsMTY5Ljc2MzQyLTExMS4yOTYzNCwyMTMuNTM4QTQzMC42MDM4OCw0MzAuNjAzODgsMCwwLDEsMjcuOTk3LDI2Mi40ODQzN2ExNzQuMTU5ODMsMTc0LjE1OTgzLDAsMCwwLDEzLjk4MDY2LDIxLjQwNzc1YzI3LjIyMi0xNy4yMzI0Niw1Mi4xNzU4Mi0zNi44MDY1OCw3MS42ODAzLTU1LjM4NTc3QzE2MC4yODkzNiwxODQuMDg3NTgsMjE0LjA3NzQ2LDExMy40OTg1NSwyMzMuNDkzNTQsMTMuNjA3NDJaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjkxLjg4OTM3LDEyMy45NDY3QTM3Mi41NDI4OSwzNzIuNTQyODksMCwwLDAsMzE1LjI5NjE5LDcwLjAzOSwxNzUuMTA3NzIsMTc1LjEwNzcyLDAsMCwwLDI4NC42NjU3Nyw0MC4zMDMyYy0yMy44NDQxMiw5NC4xNzk4Ny03OS40NDQ1NywxNjIuMTA2MTMtMTI3Ljk3OTI4LDIwNS45MDM1OWE0OTcuNjM2NjIsNDk3LjYzNjYyLDAsMCwxLTg5LjYyNDgyLDY0LjI1NDI5LDE3NC43NzM3MywxNzQuNzczNzMsMCwwLDAsMTQuNzE4NywxMS4zNzIzN0E1MTcuMTc5NDksNTE3LjE3OTQ5LDAsMCwwLDE4OC4yNzg2NSwyNTEuMTM2QzIzMi4xOTIxLDIxMy40MDI2NywyNjcuMDUyMTIsMTcwLjYwOTcxLDI5MS44ODkzNywxMjMuOTQ2N1oiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yNzcuMTUwODIsMzQuODk4ODFBMTczLjI0MjA2LDE3My4yNDIwNiwwLDAsMCwyMzguODU1OSwxNS40MjU3MkMyMTkuMDU2MSwxMTYuMzIxLDE2NC42ODA0MiwxODcuNjQ2MjUsMTE3LjUyMzI4LDIzMi41NjUxYTQ2NC4xMzgyNyw0NjQuMTM4MjcsMCwwLDEtNzEuODE3NzcsNTYuMDY4MDYsMTc1LjAzNSwxNzUuMDM1LDAsMCwwLDE0LjYyNDM1LDE1LjcyODI1LDQ4NS4yMjExNyw0ODUuMjIxMTcsMCwwLDAsOTAuNjEzMjYtNjQuNTE4OTVDMTk5LjA2NTQyLDE5Ni40MTY4MiwyNTQuMjY4MjYsMTI4Ljc5ODg3LDI3Ny4xNTA4MiwzNC44OTg4MVoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0zMzYuMTM0MDUsMTMzLjIwMDIxYzIuNTE3MzctNC40ODYxMyw0Ljg5Mjc2LTkuMDA2MTcsNy4yMDMtMTMuNTQxMzdBMTczLjI1NTE3LDE3My4yNTUxNywwLDAsMCwzMjMuNjQxNTQsODEuMjQ4MSwzODYuMDQ3MywzODYuMDQ3MywwLDAsMSwzMDIuMDc2NjYsMTI5LjM2OWMtMjUuNTEzNzgsNDcuOTM0ODctNjEuMjcxMyw5MS44NDgzMi0xMDYuMjc3MTEsMTMwLjUyMDgzQTUzMy40ODk2Niw1MzMuNDg5NjYsMCwwLDEsOTMuMTcyLDMyOS4wMzE2MXE3LjA2MTUxLDQuMTAxNiwxNC41MjQ1OCw3LjU0NGE1NTAuMDcyMDUsNTUwLjA3MjA1LDAsMCwwLDExNy45Ni03NC4xNzkyN0MyNzIuNDI3MSwyMjMuOTYzNTgsMzA5LjU5NjMsMTgwLjQ5NTU0LDMzNi4xMzQwNSwxMzMuMjAwMjFaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTg2LjkzNzg4LDUuMzQwMzZjLTIuMjc3MDctLjA4OTEyLTQuNTU1NDEtLjE3MzkxLTYuODUzOTUtLjE3MzkxLTk1Ljc0NDcsMC0xNzMuNjM5NTksNzcuODk3MDYtMTczLjYzOTU5LDE3My42Mzk2YTE3Mi41MzM5NCwxNzIuNTMzOTQsMCwwLDAsMjAuMjg4MzQsODEuMzMzMjMsNDI3Ljk2NDczLDQyNy45NjQ3MywwLDAsMCw0OS42OTY1MS00My4wMTc5MkMxMTkuMzY5NzMsMTczLjY4Njg4LDE2OC44ODQzOSwxMDQuMzc1MjksMTg2LjkzNzg4LDUuMzQwMzZaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzQ4Ljc4NjU3LDE0MC4yOTk4N2MtMjcuNDIyNDYsNDguODczMzMtNjUuNzQ5ODUsOTMuNzI0NTMtMTEzLjkxNzgsMTMzLjMwNjQ2QTU3MS4zMjU2Niw1NzEuMzI1NjYsMCwwLDEsMTI2LjExOSwzNDMuODE2NTJhMTcyLjg4MDA3LDE3Mi44ODAwNywwLDAsMCw1My45NjQ4OSw4LjYyOTEzYzk1Ljc0NDM1LDAsMTczLjYzOTYtNzcuODk2ODgsMTczLjYzOTYtMTczLjYzOTZBMTczLjM3NTE4LDE3My4zNzUxOCwwLDAsMCwzNDkuMTkxLDEzOS41NDJDMzQ5LjA1MDg2LDEzOS43OTMyOSwzNDguOTI3NDcsMTQwLjA0ODc1LDM0OC43ODY1NywxNDAuMjk5ODdaIi8+PC9zdmc+ + longDescription: An Envoy-based ingress controller that supports dynamic configuration + updates and multi-team ingress delegation. maintainers: - - name: Steve Kriss - - name: Nick Young - - name: Sunjay Bhatia - - name: Nicholas Seemiller - categories: - - "ingress" - - "envoy" - - "contour" - supportDescription: "Go to https://projectcontour.io for documentation or the #contour channel on Kubernetes slack" + - name: Thomas Vitale + providerName: Arktonix + shortDescription: An Envoy-based ingress controller