Add Tornjak Tests (#220)
Signed-off-by: Mariusz Sabath <[email protected]> Signed-off-by: Marco Franssen <[email protected]> Signed-off-by: kfox1111 <[email protected]> Co-authored-by: Marco Franssen <[email protected]> Co-authored-by: kfox1111 <[email protected]>
This commit is contained in:
committed by
Marco Franssen
co-authored by
Marco Franssen
kfox1111
parent
bdba97b629
commit
5e827ee45e
Executable
+13
@@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
SCRIPT=$(readlink -f "$0")
|
||||||
|
SCRIPTPATH=$(dirname "$SCRIPT")
|
||||||
|
|
||||||
|
helm install \
|
||||||
|
--namespace spire-server \
|
||||||
|
--values "${SCRIPTPATH}/../../../examples/production/values.yaml" \
|
||||||
|
--values "${SCRIPTPATH}/../../../examples/tornjak/values.yaml" \
|
||||||
|
spire charts/spire --wait
|
||||||
|
helm test spire -n spire-server
|
||||||
Executable
+54
@@ -0,0 +1,54 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
SCRIPT=$(readlink -f "$0")
|
||||||
|
SCRIPTPATH=$(dirname "$SCRIPT")
|
||||||
|
|
||||||
|
k_wait=(kubectl wait --for condition=available --timeout 30s --namespace)
|
||||||
|
k_rollout_status=(kubectl rollout status --watch --timeout 30s --namespace)
|
||||||
|
|
||||||
|
function get_namespace_details {
|
||||||
|
cat <<EOF >>"$GITHUB_STEP_SUMMARY"
|
||||||
|
### Namespace $1
|
||||||
|
|
||||||
|
#### Events
|
||||||
|
|
||||||
|
\`\`\`shell
|
||||||
|
$(kubectl --request-timeout=30s get events --output wide --namespace "$1")
|
||||||
|
\`\`\`
|
||||||
|
|
||||||
|
#### Pods
|
||||||
|
|
||||||
|
\`\`\`shell
|
||||||
|
$(kubectl --request-timeout=30s describe pods --namespace "$1")
|
||||||
|
\`\`\`
|
||||||
|
|
||||||
|
#### Logs
|
||||||
|
|
||||||
|
\`\`\`shell
|
||||||
|
$(kubectl get pods -o name -n "$1" | while read -r line; do echo logs for "${line}"; kubectl logs -n "$1" "${line}" --all-containers=true --ignore-errors=true; done)
|
||||||
|
\`\`\`
|
||||||
|
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
cat <<EOF >>"$GITHUB_STEP_SUMMARY"
|
||||||
|
### spire
|
||||||
|
|
||||||
|
| workload | Status |
|
||||||
|
| ------------------------------------ | ------ |
|
||||||
|
| spire-server | "$("${k_rollout_status[@]}" spire-server statefulset spire-server)" |
|
||||||
|
| spire-controller-manager | "$("${k_rollout_status[@]}" spire-server statefulset spire-controller-manager)" |
|
||||||
|
| spire-spiffe-oidc-discovery-provider | "$("${k_wait[@]}" spire-server deployments.apps spire-spiffe-oidc-discovery-provider)" |
|
||||||
|
| spire-spiffe-csi-driver | "$("${k_rollout_status[@]}" spire-system daemonset spire-spiffe-csi-driver)" |
|
||||||
|
| spire-agent | "$("${k_rollout_status[@]}" spire-system daemonset spire-agent)" |
|
||||||
|
| tornjak-frontend | "$("${k_wait[@]}" spire-server deployments.apps spire-tornjak-frontend)" |
|
||||||
|
EOF
|
||||||
|
|
||||||
|
kubectl -n spire-server get service spire-tornjak-frontend
|
||||||
|
|
||||||
|
if [ $1 -ne 0 ]; then
|
||||||
|
get_namespace_details spire-server
|
||||||
|
get_namespace_details spire-system
|
||||||
|
fi
|
||||||
Executable
+6
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
kubectl create namespace spire-system
|
||||||
|
kubectl label namespace spire-system pod-security.kubernetes.io/enforce=privileged
|
||||||
|
kubectl create namespace spire-server
|
||||||
|
kubectl label namespace spire-server pod-security.kubernetes.io/enforce=restricted
|
||||||
@@ -4,6 +4,10 @@ description: A Helm chart to deploy Tornjak frontend
|
|||||||
type: application
|
type: application
|
||||||
version: 0.1.0
|
version: 0.1.0
|
||||||
appVersion: "v1.0.2"
|
appVersion: "v1.0.2"
|
||||||
|
home: https://github.com/spiffe/helm-charts/tree/main/charts/spire
|
||||||
|
sources:
|
||||||
|
- https://github.com/spiffe/tornjak
|
||||||
|
icon: https://raw.githubusercontent.com/spiffe/tornjak/main/logos/logo%2Btornjak.2132x1291.png
|
||||||
maintainers:
|
maintainers:
|
||||||
- name: mrsabath
|
- name: mrsabath
|
||||||
email: [email protected]
|
email: [email protected]
|
||||||
|
|||||||
@@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
A Helm chart to deploy Tornjak frontend
|
A Helm chart to deploy Tornjak frontend
|
||||||
|
|
||||||
|
**Homepage:** <https://github.com/spiffe/helm-charts/tree/main/charts/spire>
|
||||||
|
|
||||||
## Version support
|
## Version support
|
||||||
|
|
||||||
> **Note**: This Chart is still in development and still subject to change the API (`values.yaml`).
|
> **Note**: This Chart is still in development and still subject to change the API (`values.yaml`).
|
||||||
@@ -39,6 +41,10 @@ port forwarding. See the chart NOTES output for more details.
|
|||||||
| ---- | ------ | --- |
|
| ---- | ------ | --- |
|
||||||
| mrsabath | <mrsabath@gmail.com> | <https://mrsabath.github.io> |
|
| mrsabath | <mrsabath@gmail.com> | <https://mrsabath.github.io> |
|
||||||
|
|
||||||
|
## Source Code
|
||||||
|
|
||||||
|
* <https://github.com/spiffe/tornjak>
|
||||||
|
|
||||||
## Values
|
## Values
|
||||||
|
|
||||||
| Key | Type | Default | Description |
|
| Key | Type | Default | Description |
|
||||||
|
|||||||
@@ -77,3 +77,18 @@ spiffe-oidc-discovery-provider:
|
|||||||
drop: [ALL]
|
drop: [ALL]
|
||||||
seccompProfile:
|
seccompProfile:
|
||||||
type: RuntimeDefault
|
type: RuntimeDefault
|
||||||
|
|
||||||
|
tornjak-frontend:
|
||||||
|
podSecurityContext:
|
||||||
|
runAsUser: 1000
|
||||||
|
runAsGroup: 1000
|
||||||
|
fsGroup: 1000
|
||||||
|
fsGroupChangePolicy: OnRootMismatch
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
runAsNonRoot: true
|
||||||
|
readOnlyRootFilesystem: false
|
||||||
|
capabilities:
|
||||||
|
drop: [ALL]
|
||||||
|
seccompProfile:
|
||||||
|
type: RuntimeDefault
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# Recommended setup to deploy Tornjak
|
||||||
|
|
||||||
|
To install Spire with the least privileges possible we deploy spire across 2 namespaces.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
kubectl create namespace "spire-system"
|
||||||
|
kubectl label namespace "spire-system" pod-security.kubernetes.io/enforce=privileged
|
||||||
|
kubectl create namespace "spire-server"
|
||||||
|
kubectl label namespace "spire-server" pod-security.kubernetes.io/enforce=restricted
|
||||||
|
|
||||||
|
# deploy SPIRE with Tornjak enabled
|
||||||
|
helm upgrade --install --namespace spire-server --values ../production/values.yaml \
|
||||||
|
--values ./values.yaml spire charts/spire
|
||||||
|
|
||||||
|
# test the Tornjak deployment
|
||||||
|
helm test spire -n spire-server
|
||||||
|
```
|
||||||
|
|
||||||
|
See [values.yaml](./values.yaml) for more details on the chart configurations to achieve this setup.
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
spire-server:
|
||||||
|
tornjak:
|
||||||
|
enabled: true
|
||||||
|
|
||||||
|
tornjak-frontend:
|
||||||
|
enabled: true
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
port: 3000
|
||||||
|
apiServerURL: "http://localhost:10000/"
|
||||||
Reference in New Issue
Block a user