Home New Trending Search
About Privacy Terms
#
#ConfigManagement
Posts tagged #ConfigManagement on Bluesky
Drupalize.me Launches In-Depth Course on the Recipes API

Drupalize.me Launches In-Depth Course on the Recipes API

📚 Drupalize.me just dropped a full course on the Drupal Recipes API!

Joe Shindelar @eojthebrave.bsky.social walks through creating and using config recipes—portable, reusable site setups.

Covers Config Actions API too.

🔗 https://bit.ly/4tbKu63

#RecipesAPI #DrupalTraining #ConfigManagement

0 0 0 0
Preview
Understanding Config vs Content: A Level 0 Foundation in Drupal Weekly Drupal contributor Saroj explains why separating configuration from content is foundational to Drupal success. This Level 0 concept affects deployment workflows, project stability, and long-term maintainability for any Drupal site.

Beginner tip via Saroj K. on Weekly Drupal: Know your config vs content.

Config = site structure (deployable), Content = live data (DB-bound).

Start every project with a config-first mindset.
🔗 https://bit.ly/49H9UzC

#Drupal #DrupalTutorial #ConfigManagement #DevOps

0 0 0 0
Preview
Mastering Configuration Management in Drupal: Acquia Module 2.7 Explained In Module 2.7 of the Weekly Drupal certification prep series, Saroj explains how configuration management supports professional Drupal workflows. The article covers YAML exports, Git integration, config splits, and common exam traps like confusing co...

🧑‍💻 Config management in Drupal made clear in Module 2.7 of Weekly Drupal by Saroj K.
Learn YAML exports, Git best practices, and config splits for multi-env teams.
Helps prep for Acquia certs + improve site governance.

https://bit.ly/3Lx8uiV

#DrupalDev #ConfigManagement #Drush

0 0 0 0

Ultimately, there's no single "right" answer. A hybrid strategy might be best: using XDG for new CLI tools while respecting established macOS app conventions could offer a balance of consistency and native integration. #ConfigManagement 6/6

0 0 0 0
Video thumbnail

Thinking for Friday's live stream: Drupal Config Management basics!

We'll cover:
* active config,
* import/export,
* gotchas & useful modules.

Perfect for Drupal CMS beginners. Link soon!

#Drupal #CMS #ConfigManagement #WebDev

