Skip to content

Commit

Permalink
rename to crossplane
Browse files Browse the repository at this point in the history
make build and make test now work.
  • Loading branch information
bassam committed Nov 19, 2018
1 parent af3ca2f commit 7f69a54
Show file tree
Hide file tree
Showing 139 changed files with 488 additions and 488 deletions.
16 changes: 8 additions & 8 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## How to Contribute

The Conductor project is under [Apache 2.0 license](LICENSE). We accept contributions via
The Crossplane project is under [Apache 2.0 license](LICENSE). We accept contributions via
GitHub pull requests. This document outlines some of the conventions related to
development workflow, commit message formatting, contact points and other
resources to make it easier to get your contribution accepted.
Expand Down Expand Up @@ -57,11 +57,11 @@ This is a rough outline of what a contributor's workflow looks like:

## Building

Details about building conductor can be found in [INSTALL.md](INSTALL.md).
Details about building crossplane can be found in [INSTALL.md](INSTALL.md).

## Coding Style

Conductor projects are written in golang and follows the style guidelines dictated by
Crossplane projects are written in golang and follows the style guidelines dictated by
the go fmt as well as go vet tools.

## Comments
Expand All @@ -72,13 +72,13 @@ be created if they do not yet exist and updated if they do.

The goal of comments is to make the code more readable and grokkable by future developers. Once you
have made your code as understandable as possible, add comments to make sure future developers can
understand (A) what this piece of code's responsibility is within Conductor's architecture and (B) why it
understand (A) what this piece of code's responsibility is within Crossplane's architecture and (B) why it
was written as it was.

The below blog entry explains more the why's and how's of this guideline.
https://blog.codinghorror.com/code-tells-you-how-comments-tell-you-why/

For Go, Conductor follows standard godoc guidelines.
For Go, Crossplane follows standard godoc guidelines.
A concise godoc guideline can be found here: https://blog.golang.org/godoc-documenting-go-code

## Commit Messages
Expand Down Expand Up @@ -112,9 +112,9 @@ git tools.
## Adding New Resources

### Project Organization
The Conductor project is based on and intially created by using [Kubebuilder is a framework for building Kubernetes APIs](https://github.com/kubernetes-sigs/kubebuilder).
The Crossplane project is based on and intially created by using [Kubebuilder is a framework for building Kubernetes APIs](https://github.com/kubernetes-sigs/kubebuilder).

The Conductor project organizes resources (api types and controllers) by grouping them by Cloud Provider with further sub-group by resource type
The Crossplane project organizes resources (api types and controllers) by grouping them by Cloud Provider with further sub-group by resource type

The Kubebuilder framework does not provide good support for projects with multiple groups and group tiers which contain resources with overlapping names.
For example:
Expand Down Expand Up @@ -168,7 +168,7 @@ There are several different ways you can approach the creation of the new resour
Good ol' copy & paste of existing resource for both apis and controller (if new controller is needed) and update to tailor your needs.

#### Kubebuilder With New Project
Create and Initialize a new (temporary) kubebuilder project and create new resources: apis and controller(s), then copy them into Conductor project following the established project organization.
Create and Initialize a new (temporary) kubebuilder project and create new resources: apis and controller(s), then copy them into Crossplane project following the established project organization.

To verify that new artifacts run:
```bash
Expand Down
14 changes: 7 additions & 7 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Building and Installing Conductor
# Building and Installing Crossplane

Conductor is composed of golang project and can be built directly with standard `golang` tools. We currently support
Crossplane is composed of golang project and can be built directly with standard `golang` tools. We currently support
two different platforms for building:

* Linux: most modern distros should work although most testing has been done on Ubuntu
Expand Down Expand Up @@ -28,7 +28,7 @@ First ensure that you have the build submodule synced and updated:
git submodule sync && git submodule update --init --recursive
```

You can then build the Conductor binaries and all container images for the host platform by simply running the
You can then build the Crossplane binaries and all container images for the host platform by simply running the
command below. Building in parallel with the `-j` option is recommended.

```
Expand All @@ -39,7 +39,7 @@ Run `make help` for more options.

## Building inside the cross container

Official Conductor builds are done inside a build container. This ensures that we get a consistent build, test and release environment. To run the build inside the cross container run:
Official Crossplane builds are done inside a build container. This ensures that we get a consistent build, test and release environment. To run the build inside the cross container run:

```
> build/run make -j4
Expand Down Expand Up @@ -130,13 +130,13 @@ systemctl enable update-binfmt.service
# Install

## Local
Please refer to [Local Build & Install](/cluster/local/README.md) documentation on how to deploy locally built Conductor image onto Kubernetes cluster running on Minikube
Please refer to [Local Build & Install](/cluster/local/README.md) documentation on how to deploy locally built Crossplane image onto Kubernetes cluster running on Minikube

# Improving Build Speed

## Image Caching and Pruning

Doing a complete build of Conductor and the dependent packages can take a long time (more than an hour on a typical macbook). To speed things up we rely heavily on image caching in docker. Docker support content-addressable images by default and we use that effectively when building images. Images are factored to increase reusability across builds. We also tag and timestamp images that should remain in the cache to help future builds.
Doing a complete build of Crossplane and the dependent packages can take a long time (more than an hour on a typical macbook). To speed things up we rely heavily on image caching in docker. Docker support content-addressable images by default and we use that effectively when building images. Images are factored to increase reusability across builds. We also tag and timestamp images that should remain in the cache to help future builds.

### Pruning the cache

Expand All @@ -149,5 +149,5 @@ To prune the number of cached images run `make prune`. There are two options tha
Every PR and every merge to master triggers the CI process in [TBD](http://TBD).
The Jenkins CI will build, run unit tests, run integration tests and Publish artifacts- On every commit to PR and master.
If any of the CI stages fail, then the process is aborted and no artifacts are published.
On every successful build Artifacts are pushed to a [s3 bucket](https://release.conductor.io/). On every successful master build,
On every successful build Artifacts are pushed to a [s3 bucket](https://release.crossplane.io/). On every successful master build,
images are uploaded to docker hub in addition.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright 2016 The Conductor Authors. All rights reserved.
Copyright 2016 The Crossplane Authors. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
16 changes: 8 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
# ====================================================================================
# Setup Project

PROJECT_NAME := conductor
PROJECT_REPO := github.com/upbound/$(PROJECT_NAME)
PROJECT_NAME := crossplane
PROJECT_REPO := github.com/crossplaneio/$(PROJECT_NAME)

PLATFORMS ?= linux_amd64
include build/makelib/common.mk

# ====================================================================================
# Setup Output

S3_BUCKET ?= upbound.releases/conductor
S3_BUCKET ?= upbound.releases/crossplane
include build/makelib/output.mk

# ====================================================================================
Expand All @@ -21,7 +21,7 @@ include build/makelib/output.mk
# to half the number of CPU cores.
GO_TEST_PARALLEL := $(shell echo $$(( $(NPROCS) / 2 )))

GO_STATIC_PACKAGES = $(GO_PROJECT)/cmd/conductor
GO_STATIC_PACKAGES = $(GO_PROJECT)/cmd/crossplane
GO_LDFLAGS += -X $(GO_PROJECT)/pkg/version.Version=$(VERSION)
include build/makelib/golang.mk

Expand All @@ -30,8 +30,8 @@ include build/makelib/golang.mk

HELM_BASE_URL = https://charts.upbound.io
HELM_S3_BUCKET = upbound.charts
HELM_CHARTS = conductor
HELM_CHART_LINT_ARGS_conductor = --set nameOverride='',imagePullSecrets=''
HELM_CHARTS = crossplane
HELM_CHART_LINT_ARGS_crossplane = --set nameOverride='',imagePullSecrets=''
include build/makelib/helm.mk

# ====================================================================================
Expand All @@ -43,7 +43,7 @@ include build/makelib/kubebuilder.mk
# Setup Images

DOCKER_REGISTRY = upbound
IMAGES = conductor
IMAGES = crossplane
include build/makelib/image.mk

# ====================================================================================
Expand All @@ -53,4 +53,4 @@ include build/makelib/image.mk

# Generate manifests e.g. CRD, RBAC etc.
manifests:
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go crd --output-dir cluster/charts/conductor/crds --nested
go run vendor/sigs.k8s.io/controller-tools/cmd/controller-gen/main.go crd --output-dir cluster/charts/crossplane/crds --nested
4 changes: 2 additions & 2 deletions PROJECT
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
version: "1"
domain: conductor.io
repo: github.com/upbound/conductor
domain: crossplane.io
repo: github.com/crossplaneio/crossplane
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Project Conductor (codename)
# Project Crossplane (codename)

## What is Conductor?
## What is Crossplane?

Conductor is an open source **external-resource-definition** for Kubernetes , providing the platform, framework, and support for a diverse set of the managed resources offered by major cloud providers (Currently focused on AWS and GCP)
Crossplane is an open source **external-resource-definition** for Kubernetes , providing the platform, framework, and support for a diverse set of the managed resources offered by major cloud providers (Currently focused on AWS and GCP)

Conductor turns storage software into self-managing, self-scaling, and self-healing of managed cloud resources. Conductor extends the facilities provided by Kubernetes such container management, scheduling and orchestration to the external resources.
Crossplane turns storage software into self-managing, self-scaling, and self-healing of managed cloud resources. Crossplane extends the facilities provided by Kubernetes such container management, scheduling and orchestration to the external resources.

Conductor integrates deeply into cloud native environments leveraging extension points and providing a seamless experience for scheduling, lifecycle management, resource management, security, monitoring, and user experience.
Crossplane integrates deeply into cloud native environments leveraging extension points and providing a seamless experience for scheduling, lifecycle management, resource management, security, monitoring, and user experience.

For more details about the cloud providers and resources currently supported by Conductor, please refer to the [project status section](#project-status) below.
For more details about the cloud providers and resources currently supported by Crossplane, please refer to the [project status section](#project-status) below.
We plan to continue adding support for other cloud providers and resource based on community demand and engagement in future releases. See our [roadmap](ROADMAP.md) for more details.

## Contributing
Expand All @@ -17,11 +17,11 @@ We welcome contributions. See [Contributing](CONTRIBUTING.md) to get started.

## Report a Bug

For filing bugs, suggesting improvements, or requesting new features, please open an [issue](https://github.com/upbound/conductor/issues).
For filing bugs, suggesting improvements, or requesting new features, please open an [issue](https://github.com/crossplaneio/crossplane/issues).

## Project Status

The status of each storage provider supported by Conductor can be found in the table below.
The status of each storage provider supported by Crossplane can be found in the table below.
Each API group is assigned its own individual status to reflect their varying maturity and stability.
More details about API versioning and status in Kubernetes can be found on the Kubernetes [API versioning page](https://kubernetes.io/docs/concepts/overview/kubernetes-api/#api-versioning), but the key difference between the statuses are summarized below:

Expand All @@ -32,15 +32,15 @@ More details about API versioning and status in Kubernetes can be found on the K

| Name | Details | API Group | Status |
| ----- | --------- | ----------- | -------- |
| AWS Database | Database storage services in AWS | database.aws.conductor.io/v1alpha1 | Alpha |
| GCP Database | Database storage services in GCP | database.gcp.conductor.io/v1alpha1 | Alpha |
| AWS Database | Database storage services in AWS | database.aws.crossplane.io/v1alpha1 | Alpha |
| GCP Database | Database storage services in GCP | database.gcp.crossplane.io/v1alpha1 | Alpha |

### Official Releases

Official releases of Conductor can be found on the [releases page](https://github.com/upbound/conductor/releases).
Please note that it is **strongly recommended** that you use [official releases](https://github.com/upbound/conductor/releases) of Conductor, as unreleased versions from the master branch are subject to changes and incompatibilities that will not be supported in the official releases.
Official releases of Crossplane can be found on the [releases page](https://github.com/crossplaneio/crossplane/releases).
Please note that it is **strongly recommended** that you use [official releases](https://github.com/crossplaneio/crossplane/releases) of Crossplane, as unreleased versions from the master branch are subject to changes and incompatibilities that will not be supported in the official releases.
Builds from the master branch can have functionality changed and even removed at any time without compatibility support and without prior notice.

## Licensing

Conductor is under the Apache 2.0 license.
Crossplane is under the Apache 2.0 license.
8 changes: 4 additions & 4 deletions ROADMAP.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Roadmap

This document defines a high level roadmap for Conductor development and upcoming releases.
This document defines a high level roadmap for Crossplane development and upcoming releases.
The features and themes included in each milestone are optimistic in the sense that many do not have clear owners yet.
Community and contributor involvement is vital for successfully implementing all desired items for each release.
We hope that the items listed below will inspire further engagement from the community to keep Conductor progressing and shipping exciting and valuable features.
We hope that the items listed below will inspire further engagement from the community to keep Crossplane progressing and shipping exciting and valuable features.

Any dates listed below and the specific issues that will ship in a given milestone are subject to change but should give a general idea of what we are planning.
We use the [milestone](https://github.com/upbound/conductor/milestones) feature in Github so look there for the most up-to-date and issue plan.
We use the [milestone](https://github.com/crossplaneio/crossplane/milestones) feature in Github so look there for the most up-to-date and issue plan.

## v0.1

Expand All @@ -26,7 +26,7 @@ We use the [milestone](https://github.com/upbound/conductor/milestones) feature
* New isolated jenkins instance (similar to Rook's jenkins)
* Developer unit testing with high code coverage
* Integration testing pipeline
* Artifact publishing (container images, conductor helm chart, etc.)
* Artifact publishing (container images, crossplane helm chart, etc.)
* Documentation
* User guides, quick-starts, walkthroughs
* Godocs developer docs for source code/packages/libraries
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ RUN apk --no-cache add ca-certificates bash
ARG ARCH
ARG TINI_VERSION

ADD conductor /usr/local/bin/
ADD crossplane /usr/local/bin/
EXPOSE 8080
ENTRYPOINT ["conductor"]
ENTRYPOINT ["crossplane"]
CMD ["--install-crds=false"]
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ include ../../../build/makelib/common.mk

# ====================================================================================
# Options
IMAGE = $(BUILD_REGISTRY)/conductor-$(ARCH)
IMAGE = $(BUILD_REGISTRY)/crossplane-$(ARCH)
include ../../../build/makelib/image.mk

# ====================================================================================
Expand All @@ -15,7 +15,7 @@ include ../../../build/makelib/image.mk
img.build:
@$(INFO) docker build $(IMAGE)
@cp Dockerfile $(IMAGE_TEMP_DIR) || $(FAIL)
@cp $(OUTPUT_DIR)/bin/$(OS)_$(ARCH)/conductor $(IMAGE_TEMP_DIR) || $(FAIL)
@cp $(OUTPUT_DIR)/bin/$(OS)_$(ARCH)/crossplane $(IMAGE_TEMP_DIR) || $(FAIL)
@cd $(IMAGE_TEMP_DIR) && $(SED_CMD) 's|BASEIMAGE|$(OSBASEIMAGE)|g' Dockerfile || $(FAIL)
@docker build $(BUILD_ARGS) \
--build-arg ARCH=$(ARCH) \
Expand Down
6 changes: 3 additions & 3 deletions cmd/conductor/main.go → cmd/crossplane/main.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand All @@ -20,8 +20,8 @@ import (
"log"
"time"

"github.com/upbound/conductor/pkg/apis"
"github.com/upbound/conductor/pkg/controller"
"github.com/crossplaneio/crossplane/pkg/apis"
"github.com/crossplaneio/crossplane/pkg/controller"
"sigs.k8s.io/controller-runtime/pkg/client/config"
"sigs.k8s.io/controller-runtime/pkg/manager"
"sigs.k8s.io/controller-runtime/pkg/runtime/signals"
Expand Down
2 changes: 1 addition & 1 deletion hack/boilerplate.go.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
14 changes: 7 additions & 7 deletions pkg/apis/apis.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand All @@ -21,12 +21,12 @@ limitations under the License.
package apis

import (
"github.com/upbound/conductor/pkg/apis/aws"
"github.com/upbound/conductor/pkg/apis/azure"
"github.com/upbound/conductor/pkg/apis/compute"
"github.com/upbound/conductor/pkg/apis/core"
"github.com/upbound/conductor/pkg/apis/gcp"
"github.com/upbound/conductor/pkg/apis/storage"
"github.com/crossplaneio/crossplane/pkg/apis/aws"
"github.com/crossplaneio/crossplane/pkg/apis/azure"
"github.com/crossplaneio/crossplane/pkg/apis/compute"
"github.com/crossplaneio/crossplane/pkg/apis/core"
"github.com/crossplaneio/crossplane/pkg/apis/gcp"
"github.com/crossplaneio/crossplane/pkg/apis/storage"
"k8s.io/apimachinery/pkg/runtime"
)

Expand Down
8 changes: 4 additions & 4 deletions pkg/apis/aws/aws.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand All @@ -18,9 +18,9 @@ limitations under the License.
package aws

import (
compute "github.com/upbound/conductor/pkg/apis/aws/compute/v1alpha1"
database "github.com/upbound/conductor/pkg/apis/aws/database/v1alpha1"
aws "github.com/upbound/conductor/pkg/apis/aws/v1alpha1"
compute "github.com/crossplaneio/crossplane/pkg/apis/aws/compute/v1alpha1"
database "github.com/crossplaneio/crossplane/pkg/apis/aws/database/v1alpha1"
aws "github.com/crossplaneio/crossplane/pkg/apis/aws/v1alpha1"
"k8s.io/apimachinery/pkg/runtime"
)

Expand Down
2 changes: 1 addition & 1 deletion pkg/apis/aws/compute/container.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright 2018 The Conductor Authors.
Copyright 2018 The Crossplane Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
Expand Down
Loading

0 comments on commit 7f69a54

Please sign in to comment.