From 4d735515c68aeb225030cd7076c321ea3fbd51bf Mon Sep 17 00:00:00 2001 From: Tunde Oladipupo <toladipupo@oteemo.com> Date: Fri, 9 Apr 2021 20:47:28 +0000 Subject: [PATCH] release 1.5.0 backports --- CHANGELOG.md | 94 +++++++++++++++++++++++++++++++++++++++++ README.md | 24 +++++------ base/gitrepository.yaml | 2 +- chart/Chart.yaml | 2 +- chart/values.yaml | 4 +- 5 files changed, 110 insertions(+), 16 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3495d39b17..f5d88e2621 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,100 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). --- +## [1.5.0] + +### Upgrade Notice + +This update includes several additions to fluent-bit which are recommended for production environments to increase reliability of log ingestion to the ECK stack. + +This is mainly accomplished within fluent-bit by introducing a [filesystem storage buffer](https://docs.fluentbit.io/manual/administration/buffering-and-storage#filesystem-buffering-to-the-rescue) interacting with a new `hostPath` volume in fluent-bit containers. +By default, this is mounted to nodes at `/var/log/flb-storage/`, however it can be updated in the package's values in 3 places: +```yaml +storage_buffer: + path: /var/log/flb-storage/ + +extraVolumes: + - hostPath: + path: /var/log/flb-storage/ + type: DirectoryOrCreate + name: flb-storage + +extraVolumeMounts: + - mountPath: /var/log/flb-storage/ + name: flb-storage +``` + +* [!386](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/386): Updated Fluentbit to 1.7.2 which fixes #335. +* [!356](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/356): Enabled flux monitoring via Prometheus/Grafana in Monitoring package. +* [!380](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/380): Fixed `eckoperator.enabled` conditional. +* Added and Documented Affinity support. + * [!379](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/379) Twistlock + * [!393](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/393) Cluster Auditor + +## [1.4.0] + +### Upgrade Notice + +This update includes updated `EnvoyFilters` for `authservice` to fix #65 and is a component of a future upgrade to istio 1.8 (#191). + +__After upgrading BigBang to this version, you must follow the steps below to ensure apps protected by `authservice` are still protected.__ + +In order to ensure sso for all services protected by `authservice` remain functional (`kiali`, `jaeger`, `prometheus`, and `alertmanager`), the `istio-proxy` sidecar attached to the `haproxy` infront of the services must be updated to `1.7.7`. + +The easiest way to do this is to cycle the pod: + +```bash +kubectl delete po -n authservice -l app.kubernetes.io/instance=authservice-haproxy-sso +``` + +> __Note__: these 4 services (`kiali`, `jaeger`, `prometheus`, and `alertmanager`) will be unavailable for ~10s while the pod cycles. In the future we aim to provide an HA implementation of authservice's haproxy so the above operations can happen without downtime. + +* [!300](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/300): Velero Addon Addition +* [!308](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/308): BigBang values migrated to Secret objects parsed by `HelmRelease` objects within chart. (also fixes #221) +* [!357](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/357): Updated Anchore (Engine 0.9.3, Enterprise 3.0.2). +* [!333](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/333): Updated Mattermost (Operator: 1.13.0, Instance: 5.32.1). +* [!346](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/346): Redis Integration with Anchore Enterprise Package. +* [!318](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/318): Redis Integration with ArgoCD Package. + +## [1.3.0] + +* [!322](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/322): Updated anchore to 0.9.2, enterprise 3.0.1, this also fixes #135 +* [!309](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/309): Add support for Gitlab CAC signed commits and custom CAs +* [!311](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/311): Update minio to `RELEASE.2020-11-19T23-48-16Z` and expose more user configuration options +* [!220](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/220): Added consolidatedflux installation (without `flux` cli) +* [!319](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/319): Updated gitlab-runner to `13.9.0` IronBank image (note this uses a different chart schema than previous versions, see [here](https://docs.gitlab.com/runner/install/kubernetes.html#additional-configuration) for more information) +* [!340](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/340): Package `bigbang` repo in `repositories.tar.gz` release artifact + + +In addition, [Big Bang Pre-requisites](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/blob/1.4.0/docs/d_prerequisites.md) has been added as a location to store all (known) pre-requisites for running BigBang on various distributions. Over time, more distributions will be added as they are tested, community (and vendor) contributions are welcomed! + +## [1.2.0] + +* [!270](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/270): upgrade to flux 0.7.x, this requires updating flux and fixes #13 +* [!250](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/250): Filename spelling correction in scripts directory +* [!259](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/259), [!265](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/265), [!274](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/274): documentation updates +* [!263](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/263), [!271](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/271): Update codeowners +* [!263](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/263): add missing enterprise Anchore images to airgap bundle +* [!237](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/237): add gitlab-runner to test values +* [!266](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/266): update fluentbit package version +* [!269](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/269): Update charter/PackageOwner.md +* [!256](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/256): update developer documentation +* [!272](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/272): Remove CI jobs that check for things no longer required as part of the developer workflow +* [!264](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/264), [!238](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/238): Update BigBang repo url references from "umbrella" to "bigbang" +* [!249](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/249): image for gatekeeper is set in the chart and should not be hardcoded in the HelmRelease +* [!202](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/202): add initial support for openshift (ocp) +* [!272](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/272): upgrade argocd helm chart to 2.14.7-bb.0 +* [!232](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/232): Twistlock IB image and VirtualServcie customization +* [!210](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/210): only run cluster tests when chart contents have changed +* [!279](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/279): remove hardcoded ArgoCD server url config, allow users to set their own sso url +* [!215](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/215): add sample sso values +* [!286](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/286): add Ironbank defender image to synker config +* [!287](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/287): add gitlab runner images to synker config +* [!288](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/288): split minio into minio operator and minio and move to addons +* [!255](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/255): Integrate Mattermost Operator as an addon +* [!273](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/273): Integrate Mattermost as an addon +* [!291](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/291): enable MinIO in CI tests +* [!290](https://repo1.dso.mil/platform-one/big-bang/bigbang/-/merge_requests/290): upgrade Mattermost chart version. Uses latest IronBank image ## [1.4.0] diff --git a/README.md b/README.md index 297da9ba3e..329e2d2af1 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,9 @@ # bigbang -  +  Big Bang is a declarative, continuous delivery tool for core DoD hardened and approved packages into a Kubernetes cluster. -> _This is a mirror of a government repo hosted on [Repo1](https://repo1.dso.mil/) by [DoD Platform One](http://p1.dso.mil/). Please direct all code changes, issues and comments to https://repo1.dso.mil/platform-one/big-bang/bigbang_ - **Homepage:** <https://p1.dso.mil/#/products/big-bang> Big Bang follows a [GitOps](#gitops) approach to configuration management, using [Flux v2](#flux-v2) to reconcile Git with the cluster. Environments (e.g. dev, prod) and packages (e.g. istio) can be fully configured to suit the deployment needs. @@ -44,13 +42,15 @@ To start using Big Bang, you will need to create your own Big Bang environment t | git.credentials | object | `{"knownHosts":"","password":"","privateKey":"","publicKey":"","username":""}` | Chart created secrets with user defined values | | git.credentials.username | string | `""` | HTTP git credentials, both username and password must be provided | | git.credentials.privateKey | string | `""` | SSH git credentials, privateKey, publicKey, and knownHosts must be provided | -| sso | object | `{"certificate_authority":"","client_id":"","client_secret":"","jwks":"","oidc":{"host":"login.dso.mil","realm":"baby-yoda"}}` | Global SSO values used for BigBang deployments when sso is enabled, can be overridden by individual packages. | +| sso | object | `{"auth_url":"https://{{ .Values.sso.oidc.host }}/auth/realms/{{ .Values.sso.oidc.realm }}/protocol/openid-connect/auth","certificate_authority":"","client_id":"","client_secret":"","jwks":"","oidc":{"host":"login.dso.mil","realm":"baby-yoda"},"token_url":"https://{{ .Values.sso.oidc.host }}/auth/realms/{{ .Values.sso.oidc.realm }}/protocol/openid-connect/token"}` | Global SSO values used for BigBang deployments when sso is enabled, can be overridden by individual packages. | | sso.oidc.host | string | `"login.dso.mil"` | Domain for keycloak used for configuring SSO | | sso.oidc.realm | string | `"baby-yoda"` | Keycloak realm containing clients | | sso.certificate_authority | string | `""` | Keycloak's certificate authority (unencoded) used by authservice to support SSO for various packages | | sso.jwks | string | `""` | Keycloak realm's json web key uri, obtained through https://<keycloak-server>/auth/realms/<realm>/.well-known/openid-configuration | | sso.client_id | string | `""` | OIDC client ID used for packages authenticated through authservice | | sso.client_secret | string | `""` | OIDC client secret used for packages authenticated through authservice | +| sso.token_url | string | `"https://{{ .Values.sso.oidc.host }}/auth/realms/{{ .Values.sso.oidc.realm }}/protocol/openid-connect/token"` | OIDC token URL template string (to be used as default) | +| sso.auth_url | string | `"https://{{ .Values.sso.oidc.host }}/auth/realms/{{ .Values.sso.oidc.realm }}/protocol/openid-connect/auth"` | OIDC auth URL template string (to be used as default) | | flux | object | `{"install":{"retries":3},"interval":"2m","rollback":{"cleanupOnFail":true,"timeout":"10m"},"upgrade":{"retries":3}}` | (Advanced) Flux reconciliation parameters. The default values provided will be sufficient for the majority of workloads. | | istio.enabled | bool | `true` | Toggle deployment of Istio. | | istio.git.repo | string | `"https://repo1.dso.mil/platform-one/big-bang/apps/core/istio-controlplane.git"` | | @@ -71,7 +71,7 @@ To start using Big Bang, you will need to create your own Big Bang environment t | clusterAuditor.enabled | bool | `true` | Toggle deployment of Cluster Auditor. | | clusterAuditor.git.repo | string | `"https://repo1.dso.mil/platform-one/big-bang/apps/core/cluster-auditor.git"` | | | clusterAuditor.git.path | string | `"./chart"` | | -| clusterAuditor.git.tag | string | `"0.1.8-bb.1"` | | +| clusterAuditor.git.tag | string | `"0.1.8-bb.2"` | | | clusterAuditor.values | object | `{}` | Values to passthrough to the cluster auditor chart: https://repo1.dso.mil/platform-one/big-bang/apps/core/cluster-auditor.git | | gatekeeper.enabled | bool | `true` | Toggle deployment of OPA Gatekeeper. | | gatekeeper.git.repo | string | `"https://repo1.dso.mil/platform-one/big-bang/apps/core/policy.git"` | | @@ -81,7 +81,7 @@ To start using Big Bang, you will need to create your own Big Bang environment t | logging.enabled | bool | `true` | Toggle deployment of Logging (EFK). | | logging.git.repo | string | `"https://repo1.dso.mil/platform-one/big-bang/apps/core/elasticsearch-kibana.git"` | | | logging.git.path | string | `"./chart"` | | -| logging.git.tag | string | `"0.1.4-bb.4"` | | +| logging.git.tag | string | `"0.1.7-bb.0"` | | | logging.sso.enabled | bool | `false` | Toggle OIDC SSO for Kibana/Elasticsearch on and off. Enabling this option will auto-create any required secrets. | | logging.sso.client_id | string | `""` | Elasticsearch/Kibana OIDC client ID | | logging.sso.client_secret | string | `""` | Elasticsearch/Kibana OIDC client secret | @@ -96,7 +96,7 @@ To start using Big Bang, you will need to create your own Big Bang environment t | fluentbit.enabled | bool | `true` | Toggle deployment of Fluent-Bit. | | fluentbit.git.repo | string | `"https://repo1.dso.mil/platform-one/big-bang/apps/core/fluentbit.git"` | | | fluentbit.git.path | string | `"./chart"` | | -| fluentbit.git.tag | string | `"0.7.10-bb.0"` | | +| fluentbit.git.tag | string | `"0.15.3-bb.0"` | | | fluentbit.values | object | `{}` | | | monitoring.enabled | bool | `true` | Toggle deployment of Monitoring (Prometheus, Grafana, and Alertmanager). | | monitoring.git.repo | string | `"https://repo1.dso.mil/platform-one/big-bang/apps/core/monitoring.git"` | | @@ -116,12 +116,12 @@ To start using Big Bang, you will need to create your own Big Bang environment t | twistlock.enabled | bool | `true` | Toggle deployment of Twistlock. | | twistlock.git.repo | string | `"https://repo1.dso.mil/platform-one/big-bang/apps/security-tools/twistlock.git"` | | | twistlock.git.path | string | `"./chart"` | | -| twistlock.git.tag | string | `"0.0.3-bb.1"` | | +| twistlock.git.tag | string | `"0.0.3-bb.3"` | | | twistlock.values | object | `{}` | Values to passthrough to the twistlock chart: https://repo1.dso.mil/platform-one/big-bang/apps/security-tools/twistlock.git | | addons.argocd.enabled | bool | `false` | Toggle deployment of ArgoCD. | | addons.argocd.git.repo | string | `"https://repo1.dso.mil/platform-one/big-bang/apps/core/argocd.git"` | | | addons.argocd.git.path | string | `"./chart"` | | -| addons.argocd.git.tag | string | `"2.14.7-bb.2"` | | +| addons.argocd.git.tag | string | `"2.14.7-bb.3"` | | | addons.argocd.sso.enabled | bool | `false` | Toggle SSO for ArgoCD on and off | | addons.argocd.sso.client_id | string | `""` | ArgoCD OIDC client ID | | addons.argocd.sso.client_secret | string | `""` | ArgoCD OIDC client secret | @@ -176,7 +176,7 @@ To start using Big Bang, you will need to create your own Big Bang environment t | addons.sonarqube.enabled | bool | `false` | Toggle deployment of SonarQube. | | addons.sonarqube.git.repo | string | `"https://repo1.dso.mil/platform-one/big-bang/apps/developer-tools/sonarqube.git"` | | | addons.sonarqube.git.path | string | `"./chart"` | | -| addons.sonarqube.git.tag | string | `"9.2.6-bb.6"` | | +| addons.sonarqube.git.tag | string | `"9.2.6-bb.7"` | | | addons.sonarqube.sso.enabled | bool | `false` | Toggle OIDC SSO for SonarQube. Enabling this option will auto-create any required secrets. | | addons.sonarqube.sso.client_id | string | `""` | SonarQube OIDC client ID | | addons.sonarqube.sso.label | string | `""` | SonarQube SSO login button label | @@ -220,12 +220,12 @@ To start using Big Bang, you will need to create your own Big Bang environment t | addons.mattermostoperator.enabled | bool | `false` | | | addons.mattermostoperator.git.repo | string | `"https://repo1.dso.mil/platform-one/big-bang/apps/collaboration-tools/mattermost-operator.git"` | | | addons.mattermostoperator.git.path | string | `"./chart"` | | -| addons.mattermostoperator.git.tag | string | `"1.13.0-bb.0"` | | +| addons.mattermostoperator.git.tag | string | `"1.13.0-bb.2"` | | | addons.mattermostoperator.values | object | `{}` | Values to passthrough to the mattermost operator chart: https://repo1.dso.mil/platform-one/big-bang/apps/collaboration-tools/mattermost-operator/-/blob/main/chart/values.yaml | | addons.mattermost.enabled | bool | `false` | Toggle deployment of Mattermost. | | addons.mattermost.git.repo | string | `"https://repo1.dso.mil/platform-one/big-bang/apps/collaboration-tools/mattermost.git"` | | | addons.mattermost.git.path | string | `"./chart"` | | -| addons.mattermost.git.tag | string | `"0.1.1-bb.3"` | | +| addons.mattermost.git.tag | string | `"0.1.2-bb.0"` | | | addons.mattermost.enterprise | object | `{"enabled":false,"license":""}` | Mattermost Enterprise functionality. | | addons.mattermost.enterprise.enabled | bool | `false` | Toggle the Mattermost Enterprise. This must be accompanied by a valid license unless you plan to start a trial post-install. | | addons.mattermost.enterprise.license | string | `""` | License for Mattermost. This should be the entire contents of the license file from Mattermost (should be one line), example below license: "eyJpZCI6InIxM205bjR3eTdkYjludG95Z3RiOD---REST---IS---HIDDEN | diff --git a/base/gitrepository.yaml b/base/gitrepository.yaml index 9e6dcb2335..88df4d284d 100644 --- a/base/gitrepository.yaml +++ b/base/gitrepository.yaml @@ -11,4 +11,4 @@ spec: interval: 10m url: https://repo1.dso.mil/platform-one/big-bang/bigbang.git ref: - tag: 1.4.0 + tag: 1.5.0 diff --git a/chart/Chart.yaml b/chart/Chart.yaml index 98262d5dc4..8ce00bca2f 100644 --- a/chart/Chart.yaml +++ b/chart/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: bigbang -version: 1.4.0 +version: 1.5.0 description: Big Bang is a declarative, continuous delivery tool for core DoD hardened and approved packages into a Kubernetes cluster. type: application diff --git a/chart/values.yaml b/chart/values.yaml index 78e546b56c..828c1ceac7 100644 --- a/chart/values.yaml +++ b/chart/values.yaml @@ -282,7 +282,7 @@ addons: git: repo: https://repo1.dso.mil/platform-one/big-bang/apps/core/argocd.git path: "./chart" - tag: "2.14.7-bb.2" + tag: "2.14.7-bb.3" sso: # -- Toggle SSO for ArgoCD on and off enabled: false @@ -439,7 +439,7 @@ addons: git: repo: https://repo1.dso.mil/platform-one/big-bang/apps/developer-tools/sonarqube.git path: "./chart" - tag: "9.2.6-bb.6" + tag: "9.2.6-bb.7" sso: # -- Toggle OIDC SSO for SonarQube. -- GitLab