Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Apr 12 2020 19:06
    fabianvf edited #5
  • Apr 12 2020 19:06
    fabianvf edited #5
  • Apr 12 2020 19:06
    fabianvf edited #5
  • Apr 09 2020 15:50
    fabianvf synchronize #9
  • Apr 09 2020 15:50

    fabianvf on use-new-crd

    Add collection installs and mov… Update to molecule v3 (compare)

  • Mar 20 2020 20:21
    fabianvf synchronize #9
  • Mar 20 2020 20:21

    fabianvf on use-new-crd

    Make role work well with explic… (compare)

  • Mar 20 2020 18:15
    fabianvf opened #9
  • Mar 20 2020 18:13

    fabianvf on use-new-crd

    rename role Update molecule tests Fix role names, update base ima… and 1 more (compare)

  • Mar 20 2020 16:28

    fabianvf on master

    Update CRDs to a more intention… (compare)

  • Mar 20 2020 16:28
    fabianvf closed #8
  • Mar 20 2020 16:27
    fabianvf synchronize #8
  • Mar 20 2020 16:27

    fabianvf on updated-crds

    update parameter name (compare)

  • Nov 20 2019 19:56
    fabianvf edited #5
  • Nov 20 2019 17:54
    fabianvf synchronize #8
  • Nov 20 2019 17:54

    fabianvf on updated-crds

    Reorganize mod settings, add de… (compare)

  • Nov 20 2019 15:40
    fabianvf edited #8
  • Nov 19 2019 23:36
    fabianvf edited #8
  • Nov 19 2019 23:36
    fabianvf opened #8
  • Nov 19 2019 23:35

    fabianvf on updated-crds

    First stab at better CRDs (compare)

Fabian von Feilitzsch
@fabianvf
@itzg done
Geoff Bourne
@itzg
Hi. I'm presently writing up an initial comment to capture my initial thoughts on the roadmap..which is fantastic to see BTW
Fabian von Feilitzsch
@fabianvf
Yeah, I've been doing a lot of local experimentation and just had too many thoughts bouncing around so I thought I'd get it all down before I lost it
if my kubecon talk is accepted I'll probably be able to get a week or two of work time, which should be enough for most of the implementation as long as the design is shored up
Fabian von Feilitzsch
@fabianvf
@itzg looks like some of my experimentation accidentally made it to the master branch :S
Geoff Bourne
@itzg
No problem :) Admittedly, I'm very late to the party and finally getting ramped up on using your operator
Fabian von Feilitzsch
@fabianvf
cool, yeah if you just remove the ansible container from deploy/operator.yaml then it should work fine, I was trying to figure out how to get nice logs and the gso was my testbed for stuff
Fabian von Feilitzsch
@fabianvf
or pull master which fingers crossed should work now
Geoff Bourne
@itzg
Thanks. I'll give that a try later
Fabian von Feilitzsch
@fabianvf
@itzg hey, sorry been doing a lot of firefighting recently. Just looking at picking up the minecraft stuff again now, working on slimming down/cleaning up the CRD. Got an updated version of the MinecraftServer CRD up, curious if you had any thoughts about the options exposed?: https://github.com/fabianvf/game-server-operator/pull/8/files#diff-13d87b9e4187945561e84595b4f55190R1 . Also added a new field that allows the user to specify arbitrary environment variables to be applied to the minecraft deployment, which serves as both an escape hatch and a way to easily move from running the container by hand/existing deployment objects/docker-compose to the operator without having to manually translate all of your options to the CRD. Once the CRD API is nailed down implementation should be pretty easy
Geoff Bourne
@itzg
No problem, I totally get that. I'll take a closer look later, but I definitely like the idea of the escape hatch for arbitrary env variables. The common options can be "native" fields, but like you said don't have to worry about ongoing maintenance for new env vars
I was afraid I would forget, so I already looked at the options there. Looks good. In mods I would suggest including forgeVersion since I see people mention that in their issues/questions
Fabian von Feilitzsch
@fabianvf
@itzg yeah, I tried to make the mod variables a little more generic since there was a lot of shared semantics, so I made the mods.modLoaderVersion variable https://github.com/fabianvf/game-server-operator/pull/8/files#diff-13d87b9e4187945561e84595b4f55190R138 which I was going to map to the variable matching mods.serverType. Perhaps that's unnecessary complexity for the sake of brevity though
my other idea was to create forgeSettings/spigotSettings/paperSettings etc
Geoff Bourne
@itzg
Oh I see that now. Hmm, I like the shared semantic idea, but yeah maybe it's a little too obscured. Yeah, some like forgeSettings etc seems good
Fabian von Feilitzsch
@fabianvf

Perhaps I can make it so that rather than specifying server type and some settings, you can just say

mods:
  forge:
    version: X
    modpack: https://X.Y.Z/modpack
    ...
  bukkit:
    ...

and I can pick up the server type from that, while also allowing only a single entry to be specified

well that example is invalid obviously, but pretend it's two examples, one with forge, one with bukkit
Geoff Bourne
@itzg
gotcha :)
in the case where they just want the default version of forge and no mods (not sure why, but maybe doing manual installs) an empty forge: {} object would suffice, right?
Fabian von Feilitzsch
@fabianvf
if you see any fields in there that you think can be removed, because they can be automatically inferred due to the kubernetes environment, because there is a best practice that we should enforce, or because they are so niche an option that the envvar escape hatch is enough, definitely comment on those. My minecraft server administration experience is sparse so I have a hard time telling which options are important and which aren't
and yeah, forge: {} should work fine
Geoff Bourne
@itzg
well, I'm mostly a vanilla minecraft server guy myself, so I'm not much help there :) I didn't see any so far that were obvious to not be needed
not sure why that reminded me, but I do have a Bedrock supported image too
https://hub.docker.com/r/itzg/minecraft-bedrock-server
would be interesting if that could be blended into the same CRD
but that might get too "polymorphic" so totally just a thought to throw out there
Fabian von Feilitzsch
@fabianvf
Yeah, we could also just add a MinecraftBedrockServer CRD if the options offered differ enough (which I think they do)
Does it work behind bungeecord?
Geoff Bourne
@itzg
The options are just similar enough that that's what made me think about it.
I don't think it works behind bungeecord, instead it looks like there's different proxies people have implemented.
Fabian von Feilitzsch
@fabianvf
well if they're similar enough we could definitely look at blending it in, though if it doesn't work behind bungeecord the networking layer is going to be quite different, since I was looking at using the bungeecord kubernetes plugin we were discussing a while ago for any deployed server. Alternatively, maybe always putting a proxy in front is a bad idea
Geoff Bourne
@itzg
Oh yeah, given the bungeecord integration then yeah a separate CRD totally makes sense
Fabian von Feilitzsch
@fabianvf
quick question, it looks like I'm passing in a NAME environment variable currently, but all I can find in the minecraft container docs is SERVER_NAME. Did that change or am I just passing in nothing right now?
Geoff Bourne
@itzg
hmm, I'll look
yeah, SERVER_NAME is the correct variable
Fabian von Feilitzsch
@fabianvf
I was also planning on enabling rcon and query by default, any opinions on that?
Geoff Bourne
@itzg
Sounds good to me
Fabian von Feilitzsch
@fabianvf
have you had any experience rolling out minecraft servers? I assume if I start two servers looking at the same directory, at least one of them will be very unhappy? Mostly curious because some curseforge mods can take 10-15 minutes to load, so anything that leads to a redeploy ends up in significant downtime. Wasn't sure if there was anything I could do to load up all the server mods without routing players in, until the server reports ready at which point I can safely switch