Commit graph

11955 commits

Author SHA1 Message Date
Vincent Ambo
25c9ed4adc feat main: Version bump to v1.0.0-beta1 2017-02-09 15:44:18 +01:00
Vincent Ambo
b58b1e3385 feat templater: Add applyLimits tests 2017-02-08 22:12:34 +01:00
Vincent Ambo
75b6199c1b feat context: Add deserialisation tests 2017-02-08 22:12:34 +01:00
Tuomas Tynkkynen
2cd468874f Include config.h implicitly with '-include config.h' in CFLAGS
Because config.h can #define things like _FILE_OFFSET_BITS=64 and not
every compilation unit includes config.h, we currently compile half of
Nix with _FILE_OFFSET_BITS=64 and other half with _FILE_OFFSET_BITS
unset. This causes major havoc with the Settings class on e.g. 32-bit ARM,
where different compilation units disagree with the struct layout.

E.g.:

diff --git a/src/libstore/globals.cc b/src/libstore/globals.cc
@@ -166,6 +166,8 @@ void Settings::update()
     _get(useSubstitutes, "build-use-substitutes");
+    fprintf(stderr, "at Settings::update(): &useSubstitutes = %p\n", &nix::settings.useSubstitutes);
     _get(buildUsersGroup, "build-users-group");
