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

Move configSecretName key #269

Open
asymmetric opened this issue May 7, 2018 · 1 comment
Open

Move configSecretName key #269

asymmetric opened this issue May 7, 2018 · 1 comment

Comments

@asymmetric
Copy link
Contributor

asymmetric commented May 7, 2018

If my interpretation of the rationale behind the Habitat type is correct, the spec.service field should only be used for flags passed to the supervisor binary.

It follows then that the configSecretName key shouldn't be there.

Is it worth it to move it elsewhere (e.g. one level up)? Or am I being pedantic? 😂

@asymmetric asymmetric added this to Inbox in Operator board via automation May 7, 2018
@asymmetric asymmetric moved this from Inbox to Backlog in Operator board May 7, 2018
@asymmetric asymmetric moved this from Backlog to In Progress in Operator board May 7, 2018
@krnowak
Copy link
Contributor

krnowak commented May 8, 2018

I'm trying to think with my "spanning ring" hat on here. At some point I will want to add something to the manifest. Basically a bunch of ports that would be opened on the cluster:

  • one for SWIM/gossip communication between supervisors inside and outside the cluster
  • zero or more ports for service specific needs

This normally would be solved with the k8s Service resource, like we currently do in some examples. But I wanted to add separate fields for the ports in the manifest, because this information needs to be passed to the supervisor too. It would have a double purpose and that would make the ports to fit neither category of fields, I think.

In general, I think that categorization of the fields based on whether this stuff is passed to habitat via flags or not is rather arbitrary. I mean - what do we do with those fields is an implementation detail, no? If we want to categorize the fields, I suppose it should be based on functionality. Something like:

  • setup:
    • image
    • count
  • runtime
    • env
    • ring key
    • group
    • topology
    • config secret name
    • bind
    • persistent storage
    • name
    • channel

So, I dunno. Maybe just flattening all this would be best… OTOH, setup could serve as a dumping ground for some k8s specific stuff if we ever will need to add something (like image pull policy, which we didn't add in the end), and runtime - for habitat specific stuff. But not sure where the port fields for spanning ring would fit into this picture.

So, you wanted my opinion so there you have it. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Operator board
  
In Progress
Development

No branches or pull requests

2 participants