0 0 1 0
Preview
Factory Pattern Without any `if` Yeah... Dude, I've seen a lot of accidents in my rear view mirror! (: And I'm grateful my first job was in a huge software company where I kept hearing those two solid basics: **- Generic** **- Configurable** You got these two - There's basically nothing left to do. ## Generic: Code you can extend without modifying it. For example, a file system engine copy and sort "Items". We can extend and introduce a special engine that can copy video file "Items" and still use the existing sort. It's not only inheritance. A Generic engine may accept a custom sort algorithm using an appropriate "setter". It is the flexibility to enhance our code without modifying it. Think of a generic code as one that you can **burn into a chip!** You will never modify it. But you will extend, plug and enhance it. ### Configurable: Control runtime behavior by applying external parameters without modifying the code. The flexibility with configurable code is the ability to accept external values - not more code - to customize the runtime behavior. For example, our File System engine can be defined to accept a threshold of maximum milliseconds it should wait for the sort to complete. Beyond that max time - it can abort the sorting algo. A Generic engine can be extended with a new kind that waits longer or never stop. But a configurable engine can run each time with a different value for the "max-sort-timeout-millis" for example. ## Why Without Any `if` statements? It's my rule of thumb - Having my flow "split" implies I might need to support other conditions or edge cases. Known or not. Modifying code means maintenance and **we don't like maintenance.** Less `if` statements - Less opportunities my code go wild. ## Factory - The Simplest Way public static SortStrategy getSortingStrategy(String strategyName) { return switch (strategyName) { case "bubble" -> new BubbleSort(); case "selection" -> new SelectionSort(); case "merge" -> new MergeSort(); case "quick" -> new QuickSort(); default -> new ShellSort(); }; } Using `switch` doesn't mean we're not using `if` for that matter. To support a new sort strategy, our factory will have to be modified. ## HashMap Based Factory class SortFactory { static Map<String, SortStrategy> strategyMap = new HashMap<>(); // initialize the strategy instances. static { strategyMap.put("quicksort", new QuickSort()); strategyMap.put("mergesort", new MergeSort()); strategyMap.put("heapsort", new HeapSort()); } public static SortStrategy getSortStrategy(String sortType) { // Return strategy from map, default to BubbleSort. return strategyMap.getOrDefault(sortType, new BubbleSort()); } } It's a nice progress but for a new sort strategy we still need to modify the factory. Map or Not - we'll need additional `put`. ## True Configurable Factory - Reflection Based static { Properties props = new Properties(); try (InputStream input = SortFactory.class.getClassLoader().getResourceAsStream(CONFIG_FILE)) { props.load(input); for (String sortName : props.stringPropertyNames()) { String className = props.getProperty(sortName); Class<?> clazz = Class.forName(className); // Load class dynamically SortStrategy strategy = (SortStrategy) clazz.getDeclaredConstructor().newInstance(); // Instantiate strategyMap.put(sortName.toLowerCase(), strategy); } } catch (Exception e) { // No error handling for simplicity } strategyMap.putIfAbsent("bubblesort", DEFAULT_STRATEGY); // Ensure default } Now, we can introduce as many sort strategies we like while our Factory code never changes! ## Beyond Generic and Configurable ? It's fully configurable but not the best. In many cases - this solution is even not convenient for real software life cycle operations! Our solution so far can handle a new definition of a sort strategy but it is initialized only on application startup. What if our application is a server? must we restart it just because we're defining a new strategy? ## Dynamic Configuration It would be the same, but we'll have a `load` method that we can invoke each time the configuration changes. This can be done explicitly like clicking a "Refresh Strategy Configuration" button which will call the load method. Much better! But... What if our configuration parameter is an algorithm variable like an AI "reward-factor" which is called hundreds of times inside loops while the AI algo runs? If we change that parameter, we'll have to hit "refresh configs" each time? ## By File System Trigger We might trigger loading the map each time the "FileModified" event occurred for the properties file. We'll have to register for the FS events, but for other config cases, we'll need to find a clever solution each time. Is there a better way to listen to any config change without refreshing or reloading doing any heavy I/O to have the latest data? And do we have to refresh all config data even if only one item changed? ## How about adding permissions to the config file? ## Where does the config file reside? ## Can we make it faster having cached configs? ## And, update local cache only when "delta changes"? I'm obviously out of scope! Factory Without any `if` is sufficient in many cases. It's great. For the rest of the Dynamic, Real-Time "Delta Changes" only, Role based access, centralized hub of configurations per environment, with configs hierarchies - we'll have to go on solutions like websockets, a smart Server and SDK but that would require me to offer our solution for real-time config management but I'm not into marketing here - just talking Java Factory without any `if`. Remember - Generic and Configurable - You got these two - You got the rest of the day off. Or get ready for your next task - time to clean-shine your desk... ## **:)**
0 0 0 0
Preview
Factory Pattern Without any `if` Yeah... Dude, I've seen a lot of accidents in my rear view mirror! (: And I'm grateful my first job was in a huge software company where I kept hearing those two solid basics: **- Generic** **- Configurable** You got these two - There's basically nothing left to do. ## Generic: Code you can extend without modifying it. For example, a file system engine copy and sort "Items". We can extend and introduce a special engine that can copy video file "Items" and still use the existing sort. It's not only inheritance. A Generic engine may accept a custom sort algorithm using an appropriate "setter". It is the flexibility to enhance our code without modifying it. Think of a generic code as one that you can **burn into a chip!** You will never modify it. But you will extend, plug and enhance it. ### Configurable: Control runtime behavior by applying external parameters without modifying the code. The flexibility with configurable code is the ability to accept external values - not more code - to customize the runtime behavior. For example, our File System engine can be defined to accept a threshold of maximum milliseconds it should wait for the sort to complete. Beyond that max time - it can abort the sorting algo. A Generic engine can be extended with a new kind that waits longer or never stop. But a configurable engine can run each time with a different value for the "max-sort-timeout-millis" for example. ## Why Without Any `if` statements? It's my rule of thumb - Having my flow "split" implies I might need to support other conditions or edge cases. Known or not. Modifying code means maintenance and **we don't like maintenance.** Less `if` statements - Less opportunities my code go wild. ## Factory - The Simplest Way public static SortStrategy getSortingStrategy(String strategyName) { return switch (strategyName) { case "bubble" -> new BubbleSort(); case "selection" -> new SelectionSort(); case "merge" -> new MergeSort(); case "quick" -> new QuickSort(); default -> new ShellSort(); }; } Using `switch` doesn't mean we're not using `if` for that matter. To support a new sort strategy, our factory will have to be modified. ## HashMap Based Factory class SortFactory { static Map<String, SortStrategy> strategyMap = new HashMap<>(); // initialize the strategy instances. static { strategyMap.put("quicksort", new QuickSort()); strategyMap.put("mergesort", new MergeSort()); strategyMap.put("heapsort", new HeapSort()); } public static SortStrategy getSortStrategy(String sortType) { // Return strategy from map, default to BubbleSort. return strategyMap.getOrDefault(sortType, new BubbleSort()); } } It's a nice progress but for a new sort strategy we still need to modify the factory. Map or Not - we'll need additional `put`. ## True Configurable Factory - Reflection Based static { Properties props = new Properties(); try (InputStream input = SortFactory.class.getClassLoader().getResourceAsStream(CONFIG_FILE)) { props.load(input); for (String sortName : props.stringPropertyNames()) { String className = props.getProperty(sortName); Class<?> clazz = Class.forName(className); // Load class dynamically SortStrategy strategy = (SortStrategy) clazz.getDeclaredConstructor().newInstance(); // Instantiate strategyMap.put(sortName.toLowerCase(), strategy); } } catch (Exception e) { // No error handling for simplicity } strategyMap.putIfAbsent("bubblesort", DEFAULT_STRATEGY); // Ensure default } Now, we can introduce as many sort strategies we like while our Factory code never changes! ## Beyond Generic and Configurable ? It's fully configurable but not the best. In many cases - this solution is even not convenient for real software life cycle operations! Our solution so far can handle a new definition of a sort strategy but it is initialized only on application startup. What if our application is a server? must we restart it just because we're defining a new strategy? ## Dynamic Configuration It would be the same, but we'll have a `load` method that we can invoke each time the configuration changes. This can be done explicitly like clicking a "Refresh Strategy Configuration" button which will call the load method. Much better! But... What if our configuration parameter is an algorithm variable like an AI "reward-factor" which is called hundreds of times inside loops while the AI algo runs? If we change that parameter, we'll have to hit "refresh configs" each time? ## By File System Trigger We might trigger loading the map each time the "FileModified" event occurred for the properties file. We'll have to register for the FS events, but for other config cases, we'll need to find a clever solution each time. Is there a better way to listen to any config change without refreshing or reloading doing any heavy I/O to have the latest data? And do we have to refresh all config data even if only one item changed? ## How about adding permissions to the config file? ## Where does the config file reside? ## Can we make it faster having cached configs? ## And, update local cache only when "delta changes"? I'm obviously out of scope! Factory Without any `if` is sufficient in many cases. It's great. For the rest of the Dynamic, Real-Time "Delta Changes" only, Role based access, centralized hub of configurations per environment, with configs hierarchies - we'll have to go on solutions like websockets, a smart Server and SDK but that would require me to offer our solution for real-time config management but I'm not into marketing here - just talking Java Factory without any `if`. Remember - Generic and Configurable - You got these two - You got the rest of the day off. Or get ready for your next task - time to clean-shine your desk... ## **:)**
0 0 0 0

