Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge the work from anynines back to the community #1

Merged
merged 33 commits into from
Mar 13, 2024
Merged

Conversation

bmo-at-a9s
Copy link

Changelog

Short summary

This is a huge effort to merge our changes over the last 8 months back to the community-maintained version.
Not everything here is perfect, so change requests are very welcome.
Our primary goal in these 8 months was maintenance: So we fixed any CVEs we found, and tried to merge as many open PRs from the old repository as possible.
An open discourse on which of these changes make sense is welcome, and we will not be offended if not all of these changes make it in in the current form. This PR is more of a representative area, as we do not expect it to just be merged but instead will probably be sliced into more manageable pieces that can be properly reviewed and merged.
Thank you for your time and effort in helping to make this possible!

Merged PRs

website - docusaurus v3 upgrade

  • Docusaurus has been upgraded to v3, in order to fix the CVEs that have popped up
  • Also includes some workarounds to make this possible in the build script and appropriate comments to document why the workarounds are necessary.

jetstream - upgraded swag binary in build script and remove legacy module flags

  • upgraded swag to v1.16.2, added --parseDependency flag for compatability
  • removed GO111MODULE flag

jetstream - deduplicate column names in tests

  • effort to reduce code duplication (primarily strings)

anynines/stratos@90769d3

jetstream - update dependencies to address cves

anynines/stratos@81a9772

jetstream - initial support for CA Certificates for endpoints

anynines/stratos@ecce6b6

stratos - allow product name to be changed

anynines/stratos@c660d9c

jetstream - allow newer pgsql versions

anynines/stratos@ec46c9c

jetstream - add errorz package to combine errors

  • Still open to changes, but preliminary effort to improve error handling from just using string equality

anynines/stratos@61e3c00

stratos - Fix frontend CVEs

anynines/stratos@83683da

jetstream - fix gogoproto related panic when retrieving logs upgrade github.com/cloudfoundry/noaa/consumer to 2.3.0

anynines/stratos@dbe4bff

jetstream - apply freudl#1 (fetch recent logs via log cache)

anynines/stratos@21ac64f

jetstream - Upgrade code.cloudfoundry.org/cli to v8

anynines/stratos@bce7ac3

stratos - add extension package

anynines/stratos@c0aa141

stratos - remove sass-lint and stratos-protractor-reporter (deprecated)

anynines/stratos@c305846

stratos - upgrade to node v20

anynines/stratos@e987602

jetstream - use staticcheck to improve code quality

anynines/stratos@3abe97e

stratos - add script to help with building as packages and fix devkit and package info

anynines/stratos@7276048

repository - add GitHub actions for frontend and backend tests

anynines/stratos@9dab9c9

stratos - update store references to @stratosui/store

anynines/stratos@973bafb

jetstream - adjust dependencies for migration

anynines/stratos@1de97cb

jetstream - add Helm support for local repos in desktop mode

anynines/stratos@4f06db2

stratos - build base images when pushing to develop

  • create a workflow to automate the building of base images

anynines/stratos@6f7e34d

jetstream - Move repository/interfaces to its own submodule

  • move the interfaces to the new api submodule

anynines/stratos@081a242

jetstream - migrate to github.com/pressly/goose

anynines/stratos@e3f866b

stratos/website - adjust required memory for cf deploys

anynines/stratos@c4e5d5d

frontend (theme builder) - cast types

anynines/stratos@25377e7

jetstream - fix backend unit tests and improve code quality

  • replace use of deprecated package ioutil
  • fix a pointer receiver bug
  • capitalize error strings

anynines/stratos@c6722bf

jetstream - bump dependencies to fix CVEs

  • update go toolchain from 1.12 to 1.20
  • tidy up module dependencies

anynines/stratos@c4f4d74

stratos - improve vulnverability checking

  • add dependabot to repo
  • fix swag install in build script

anynines/stratos@0c5d0d7

