Skip to content

Commit

Permalink
Switch to JSON for access logs
Browse files Browse the repository at this point in the history
  • Loading branch information
dinofizz committed May 8, 2024
1 parent 3bc9d49 commit c81fc70
Show file tree
Hide file tree
Showing 274 changed files with 18,152 additions and 10,529 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Image URL to use all building/pushing image targets
IMG ?= ${ACC}.dkr.ecr.eu-west-1.amazonaws.com/monzo/egress-operator:manager-$(shell git rev-parse --short head)
# Produce CRDs that work back to Kubernetes 1.11 (no version conversion)
CRD_OPTIONS ?= "crd:trivialVersions=false"
CRD_OPTIONS ?= "crd:trivialVersions=true"

# Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set)
ifeq (,$(shell go env GOBIN))
Expand Down Expand Up @@ -70,7 +70,7 @@ ifeq (, $(shell which controller-gen))
CONTROLLER_GEN_TMP_DIR=$$(mktemp -d) ;\
cd $$CONTROLLER_GEN_TMP_DIR ;\
go mod init tmp ;\
go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.4.0 ;\
go get sigs.k8s.io/controller-tools/cmd/controller-gen@v0.3.0 ;\
rm -rf $$CONTROLLER_GEN_TMP_DIR ;\
}
CONTROLLER_GEN=$(GOBIN)/controller-gen
Expand Down
279 changes: 139 additions & 140 deletions config/crd/bases/egress.monzo.com_externalservices.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@

