Commit Graph
33 Commits
Author SHA1 Message Date
Sébastien Han 6fb67a297d build: only produce binary for linux
We now build rook to build only for linux platforms and not darwin nor
windows anymore.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-11-04 15:13:40 +01:00
Blaine Gardner 9531c252a5 ceph: remove NFS and Cassandra make targets
Remove all make-related references to NFS and Cassandra. This is limited
purely to make targets. Leave CRD and codegen script references to be
removed in a different commit.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-08-31 14:05:33 -06:00
Blaine Gardner 9138732c81 build: stage CSV files into tmp while building
If a user were to `make build` Rook, and after the Ceph CSV was
generated and before make had finished, the Rook repo would be left with
changes caused by the build modifying files temporarily in-place.

All CSV template generation in the Ceph makefile is now self-contained
and can be configured to operate outside of the main repo so that files
are not modified in-place.

In-place modification of files was also incorrect. On Mac some files
with `-e` trailing were left, and in-place backups were also present in
the form `<filename>''`. Therefore, also fix the generation to fix
in-place modifications.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-07-27 16:11:58 -06:00
Blaine Gardner f2f622412c build: allow CSV gen on mac
CSV generation now requires versions of yq and operator-sdk that are
downloaded by the makefiles. Previously Ceph image creation used
makefile versions but `make csv-ceph` used versions present on the
system.

`sed -i 's///g' $FILE` doesn't work on Unix/Mac.
`sed -i'' -e 's///g' $FILE` is portable.

Signed-off-by: Blaine Gardner <blaine.gardner@redhat.com>
2021-04-09 13:22:15 -06:00
Travis Nielsen 043f947321 build: remove yugabytedb operator
The YugabyteDB team has decided to move support of their operator
to a new repo at https://github.com/yugabyte/yugabyte-operator.
The operator in Rook is no longer needed. Further usage of
the YugabyteDB operator is recommended at the new location.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-02-06 00:03:41 -07:00
Sébastien Han 1bdee1e512 build: try sha256sum if shasum is not present
shasum is not always available and sha256sum seems to exist more often
since it's part of coreutils where sha256sum comes with perl.

Signed-off-by: Sébastien Han <seb@redhat.com>
2021-02-02 14:43:52 +01:00
Travis Nielsen 53ed11f15b build: remove the edgefs operator from rook
The EdgeFS operator has been deprecated for some time in Rook.
If the replacement is added back to Rook it can be completed
according to the new guidelines in the documentation.
https://rook.io/docs/rook/master/storage-providers.html

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-25 17:51:24 -07:00
Travis Nielsen 2294851ca3 build: remove the cockroachdb operator from rook
The cockroachDB operator has not had community support in Rook.
Therefore, the time has come to deprecate and remove it.
If the sources are still needed, there is always git history.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2021-01-20 17:28:58 -07:00
Travis Nielsen 9a078bf9e6 minio: remove from rook
The minio operator has not had community support nor
any updates since being added to Rook. Support is being
removed from Rook due to this lack of community interest.

Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
2020-01-08 15:45:21 -08:00
Sameer Kulkarni dd9e51286e yugabytedb: rook/yugabutedb image build
Signed-off-by: Sameer Kulkarni <samkulkarni20@gmail.com>
2019-08-27 22:45:14 +05:30
Guy Margalit 2ce2382676 Refactor operator context init and allow to run local
Signed-off-by: Guy Margalit <guymguym@gmail.com>
Co-Authored-By: Sébastien Han <seb@redhat.com>
Co-Authored-By: Travis Nielsen <tnielsen@redhat.com>

This change is meant to allow running operators locally on a developer machine.
The idea is to allow faster development cycles by reducing the time and complexity of building -> deploying -> debugging on cluster.

For operators that rely only on kubernetes API this works easily - see cockroachdb and minio examples in development-flow doc.

The change includes:

- rook.NewContext() - Refactored to remove repeating initialization code that was copy-pasted in most of the operators in order to create the clusterd.Context and the Clientsets. Also it detects the mode of working in-cluster vs external and sets up the external mode with standard user config (~/.kube/config) and a job executor.
- rook.GetOperatorImage() - Refactor this repeating code in many operators to detect the operator pod image. Also added a global flag --operator-image that developers can use to override this when running locally.
- rook.TerminateOnError() - Added a convenient function.
2019-06-19 20:47:55 +03:00
John Mulligan 49f3b68dea build: support specifying custom sha-256 hash command
Create a makefile (and shell) variable that can be used to invoke a
different command line, such as 'sha256sum' instead of the default
'shasum -a 256'. The shasum tool is left as the default but, at least on
fedora, this comes from a perl package and it may be that sha256sum,
which comes from coreutils would allow building on a more minimal
install.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2019-02-25 18:49:11 -05:00
Dmitry Yusupov 4f958162e1 Edgefs Image
Signed-off-by: Dmitry Yusupov <dmitry.yusupov@nexenta.com>
2018-12-05 23:05:42 -08:00
Yannis Zarkadas 0ccc04cccd cassandra: controller scaffolding, image build and manifests
Scaffolding of a Kubernetes controller using the informer-workqueue
pattern.
Dockerfiles and Makefiles to build the cassandra operator image.
Manifests to deploy the Cassandra operator and create a Cluster CRD.

