-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Build out own images and use them in our examples
Signed-off-by: David Gannon <19214156+dgannon991@users.noreply.github.com>
- Loading branch information
1 parent
ec47179
commit f54bfc3
Showing
15 changed files
with
378 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Porter Example Images | ||
|
||
A collection of images used within the porter examples, and published to the getporter/examples/images container registry |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
FROM alpine | ||
RUN apk add --no-cache perl | ||
COPY cowsay /usr/local/bin/cowsay | ||
COPY docker.cow /usr/local/share/cows/default.cow | ||
ENTRYPOINT ["/usr/local/bin/cowsay"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
============== | ||
cowsay License | ||
============== | ||
|
||
cowsay is distributed under the same licensing terms as Perl: the | ||
Artistic License or the GNU General Public License. If you don't | ||
want to track down these licenses and read them for yourself, use | ||
the parts that I'd prefer: | ||
|
||
(0) I wrote it and you didn't. | ||
|
||
(1) Give credit where credit is due if you borrow the code for some | ||
other purpose. | ||
|
||
(2) If you have any bugfixes or suggestions, please notify me so | ||
that I may incorporate them. | ||
|
||
(3) If you try to make money off of cowsay, you suck. | ||
|
||
=============== | ||
cowsay Legalese | ||
=============== | ||
|
||
(0) Copyright (c) 1999 Tony Monroe. All rights reserved. All | ||
lefts may or may not be reversed at my discretion. | ||
|
||
(1) This software package can be freely redistributed or modified | ||
under the terms described above in the "cowsay License" section | ||
of this file. | ||
|
||
(2) cowsay is provided "as is," with no warranties whatsoever, | ||
expressed or implied. If you want some implied warranty about | ||
merchantability and/or fitness for a particular purpose, you will | ||
not find it here, because there is no such thing here. | ||
|
||
(3) I hate legalese. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
REGISTRY?=ghcr.io/getporter/examples/images/whalesay | ||
LATEST=$(REGISTRY):latest | ||
|
||
build: | ||
docker build -t $(LATEST) . | ||
|
||
publish: build | ||
docker push $(LATEST) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,187 @@ | ||
#!/usr/bin/perl | ||
|
||
## | ||
## Cowsay 3.03 | ||
## | ||
## This file is part of cowsay. (c) 1999-2000 Tony Monroe. | ||
## | ||
|
||
use Text::Tabs qw(expand); | ||
use Text::Wrap qw(wrap fill $columns); | ||
use File::Basename; | ||
use Getopt::Std; | ||
use Cwd; | ||
|
||
$version = "3.03"; | ||
$progname = basename($0); | ||
$eyes = "oo"; | ||
$tongue = " "; | ||
$cowpath = $ENV{'COWPATH'} || '/usr/local/share/cows'; | ||
@message = (); | ||
$thoughts = ""; | ||
|
||
## Yeah, this is rude, I know. But hopefully it gets around a nasty | ||
## little version dependency. | ||
|
||
$Text::Wrap::initial_tab = 8; | ||
$Text::Wrap::subsequent_tab = 8; | ||
$Text::Wrap::tabstop = 8; | ||
|
||
## One of these days, we'll get it ported to Windows. Yeah, right. | ||
|
||
if (($^O eq "MSWin32") or ($^O eq "Windows_NT")) { ## Many perls, eek! | ||
$pathsep = ';'; | ||
} else { | ||
$pathsep = ':'; | ||
} | ||
|
||
%opts = ( | ||
'e' => 'oo', | ||
'f' => 'default.cow', | ||
'n' => 0, | ||
'T' => ' ', | ||
'W' => 40, | ||
); | ||
|
||
getopts('bde:f:ghlLnNpstT:wW:y', \%opts); | ||
|
||
&display_usage if $opts{'h'}; | ||
&list_cowfiles if $opts{'l'}; | ||
|
||
$borg = $opts{'b'}; | ||
$dead = $opts{'d'}; | ||
$greedy = $opts{'g'}; | ||
$paranoid = $opts{'p'}; | ||
$stoned = $opts{'s'}; | ||
$tired = $opts{'t'}; | ||
$wired = $opts{'w'}; | ||
$young = $opts{'y'}; | ||
$eyes = substr($opts{'e'}, 0, 2); | ||
$tongue = substr($opts{'T'}, 0, 2); | ||
$the_cow = ""; | ||
|
||
&slurp_input; | ||
$Text::Wrap::columns = $opts{'W'}; | ||
@message = ($opts{'n'} ? expand(@message) : | ||
split("\n", fill("", "", @message))); | ||
&construct_balloon; | ||
&construct_face; | ||
&get_cow; | ||
print @balloon_lines; | ||
print $the_cow; | ||
|
||
sub list_cowfiles { | ||
my $basedir; | ||
my @dirfiles; | ||
chop($basedir = cwd); | ||
for my $d (split(/$pathsep/, $cowpath)) { | ||
print "Cow files in $d:\n"; | ||
opendir(COWDIR, $d) || die "$0: Cannot open $d\n"; | ||
for my $file (readdir COWDIR) { | ||
if ($file =~ s/\.cow$//) { | ||
push(@dirfiles, $file); | ||
} | ||
} | ||
closedir(COWDIR); | ||
print wrap("", "", sort @dirfiles), "\n"; | ||
@dirfiles = (); | ||
chdir($basedir); | ||
} | ||
exit(0); | ||
} | ||
|
||
sub slurp_input { | ||
unless ($ARGV[0]) { | ||
chomp(@message = <STDIN>); | ||
} else { | ||
&display_usage if $opts{'n'}; | ||
@message = join(' ', @ARGV); | ||
} | ||
} | ||
|
||
sub maxlength { | ||
my ($l, $m); | ||
$m = -1; | ||
for my $i (@_) { | ||
$l = length $i; | ||
$m = $l if ($l > $m); | ||
} | ||
return $m; | ||
} | ||
|
||
sub construct_balloon { | ||
my $max = &maxlength(@message); | ||
my $max2 = $max + 2; ## border space fudge. | ||
my $format = "%s %-${max}s %s\n"; | ||
my @border; ## up-left, up-right, down-left, down-right, left, right | ||
if ($0 =~ /think/i) { | ||
$thoughts = 'o'; | ||
@border = qw[ ( ) ( ) ( ) ]; | ||
} elsif (@message < 2) { | ||
$thoughts = '\\'; | ||
@border = qw[ < > ]; | ||
} else { | ||
$thoughts = '\\'; | ||
if ($V and $V gt v5.6.0) { # Thanks, perldelta. | ||
@border = qw[ / \\ \\ / | | ]; | ||
} else { | ||
@border = qw[ / \ \ / | | ]; | ||
} | ||
} | ||
push(@balloon_lines, | ||
" " . ("_" x $max2) . " \n" , | ||
sprintf($format, $border[0], $message[0], $border[1]), | ||
(@message < 2 ? "" : | ||
map { sprintf($format, $border[4], $_, $border[5]) } | ||
@message[1 .. $#message - 1]), | ||
(@message < 2 ? "" : | ||
sprintf($format, $border[2], $message[$#message], $border[3])), | ||
" " . ("-" x $max2) . " \n" | ||
); | ||
} | ||
|
||
sub construct_face { | ||
if ($borg) { $eyes = "=="; } | ||
if ($dead) { $eyes = "xx"; $tongue = "U "; } | ||
if ($greedy) { $eyes = "\$\$"; } | ||
if ($paranoid) { $eyes = "@@"; } | ||
if ($stoned) { $eyes = "**"; $tongue = "U "; } | ||
if ($tired) { $eyes = "--"; } | ||
if ($wired) { $eyes = "OO"; } | ||
if ($young) { $eyes = ".."; } | ||
} | ||
|
||
sub get_cow { | ||
## | ||
## Get a cow from the specified cowfile; otherwise use the default cow | ||
## which was defined above in $the_cow. | ||
## | ||
my $f = $opts{'f'}; | ||
my $full = ""; | ||
if ($opts{'f'} =~ m,/,) { | ||
$full = $opts{'f'}; | ||
} else { | ||
for my $d (split(/:/, $cowpath)) { | ||
if (-f "$d/$f") { | ||
$full = "$d/$f"; | ||
last; | ||
} elsif (-f "$d/$f.cow") { | ||
$full = "$d/$f.cow"; | ||
last; | ||
} | ||
} | ||
if ($full eq "") { | ||
die "$progname: Could not find $f cowfile!\n"; | ||
} | ||
} | ||
do $full; | ||
die "$progname: $@\n" if $@; | ||
} | ||
|
||
sub display_usage { | ||
die <<EOF; | ||
cow{say,think} version $version, (c) 1999 Tony Monroe | ||
Usage: $progname [-bdgpstwy] [-h] [-e eyes] [-f cowfile] | ||
[-l] [-n] [-T tongue] [-W wrapcolumn] [message] | ||
EOF | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
## | ||
## Docker Cow | ||
## | ||
$the_cow = <<EOC; | ||
$thoughts | ||
$thoughts | ||
$thoughts | ||
EOC | ||
$the_cow .= <<'EOC'; | ||
## . | ||
## ## ## == | ||
## ## ## ## ## === | ||
/"""""""""""""""""\___/ === | ||
{ / ===- | ||
\______ O __/ | ||
\ \ __/ | ||
\____\_______/ | ||
|
||
EOC |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/whalesayd |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
FROM ghcr.io/getporter/examples/images/whalesay | ||
|
||
COPY whalesayd /usr/local/bin/whalesayd | ||
RUN ls /usr/local/bin/ | ||
EXPOSE 8080 | ||
|
||
ENTRYPOINT ["/usr/local/bin/whalesayd"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
REGISTRY?=ghcr.io/getporter/examples/images/whalesayd | ||
TAG?=v0.1.1 | ||
VERSION=$(REGISTRY):$(TAG) | ||
LATEST=$(REGISTRY):latest | ||
|
||
build: | ||
GOOS=linux CGO_ENABLED=0 go build | ||
docker build -t $(LATEST) . | ||
|
||
publish: build | ||
docker tag $(LATEST) $(VERSION) | ||
docker push $(VERSION) | ||
docker push $(LATEST) |
Oops, something went wrong.