tree ff2ee52eb0a3b210309aeca23604f533ca1e3cee
parent a4b7888ab1be1e5f49194d3639cb58c445f973e9
author Gao Hongtao <hanahmily@gmail.com> 1635723686 +0800
committer GitHub <noreply@github.com> 1635723686 +0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJhfymmCRBK7hj4Ov3rIwAA5GIIAK/+IyjZ/UOgsH63jly6MLNx
 iwdbvHJP71ybR/mup1smfDtcnlomP4jw8j4goAgwhpU2q4m3IQwuTPIkw4xqV+MF
 SKoe7Vbwev1M1hkI0LIG1yAT5n0D+fll/iJUYvgZDqCJvH2PWsDF14KmLOqQVkJ1
 C9+UMwc33ULcJlqTEu9AGVEpI7QkB78nF7pDqRO+g3yhabHCF5i5RLITOCgaQArW
 VjKa/xiVJ+oTsLfXJj+THSWIcfh0P/Fks0B8vBZx4l4+AWEMOIjkwchw2iLwCXS/
 PYXr1YUw4KHrI1aq+tVdtCu8SYW6ysTWxhoSizlGBvIdjjV6IqIs368SmdVNN14=
 =dhnJ
 -----END PGP SIGNATURE-----
 

Fix issues for releasing 0.4.0 (#41)

* Several improvments for 0.4.0 release

  * Bump up SkyWalking OAP to 8.8.1(latest)
  * Update README.md laid in the binary package
  * Add a docker build tool to the binary package where users can
    build the docker image from binaries in the bin folder
  * Update release document and bash script to insert "v" into
    the git release tag.

Signed-off-by: Gao Hongtao <hanahmily@gmail.com>

* Fix issues found in testing

Storage controller:

  * Introduce readiness probe to statefulset
  * Apply authorization to controller
  * Opt to parrelle pod management strategy
  * Add init container to increase "vm.max_map_count"
  * Add password to pks12 key/cert

Java agent injector:

  * Fix backend services validation

UI:

 * Add "http" schema to the backend service url