stratos - replace base image for docker build

  • replace opsenSUSE leap 15_2 with centOS 7
  • ensure builds run on all architectures

anynines/stratos@3cb4c7e

Releases

4.5.0

anynines/stratos@9e32208

Description

Motivation and Context

How Has This Been Tested?

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • Docs update
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have followed the guidelines in CONTRIBUTING.md, including the required formatting of the commit message

bmo-at-a9s and others added 30 commits July 14, 2023 14:55
* use centos 7 as default base image

* don't remove packages that aren't there

* set imagePullPolicy to IfNotPresent

* adjust docker org and tag

* make builds work with centos 7, also revise build script to include param for architecture

* adjust image list for centos 7
* Fix install of swag

Go now uses `go install` instead of `go get` to install packages to the local machine

* replace docs module appropriately

* Configure dependabot

Introduce a basic dependabot.yaml to check for
updates both in the project root for npm and in
the backend directory (src/jetstream) for go

* Include website and electron projects in dependabot
* Delete grufty go.sum, gut go.mod entirely and refresh dependencies

* add back some dependencies needed for tests to run; update return values of methods using go-sqlmock to use pointers
…-community#15)

* Fix backend unit tests

- Ensure int value is formatted as such
- This was causing the backend unit tests to fail, possibly by dependency change

* Replace ioutil usage and decapitalize error strings

* Change receiver to be a pointer in order for assignment to persist

If the receiver is not pointer, the struct is copied and the assignment `r.sent = true` has no effect because r will be discarded after the function returns.

---------

Co-authored-by: Richard Cox <ricox@suse.com>
In this case, `prjMetadata.root` is an untyped JSON result (that is, it
can be object, array, number, etc.), but FS.copySync needs to take a
string; do an explicit cast here to make TypeScript happy.

Signed-off-by: Mark Yen <mark.yen@suse.com>
Co-authored-by: Mark Yen <mark.yen@suse.com>
Co-authored-by: Neil MacDougall <neil_macdougall@hotmail.com>
* Migrate to goose fork

* Code quality improvements from go-staticcheck

* Migrate migrations to github.com/pressly/goose

---------

Co-authored-by: Ivan Kapelyukhin <ikapelyukhin@suse.com>
…mmunity#19)

* Delete grufty go.sum, gut go.mod entirely and refresh dependencies

* add back some dependencies needed for tests to run; update return values of methods using go-sqlmock to use pointers

* Update module structure

* Small update of functions/imports to get latest version

* Adjust to pointers for newer version of sqlmock

* Remove ioutil, add new logic to actually get expiry claim from jwt

* Move api into its own module

* change all dependent code besides mock implementaions

* Change mock implementations manually as no gomock command is documented

* Moved and regenerated mock implementations

