-
Notifications
You must be signed in to change notification settings - Fork 1.5k
pkg/asset: Add asset for ingress config #717
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
pkg/asset: Add asset for ingress config #717
Conversation
|
/hold |
d45c751 to
1a4b9da
Compare
This is no go. Why should the user be prompted for this? Why is the cluster name and base domain not enough. Also any other customization should be supported bu running |
|
Thanks! Latest push deletes asking for ingress domain, deletes |
d7d50df to
d55a24f
Compare
|
openshift/api#139 merged, so |
|
/approve |
d55a24f to
8898ab2
Compare
|
Latest push moves the ingresses.config.openshift.io CRD to |
8898ab2 to
0fd36f8
Compare
|
Fixed yaml indentation. |
|
0fd36f8 looks good to me. But stepping back, does this need to be in the installer code? Could the ingress operator use the usual approach to push the CRD and then push the config object when the operator comes up? If it's easier, I'm fine landing this as it stands and potentially pivoting to that approach later. |
|
e2e-aws included: /retest |
I'm not sure there is a usual approach to what we're doing in this PR:
To this last point, I do see some |
That's a fair point. But it seems to be in the cluster-ingress-operator wheelhouse. The OpenShift API server should be able to operate without ingress configured, but I don't see the ingress operator running without a configuration.
I should push an update there. But does this help? Basically, the install-config you're using here is going to live in the cluster as a resource. So you could have your install-config -> ingress config logic live in your operator itself. When the operator comes up it would:
|
Done with openshift/cluster-version-operator#59. Also, with #731 landed, this needs a rebase to resolve vendoring conflicts. |
* data/data/manifests/bootkube/cluster-ingress-01-crd.yaml: New file containing the ingresses.config.openshift.io CRD. * pkg/asset/manifests/ingress.go (Ingress): New asset. (Name): New method. (Dependencies): New method. Depend on InstallConfig. (Generate): New method. Generate files for the ingress config CRD and for a default ingress config CR with an ingress domain that is based on the cluster name and base domain from InstallConfig. (Files, Load): New methods. * pkg/asset/manifests/operators.go (Dependencies): Add dependency on the ingress asset. (Generate): Add the ingress asset's files to the file list. Related to NE-100. https://jira.coreos.com/browse/NE-100
The installer team has been planning to drop install-config from cluster as source for configuration for operators. And I think we aggreed that the installer will break the install-config into On the topic of reconciling the |
I'm fine with this, although I'm not clear on the motivation. Maybe just that it's one less thing for in-cluster consumers to have to worry about when those consumers need to share configuration beyond what lives in the install config. Anyhow, this PR looks good to me as a step towards that goal; just needs the rebase an new |
0fd36f8 to
63a161c
Compare
|
Rebased. |
|
/lgtm |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: abhinavdahiya, Miciah, wking The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
@Miciah: The following test failed, say
Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
|
I think something didn't go as planned with this PR. Here's what I'm seeing in new clusters: |
Here's what I'm seeing: $ jq -r .ignition_bootstrap wking/terraform.tfvars | jq '.storage.files[] | .path' | grep ingress
"/opt/tectonic/templates/cluster-ingress-01-crd.yaml"
"/opt/tectonic/manifests/cluster-ingress-02-config.yml"Maybe the issue is |
|
Yeah, I found the same and am trying an install with that path corrected. |
Import openshift/api/config/v1pkg/asset: Add asset for ingress configdata/data/manifests/bootkube/cluster-ingress-01-crd.yaml: New file containing the ingresses.config.openshift.io CRD.pkg/asset/manifests/ingress.go(Ingress): New asset.(
Name): New method.(
Dependencies): New method. Depend onInstallConfig.(
Generate): New method. Generate files for the ingress config CRD and for a default ingress config CR with an ingress domain that is based on the cluster name and base domain fromInstallConfig.(
Files,Load): New methods.pkg/asset/manifests/operators.go(Dependencies): Add dependency on the ingress asset.(
Generate): Add the ingress asset's files to the file list.Related to NE-100.
Depends on openshift/api#139.