Big Bang

repository·master·Indexed 42 days ago

https://github.com/dod-platform-one/bigbang

A declarative continuous delivery tool for deploying DoD-hardened and approved packages into Kubernetes clusters, designed to implement the DoD DevSecOps Reference Architecture. It provides installation manifests for core capabilities including service mesh, policy enforcement, logging, monitoring, and runtime security.

Tokens
183.9K
Snippets
445
Records
792
Agent score
53%

What's inside Big Bang

  1. Overview of MinIO in Big Bang

    master

    MinIO is a Kubernetes-native object storage suite used within Big Bang. The implementation is split into three distinct components:

    1. MinIO Operator: Manages custom resources and different MinIO tenants. It must be able to reach MinIO instances to manage upgrades (ensure networkPolicies allow ingress to MinIO pods on port 9000).
    2. MinIO Package: Used to create individual MinIO tenants for specific applications (e.g., GitLab).
    3. MinIO Console: A graphical user interface (GUI) for managing individual tenants, including bucket setup and access control.

    MinIO relies on a default storage class with volumeBindingMode: WaitForFirstConsumer to create PersistentVolumes and PersistentVolumeClaims.

  2. Overview of Big Bang

    master
    Big Bang is a declarative, continuous delivery tool designed to deploy Department of War (DoW) hardened and approved packages into a Kubernetes cluster. It provides installation manifests for packages required to adhere to the DoD DevSecOps Reference Architecture, including utilities for ingress/egress, load balancing, policy auditing, logging, and monitoring. Once deployed, the cluster can be used to host mission-specific applications.
  3. Overview of GitLab Triage Tools

    master

    The scripts/gitlab-triage/ directory contains utilities for managing Big Bang GitLab work:

    • doc-review.sh: Finds stale markdown documentation and creates review issues.
    • remove-stale.sh: Removes stale labels from documentation issues.
    • attach-renovate-issues-to-epic.sh: Attaches closed Renovate issues to a specific epic or work item based on a date range.
  4. Understand the Big Bang 3.0 Operatorless Istio Migration

    master

    Big Bang 3.0 is transitioning from the Istio Operator to a direct Helm-based deployment model using upstream base and istiod charts. This change is driven by the deprecation of the Istio Operator in Istio 1.24.

    Important Notes:

    • Breaking Change: This new deployment paradigm is fundamentally incompatible with previous Istio deployments in Big Bang.
    • Alpha Status: The new packages are currently in alpha and should not be used in production environments.
    • Timeline: Big Bang aims for a full 3.0 transition on or before May 2025 to align with the Istio 1.23 EOL.
  5. Find Big Bang documentation by task

    master

    Use the following guide to locate specific documentation based on your current goal:

    GoalDocumentation Path
    Understand architecture and GitOps modelconcepts/
    Configure global and package valuesconfiguration/
    Choose environment-specific deployment patternsinstallation/
    Operate, upgrade, and troubleshootoperations/
    Review integrated and optional packagespackages/
    Follow a focused proceduretutorials/
    Contribute to Big Bang or package developmentcommunity/
  6. Operate a running Big Bang deployment

    master

    Big Bang operations for an existing deployment focus on three primary areas:

    1. Day-to-day operations: Maintaining cluster health through monitoring and observability.
    2. Lifecycle management: Ensuring data protection via backup and restore procedures, and managing the two-week release cadence through planned upgrades.
    3. Issue resolution: Troubleshooting problems based on observed symptoms.

    Note: This documentation is for running deployments. For initial deployment instructions, refer to the Getting Started guide.

  7. Diagnose common networking symptoms

    master

    Networking issues in Big Bang typically manifest in four ways:

    1. Connection Reset (ECONNRESET): Connections are immediately refused. Often caused by Network Policies, missing service endpoints, or port misconfigurations.
      • Example Error: Error: connect 10.0.0.1:8080 ECONNRESET
    2. HTTP 403 RBAC Access Denied: Requests are blocked by Istio authorization policies, missing service account permissions, or invalid JWT/certificates.
      • Example Error: HTTP 403 Forbidden RBAC: access denied
    3. DNS Resolution Failures: Inability to resolve service names, often due to CoreDNS issues or Network Policies blocking DNS traffic.
      • Example Error: nslookup: can't resolve 'service-name.namespace.svc.cluster.local'
    4. TLS/mTLS Errors: Certificate validation failures caused by Istio mTLS misconfiguration, expired certificates, or CA bundle problems.
      • Example Error: x509: certificate signed by unknown authority
  8. Understand Headlamp for Kubernetes Management

    master

    Headlamp is an open-source, web-based Kubernetes user interface (UI) designed for monitoring, inspecting, and managing Kubernetes clusters. It provides a modern, extensible alternative to the official Kubernetes Dashboard and reduces reliance on CLI tools like kubectl.

    Core Capabilities

    • Cluster Monitoring: Real-time updates of cluster objects (pods, nodes, services, etc.) and a map view of namespace structures (connecting pods, services, endpoints, and config maps).
    • Workload Inspection: View and manage workloads, services, namespaces, RBAC, secrets, and config maps.
    • Debugging: Stream logs and open interactive shells into containers directly from the UI.
    • Multi-Cluster Management: Manage multiple clusters (e.g., staging, QA, production) from a single Headlamp instance.
    • Security: Respects native Kubernetes RBAC configurations, ensuring users only see authorized resources.
  9. Velero Overview and Dependencies

    master

    Velero is an open-source tool used for backing up and restoring Kubernetes cluster resources and persistent volumes, performing disaster recovery, and managing cluster migrations.

    Key Dependencies & Integrations:

    • Object Storage: Required for data persistence (e.g., MinIO, S3).
    • Metrics: Velero exports metrics to Prometheus.
    • Storage Providers: Can use cloud-native block storage or local MinIO instances provided by Big Bang addons.
  10. New Big Bang 3.0 Packages: Headlamp, Backstage, and Compliance Dashboard

    master

    Big Bang 3.0 expands the umbrella chart with three new packages:

    • Headlamp: A Kubernetes UI recommended for monitoring Flux Custom Resource state without needing kubectl.
    • Backstage: An open-source developer portal framework with customized modules for Big Bang applications.
    • Compliance Dashboard: A unified dashboard that aggregates data from multiple tools to provide a single interface for cluster security, policies, and an overall Compliance Score.