Skip to the content.

13. Enhancing Security Measures

Date: 2023-01-16

Status

Accepted

Context

The necessity to bolster the security of our application has been identified, particularly in relation to the encryption of secret data during deployment.

Decision

Management of Secrets

To protect secret data during deployment, we have decided to utilize SOPS.

The following diagram illustrates the process:

graph TD
    A(GIT) -- Push --> B(GitLab CI/CD)
    B -- Run --> C[Helm]
    C -- Use --> D(helm secrets)
    B -- Pul --> F[ArgoCD]
    F -- Run --> G[Kubernetes]
    G -- Run --> H[Service]
    style A fill:#58c0f0,stroke:#333,stroke-width:2px
    style B fill:#4caf50,stroke:#333,stroke-width:2px
    style C fill:#f9a825,stroke:#333,stroke-width:2px
    style D fill:#f9a825,stroke:#333,stroke-width:2px
    style F fill:#f9a825,stroke:#333,stroke-width:2px
    style G fill:#f9a825,stroke:#333,stroke-width:2px
    style H fill:#f9a825,stroke:#333,stroke-width:2px

Security in Kubernetes

To identify potential security issues within our cluster, we will use kubescape.

kubescape

Supply Chain Security

To ensure the security of our supply chain, we will adopt SLSA. For docker builds, the flags --sbom=true and --provenance=true will be added.

Consequences

References