In that case, you might want to use version control and use whatever tool you are comfortable with to apply those on before startup.
Perhaps you could extract a basic config xml, templatize it, and render the template as appropriate for all the nodes. You could then deploy this config before startup using whichever tool suits it best — puppet, and I Le, terraform (yea, not really a config tool but it could work) or even a simple rsync/ssh workflow could do? You’d still want to keep around your database and artifact directories, etc though, so somewhere you’ll need to persist disk or at least restore from a tar all or something, I would imagine. Otherwise no pipeline history or build artifacts. On Sat, May 8, 2021 at 10:45 PM HUSSEIN KADIRI <[email protected]> wrote: > ok got it. This approach works if you're managing a few goCD servers but > it doesn't really scale if you have to manage a lot of GoCD servers. We > have a setup where each team has their own CI system. It would be quite > painful managing each system this way. Also we aim to have one touch push > button deployments. Having to interact with the UI to set things up won't > quite work there. > > On Sat, May 8, 2021, 10:37 PM Marques Lee <[email protected]> > wrote: > >> Certainly possible that I misinterpreted your question. If it was more >> about “how do I get started to configure GoCD and learn to how make changes >> thereafter” I’d just start with the vanilla settings that the UI creates. >> There’s an option in the admin menu to view the current effective config >> xml and even edit it right there (validating any changes before saving). >> Making bulk changes in the UI is inefficient so sometimes we configure >> something once, open the config xml view/edit page, copy the xml our >> favorite code editor (eg, sublime, vscode) and use the editor’s advance >> text manipulation facilities to replicate config blocks to however many we >> need and then paste it back into config xml GoCD page to validate/save. >> >> On Sat, May 8, 2021 at 10:25 PM Marques Lee <[email protected]> >> wrote: >> >>> Hmm, well you could always keep your cruise config in source control of >>> course, just like you might do with any other service config. >>> >>> However, what we do internally for build.gocd.org is to utilize the >>> backup feature of GoCD — it’s not just the server config that you’ll want >>> to track, but also your data in the database that keeps track of pipeline >>> history and such. The backup feature will save all of that for you to an >>> archive. We persist them nightly to S3 IIRC. Our config folder and >>> flyweight folders, etc are all bind-mounted into the container at >>> provisioning. >>> >>> Is that the kind of info you're looking for? >>> >>> -Marques >>> >>> On Sat, May 8, 2021 at 10:07 PM HUSSEIN KADIRI <[email protected]> >>> wrote: >>> >>>> Thanks Marques. >>>> Curious what's the best/common/recommended practice on configs around >>>> configuring from scratch and making incremental changes? >>>> >>>> >>>> >>>> On Fri, May 7, 2021, 5:40 PM Marques Lee <[email protected]> >>>> wrote: >>>> >>>>> I think that has been talked about for a long time (actually, in the >>>>> context of doing doing full server config as code) but hasn’t materialized >>>>> unfortunately :(. Probably won’t happen for a long time until someone gets >>>>> enough time on their hands (and maybe an external committer at that — >>>>> that’s actually how we initially gained support for pipelines as config). >>>>> >>>>> So while I’d love to tell you “yes we’re working on it” the reality is >>>>> nobody’s taken the time to truly explore it since XML does work and is >>>>> doing “good enough.” 🤷🏻♂️ >>>>> >>>>> -Marques >>>>> >>>>> On Fri, May 7, 2021 at 5:36 PM HUSSEIN KADIRI <[email protected]> >>>>> wrote: >>>>> >>>>>> Yeah XML is a bummer :( Any plans of replacing it with yaml :)? >>>>>> >>>>>> On Fri, May 7, 2021, 5:33 PM Marques Lee < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> What you can do is configure things in the UI and then copy the >>>>>>> resulting XML file. >>>>>>> >>>>>>> We also document all of this configuration here: >>>>>>> >>>>>>> https://docs.gocd.org/current/configuration/configuration_reference.html >>>>>>> >>>>>>> On Fri, May 7, 2021 at 5:31 PM Marques Lee < >>>>>>> [email protected]> wrote: >>>>>>> >>>>>>>> Oh I see, so server config. >>>>>>>> >>>>>>>> You can just create the cruise-config.xml file and provision that >>>>>>>> in the server config dir. >>>>>>>> >>>>>>>> Yes, I know it’s XML (yuck) and not something nicer, but it works. >>>>>>>> That’s where GoCD keeps its canonical configuration (the UI changes >>>>>>>> result >>>>>>>> in direct changes to this xml file) >>>>>>>> >>>>>>>> -Marques >>>>>>>> >>>>>>>> On Fri, May 7, 2021 at 5:27 PM HUSSEIN KADIRI <[email protected]> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> not referring to configuring pipelines. >>>>>>>>> >>>>>>>>> All the examples in the yaml plugin point to configure pipelines. >>>>>>>>> >>>>>>>>> I want to configure the GoCD server itself in preferably >>>>>>>>> yaml.format. Like configuring the elastic agent profiles. Etc. Are >>>>>>>>> there >>>>>>>>> examples of those? >>>>>>>>> . >>>>>>>>> >>>>>>>>> On Fri, May 7, 2021, 5:20 PM Marques Lee < >>>>>>>>> [email protected]> wrote: >>>>>>>>> >>>>>>>>>> Yes! We have several plugins to do pipelines as code. >>>>>>>>>> >>>>>>>>>> Officially, we support Groovy DSL, YAML, and JSON. >>>>>>>>>> >>>>>>>>>> The JSON and YAML plugins are built in, but groovy needs to be >>>>>>>>>> downloaded and copied into the plugins dir. the Groovy plugin offers >>>>>>>>>> the >>>>>>>>>> most flexibility since you have a general purpose programming >>>>>>>>>> language, but >>>>>>>>>> YAML and JSON are still quite capable for most. >>>>>>>>>> >>>>>>>>>> Docs/Source code: >>>>>>>>>> >>>>>>>>>> YAML: >>>>>>>>>> https://github.com/tomzo/gocd-yaml-config-plugin >>>>>>>>>> >>>>>>>>>> JSON: >>>>>>>>>> https://github.com/tomzo/gocd-json-config-plugin >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Groovy DSL: >>>>>>>>>> https://github.com/gocd-contrib/gocd-groovy-dsl-config-plugin >>>>>>>>>> >>>>>>>>>> -Marques >>>>>>>>>> On Fri, May 7, 2021 at 5:14 PM HUSSEIN KADIRI <[email protected]> >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> https://docs.gocd.org/current/advanced_usage/pipelines_as_code.html >>>>>>>>>>> talks about configuring pipeline configuration repo via the UI. >>>>>>>>>>> >>>>>>>>>>> Can the configuration be done programatically? >>>>>>>>>>> >>>>>>>>>>> Maybe by updating the helm chart or some API? >>>>>>>>>>> >>>>>>>>>>> -- >>>>>>>>>>> You received this message because you are subscribed to the >>>>>>>>>>> Google Groups "go-cd" group. >>>>>>>>>>> To unsubscribe from this group and stop receiving emails from >>>>>>>>>>> it, send an email to [email protected]. >>>>>>>>>>> To view this discussion on the web visit >>>>>>>>>>> https://groups.google.com/d/msgid/go-cd/4039487e-ccef-46b1-af80-cb8466b50600n%40googlegroups.com >>>>>>>>>>> <https://groups.google.com/d/msgid/go-cd/4039487e-ccef-46b1-af80-cb8466b50600n%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>>>>>>> . >>>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> >>>>>>>>> You received this message because you are subscribed to a topic in >>>>>>>>>> the Google Groups "go-cd" group. >>>>>>>>>> To unsubscribe from this topic, visit >>>>>>>>>> https://groups.google.com/d/topic/go-cd/kvs4Gd0BCKg/unsubscribe. >>>>>>>>>> To unsubscribe from this group and all its topics, send an email >>>>>>>>>> to [email protected]. >>>>>>>>>> To view this discussion on the web visit >>>>>>>>>> https://groups.google.com/d/msgid/go-cd/CAPKX9jY1YmFsBMOHRK3nLx3Oj6VvfTw7R_eROPSQHYqtEgNBWA%40mail.gmail.com >>>>>>>>>> <https://groups.google.com/d/msgid/go-cd/CAPKX9jY1YmFsBMOHRK3nLx3Oj6VvfTw7R_eROPSQHYqtEgNBWA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>>> . >>>>>>>>>> >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "go-cd" group. >>>>>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>>>>> send an email to [email protected]. >>>>>>>>> To view this discussion on the web visit >>>>>>>>> https://groups.google.com/d/msgid/go-cd/CAFD%2B7Dn%3Dz1%3D3s77EJHnTtP_C-11OCkqZGHFpn-ezY8M6-6-AfQ%40mail.gmail.com >>>>>>>>> <https://groups.google.com/d/msgid/go-cd/CAFD%2B7Dn%3Dz1%3D3s77EJHnTtP_C-11OCkqZGHFpn-ezY8M6-6-AfQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>>>> . >>>>>>>>> >>>>>>>> -- >>>>>>> You received this message because you are subscribed to a topic in >>>>>>> the Google Groups "go-cd" group. >>>>>>> To unsubscribe from this topic, visit >>>>>>> https://groups.google.com/d/topic/go-cd/kvs4Gd0BCKg/unsubscribe. >>>>>>> To unsubscribe from this group and all its topics, send an email to >>>>>>> [email protected]. >>>>>>> >>>>>> To view this discussion on the web visit >>>>>>> https://groups.google.com/d/msgid/go-cd/CAPKX9jYw20_mrN5Q6%2BogxpLcfqrKUACzYvZ79i2p02WkniheLA%40mail.gmail.com >>>>>>> <https://groups.google.com/d/msgid/go-cd/CAPKX9jYw20_mrN5Q6%2BogxpLcfqrKUACzYvZ79i2p02WkniheLA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>>> . >>>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "go-cd" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/go-cd/CAFD%2B7D%3DJ6D75Dq_ZPkAfGDtUEciyxh-yqiQGs94BGZ0HqRSBew%40mail.gmail.com >>>>>> <https://groups.google.com/d/msgid/go-cd/CAFD%2B7D%3DJ6D75Dq_ZPkAfGDtUEciyxh-yqiQGs94BGZ0HqRSBew%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>>> You received this message because you are subscribed to a topic in the >>>>> Google Groups "go-cd" group. >>>>> To unsubscribe from this topic, visit >>>>> https://groups.google.com/d/topic/go-cd/kvs4Gd0BCKg/unsubscribe. >>>>> To unsubscribe from this group and all its topics, send an email to >>>>> [email protected]. >>>>> >>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/go-cd/CAPKX9jZeeq%3Dh%3DR43Z9swp2JFQ%2BKhZRPBwYKm9tnQjPXyJP6fhA%40mail.gmail.com >>>>> <https://groups.google.com/d/msgid/go-cd/CAPKX9jZeeq%3Dh%3DR43Z9swp2JFQ%2BKhZRPBwYKm9tnQjPXyJP6fhA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "go-cd" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/go-cd/CAFD%2B7DnSo2FfkGDdA2Wt38unR9_JV9SWij7Pjn9aqcbcet-%3DHQ%40mail.gmail.com >>>> <https://groups.google.com/d/msgid/go-cd/CAFD%2B7DnSo2FfkGDdA2Wt38unR9_JV9SWij7Pjn9aqcbcet-%3DHQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "go-cd" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/go-cd/kvs4Gd0BCKg/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected]. >> > To view this discussion on the web visit >> https://groups.google.com/d/msgid/go-cd/CAPKX9jbiE_A-behXj4uQkPknmOoY%2Bu02iDnnEZfJrb4DGBeeSQ%40mail.gmail.com >> <https://groups.google.com/d/msgid/go-cd/CAPKX9jbiE_A-behXj4uQkPknmOoY%2Bu02iDnnEZfJrb4DGBeeSQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- > You received this message because you are subscribed to the Google Groups > "go-cd" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/go-cd/CAFD%2B7DnGa3C%2Bnb-O%3DA%2B010wQznbyJGTO0ZnKP2Qiw-PRKTMukw%40mail.gmail.com > <https://groups.google.com/d/msgid/go-cd/CAFD%2B7DnGa3C%2Bnb-O%3DA%2B010wQznbyJGTO0ZnKP2Qiw-PRKTMukw%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/go-cd/CAPKX9jZ%2BUYuBoZeka92_-61ZHUCA4KNcn4VjiN7PVnZ7bEKGJA%40mail.gmail.com.
