14 KiB
- 2020-05-13
- 2020-05-11
- cdist #4: Requirements
- Lecture content
- Objective
- Create a new type __my_nginx
- Create a new type __my_nginx_site
- Assume the object_id is a domain
- In the __my_nginx_site create a file inside the nginx_config_dir
- The filename is ${domain}.conf
- When using __file, it should require the nginx package
- The file should be a valid nginx configuration
- The server name should be set to the specified domain
- The root directive should point to /var/www/html/DOMAIN
- Use both types in the initial manifest to configure the target host
- Configure the target host
- Delete the nginx package manually on the target host
- Comment out __my_nginx from the initial manifest, keep the __my_nginx_site
- Lecture content
- cdist #4: Requirements
- 2020-05-08
- cdist #3: type parameters
- Lecture content
- Create a new type named __colourful_file
- Extend your type to be more colourful
- Create a new type __my_dotfiles
- Objective is to manage the dotfiles in your home directory
- Make it a singleton type
- Create a sub directory files in the type
- Add your .emacs config to the files folder
- Add a for loop to your type to deploy .[A-z]* to your home directory
- Add a .bashrc or .zshrc to the files folder (depending on your shell)
- In the initial manifest, add __my_dotfiles when the target host is localhost
- As usual commit all changes to your ungleich-learning-circle repo
- Lecture content
- cdist #3: type parameters
- 2020-05-06
- cdist #2: Your first cdist type
- Lecture content
- Objective
- Steps
- Documentation steps to be done in cdist.org
- Lecture content
- cdist #2: Your first cdist type
- 2020-05-04
- cdist #1: Introduction
- Lecture content
- Objective
- Steps
- Checkout cdist quickstart https://www.cdi.st/manual/latest/cdist-quickstart.html
- Install cdist locally
- Create a new cdist configuration directory in ~/ungleich-learning-circle/USERNAME/dot-cdist
- Create an empty initial manifest ("use touch")
- Commit that status
- Ensure that you can login as root to localhost via ssh without a password
- Configure cdist to configures the motd of your localhost
- Configure cdist to create the file /etc/cdist-configured
- Configure cdist to setup the timezone on your local computer
- Configure cdist to ensure emacs is installed
- Ensure that in the end all changes are committed in your repository
- Lecture content
- cdist #1: Introduction
- 2020-05-01
- Organisation #5: Emacs refresher
- Lecture content
- Objective: get confident with emacs commands
- Find out and document how to do the following steps
- Search for something forward C-s
- How to continue searching C-s C-s
- Search for something backward C-r
- Search for regular expressions instead of string (forward, backward) C-M-s C-M-r
- Go to the beginning of the line C-a
- Go to the end of the line C-e
- Delete a word in front (to the right of the cursor) M-d
- Delete a word in back (to the left of the cursor) M-BackSpace
- List all "occurences" of a word in a file M-s o
- Search (GREP) for a word in all files in a directory RECURSIVELY M-x rgrep
- Save the CURRENT buffer C-x C-s
- Save ALL open files C-x-s
- Split the window/buffer vertically C-x 2
- Split the window/buffer horizontally C-x 3
- Switch between the different windows C-x o
- Close all buffers besides the active one C-x 1
- Close only the active buffer C-x 0
- Kill the active buffer C-x k
- Describe/Explain the difference between closing and killing
- Switch between buffers that are not shown C-x b
- Outcome
- Lecture content
- Organisation #5: Emacs refresher
- 2020-04-29
- Organisation #4: Organising yourself
- Lecture content
- Objective: have a todo list based on org mode
- Steps
- Configure the "org-directory" to be ~/ungleich-learning-circle/USERNAME/
- Extend your function from the organisation #1 session
- Configure mu4e to create a org-mode tasks from an email
- Configure emacs to open the "org-agenda" with "C-c a"
- List all TODO entries
- List the agenda of the day
- List the agenda of the week
- Bind F8 to open the "org-todo-list"
- Create some sample tasks in it
- From now on, maintaining tasks should be
- Bonus tasks
- Lecture content
- Organisation #4: Organising yourself
- 2020-04-27
- Organisation #3: Managing your emails
- Lecture content
- Objective
- Description
- Steps
- Install mu4e
- Start mu4e in emacs
- Configure mbsync for your ungleich mail account
- Verify that mbsync synchronises the mail
- Index mails using `mu` on the command line (only first time)
- Configure mu4e to get email with mbsync -a
- Configure mu4e to "archive" emails into ~/Maildir/ungleich/YEAR/
- Configure mu4e/emacs for sending emails
- Send other participants an email via mu4e
- Verify that it arrives
- "Archive" it afterwards
- Lecture content
- Organisation #3: Managing your emails
- 2020-04-24
- Organisation #2: Creating, managing and sharing with "magit"
- Lecture content
- Install "magit" for emacs
- Bind C-x g to open magit-status in ~/.emacs
- Create a new directory ~/ungleich-learning-circle/ (with emacs)
- Create a sub directory ~/ungleich-learning-circle/YOURNAME/ (with emacs)
- Move your previously created learning.org file into ~/ungleich-learning-circle/YOURNAME/ (with emacs)
- Initialise it with git (with magit)
- Create the repo "ungleich-learning-circle" on code.ungleich.ch under your username
- Add your remote on code.ungleich.ch to your local git repo with magit
- Push your repo
- Add a new remote of a another participant
- Move your ~/learning.org to ~/notes
- Commit that file with magit
- Push the repo with magit
- Merging the remote repo with the command line
- End result: everyone has everything of everyone else
- Lecture content
- Organisation #2: Creating, managing and sharing with "magit"
- 2020-04-23
2020-05-13
cdist #5: Generating Code & Exploring
Lecture content
Objective
- Understand how to generate code and when to use it
- Exploring explorers
Code generation steps
- Modify the previously created type __my_nginx_site
- Read about cdist messaging
- If there was a change in the nginx configuration file, reload nginx
Explorer steps
- Modify the __my_nginx_site type to use the os explorer
- Adjust your type to work on Alpine Linux and Debian (or two other Linux distributions of your choice)
- Set the nginx configuration directory accordingly
Documentation
- Explain the following in your cdist.org file
- What is the difference between gencode-remote and the remote code?
- What is the difference between gencode-local and gencode-remote?
- Locate a type that comes with upstream cdist that uses gencode-local - which one is it? Why does it need gencode-local?
2020-05-11
cdist #4: Requirements
Lecture content
Objective
DONE Create a new type __my_nginx
CLOSED: [2020-05-12 화 02:22]
DONE Create a new type __my_nginx_site
CLOSED: [2020-05-12 화 02:22]
Use both types in the initial manifest to configure the target host
Configure the target host
Delete the nginx package manually on the target host
Comment out __my_nginx from the initial manifest, keep the __my_nginx_site
2020-05-08
cdist #3: type parameters
Lecture content
TODO Create a new type named __colourful_file
TODO Extend your type to be more colourful
TODO Create a new type __my_dotfiles
TODO As usual commit all changes to your ungleich-learning-circle repo
2020-05-06
cdist #2: Your first cdist type
Lecture content
Objective
Steps
CLOSED: [2020-05-06 수 22:53]
CLOSED: [2020-05-06 수 22:53]
CLOSED: [2020-05-06 수 22:53]
CLOSED: [2020-05-06 수 22:53]
CLOSED: [2020-05-06 수 22:53]
CLOSED: [2020-05-06 수 22:53]
CLOSED: [2020-05-06 수 22:53]
CLOSED: [2020-05-06 수 22:53]
CLOSED: [2020-05-06 수 22:53]
CLOSED: [2020-05-06 수 22:54]
CLOSED: [2020-05-06 수 22:54]
CLOSED: [2020-05-06 수 22:54]
DONE Documentation steps to be done in cdist.org
CLOSED: [2020-05-06 수 23:02]
CLOSED: [2020-05-06 수 23:02]
CLOSED: [2020-05-06 수 23:02]
CLOSED: [2020-05-06 수 23:02]
2020-05-04
cdist #1: Introduction
Lecture content
Objective
Steps
CLOSED: [2020-05-04 월 22:32]
CLOSED: [2020-05-04 월 22:32]
CLOSED: [2020-05-04 월 22:32]
CLOSED: [2020-05-04 월 22:32]
CLOSED: [2020-05-04 월 22:37]
CLOSED: [2020-05-04 월 22:37]
CLOSED: [2020-05-05 화 00:42]
CLOSED: [2020-05-05 화 00:21]
CLOSED: [2020-05-04 월 23:58]
CLOSED: [2020-05-04 월 23:57]
CLOSED: [2020-05-05 화 00:41]
CLOSED: [2020-05-04 월 23:33]
CLOSED: [2020-05-04 월 23:33]
CLOSED: [2020-05-04 월 23:47]
CLOSED: [2020-05-05 화 00:42]
2020-05-01
Organisation #5: Emacs refresher
Lecture content
Objective: get confident with emacs commands
Find out and document how to do the following steps
CLOSED: [2020-05-01 금 21:40]
CLOSED: [2020-05-01 금 21:43]
CLOSED: [2020-05-01 금 21:55]
CLOSED: [2020-05-01 금 22:25]
CLOSED: [2020-05-01 금 22:16]
CLOSED: [2020-05-01 금 22:16]
CLOSED: [2020-05-01 금 22:17]
CLOSED: [2020-05-01 금 22:18]
CLOSED: [2020-05-01 금 22:53]
CLOSED: [2020-05-01 금 22:46]
CLOSED: [2020-05-01 금 21:55]
CLOSED: [2020-05-01 금 22:22]
CLOSED: [2020-05-01 금 21:48]
CLOSED: [2020-05-01 금 21:48]
CLOSED: [2020-05-01 금 21:48]
CLOSED: [2020-05-01 금 21:47]
CLOSED: [2020-05-01 금 21:54]
CLOSED: [2020-05-01 금 21:44]
CLOSED: [2020-05-01 금 22:09]
CLOSED: [2020-05-01 금 21:51]
CLOSED: [2020-05-01 금 23:28]
Outcome
CLOSED: [2020-05-01 금 23:28]
CLOSED: [2020-05-01 금 23:28]