---
apiVersion: apiextensions.k8s.io/v1
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.4.0
controller-gen.kubebuilder.io/version: v0.3.0
creationTimestamp: null
name: externalservices.egress.monzo.com
spec:
Expand All @@ -15,148 +15,147 @@ spec:
plural: externalservices
singular: externalservice
scope: Cluster
versions:
- name: v1
schema:
openAPIV3Schema:
description: ExternalService is the Schema for the externalservices API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: ExternalServiceSpec defines the desired state of ExternalService
properties:
dnsName:
description: DnsName is a DNS name target for the external service
type: string
envoyClusterMaxConnections:
description: The maximum number of connections that Envoy will establish
to all hosts in an upstream cluster (defaults to 1024). If this
circuit breaker overflows the upstream_cx_overflow counter for the
cluster will increment.
format: int32
type: integer
envoyDnsRefreshRateS:
description: "Corresponds to Envoy's dns_refresh_rate config field
for this cluster, in seconds See\thttps://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto"
format: int64
type: integer
envoyLogLevel:
description: Input to the --log-level command line option. See the
help text for the available log levels and the default.
validation:
openAPIV3Schema:
description: ExternalService is the Schema for the externalservices API
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: ExternalServiceSpec defines the desired state of ExternalService
properties:
dnsName:
description: DnsName is a DNS name target for the external service
type: string
envoyClusterMaxConnections:
description: The maximum number of connections that Envoy will establish
to all hosts in an upstream cluster (defaults to 1024). If this circuit
breaker overflows the upstream_cx_overflow counter for the cluster
will increment.
format: int32
type: integer
envoyDnsRefreshRateS:
description: "Corresponds to Envoy's dns_refresh_rate config field for
this cluster, in seconds See\thttps://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto"
format: int64
type: integer
envoyLogLevel:
description: Input to the --log-level command line option. See the help
text for the available log levels and the default.
type: string
envoyRespectDnsTTL:
description: "Corresponds to Envoy's respect_dns_ttl config field for
this cluster. See\thttps://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto"
type: boolean
hijackDns:
description: 'If true, add a `egress.monzo.com/hijack-dns: true` label
to produced Service objects CoreDNS can watch this label and decide
to rewrite DnsName -> clusterIP'
type: boolean
ipOverride:
description: When set allows overwriting the A records of the DNS being
overridden.
items:
type: string
envoyRespectDnsTTL:
description: "Corresponds to Envoy's respect_dns_ttl config field
for this cluster. See\thttps://www.envoyproxy.io/docs/envoy/latest/api-v3/config/cluster/v3/cluster.proto"
type: boolean
hijackDns:
description: 'If true, add a `egress.monzo.com/hijack-dns: true` label
to produced Service objects CoreDNS can watch this label and decide
to rewrite DnsName -> clusterIP'
type: boolean
ipOverride:
description: When set allows overwriting the A records of the DNS
being overridden.
items:
type: string
type: array
maxReplicas:
description: MaxReplicas is the maximum number of gateways to run,
enforced by HorizontalPodAutoscaler. Defaults to 12
format: int32
type: integer
minReplicas:
description: MinReplicas is the minimum number of gateways to run.
Defaults to 3
format: int32
type: integer
ports:
description: Ports is a list of ports on which the external service
may be called
items:
properties:
port:
description: The port on the given protocol.
format: int32
type: integer
protocol:
description: The protocol (TCP or UDP) which traffic must match.
If not specified, this field defaults to TCP.
type: string
type: object
type: array
resources:
description: ResourceRequirements describes the compute resource requirements
for gateway pods. Defaults to 100m, 50Mi, 2, 1Gi
type: array
maxReplicas:
description: MaxReplicas is the maximum number of gateways to run, enforced
by HorizontalPodAutoscaler. Defaults to 12
format: int32
type: integer
minReplicas:
description: MinReplicas is the minimum number of gateways to run. Defaults
to 3
format: int32
type: integer
ports:
description: Ports is a list of ports on which the external service
may be called
items:
properties:
claims:
description: "Claims lists the names of resources, defined in
spec.resourceClaims, that are used by this container. \n This
is an alpha field and requires enabling the DynamicResourceAllocation
feature gate. \n This field is immutable. It can only be set
for containers."
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.resourceClaims
of the Pod where this field is used. It makes that resource
available inside a container.
type: string
required:
- name
type: object
type: array
x-kubernetes-list-map-keys:
port:
description: The port on the given protocol.
format: int32
type: integer
protocol:
description: The protocol (TCP or UDP) which traffic must match.
If not specified, this field defaults to TCP.
type: string
type: object
type: array
resources:
description: ResourceRequirements describes the compute resource requirements
for gateway pods. Defaults to 100m, 50Mi, 2, 1Gi
properties:
claims:
description: "Claims lists the names of resources, defined in spec.resourceClaims,
that are used by this container. \n This is an alpha field and
requires enabling the DynamicResourceAllocation feature gate.
\n This field is immutable. It can only be set for containers."
items:
description: ResourceClaim references one entry in PodSpec.ResourceClaims.
properties:
name:
description: Name must match the name of one entry in pod.spec.resourceClaims
of the Pod where this field is used. It makes that resource
available inside a container.
type: string
required:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources
allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Requests describes the minimum amount of compute
resources required. If Requests is omitted for a container,
it defaults to Limits if that is explicitly specified, otherwise
to an implementation-defined value. Requests cannot exceed Limits.
More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type: object
type: object
serviceTopologyMode:
description: Provides a way to override the global default
type: string
targetCPUUtilizationPercentage:
description: Target average CPU utilization (represented as a percentage
of requested CPU) over all the pods. Defaults to 50
format: int32
type: integer
type: object
status:
description: ExternalServiceStatus defines the observed state of ExternalService
type: object
type: object
type: array
x-kubernetes-list-map-keys:
- name
x-kubernetes-list-type: map
limits:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Limits describes the maximum amount of compute resources
allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type: object
requests:
additionalProperties:
anyOf:
- type: integer
- type: string
pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
x-kubernetes-int-or-string: true
description: 'Requests describes the minimum amount of compute resources
required. If Requests is omitted for a container, it defaults
to Limits if that is explicitly specified, otherwise to an implementation-defined
value. Requests cannot exceed Limits. More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/'
type: object
type: object
serviceTopologyMode:
description: Provides a way to override the global default
type: string
targetCPUUtilizationPercentage:
description: Target average CPU utilization (represented as a percentage
of requested CPU) over all the pods. Defaults to 50
format: int32
type: integer
type: object
status:
description: ExternalServiceStatus defines the observed state of ExternalService
type: object
type: object
version: v1
versions:
- name: v1
served: true
storage: true
status:
Expand Down
Loading

0 comments on commit c81fc70

Please sign in to comment.