#!/bin/bash
pidof -s xinit && exit 0
[ -z "$STXTARG" ] && STXTARG="$1"
if [ -z "$STXTARG" ];then
read -p "Start: e16, xmonad, gnome or kde? " STXTARG
[ -z "$STXTARG" ] && STXTARG="xmonad"
fi
case "$STXTARG" in
e16)
diff ~/.xsession-e16 ~/.xsession &> /dev/null
[ "$?" -ne 0 ] && ln -sf .xsession-e16 ~/.xsession
;;
xmonad)
diff ~/.xsession-xmonad ~/.xsession &> /dev/null
[ "$?" -ne 0 ] && ln -sf .xsession-xmonad ~/.xsession
;;
gnome)
diff ~/.xsession-gnome ~/.xsession &> /dev/null
[ "$?" -ne 0 ] && ln -sf .xsession-gnome ~/.xsession
;;
kde)
diff ~/.xsession-kde ~/.xsession &> /dev/null
[ "$?" -ne 0 ] && ln -sf .xsession-kde ~/.xsession
;;
*)
echo "Sorry, I don't know $STXTARG as window manager."
exit 1
;;
esac
startx
idth:100%;max-width:none;background: #c0c0c0 url('/assets/forest-2.svg') top center no-repeat fixed;
/*width:100%;max-width:none;background: rgba(192,192,192,0.5) url('./assets/forest-1.svg') top center no-repeat fixed;*/
background-size: 100% auto; /* 100% auto for keeping the aspect ratio */
}
/*html {
background:transparent url('./lirionnet-border-left.png') top left repeat-y scroll;
padding-left:10px;height:100%;
}
body {
background:transparent url('./lirionnet-border-right.png') top right repeat-y scroll;
padding-right:10px;overflow:auto;height:100%;
}
body>* {padding-left:10px;padding-right:10px;}*/
h1,h2,h3 {
font-family:'Alte DIN 1451 Mittelschrift gep','Alte DIN 1451 Mittelschrift','Alte DIN 1451',Futura,'Lucida Grande','Gill Sans',Verdana,Helvetica,sans-serif;
font-weight:normal;
}
header h1 a {
color: #000;
text-decoration: none;
}
#maint h2 {font-size:100%;padding:0;margin:0 auto;}
h1,h2,h3,h4,h5,h6 {/*text-rendering:optimizelegibility;*/}
h3 {font-size:120%;border-bottom:1px solid;}
header { width:auto;margin:0 auto;margin-top:2.8em;}
header h1 {
text-align:center;font-size:3.666em;margin:0 auto;
}
header h1+p {
text-align:center;font-style:italic;margin-top:0;text-transform:lowercase;font-size:0.9em;
}
#maint {
text-align:center;color:#b00;font-style:italic;font-size:2em;color:#fc9032;text-shadow: 1px 1px #999;
font-weight:bold;margin-top:4em;
}
nav {
position:absolute;top:0;left:0;
text-align:center;width:100%;
background-color:#333;color:#eee;
border-bottom:2px solid #111;font-size:0.9em;
}
nav>a {
display:inline-block;padding:0.5em 2em;
font-family:'Alte DIN 1451 Mittelschrift gep','Alte DIN 1451 Mittelschrift','Alte DIN 1451',Futura,'Lucida Grande','Gill Sans',Verdana,Helvetica,sans-serif;
text-transform:lowercase;color:#eee;
text-decoration:none;text-shadow:0.1em 0.1em #000;
font-size:1.3em;
width:1em;z-index:99;
/*border-left:1px solid #444;border-right:1px solid #444;*/
margin-left:0;margin-right:0;
}
nav > a:first-child {border-left:none;} nav > a:nth-last-child(1) , nav a:last-child {border-right:none;}
nav > a:hover {color:#a0e090;}
nav > a:before {font-family:"Elusive Icons";z-index:99;}
nav a[title="home"]:before {content:"\e6a3";}
nav a[title="links"]:before {content:"\e68f";}
nav a[title="about"]:before {content:"\e61f";}
nav a[title="contact"]:before {content:"\e6e1";}
nav a[title="teamspeak"]:before {content:"\e661";}
nav a[title="minecraft"]:before {content:"\e627";}
nav a[title="git"]:before {content:"\e6b8";}
nav a[title="blog"]:before {content:"\e671";}
nav a[title="philosophy"]:before {content:"\262f";}
nav a[title="hots"]:before {
content:" ";
background:transparent url('//lirion.de/heroes-of-the-storm.svg') center center;
background-size:1em 1em;
width:1em;height:1em;text-align:center;margin:0 auto;padding:0;display:inline-block;}
nav a[title="autoconf"]:before {content:"\e604";}
nav a[title="redhat"] {
background:transparent url('/assets/fedora.png') no-repeat center center;
/*background-size:auto 1.3em;*/
margin-right:-1em;
}
nav a[title="mastodon"]:before {content:"\e72a";}
nav a[title="packages"]:before {content:"\e69e";}
nav > a >span {display:none;font-size:0;width:1px;}
ul {list-style-type: square;}
/*section#maint {
background-color:rgba(204,204,204,.75);border-radius:8px;
-moz-box-shadow: 0 1px 4px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3),
inset 0 5px rgba(255,255,255,0.2), inset 0 5px 10px rgba(255,255,255,0.25),
inset 0 -8px 15px rgba(0,0,0,0.3);
box-shadow: 0 1px 4px rgba(0,0,0,0.5), inset 0 1px rgba(255,255,255,0.3),
inset 0 5px rgba(255,255,255,0.2), inset 0 5px 10px rgba(255,255,255,0.25),
inset 0 -8px 15px rgba(0,0,0,0.3);
}*/
section,main.page-content,footer,#cgit {
/*background-color:rgba(245,245,245,.8);
box-shadow: 0 0 3px 0 rgba(0,0,0,0.25);*/
/*background-color:rgba(200,245,205,0.7);*/
background-color:rgba(210,240,216,0.7);
box-shadow:0 0 4px 0 rgba(0,10,0,0.4);
/*-moz-box-shadow: 0 0 3px 0 rgba(0,0,0,0.25);*/
padding:0.5em 1em;
margin:0 auto;
margin-top:2em;/*margin-bottom:2em;*/
max-width:70%;
}
div#cgit {
background-color:rgba(210,240,216,0.7)!important;
margin: auto;
margin-top:2em!important;
padding:1em!important;
width:75em!important;
font-family:"Telex","Helvetica Neue",Helvetica,Arial,sans-serif;
}
div#cgit div.content {background:#f5f5f5!important;overflow:auto;}
div#cgit div.footer {color:#888!important;}
div#cgit div.footer a {color:#666!important;}
#cgit h1,#cgit h2,#cgit h3 {
font-family:"Telex","Helvetica Neue",Helvetica,Arial,sans-serif;
}
div#cgit table#header td.main {word-spacing:0.1em;}
/*div#cgit pre {white-space:pre-wrap;} :( */
footer {margin-bottom:2em;}
section:nth-last-child(3) {margin-bottom:5em;}
section h2 {text-align:center;margin-top:0;padding-top:0;}
section a {text-decoration:none;}
section a, section a:visited {color:#007a37;}
section a:hover, section a:active {color:#e56b00;}
#links ul {list-style-type:none;text-transform:lowercase;}
/*#links ul li {border-bottom:1px solid #e0e0e0;padding:0.4em 0 0.3em 0;width:15em;margin:0 auto;text-align:center;}*/
#links ul li {padding:0.2em 0 0.3em 2em;margin:0.1em 0 0.1em 0;width:19em;}
#links ul li:nth-child(2n) {float:right;}
#links ul li:nth-child(4n) {background:rgba(80,80,80,0.1);}
#links ul li:nth-child(2n+1) {float:left;}
#links ul li:nth-child(4n-1) {background:rgba(80,80,80,0.1);}
#links:after {clear:both;content:" ";display:block;}
#teamspeak_srv {background-color:rgba(225,245,220,0.7);}
#teamspeak_srv>div.content {margin:0 auto;font-size:13px;width:29.5em;font-family:"Telex","Helvetica Neue",Helvetica,Arial,sans-serif;}
#teamspeak_srv div.copy { display:none!important; }
#teamspeak_srv .content:last-child { margin-bottom:2em; }
aside#ts3remark {margin-top:4em;font-size:66%;text-align:center;font-style:italic;}
#validate {
transform: rotate(45deg);
/*-webkit-transform: rotate(45deg); /*FUCK YOU CHROME, SAFARI AND OPERA*/
/*-ms-transform: rotate(45deg); /*FUCK YOU INTERNET EXPLORER 9 AND BELOW*/
position:fixed;bottom:0;left:0;text-align:center;text-transform:lowercase;width:100%;margin-left:-45.666%;margin-bottom:1.666em;
}
#validate > p {margin:0;font-weight:bold;}
#validate a {text-decoration:none;}
#validate a:hover{text-decoration:none;}
#validate > p:first-child {/*background:#0092bf;*/color:white;border-top:1px solid;border-color:#058;background:rgba(0,126,178,.8);}
#validate > p:nth-child(2) {/*background:#90c140;*/color:white;border-bottom:1px solid;border-color:#591;background:rgba(124,178,54,.8);}
#validate > p a {
color:white;display:inline-block;padding:0.3em 25px 0.3em 0.3em;box-sizing:content-box;height:100%;
background-size:auto 24px;
}
#validate > p:first-child a {
background:transparent url('/flags/html5.png') right center no-repeat scroll;
}
#validate > p:nth-child(2) a {
background:transparent url('/flags/css3.png') right center no-repeat scroll;
}
#validate > p span:last-child {display:none;}
/*#validate > p:last-child a {color:#3e7000;}
#validate > p:last-child a:hover {color:#c9910e;}*/
/*#mail h2:before {content:"\2709\fe0f\000a";display:block;font-size:4em;}*/
#mail h2:before {content:"\2709";display:block;font-size:4em;}
#mail,#philosophy,#hots {text-align:justify;}
#mail h2:before, #philosophy h2:before,#hots h2:before {
font-family:"Elusive Icons";
display:block;font-size:3em;font-weight:normal;
}
#mail h2:before {content:"\e6e1";}
#mail .remark,#philosophy .remark,#hots .remark {font-size:80%;margin-top:2em;font-style:italic;}
#mail strong,#philosophy strong {color:#a00;}
/*#philosophy h2:before {content:"\262f\fe0f\000a";display:block;font-size:4em;}*/
#philosophy h2:before {content:"\262f";}
#hots h2:before {
content:" ";
background:transparent url('//lirion.de/heroes-of-the-storm.svg') center center;
background-size:1.5em 1.5em;
width:1.5em;height:1.5em;text-align:center;margin:0 auto;padding:0;display:block;
}
#hots p#hotslogs {text-align:center; margin:0 auto;margin-bottom:1em;}
#rebuild {text-decoration:blink;color:#30c000;}
#os-releases {/*width:66.6%;*/margin-left:2em;}
#os-releases th {text-align:left;}
#os-releases tr:nth-child(2n-1) td {background-color:#bcd1c1;}
#os-releases tr td,#os-releases tr th {padding:0 0.75em;}
#os-releases tr td.hash {font-family:"DejaVu Sans Mono",Monospace,monospace,serif;font-size:90%;}
#nowww {
position:fixed;top:4em;right:1em;margin:0;padding:0;
background:transparent url('/assets/no_www.png') bottom right no-repeat;
background-size:80px auto;width:80px;height:80px;
}
#nowww a {
display:block;margin:0;padding:0;
width:80px;height:80px;
}
#nowww a span {display:none;}
div.markdown-body p:last-child { padding-bottom:1.5em; }
div#cgit {margin-bottom:2em;}
@keyframes fadeDown {
0% {
opacity: 0;
transform: translateY(-20px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
.fadeDown, header {
animation:fadeDown 1s ease;
}
/* jekyll */
header.post-header { margin-top: 0.1337em; }
.post h1 { font-size:2.1337em; text-align: left; }
.post h1+p { text-align: left; }
ul.post-list {
background: #f0f0f0;
list-style: none;
padding-inline-start: 0;
padding: 0.8em;
}
ul.post-list li { padding:0.4em; }
ul.post-list li:nth-child(2n-1) { background-color:#ffffff; }
ul.post-list li span.post-meta {
font-weight: bold;font-style: oblique;font-size:100%;
}
ul.post-list li span.post-meta:after { content: ':'; }
ul.post-list li h3 {
font-size: 100%;font-weight: normal; display: inline;
margin-left: 1em;
font-family: "Telex","Helvetica Neue",Helvetica,Arial,sans-serif;
border-bottom: none;
}
ul.post-list li h3 a {
text-decoration: none;
}
nav.blog-nav {
background: transparent;
position: static;
border: none;
}
.blog-nav .nav-trigger { display:none; }
.blog-nav .menu-icon { display:none; }
.post-content table {
margin-bottom: 30px;
width: 100%;
text-align: left;
color: #3f3f3f;
border-collapse: collapse;
border: 1px solid #d0d0d0; }
.post-content table tr:nth-child(odd) {
background-color: #e0e0e0; }
.post-content table tr:nth-child(even) {
background-color: #f0f0f0; }
.post-content table th, table td {
padding: 10px 15px; }
.post-content table th {
background-color: #f0f0f0;
border: 1px solid #dedede;
border-bottom-color: #c9c9c9; }
.post-content table td {
border: 1px solid #e8e8e8; }
.blog-nav a.page-link {
text-decoration: none;
font-size:110%;
border-left: 1px solid;
border-right: 1px solid;
margin-left: 0.1em;margin-right:0.1em;
padding-left:0.7331em;padding-right: 0.7331em;
display: inline-block;
}
.blog-nav a.page-link:first-child {
margin-left: 0;
border-left: 0;
}
.blog-nav a.page-link:last-child {
margin-right: 0;
border-right: 0;
}
figure.highlight {
margin: 0 auto;
margin-left: 1em;
padding: 0.666em;
}
figure.highlight pre {
margin-top: 0;
margin-bottom: 0;
overflow-x: auto;
overflow-y: hidden;
}
figure.highlight pre code, code.highlighter-rouge {
font-size: 0.8em;
}
article.post div.post-content, #tocw {
background: rgba(251,255,253,0.6);
padding: 0.666em;
}
main.page-content a, footer.site-footer a {
text-decoration: none;
color: #169b62;
font-weight: 550;
}
main.page-content a:hover, footer.site-footer a:hover, main.page-content a:active,
footer.site-footer a:active {
color: #ff883e;
}
.highlight { background: #e8fff0; }
#tocw ol {
list-style-type: decimal;
counter-reset: item;
padding-left: 10px;
}
#tocw ol li {
display: block;
}
#tocw > ol > li {
padding-left: 0.5em;
}
#tocw > ol > li > ol > li {
padding-left: 0.666em;
}
#tocw > ol > li > ol > li > ol > li {
padding-left: 1.337em;
}
#tocw ol li:before {
content: counters(item, ".") ". ";
counter-increment: item
}
/*main.page-content h2:before {
content: counter(heading)". ";
counter-increment: heading;
}
main.page-content h2 {
counter-reset: subheading;
}
main.page-content h3:before {
content: counter(heading)"." counter(subheading)". ";
counter-increment: subheading;
}*/
/**
* Syntax highlighting styles
*/
.highlight {
background: #fff; }
.highlighter-rouge .highlight {
background: #eef; }
.highlight .c {
color: #998;
font-style: italic; }
.highlight .err {
color: #a61717;
background-color: #e3d2d2; }
.highlight .k {
font-weight: bold; }
.highlight .o {
font-weight: bold; }
.highlight .cm {
color: #998;
font-style: italic; }
.highlight .cp {
color: #999;
font-weight: bold; }
.highlight .c1 {
color: #998;
font-style: italic; }
.highlight .cs {
color: #999;
font-weight: bold;
font-style: italic; }
.highlight .gd {
color: #000;
background-color: #fdd; }
.highlight .gd .x {
color: #000;
background-color: #faa; }
.highlight .ge {
font-style: italic; }
.highlight .gr {
color: #a00; }
.highlight .gh {
color: #999; }
.highlight .gi {
color: #000;
background-color: #dfd; }
.highlight .gi .x {
color: #000;
background-color: #afa; }
.highlight .go {
color: #888; }
.highlight .gp {
color: #555; }
.highlight .gs {
font-weight: bold; }
.highlight .gu {
color: #aaa; }
.highlight .gt {
color: #a00; }
.highlight .kc {
font-weight: bold; }
.highlight .kd {
font-weight: bold; }
.highlight .kp {
font-weight: bold; }
.highlight .kr {
font-weight: bold; }
.highlight .kt {
color: #458;
font-weight: bold; }
.highlight .m {
color: #099; }
.highlight .s {
color: #d14; }
.highlight .na {
color: #008080; }
.highlight .nb {
color: #0086B3; }
.highlight .nc {
color: #458;
font-weight: bold; }
.highlight .no {
color: #008080; }
.highlight .ni {
color: #800080; }
.highlight .ne {
color: #900;
font-weight: bold; }
.highlight .nf {
color: #900;
font-weight: bold; }
.highlight .nn {
color: #555; }
.highlight .nt {
color: #000080; }
.highlight .nv {
color: #008080; }
.highlight .ow {
font-weight: bold; }
.highlight .w {
color: #bbb; }
.highlight .mf {
color: #099; }
.highlight .mh {
color: #099; }
.highlight .mi {
color: #099; }
.highlight .mo {
color: #099; }
.highlight .sb {
color: #d14; }
.highlight .sc {
color: #d14; }
.highlight .sd {
color: #d14; }
.highlight .s2 {
color: #d14; }
.highlight .se {
color: #d14; }
.highlight .sh {
color: #d14; }
.highlight .si {
color: #d14; }
.highlight .sx {
color: #d14; }
.highlight .sr {
color: #009926; }
.highlight .s1 {
color: #d14; }
.highlight .ss {
color: #990073; }
.highlight .bp {
color: #999; }
.highlight .vc {
color: #008080; }
.highlight .vg {
color: #008080; }
.highlight .vi {
color: #008080; }
.highlight .il {
color: #099; }
git.lirion.de
Of git, get, and gud
lirion.de
Links
About
Contact
GIT
Blog
autoconf
packages
Mastodon
Commit message (Collapse ) Author Age Files Lines
|
|
|
|
|
|
|
|
Prior to this commit, the puppetmaster profile was embedded in this
control-repo.
After this commit, the puppetmaster profile is moved out into its
own module.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Prior to this commit the functionality to setup the either code
manager or zack/r10k was tightly coupled to this control-repo. In
an effort to make that functionality useful to more people we're
splitting it into a dedicated module.
After this commit, the pe_code_manager_webhook module will contain all logic
around setting up the webhook while this control-repo will still
gloss over the details needed to get everything in PE setup correctly
to use that module.
This commit removes the files associated with the profile including
some custom functions that were only there to make it work.
This commit removes the all_in_one_pe_2015_2 role as it was exactly
the same as the all_in_one_pe role.
This commit modifies all_in_one_pe to use the pe_code_manager_webhook module
instead of the profile.
|
|
|
|
|
|
|
|
|
|
|
|
Prior to the this commit, if you were using the code_manager
profile on a split install it would incorrectly try to curl the
NC api on the master node.
After this commit, it should correctly curl the hostname of the NC
This has no impact on the functionality of the code on a monolithic
PE installation.
|
|
|
|
|
If it is in master instead of main then puppet apply will give a
warning.
|
|
|
|
|
|
|
|
|
Prior to this commit there was a requirement for the user of this
repo to create a RBAC role in order for code manager to work.
After this commit an exec statement will curl the RBAC API to
create the role one time and hopefully it works otherwise the exec
will not run again.
|
|
|
|
|
|
|
|
|
|
|
Prior to this commit, if you upgraded from a previous version of
the control-repo both code manager and zack/r10k webhook would
be running and ready to receive data. This can present problems
if the webhook isn't disbled in the git management system is
sending data to both receivers.
This commit adds rudimentary ability to break the zack/r10k
webhook so it can't receive data.
|
|
|
|
|
|
|
|
|
|
|
|
|
Prior to this commit there were two possible webhooks
- zack/r10k webhook
- code manager
I moved these two profiles under git_webhook and choose the correct
one based on the version of PE being used.
As a safety hatch, I provide the $force_zack_r10k_webhook param
on profile::git_webhook in case someone needs to continue using it
instead of code manager.
|
|
|
|
|
|
|
|
File sync appears to sync everything in the $codedir which
inlcudes hiera.yaml. When managing hiera.yaml with puppet code
you don't want file sync to overwrite its contents. So, I'm
moving it out of $codedir and removing the original hiera.yaml
to avoid confusion for users investigating later.
|
|
|
|
|
|
|
|
|
|
- Moved ssh key generation and git deploy key out of the puppetmaster
profile and into zack_r10k and code_manager
- Swapped code manager into the all_in_one role
- Made a 2015.2 all_in_one role if users prefer to use it
- Conditionally move all existing code out of environmentpath
to allow file sync to sync files
- Update the README to compliment the new puppet code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Prior to this commit, the code manger profile could not complete
on the first run because the file function would error out
I implemented a new version of the file function that returns
nothing when the file does not exist instead of erroring out which
allows me to gate creating the webhook on whether there is content
in the file.
As a result this means that it takes 2 runs to get everything setup
but this is preferable over having to manually intervene in some
other way if the token file doesn't exist.
|
|
|
|
|
|
|
|
|
|
Moved the webhook resource out of puppetmaster and into zack_r10k
to support exchaning code_manager in place of zack_r10k
As a result I cleaned up some unnecessary parameters.
Installing both the r10k webhook and the code_manager at this time
for testing
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Add pltraing-rbac module
Added a new profile for code_manager that:
- creates a service users for code manager
- creates a token for that service user
- creates a hook on a git server using the token
Turns out that the file function in puppet cannot read files in
/root. The pe-puppet user needs read permissions on the file
and traversal on the directory which giving to /root would
probably be a bad idea. So, I just put the file containing
the token in /etc/puppetlabs/puppetserver since I'm not sure
where would be better.
| \
| |
| |
| |
merge_npwalker_control_repo
| |
| |
| |
| |
| |
| |
| |
| |
When the owner / group was root this meant that enabling
hiera-eyaml wouldn't work properly as the keys couldn't
be read by puppetserver.
Changing to pe-puppet should resolve the issue.
| |
| |
| |
| |
| |
| |
| |
| |
| |
Previously there was a mcollective and no_mcollective version of
the webhook profile. They were almost identical so I merged them
and manage the difference with a "use_mcollective" parameter.
I renamed the webhook profile to zack_r10k_webhook.
| |
| |
| |
| |
| |
| |
| |
To accomodate generating random usernames and passwords, I had
to parameterize the profiles which I didn't feel great about
but I also didn't want to have to put the username and pass in
hiera.