This was donw with the commands
`mockgen -source=api/auth.go > api/mock/mock_auth.go
as well as
`mockgen -source=repository/apikeys/apikeys.go > repository/apikeys/mock/mock_apikeys.go`
after installing https://github.com/golang/mock with `go install github.com/golang/mock/mockgen@v1.6.0`. This tool however is archived and should be replaced with a fork.
)

* Add action to build base images/push to ghcr.io

* Upgrade go to 1.20.7

* set all docker related env variables to anynines/ghcr.io/centos7
…ity#14)

* Add Helm support for local repos in desktop mode

* Join errors instead of returning just the second error

* Implement all methods required by interface

* Properly quote struct tags

* Bubble up errors, don't just drop them

* no longer use deprecated ioutil package, replace with os and  io

* Don't capitalize error messages

* Remove formatting directives from string, parameters should be appended instead

* Fix the CVEs in the jetstream backend (cloudfoundry-community#12)

* Delete grufty go.sum, gut go.mod entirely and refresh dependencies

* add back some dependencies needed for tests to run; update return values of methods using go-sqlmock to use pointers

* Fix backend unit tests (also code quality improvements) (cloudfoundry-community#15)

* Fix backend unit tests

- Ensure int value is formatted as such
- This was causing the backend unit tests to fail, possibly by dependency change

* Replace ioutil usage and decapitalize error strings

* Change receiver to be a pointer in order for assignment to persist

If the receiver is not pointer, the struct is copied and the assignment `r.sent = true` has no effect because r will be discarded after the function returns.

---------

Co-authored-by: Richard Cox <ricox@suse.com>

* Theme Builder: Cast types (cloudfoundry-community#16)

In this case, `prjMetadata.root` is an untyped JSON result (that is, it
can be object, array, number, etc.), but FS.copySync needs to take a
string; do an explicit cast here to make TypeScript happy.

Signed-off-by: Mark Yen <mark.yen@suse.com>
Co-authored-by: Mark Yen <mark.yen@suse.com>

* Update required disk space (cloudfoundry-community#17)

Co-authored-by: Neil MacDougall <neil_macdougall@hotmail.com>

* Migrate to github.com/pressly/goose (cloudfoundry-community#18)

* Migrate to goose fork

* Code quality improvements from go-staticcheck

* Migrate migrations to github.com/pressly/goose

---------

Co-authored-by: Ivan Kapelyukhin <ikapelyukhin@suse.com>

* Move repository/interfaces to its own submodule: api (cloudfoundry-community#19)

* Delete grufty go.sum, gut go.mod entirely and refresh dependencies

* add back some dependencies needed for tests to run; update return values of methods using go-sqlmock to use pointers

* Update module structure

* Small update of functions/imports to get latest version

* Adjust to pointers for newer version of sqlmock

* Remove ioutil, add new logic to actually get expiry claim from jwt

* Move api into its own module

* change all dependent code besides mock implementaions

* Change mock implementations manually as no gomock command is documented

* Moved and regenerated mock implementations

This was donw with the commands
`mockgen -source=api/auth.go > api/mock/mock_auth.go
as well as
`mockgen -source=repository/apikeys/apikeys.go > repository/apikeys/mock/mock_apikeys.go`
after installing https://github.com/golang/mock with `go install github.com/golang/mock/mockgen@v1.6.0`. This tool however is archived and should be replaced with a fork.

