acrlabs / simkube

Record-and-replay Kubernetes simulator based on KWOK
https://appliedcomputing.io/simkube
MIT License
164 stars 7 forks source link

Add support for deployment with kustomize #118

Closed drmorr0 closed 2 weeks ago

drmorr0 commented 2 weeks ago

Description

Add kustomize-able files in k8s/kustomize

Testing done

Additional info

Resolves #104

drmorr0 commented 2 weeks ago

Kubernetes Object DAG

%%{init: {'themeVariables': {'mainBkg': '#ddd'}}}%%
graph LR

classDef default color:#000
subgraph global
  direction LR
  global/simkube[<b>Namespace</b><br>simkube]
%% DELETED OBJECTS START
%% DELETED OBJECTS END
end

subgraph sk-tracer
  direction LR
  simkube/sk-tracer-svc[<b>Service</b><br>sk-tracer-svc]
  simkube/sk-tracer-depl[<b>Deployment</b><br>sk-tracer-depl]
  simkube/sk-tracer-sa[<b>ServiceAccount</b><br>sk-tracer-sa]
  sk-tracer/sk-tracer-crb[<b>ClusterRoleBinding</b><br>sk-tracer-crb]
  simkube/sk-tracer-tracer-config[<b>ConfigMap</b><br>sk-tracer-tracer-config]
  simkube/sk-tracer-sa--->simkube/sk-tracer-depl
  sk-tracer/sk-tracer-crb--->simkube/sk-tracer-depl
  simkube/sk-tracer-tracer-config--->simkube/sk-tracer-depl
%% DELETED OBJECTS START
%% DELETED OBJECTS END
end

subgraph sk-ctrl
  direction LR
  simkube/sk-ctrl-depl[<b>Deployment</b><br>sk-ctrl-depl]
  simkube/sk-ctrl-sa[<b>ServiceAccount</b><br>sk-ctrl-sa]
  sk-ctrl/sk-ctrl-crb[<b>ClusterRoleBinding</b><br>sk-ctrl-crb]
  simkube/sk-ctrl-sa--->simkube/sk-ctrl-depl
  sk-ctrl/sk-ctrl-crb--->simkube/sk-ctrl-depl
%% DELETED OBJECTS START
%% DELETED OBJECTS END
end

global--->sk-tracer
global--->sk-ctrl

%% STYLE DEFINITIONS START
  style simkube/test-depl fill:#e67
  style simkube/sk-tracer-depl fill:#cb4
%% STYLE DEFINITIONS END

New object Deleted object Updated object Updated object (causes pod recreation)

Detailed Diff

#### simkube/sk-tracer-depl: ChangedWithPodRecreate ``` root['spec']['template']['spec']['containers'][0]['securityContext']: not present --> { "capabilities": { "add": [ "SYS_PTRACE" ] } } ```
#### simkube/test-depl: Removed ``` root: { "apiVersion": "apps/v1", "kind": "Deployment", "metadata": { "labels": { "app.kubernetes.io/name": "test" }, "name": "test-depl", "namespace": "simkube" }, "spec": { "replicas": 1, "selector": { "matchLabels": { "app.kubernetes.io/name": "test" } }, "template": { "metadata": { "labels": { "app.kubernetes.io/name": "test" } }, "spec": { "containers": [ { "env": [ { "name": "POD_OWNER", "value": "test-depl" } ], "image": "nginx:latest", "name": "nginx", "resources": { "requests": { "cpu": "1" } } } ], "nodeSelector": { "type": "virtual" }, "tolerations": [ { "effect": "NoSchedule", "key": "kwok-provider", "value": "true" } ] } } } } --> not present ```
codecov[bot] commented 2 weeks ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 73.23%. Comparing base (73f7e7b) to head (0ca4676).

Additional details and impacted files ```diff @@ Coverage Diff @@ ## master #118 +/- ## ======================================= Coverage 73.23% 73.23% ======================================= Files 39 39 Lines 2156 2156 ======================================= Hits 1579 1579 Misses 577 577 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.