Signed-off-by: Yannis Zarkadas <yanniszarkadas@gmail.com>
2018-12-05 12:44:29 +02:00
travisn efd581e7ed start toolbox pod with the ceph image instead of a separate image
Signed-off-by: travisn <tnielsen@redhat.com>
2018-10-02 15:43:53 -06:00
rohan47 8d85b6f4a8 nfs: rook/nfs image build
Signed-off-by: rohan47 <rohanrgupta1996@gmail.com>
2018-08-22 10:34:40 +00:00
ichekrygin 09e99df974 Update version generation to produce a valid semver value
Adjust `sed` command for BSD version, which does not support '/x/y/2g'

Signed-off-by: ichekrygin <illya.chekrygin@gmail.com>
2018-08-14 23:53:45 -07:00
Blaine Gardner 483163fc21 make: Allow building select images
Raise the scope of the `IMAGES` config variable in the
`build/release/Makefile` to the `build/makelib/common.mk` file, and use
the `IMAGES` variable in the `images/Makefile` to allow users to build
only select images.

Examples of new use:
  make IMAGES='ceph ceph-toolbox' build
  make -C build/release IMAGES='ceph ceph-toolbox' publish

The 'images/image.mk' clean.build target was changed to use
`CLEAN_IMAGES` instead of `IMAGES`, as it was conflicting with use of
the parameter in image builds.

Added IMAGES option to top-level make's help text. The text for this
option exceeded 80 lines in the `Makefile` itself, so the help text was
refactored to eliminate `    @echo '<text>'`. The `Makefile` text should
now match exactly what is output to the user including line length.

Added IMAGES option to `INSTALL.md` file's "Build" section and also
moved some text around and added a few extra points of clarification
there to hopefully improve readability, especially for first-time
readers.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-07-20 15:49:46 -06:00
Blaine Gardner 2a872bf1cd images: Use ceph daemon-base as rook base
Instead of adding Ceph packages to Rook's base image, use
ceph-container's base image, which has Ceph packages preinstalled. Rook
now benefits from the testing the ceph-container project does, and the
scope of the Rook project no longer has to maintain builds of base
images containing Ceph packages.

The only ARM builds of ceph-container are CentOS, and as switching to
CentOS was already a thought, that is easily done at the same time as
this change.

Signed-off-by: Blaine Gardner <blaine.gardner@suse.com>
2018-05-23 15:37:31 -06:00
Bassam Tabbara 07463fa0dd images: disable armhf image builds
While ceph can build fine on armhf it is not a tested configuration
today nor are debian packages for ceph published. Also ceph requires
more horsepower than is typically available on armhf machines.

We are dropping armhf support for now. arm64 is still supported.
2018-01-08 21:06:11 -08:00
Wil Reichert bf891be243 use BSD / GNU agnotic sed & date params 2017-11-17 17:24:02 -07:00
Bassam Tabbara 9d5a7e945c build: ensure build concurrency only across platforms
this commit will ensure that any concurrency during the go build only happens across platforms, and no concurrent calls to go build or go install happen for a given platform.

the goal here is to reduce races between concurrent invocations of go build where package files are removed form the file system leading to "can't find import" errors.
2017-10-24 12:44:18 -07:00
Bassam Tabbara a3c5a8e8d0 build: export GOARM env variable 2017-08-25 10:22:22 -07:00
Bassam Tabbara 181ddf1bc8 build: ensure we use always use a semver 2017-08-11 20:36:45 -07:00
Bassam Tabbara 556d221c93 build: build helm charts and reorganize demo dir
moved the helm charts and demo files to a `cluster` directory

helm charts are now built by the makefiles, and version tag is updated automagically.
2017-08-09 12:57:39 -07:00
Bassam Tabbara a9d4f68a8d build: fix image platform support 2017-07-21 22:18:25 -07:00
Bassam Tabbara f3d59fd556 build: only set GOARCH if not already set from env 2017-07-21 21:17:09 -07:00
Bassam Tabbara 73f854bbde build: use bash for shell in makefiles 2017-07-21 19:25:12 -07:00
Bassam Tabbara a46565daaf build: fix regression in build
2cdfdab3d regressed the build and we were building for linux_amd64 even when build.all was called
2017-07-21 17:05:11 -07:00
Bassam Tabbara a5959bbf8a build: run glide update when glide.yaml changes
this will ensure that we do not have broken dependencies.
2017-07-07 12:45:07 -07:00
Bassam Tabbara e4b1db9bc9 tests: refactor integration tests
refactor integration tests splitting out the kubernetes
cluster setup to just be in a script and making it the reponsibility
of the host/user/jenkins.

integration tests now run just like unit tests using "go test".
2017-06-29 15:20:28 -07:00
Bassam Tabbara e55fd55e7d build: rework release scripts and jenkinsfile
inital commit to convert release scripts to makefiles for improved maintenance.

now publishing to docker hub including manifest list support.

initial attempt at reworking the jenkinsfile to pipeline syntax.
2017-06-29 15:20:27 -07:00
Bassam Tabbara ab59789334 build: fix make release on mac 2017-06-20 20:57:46 -07:00