1️⃣ STRUCTURED APPROACH

❌ Ad-hoc changes, manual updates, no tracking
✅ 5-stage process: planning, identification, control, status accounting, audit/review

Treat config changes with the same rigor as code changes

#ConfigManagement #CloudComputing

2/7

1 0 1 0
Original post on hachyderm.io

Find myself needing to learn about #Openshift and #argocd wondering how people pre-approve operator installs in #IAC / #Automation with a specific version without setting the entire operator to update automatically (This will cause a conflict between desired version and what gets installed) […]

0 0 0 0
CfgMgmtCamp 2025 Ghent Schedule, talks and talk submissions for CfgMgmtCamp 2025 Ghent

Very last day (14+ hours left!) to submit your proposals for #CfgMgmtCamp 2025 in #Ghent! https://cfp.cfgmgmtcamp.org/ghent2025/cfp

@cfgmgmtcamp.bsky.social #opensource #cfp #configmanagement

0 0 0 0
CfgMgmtCamp 2024: Unser Rückblick Entdecke Configmanagement Trends & Tools vom CfgMgmtCamp 2024, von Ansible & Terraform zu neuen Projekten wie Pkl & winglang!

Ihr interessiert euch für #Configmanagement?
Unsere Kollegen waren letzte Woche auf dem #CfgMgmtCamp in Gent 🇧🇪 und haben für euch die neuesten Einblicke zu #Ansible, #Terraform und Co zusammengefasst!

bit.ly/3UAaxVD

0 0 0 0
Preview
GitHub - integrations/terraform-provider-github: Terraform GitHub provider Terraform GitHub provider. Contribute to integrations/terraform-provider-github development by creating an account on GitHub.

What are your favorite tools to declaratively manage #GitHub repositories, organizations, and teams?

I know github.com/integrations... but would prefer something without a separate state file to reduce complexity.

#GitOps #ConfigManagement

0 0 0 0
Post image

SysAdmins aufgepasst! Hier gibt's alles über Ansible: Konfiguration, Playbooks, Rollen, Erstellung eigener Module… Jetzt anmelden!#ansible #configmanagement #netwaystrainings #neverstoplearning /juh

netways.de/trainings

0 0 0 0

STAT: #DevOps adoption rises to 66% – @rightscale study – Chef tops list as most popular #configmanagement tool http://bit.ly/1CJkcZP

0 0 0 0
x.com

Two years ago today was the first time I heard this quote from Mark Burgess. #configmanagement http://t.co/TQMlJP62C8

0 0 0 0