* Build and push base images on push to develop (cloudfoundry-community#11)

* Add action to build base images/push to ghcr.io

* Upgrade go to 1.20.7

* set all docker related env variables to anynines/ghcr.io/centos7

* Add Helm support for local repos in desktop mode

* Add github.com/pressly/goose

---------

Signed-off-by: Mark Yen <mark.yen@suse.com>
Co-authored-by: Neil MacDougall <neil.macdougall@suse.com>
Co-authored-by: Richard Cox <ricox@suse.com>
Co-authored-by: Mark Yen <mark.yen@suse.com>
Co-authored-by: Neil MacDougall <neil_macdougall@hotmail.com>
Co-authored-by: Ivan Kapelyukhin <ikapelyukhin@suse.com>
* Add github.com/pressly/goose

* Tidy up go.mod and go.sum
…age to refer to @stratosui/store (cloudfoundry-community#26)

* Adapt cloudfoundry/stratos#4580

All references to the core package have been
changed to refer to @stratosui/store.
Some unnecessary newlines have been removed.
The public API of @stratosui/store has been
adjusted as to expose all the necessary functions.

---------

Co-authored-by: Matthias Folz <mfolz@anynines.com>
…mmunity#22)

* Remove unnecessary ignored return value

* change cast of dialect to pointer casts, so that they actually work
…nity#29)

* add Github Actions for Backend and Frontend Tests
* revert recently package-lock.json
* Fix error messages

They shouldn't end with punctuation or newlines and should not be capitalized

* Merge variable declarations and assignments if they are on subsequent lines

* General improvements according to staticcheck

* Change expected error messages in tests

* Tidy up go.mod/go.sum

* Change error message texts in response bodies
* Update to node v18

* Update to node v20
…ity#37)

These not very necessary dependencies caused transitive deps to minimist and underscore in versions with CVEs.
* fix dependency issues to compile binary for CF

* update go.mod/sum for jetstream

* crteate extra_plugins.go also for backend tests

* update kubernetes dependencies

* Upgrade code.cloudfoundry.org/cli to 8.7.3; Remove push_actor wrapper since it is redundant; fix loggregator/logcache protobuf conflicts

Co-authored-by: Matthias Folz <mafolz@users.noreply.github.com>

---------

Co-authored-by: Matthias Folz <mfolz@anynines.com>
Co-authored-by: Matthias Folz <mafolz@users.noreply.github.com>
…estrictions; original commit message: (cloudfoundry-community#45)

Apply patch from freudl/stratos#1 manually

This results in a version that works, but only
when run with GOLANG_PROTOBUF_REGISTRATION_CONFLICT=warn
or compiled with -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn"

This has to be adressed with an update to the
cf dependencies to at least version 9
* Update @angular/core via ng update to 11.2.14

* Upgrade @angular/cdk to 11.2.14

* Update @angular/cli to 11.2.14

* Update @angular/material to 11.2.14

* Update @ngrx/store to v11

* WIP: fix peer dependencies for angular 11

This commit does NOT compile, likely due to an error with the angular compiler and mismatched version. The next commit will upgrade all deps to angular 12 to remedy this.

* Update @angular/core to v12

* Update @angular/cdk to v12

* Update @angular/material and @angular/flex-layout to v12, also @ngrx/store

* Update @angular/cli to v12

* Update @angular-builders/custom-webpack to v12, replace @cfstratos/ajsf-material with original @ajsf/material

* change custom SassHandler to handle new WebPack 5 Structure as well

* Fix KnownKeys type issues for updated TypeScript@4.3

* Remove debug logging

* Remove overrides for angular upgrade

* Upgrade to angular v13

* Upgrade to angular v14

* Remove references to @cfstratos/ajsf-material

* Move code coverage to different tests

* WIP: Fix tests, still a lot of warnings

* discontinue use of karma-coverage-instanbul-reporter

* Use @cypress/request where possible

* Upgrade immer

* Upgrade @types/karma

* Update marked; change imports accordingly

* Update immer; fix typing for api-request-reducers

* update @swimlane/ngx-charts; fix type issues

* Replace request with maintained fork

* Add npm as engine requirement to make sure overrides work

* Fix up lockfile

* Formatting

---------

Co-authored-by: Matthias Folz <mfolz@anynines.com>
Co-authored-by: Tim Meier <tmeier@anynines.com>
…ndry-community#47)

* feat: add errorz package to combine errors as enum in there

* feat: missed duplicated error

* fix: not worked error checks

* fix: not worked error checks

* rename error package

* applied JRA's suggestions

* applied JRA's suggestions

* fix error in test suite

---------

Co-authored-by: Nedim Akar <nedimakar@Nedims-MacBook-Pro.local>
Co-authored-by: Nedim Akar <nedimakar@nedims-mbp.speedport.ip>
Co-authored-by: Jan-Robin Aumann <jaumann@anynines.com>
* feat: support for PostgreSQL 15

* feat: psql 15 integration

---------

Co-authored-by: Nedim Akar <nedimakar@nedims-mbp.speedport.ip>
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.23.0 to 7.23.6.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.6/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [@adobe/css-tools](https://github.com/adobe/css-tools) from 4.3.1 to 4.3.2.
- [Changelog](https://github.com/adobe/css-tools/blob/main/History.md)
- [Commits](https://github.com/adobe/css-tools/commits)

---
updated-dependencies:
- dependency-name: "@adobe/css-tools"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
bmo-at-a9s and others added 3 commits March 8, 2024 13:26
* allow newer pgsql versions (cloudfoundry-community#51)

* feat: support for PostgreSQL 15

* feat: psql 15 integration

---------

Co-authored-by: Nedim Akar <nedimakar@nedims-mbp.speedport.ip>

* Allow product name to be changed (cloudfoundry-community#25)

Co-authored-by: Neil MacDougall <neil.macdougall@suse.com>

* Initial support for CA Certificates for endpoints (cloudfoundry-community#21)

* Adapt "Initial support for CA Certificates for endpoints"

* Add frontend changes for ca-certs

* use correct attribute

* fix pgsql tests by adding empty string for ca_cert

* fix tests by adding the new columns "enabled" (tokens) and "cacert" (cnsis) in various locations for the test suite

* implement requested changes

* fix typo

* update dependencies to address cves (cloudfoundry-community#88)

* upgrade golang/x/net to fix CVE-2023-39325

* address https://github.com/anynines/stratos/security/dependabot/170

* Address https://github.com/anynines/stratos/security/dependabot/323

* Address https://github.com/anynines/stratos/security/dependabot/321

* run go mod tidy

* run go mod tidy

* Upgrade archiver for https://github.com/anynines/stratos/security/dependabot/320

* Upgrade archiver in main go.mod

* Update golang/x libs everywhere, tidy up plugins/monocular module file

* upgrade grpc again

* Bump word-wrap from 1.2.3 to 1.2.4 in /electron (cloudfoundry-community#9)

Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.4.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](jonschlinkert/word-wrap@1.2.3...1.2.4)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Bump debug in /website (cloudfoundry-community#41)

Bumps  and [debug](https://github.com/debug-js/debug). These dependencies needed to be updated together.

Updates `debug` from 4.1.1 to 4.3.4
- [Release notes](https://github.com/debug-js/debug/releases)
- [Commits](debug-js/debug@4.1.1...4.3.4)

Updates `debug` from 3.2.6 to 4.3.4
- [Release notes](https://github.com/debug-js/debug/releases)
- [Commits](debug-js/debug@4.1.1...4.3.4)

---
updated-dependencies:
- dependency-name: debug
  dependency-type: indirect
- dependency-name: debug
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Deduplicate column names in tests (cloudfoundry-community#75)

* add samber/lo

* add helper functions to datastore to centralize column name management

* add test helper funtions to generate mock rows and predefined entities

* switch tests over to helper functions

* cover oauth tests as much as possible

* add some more missing row addons

* Fix columns

* Switch CNSI tests over to actual cnsi records; also add expired tokens left out during first refactor

* fix column name without underscore

* Remove legacy GO111MODULE flag and update swag binary (cloudfoundry-community#106)

* Remove legacy GO111MODULE flag and update swag binary

* Add fix for type resolution

* INT-3729 - Stratos - Website: Update Docusaurus to nearest stable (cloudfoundry-community#111)

* Working 2.0.1 🎉

* Fix broken links

* fix small mistake with sed

* fix sed expression

* fix indent

* upgrade docusaurus to 2.4.3 (cloudfoundry-community#112)

* Upgrade to docusaurus v3 (#119)

* Add 'all versions' to drop down

* Upgrade versions to docusaurus v3

* Make the theme switcher button white

* Properly escape the hint on commit signing

* Add workarounds for v3 upgrade

* fix indent

* Add context on why workaround is necessary

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Nedim Akar <148047517+nedimakar@users.noreply.github.com>
Co-authored-by: Nedim Akar <nedimakar@nedims-mbp.speedport.ip>
Co-authored-by: Matthias Folz <mfolz@anynines.com>
Co-authored-by: Neil MacDougall <neil.macdougall@suse.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Change the secrets to properly work with github package registry
bmo-at-a9s pushed a commit that referenced this pull request Mar 13, 2024
fetch recent logs via log cache - Thanks to freudl!
@bmo-at-a9s bmo-at-a9s merged commit 1172e4e into main Mar 13, 2024
6 checks passed
@bmo-at-a9s bmo-at-a9s deleted the master branch March 13, 2024 09:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants