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

Marketplace #123

Merged
merged 15 commits into from Oct 23, 2018
Merged

Marketplace #123

merged 15 commits into from Oct 23, 2018

Conversation

gregwebs
Copy link
Contributor

This is the guide that will be available to users for a manual MarketPlace install. There are two commits here. The second is all the charts, so you probably want to look at the first.

We could copy the charts that are already in tidb-operator, but we need to make sure we get a particular version.
So the workflow could be:

  1. update repo
  2. copy charts from a git tag that we made for a chart release

Let me know what you think is best.

@gregwebs gregwebs requested a review from tennix October 16, 2018 05:48
Copy link
Contributor

@weekface weekface left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is the difference between charts and marketplace/gcp/tidb-operator-enterprise/chart?

@@ -0,0 +1 @@
FROM gcr.io/cloud-marketplace-tools/k8s/deployer_helm/onbuild
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add new line

create: false
password:

monitor:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How does this works if not running as a sidecar?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is running as a sidecar in just the monitor pod. It just counts its own time right now, its not quite what we want yet.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should consider a general approach to run sidecar containers in tidb-operator @weekface

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem with the toYaml extraContainers approach that I originally tried is that the extraContainers cannot be helm templated. However, that may work fine for other sidecar use cases.

dependencies:
- name: tidb-crd
version: 0.1.0
repository: ../../deps/tidb-crd
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a relative path? There seems no such directory

@tennix
Copy link
Member

tennix commented Oct 16, 2018

If we're only using a specific tag of tidb-operator, perhaps we can provide a document in this repo or somewhere else. And only contain tools and scripts in this repo to generate a deployer. When we release a new version, we can run the build step to build a deployer and send the deployer to GKE marketplace.
In this way, we can avoid storing the charts in multiple places in this repo.

@tennix
Copy link
Member

tennix commented Oct 16, 2018

Seems the replicas can't be customized, are you going to add a document to tell users how to scale themselves?

@gregwebs
Copy link
Contributor Author

If we're only using a specific tag of tidb-operator, perhaps we can provide a document in this repo or somewhere else. And only contain tools and scripts in this repo to generate a deployer

Yes, that's exactly what this is.

When we release a new version, we can run the build step to build a deployer and send the deployer to GKE marketplace.

This suggested approach would be better for us if we could still expose the values.yml to the user. Although we are only requires to have them set the PARAMETERS for schema.yml, I think we have too many other configurations someone would want to change (as per your comment about replicas). We can probably figure out how to expose the values.yaml, but I don't know how to right now or if it is really a supported workflow. There is a downside in that it hides away the helm chart from the power user, so it is harder for them to understand what the configuration is doing.

@gregwebs
Copy link
Contributor Author

What is the difference between charts and marketplace/gcp/tidb-operator-enterprise/chart

This puts together a wrapping application that is a one-click deploy in MarketPlace. The only difference between charts and marketplace/gcp/tidb-operator-enterprise/chart/tidb-mp/charts is one additional template file for the billing agent.

@tennix
Copy link
Member

tennix commented Oct 16, 2018

The chart files are duplicated. For now, I know you added billing agent in charts directory. In the future, if the charts can be copied unmodified to the marketplace, we should git ignore it.
I think advanced users may just use helm to install charts directly if we give a link to this repo. So we don't have to expose all the values to users.

@gregwebs
Copy link
Contributor Author

We can actually ignore the charts instead of commit them. We just need to make sure that we get a properly released version of the charts (git tag) and not just take master.

@tennix
Copy link
Member

tennix commented Oct 18, 2018

The TidbCluster crd problem still exists, you need to use the latest code to regenerate this pr.

@gregwebs gregwebs changed the title [WIP] Marketplace Marketplace Oct 18, 2018
@gregwebs
Copy link
Contributor Author

okay, done now. It now only contains the installer chart. There are some chart tweaks to get pushed upstream into tidb-operator now.

@tennix tennix merged commit 3394860 into pingcap:master Oct 23, 2018
@tennix tennix deleted the marketplace branch October 23, 2018 10:59
queenliuxx pushed a commit to queenliuxx/tidb-operator that referenced this pull request Dec 19, 2018
* marketplace deployment guide

* add charts

* install the application CRD

* use the new installer chart

* list other resources in marketplace application spec

* use per project registry repo
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.

None yet

3 participants