diff --git a/src/libstore/remote-store.cc b/src/libstore/remote-store.cc
+++ b/src/libstore/remote-store.cc
@@ -138,6 +138,8 @@ void RemoteStore::initConnection(Connection & conn)
 void RemoteStore::setOptions(Connection & conn)
 {
+    fprintf(stderr, "at RemoteStore::setOptions(): &useSubstitutes = %p\n", &nix::settings.useSubstitutes);
     conn.to << wopSetOptions

Gave me:

at Settings::update(): &useSubstitutes = 0xb6e5c5cb
at RemoteStore::setOptions(): &useSubstitutes = 0xb6e5c5c7

That was not a fun one to debug!
2017-02-08 21:51:02 +02:00
Tuomas Tynkkynen
81c53fe8e5 configure.ac: We require C++14 now
At least in the main Makefile we have:

GLOBAL_CXXFLAGS += -std=c++14 -g -Wall
2017-02-08 21:08:44 +02:00
Vincent Ambo
a6eb421057 docs: Update README with 'delete' command 2017-02-08 18:16:00 +01:00
Vincent Ambo
c046e5acff feat main: Add 'delete' command 2017-02-08 18:16:00 +01:00
Vincent Ambo
dd2fdd63e5 fix templater & ctx: Correctly check resource set parent 2017-02-08 17:42:06 +01:00
Vincent Ambo
756a4c745d fix templater: Guard against empty parent reference 2017-02-08 17:34:49 +01:00
Vincent Ambo
bace4dd895 fix context: Set sub resource names correctly 2017-02-08 17:34:49 +01:00
Vincent Ambo
4e8223ef34 feat context: Add support for resource set collections
A resource set collection is a resource set with an addition 'include' array
configured. It is a short-hand for importing multiple resource sets from the
same folder and for excluding/including them as a group.

See https://github.com/tazjin/kontemplate/issues/9 for more information.

Closes #9
2017-02-08 17:34:49 +01:00
Vincent Ambo
d6b16793c1 docs: Update README with new options 2017-02-08 16:53:38 +01:00
Vincent Ambo
8e08a282eb feat templater: Add ability to exclude resource sets
* renamed --limit to --include (-i)
* added --exclude (-e)

Kontemplate users can now explicitly include and exclude certain resource sets.
Excludes always override includes.

Closes #11
2017-02-08 16:53:38 +01:00
Vincent Ambo
11a5cf9e19 feat main: Add replace support & respect context setting
* Adds support for calling `kubectl replace` (necessary for resource types that do
  not support `apply`).

* Sets `kubectl` context to whatever is defined in the cluster configuration file
2017-02-08 16:19:10 +01:00
Vincent Ambo
250d01c044 docs: Update README for 'apply' command 2017-02-08 15:42:13 +01:00
Vincent Ambo
bc9fc9730d feat main: Add apply command
This integrates support for actually calling out to `kubectl apply`.

A dry-run flag is implemented, too.

The `run` command has been renamed to `template`.
2017-02-08 15:42:13 +01:00
Vincent Ambo
25f2a1616c feat template: Add additional template functions
This adds the Go template functions from [sprig][] as well as a custom `json`
function that can interpolate any data as a JSON object - very useful for adding
arrays of data in JSON format into a variable:

```
certificateDomains:
  - oslo.pub
  - tazj.in

annotations:
  acme/certificate: {{ .certificateDomains | json }}

annotations:
  acme/certificate: ["oslo.pub", "tazj.in"]
```

[sprig]: https://godoc.org/github.com/Masterminds/sprig
2017-02-08 14:40:45 +01:00
Vincent Ambo
efe49de57f docs: Add generated 'kontemplate run' help 2017-02-08 14:07:56 +01:00
Vincent Ambo
6147ea7b9b docs: Add usage & installation sections 2017-02-08 13:53:46 +01:00
Vincent Ambo
3ef0f35bfe fix templater: Guard against empty values map 2017-02-08 13:47:56 +01:00
Vincent Ambo
a1c23d7018 docs: Add YAML to docs 2017-02-08 13:15:36 +01:00
Vincent Ambo
d94a0ffc25 feat context: Add YAML loading support
Closes #5
2017-02-08 13:13:21 +01:00
Vincent Ambo
c58ce7e2ab Merge pull request #7 from tazjin/feat/travis
Enable Travis.CI builds
2017-02-08 13:04:18 +01:00
Vincent Ambo
1e80f19f7b docs: Add build status 2017-02-08 13:03:06 +01:00
Vincent Ambo
13bf8a8ba3 feat build: Add Travis.CI support 2017-02-08 13:00:34 +01:00
Vincent Ambo
7ac63613fb feat main: Add proper CLI support
Adds a basic CLI structure with a single "run" command that takes a --file (-f)
and --limit (-l) flag.

--limit can be used to only output certain resource sets.

Closes #4
2017-02-08 12:58:53 +01:00
Vincent Ambo
ad82ff3e75 chore: Add LICENSE
Open code under MIT license.
2017-02-08 11:58:26 +01:00
Vincent Ambo
8fac7c1a41 chore: Better example & gofmt 2017-02-08 11:55:59 +01:00
Vincent Ambo
8fb24f9f75 feat main: Initial program implementation & example 2017-02-08 11:51:08 +01:00
Vincent Ambo
9e3ee3f2bb feat templater: Add initial templating support 2017-02-08 11:50:49 +01:00
Vincent Ambo
bb45bfa737 feat context: Add types and loading functions 2017-02-08 11:50:39 +01:00
Vincent Ambo
aff2f7ac1d docs: Add initial WIP README 2017-02-08 11:50:26 +01:00
Vincent Ambo
b11478212a chore: Add .gitignore 2017-02-08 11:50:18 +01:00
Vincent Ambo
035c704f7b Initial commit 2017-02-08 11:50:06 +01:00
Janus Troelsen
2b4c24f46a Remove Perl dependency listing in doc 2017-02-07 15:56:32 -05:00
Shea Levy
f7b7df8d1f Add nix-perl package for the perl bindings 2017-02-07 15:56:32 -05:00
Shea Levy
418a837897 Remove perl dependency.
Fixes #341
2017-02-07 15:56:32 -05:00
Eelco Dolstra
4724903c78
nix-copy-closure: Use computeFSClosure() and LegacySSHStore 2017-02-07 20:55:47 +01:00
Eelco Dolstra
6f4682ad36
Merge branch 'nix-copy-closure-c++' of https://github.com/shlevy/nix 2017-02-07 20:47:45 +01:00
Eelco Dolstra
caa5793b4a
Add a LegacySSHStore that uses nix-store --serve
This is useful for nix-copy-closure.
2017-02-07 19:29:21 +01:00
Eelco Dolstra
f38224e924
copyStorePath(): Don't require signatures for "trusted" stores
For example, SSH stores could be trusted.
2017-02-07 19:29:21 +01:00
Eelco Dolstra
fa07558a06
Provide default implementations for a couple of Store methods 2017-02-07 19:29:21 +01:00
Eelco Dolstra
ddb5577f2e
Move SavingSourceAdapter to serialise.hh 2017-02-07 19:29:20 +01:00
Eelco Dolstra
ce4d8e3ef8
Remove unnecessary call to topoSortPaths()
exportPaths() already does this.
2017-02-07 19:20:41 +01:00
Eelco Dolstra
7a58ad0ef5
SSHStore: uri -> host 2017-02-07 19:20:15 +01:00
Eelco Dolstra
612aeb2df5
Cleanup 2017-02-07 19:16:25 +01:00
Eelco Dolstra
c54814b175
Remove download-via-ssh
Replaced by SSHStore.
2017-02-07 18:54:33 +01:00
Eelco Dolstra
27dc76c1a5
Remove build-remote.pl.in 2017-02-07 18:49:17 +01:00
Chris Feng
d69e7075ad Add a menu entry to `exwm-mode-map'
* exwm-core.el (exwm-mode-menu): Add a menu entry for closing X windows.
2017-02-05 17:51:43 +08:00
Chris Feng
f221f837cb Fix checkdoc warnings 2017-02-05 17:50:52 +08:00