Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
75 commits
Select commit Hold shift + click to select a range
1606527
first take on recording CheckResult history into SQL instead of Mongo
simplepens Aug 5, 2020
6861394
now the entire project is updated to a more modern lift, and scala, a…
simplepens Aug 5, 2020
ce85b74
and now h2 local persistence works with the history reader
simplepens Aug 5, 2020
8f44626
added a generic sql sensor, so that we can ping the google cloud dbs …
simplepens Aug 5, 2020
42f9824
adding additionalProps to support google credentials
simplepens Aug 5, 2020
091c700
the name of the project has to change (so that its war changes name),…
simplepens Aug 5, 2020
5c8ffd8
adding kubernetes hosting scripts
simplepens Aug 21, 2020
5682027
added default namespace to the scripts
simplepens Aug 21, 2020
c67d8ca
further tweaks to file locations in scripts
simplepens Aug 21, 2020
fa85935
added +x
Aug 21, 2020
49773dc
bad scripts on my part
Aug 21, 2020
f5a9f11
fixed the scripts, I hope
Aug 21, 2020
1fb9e47
updated gitignore
Aug 21, 2020
2345391
more tweaks to the scripts
Aug 21, 2020
0cec92a
now the kube scripts work
Aug 21, 2020
5d9f486
adjusted to the new config pattern - now have a global app config whi…
simplepens Aug 22, 2020
251cf0b
updated the republish script
simplepens Aug 22, 2020
f5285f1
more logging during boot
simplepens Aug 22, 2020
ee20b19
copy and paste typo
simplepens Aug 22, 2020
aa671c1
found another copy and paste error, and added a logout behaviour for …
simplepens Aug 22, 2020
82fbff3
working through the github oauth flow
simplepens Aug 22, 2020
1097426
reduced the github scope
simplepens Aug 22, 2020
385be56
double accept
simplepens Aug 22, 2020
c9b1d80
further url tweaks
simplepens Aug 22, 2020
57f80a5
userAgent required? Really?
simplepens Aug 22, 2020
fb12044
tweaks to log4j config
simplepens Aug 22, 2020
f7557a1
now there's a mock authenticator, and the authentication visual shoul…
simplepens Aug 22, 2020
fed5a41
still largely unstyled, but now functional, and inline
simplepens Aug 22, 2020
41913cd
now the login and logout reflect on the dashboard appropriately
simplepens Aug 22, 2020
0db58ca
redirect/github, not login/github
simplepens Aug 22, 2020
93c8aa9
I think I made a weird initialization order bug. fixed now, I think.
simplepens Aug 22, 2020
a5fc5c5
upgraded the alpha dependency to a stable version
simplepens Aug 22, 2020
6b5ce53
wiring in the from-address
Mar 25, 2021
28dc378
further tweaks around CPU and max mem configuration
Mar 25, 2021
3bc2db5
restructured quota requests to better handle memory overheads
Mar 25, 2021
ed32ed7
switched to a JRE8 specific docker base image
Mar 25, 2021
8f87d75
hopefully turning on readiness gates, and reducing logging
Mar 25, 2021
f65d6a2
Merge branch 'sql-history' of https://github.com/StackableRegiments/q…
Mar 25, 2021
a516822
adding extra detail to the logging for email, to try to understand wh…
dave-low-priv Mar 25, 2021
8833068
removed an errant parameter, which might've been messing things up?
dave-low-priv Mar 25, 2021
dc8c88f
next step of logging
dave-low-priv Mar 25, 2021
e3d926d
kubernetes has some hidden extra files inside its secrets
dave-low-priv Mar 25, 2021
eadd97d
actually passing requiredSequentialFailures through
dave-low-priv Mar 26, 2021
2cbb007
fixed (I hope) the notifiers firing only for themselves, not for othe…
dave-low-priv Mar 31, 2021
081843d
it is not the responsibility of quacker's http client to throw except…
dave-low-priv Mar 31, 2021
0e1f87e
restructured the checks to better support rebuilding the flexibleRend…
dave-low-priv Apr 13, 2021
1d92a66
now the renderer is back to being part of the plugin system, so that …
dave-low-priv Apr 13, 2021
3250ee4
further tweaks on the refactor, and some starting work on the service…
dave-low-priv Apr 13, 2021
b6678e7
now there's a minimal view for flexible
dave-low-priv Apr 13, 2021
8c30d53
now separated the styling on the two different views, so that they're…
dave-low-priv Apr 14, 2021
d30fe04
added a much simpler version, which appears to work just as well, but…
dave-low-priv Apr 14, 2021
eab736f
simplified again.
dave-low-priv Apr 14, 2021
da2d4b0
now the simpleRenderer has a very minimal styling, which should work …
dave-low-priv Apr 14, 2021
0fc14d9
removed some printlns
dave-low-priv Apr 14, 2021
40025dd
adjusting the styling slightly
dave-low-priv Apr 14, 2021
ce6f38d
added support for remembering the page you're on as you login
dave-low-priv Apr 14, 2021
4337e78
patched log4j
dave-low-priv Dec 21, 2021
49f7c63
updated the log4j dependency
dave-low-priv Dec 21, 2021
f332e84
fixed the sqlHistory listener to return results for specific requests…
dave-low-priv Dec 22, 2021
a025f3c
removed the ambiguity on the endpoints
dave-low-priv Dec 22, 2021
c7968b9
updated aws eks script
dave-low-priv Dec 22, 2021
69959f0
added permissions control to the endpoints
dave-low-priv Dec 22, 2021
d6c6e09
Update Dashboard.scala
ChrisHagan Jan 5, 2022
e2a2b2c
Merge pull request #2 from ChrisHagan/patch-1
davidhagan Jan 5, 2022
8833356
updated version of httpClient and also updated the logic of the cooki…
dave-low-priv Jan 17, 2022
291fe27
Introduced ability to filter a user or notifier based on whether they…
Jan 19, 2022
59d9f64
Downgraded debugs to traces
Jan 20, 2022
2f4a0f5
adding the capacity for async sensors to reduce blocking and cpu hogging
dave-low-priv Jan 25, 2022
2d4cb39
now there's a full async mechanism across all checks, and http is mak…
dave-low-priv Jan 25, 2022
8b73091
now circular redirects are followed
dave-low-priv Jan 26, 2022
34d80b1
now certificate verification is disabled (though there are now pathwa…
dave-low-priv Jan 26, 2022
4f4c8aa
pings on mac osx fixed
dave-low-priv Jan 26, 2022
d96b638
now the asyncHttp client follows redirects the same way as the syncHt…
dave-low-priv Jan 26, 2022
b7937eb
Merge pull request #3 from StackableRegiments/async
davidhagan Jan 26, 2022
09ee96e
added more robustness around errors in the async story
dave-low-priv Feb 1, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,10 @@ config/configuration*.xml
monitoringDashboardConfig/*.xml
*.log
config/quacker*.xml
*.swp
*.swo
.ivy2
.sbt-boot
null
*.db
.kube/envs
4 changes: 4 additions & 0 deletions .kube/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
FROM jetty:9.4.35-jre8
EXPOSE 8080

COPY *.war /var/lib/jetty/webapps/root.war
71 changes: 71 additions & 0 deletions .kube/alb-ingress-controller.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
# Application Load Balancer (ALB) Ingress Controller Deployment Manifest.
# This manifest details sensible defaults for deploying an ALB Ingress Controller.
# GitHub: https://github.com/kubernetes-sigs/aws-alb-ingress-controller
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/name: alb-ingress-controller
name: alb-ingress-controller
# Namespace the ALB Ingress Controller should run in. Does not impact which
# namespaces it's able to resolve ingress resource for. For limiting ingress
# namespace scope, see --watch-namespace.
namespace: kube-system
spec:
selector:
matchLabels:
app.kubernetes.io/name: alb-ingress-controller
template:
metadata:
labels:
app.kubernetes.io/name: alb-ingress-controller
spec:
containers:
- name: alb-ingress-controller
args:
# Limit the namespace where this ALB Ingress Controller deployment will
# resolve ingress resources. If left commented, all namespaces are used.
# - --watch-namespace=your-k8s-namespace

# Setting the ingress-class flag below ensures that only ingress resources with the
# annotation kubernetes.io/ingress.class: "alb" are respected by the controller. You may
# choose any class you'd like for this controller to respect.
- --ingress-class=alb

# REQUIRED
# Name of your cluster. Used when naming resources created
# by the ALB Ingress Controller, providing distinction between
# clusters.
# - --cluster-name=devCluster

# AWS VPC ID this ingress controller will use to create AWS resources.
# If unspecified, it will be discovered from ec2metadata.
# - --aws-vpc-id=vpc-xxxxxx

# AWS region this ingress controller will operate in.
# If unspecified, it will be discovered from ec2metadata.
# List of regions: http://docs.aws.amazon.com/general/latest/gr/rande.html#vpc_region
# - --aws-region=us-west-1

# Enables logging on all outbound requests sent to the AWS API.
# If logging is desired, set to true.
# - --aws-api-debug

# Maximum number of times to retry the aws calls.
# defaults to 10.
# - --aws-max-retries=10
env:
# AWS key id for authenticating with the AWS API.
# This is only here for examples. It's recommended you instead use
# a project like kube2iam for granting access.
# - name: AWS_ACCESS_KEY_ID
# value: KEYVALUE

# AWS key secret for authenticating with the AWS API.
# This is only here for examples. It's recommended you instead use
# a project like kube2iam for granting access.
# - name: AWS_SECRET_ACCESS_KEY
# value: SECRETVALUE
# Repository location of the ALB Ingress Controller.
image: docker.io/amazon/aws-alb-ingress-controller:v1.1.8
serviceAccountName: alb-ingress-controller
55 changes: 55 additions & 0 deletions .kube/alb-ingress.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
apiVersion: v1
kind: Service
metadata:
labels:
run: quacker-app-service-alb
name: quacker-app-service-alb
annotations:
spec:
type: ClusterIP
clusterIP: None
selector:
app: quacker
ports:
- name: port-1
port: 8080
protocol: TCP
targetPort: 8080
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
namespace: <<namespace>>
name: alb-ingress
annotations:
kubernetes.io/ingress.class: alb
alb.ingress.kubernetes.io/target-type: 'ip'
alb.ingress.kubernetes.io/listen-ports: '[{"HTTP":80},{"HTTPS":443}]'
alb.ingress.kubernetes.io/scheme: internet-facing
alb.ingress.kubernetes.io/backend-protocol: HTTP
alb.ingress.kubernetes.io/healthcheck-protocol: HTTP
alb.ingress.kubernetes.io/healthcheck-port: traffic-port
alb.ingress.kubernetes.io/healthcheck-path: /serverStatus
alb.ingress.kubernetes.io/healthcheck-interval-seconds: '10'
alb.ingress.kubernetes.io/healthcheck-timeout-seconds: '5'
alb.ingress.kubernetes.io/healthy-threshold-count: '2'
alb.ingress.kubernetes.io/unhealthy-threshold-count: '3'
alb.ingress.kubernetes.io/target-group-attributes: stickiness.enabled=true,stickiness.lb_cookie.duration_seconds=36000,slow_start.duration_seconds=60,deregistration_delay.timeout_seconds=30
alb.ingress.kubernetes.io/certificate-arn: <<certificate-arn>>
alb.ingress.kubernetes.io/load-balancer-attributes: routing.http2.enabled=true,deletion_protection.enabled=true,routing.http.drop_invalid_header_fields.enabled=true,idle_timeout.timeout_seconds=600
alb.ingress.kubernetes.io/actions.ssl-redirect: '{"Type": "redirect", "RedirectConfig": { "Protocol": "HTTPS", "Port": "443", "StatusCode": "HTTP_301"}}'
spec:
tls:
- hosts:
- unused
rules:
- http:
paths:
- path: /*
backend:
serviceName: ssl-redirect
servicePort: use-annotation
- path: /*
backend:
serviceName: quacker-app-service-alb
servicePort: 8080
24 changes: 24 additions & 0 deletions .kube/bounce.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#!/bin/bash
if [ -z "$1" ];
then
echo "please provide a namespace for this republish"
exit 1
fi

function exit_if_failed() {
CMD_RESULT="$?"
if [ $CMD_RESULT -ne "0" ];
then
exit $CMD_RESULT;
fi
}

NS="$1"
export PATH=~/kube:~/.local/bin:$PATH

DEPLOYMENT_FILE="envs/$NS/deployment.yaml"
sed -i "s/poke: .*\$/poke: \"$(date -u +%s)\"/g" $DEPLOYMENT_FILE
exit_if_failed

kubectl apply -f $DEPLOYMENT_FILE --namespace $NS
exit_if_failed
2 changes: 2 additions & 0 deletions .kube/checkCapacity.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
#!/bin/bash
kubectl describe nodes | sed -n '/ProviderID:/,/Events:/p'
Loading