All right, so it's time for our next and final talk.
Robert Hensing is going to talk about leeks of fall.
And he's going to give a bit longer to the action of himself.
Round of applause for the speaker, please.
All right, yeah.
So this is what makes it forward.
There was a little bit of how.
I'm Robert Hensing.
And yeah.
So I've created a third-class CI.
I'm on the Nixon committee in the Nixon.
And I work on these projects.
The most of the services in single statistics point,
like small things that I'm currently being a bit of attention to.
So if you're interested, you can.
Talk to me about those.
Yeah, and this talk is about mixups for.
And that's.
Port the sponsored by the diversity project.
Which is these organizations.
And there will really.
Cool.
A project.
I think.
Yeah, I've highlighted this.
This is from the website.
So what I try to do is provide tooling for.
Hosted culture.
So this is not like.
Home app stuff, but more for hosting providers.
It's all based on the next list.
And it's about.
I think a pretty like sort of civilizational topic.
Especially in like recent days.
Yeah, about making social media.
So open.
It's cool.
Yeah.
So there also.
There's also a software program.
Yeah.
So next up for.
What is.
It's.
It's the deployment tool.
You should know that it is working progress.
This is like very early stages.
And I would not recommend to use it.
It's very unfinished.
It's the successor to the next.
And it combines a few concepts.
I wouldn't say that it's novel.
But it integrates a couple of ideas that make it work really well for.
For deployments.
So why?
You might have heard of next ops.
And next up is the two for deploying next to a systems.
It does provisioning.
It can deploy secrets for you.
And also has a bit of support for doing some things around that.
Like adding DNS entries in some cloud provider or whatever.
Which kind of works.
But it never really took off.
Yeah.
It had a bit of solo around testing and CI.
Yeah.
Because that was basically just a bit under development.
So it was.
It was.
It's it's still bad.
Yeah.
I think also part of the reason was the.
Because it was written in Python, which is probably fine.
It's an okay language.
I'm I'm personally not much over fun.
But I noticed that a lot of other contributors had sort of the same thoughts.
And probably part of this was caused by the way it was set up.
It had some tooling.
Set up in the repo.
To add types, but the way was set up.
It was causing some issues that people thought that PR was bad or something.
Even if it was actually fine.
And yeah, it was a lot of friction.
And the the the main issue.
Why all what I thought that.
This had to be a rewrite.
Is the way it integrated with nicks.
It called the evaluator.
Twice.
Which is both.
And so many.
Right.
Because you in my think.
I will just call it ones and it should be fine right.
But if you have an appointment that has.
Some interdependencies.
You might not have all the information.
At the right time.
So you potentially need.
Well, I'm undounded.
I guess.
But finite.
Number of implications to make that work.
We.
Integrating through the nicks.
Eli is just not the way to go.
And that means large architectural changes to implement that.
So.
Um.
Yeah.
Before that.
There was an effort to.
So some of the problems in in nicks.
Um.
With plugins.
But that turned whole thing into.
A multi repo.
Set up.
And that actually makes things even harder to change.
So.
I have to apologize for this picture.
Um.
That this is the way it works.
So I do you have.
Uh, a superclass and some subclasses.
But the superclassism on people.
The subclasses are in another.
Um.
Yeah.
These two nicks.
It.
Uh.
I mean.
I.
I only took maintenance.
Uh, I took over maintenance in.
Uh.
For a year after this.
Uh.
But the people before this.
They put a lot of effort.
Um.
So to make it better.
Um.
It was a bit too late.
Uh.
Yeah.
That.
Um.
So why I.
I.
In.
Twenty twenty one.
I was still very optimistic about it.
Um.
Yeah.
And it was still the only two.
Um.
That like nearly integrates nicks and.
And provisioning.
Uh.
Which is something that I badly needed.
So at the.
Uh.
I'll.
Yeah, I'll.
I'll.
I'll, I'll.
I'll.
So, uh.
Can I can.
Uh.
What.
What?
Well, what?
Mm.
Um.
It's.
Um.
Uh.
Okay.
Uh.
Um.
more of an engineered thing. And for this week, we can take a look at the next architecture,
which is actually very successful. So the way the next works, if you use the next expression
language, you can use one to the end, by pointing. Yeah, so use the expression language to create
function calls, that creates derivations, derivations refer to other derivations to serpets.
And then next uses a sandbox and this, the next door to make over happen.
And so for next lecture, we extend that architecture. So now we also use the expression language
to configure resources. I'll get into what those are later. And yeah, similar to how it works
in next these resources are processes that then you can like similar to how the derivation
door can anything that you like as well. So it's decoupled in that way. And that's a big difference
between x-ups for and the opening x-ups is this decoupling. That this will enable other people
to write resources without the inside to open that to many architectural details.
Right, so what is the resource? A resource is a declaration of a real world object that's supposed
to exist and has basically to create operations. So these operations are implemented in the resource
when you're using a resource, you don't really have to think about it. It is still declarative
as you know with the next language that's sort of what you get, right? It's declarative.
And so next up is responsible for connecting all these operations and sort of the data flow between them.
So deployment is a collection of resources. And yeah, I'm decides to call operations.
It'll also have sort of a next one like capability, which is great for scripting.
And you can do build use that for things like backup for a geotation or really any sort of
operation that you have to do on a deployment. You can use the values from that deployment to
implement your script. Resource provider is a program that's built with nix. As you remember in
the architecture, the middle layer, nix of course it. It talks to a patient protocol, which is adjacent
over just kind of input and output streams. Yeah, so when you're using it, it looks something
like this. So you may have a flick. And yeah, there's attribute here. It's the default deployment.
That's just a name. If you don't specify name on a command file, you get the
default deployment. Yeah, and you can see it's a function that
take us an argument to resources and uses that to declare the resources. So this is
what you might call a fixed point and nix ups is responsible for connecting those together.
Next is the language, which is the reason why this can even work.
Yeah, and we sort of zoom in onto that resources function. I'd practice a little looks
up like this. We use an emergency system as well. So you see it have we're importing
something from another flick, which helps with doing an XOS deployment.
And it's specified the details for how that deployment should look.
And now you can add more resources. So there's an example right where you have this dependency,
because you're going to meet the RDSH keypad for doing an XOS deployment.
And there's something you can declare in a single deployment expression.
Yeah, so next up is this, yeah, what we call a stateful deployment tool, which means that
it can track the existence of things. So that when you, for example, when you remove something
from your configuration, they can take care of, I don't know if you're thinking those things
in the real world as well. Also, as some advantage is where you can create a
difference between the old state and the new state, more easily. It is optional. If you're
using me for a state-owned, we rely on state. You can get away without it. And that's also the way
that you would step in the first place. Here, in the example, we're using an S3 object
to store a state, so that makes sure that everyone works with the deployment.
It's sort of using the same view of what's in there.
Yeah, and so because we're using a virtual system, you can also do some of your own domain
specifics of in those expressions. And I sort of split up according to your needs.
Oh, let's skip this one. Let's I think here takes a long to explain.
Oh, I'll be happy to explain it later outside.
All right, so yeah, I think next we'll skip you the old VIX development experience.
Yeah, it's pretty much the only two really integrated. For example, there's also a
tyrannics. Next up is a really inspired on terraform. And the difference between tyrannics and
next ops is the tyrannics. You're really only generating a config file. And that doesn't
be allow data form the deployments to flow into the next language and back into the
deployment. So you really still stuck with the hash core of conflict language, which is like
embed inside of your next strings, which I think is not a great experience.
Yeah, definitely not for like the sort of, but I hope this is going to become like the
flagship tool for doing big ones with with next.
I think all I'll just get these so that we can get to the questions.
Question section. Yeah, I guess I guess this is also was implemented is sort of the basics.
So the general architecture and some preparations for if you're making this work is implemented
in Rust, but it's talking to Nick's which is the class. So we have this CAPR layer in between.
Yeah, so it's still allowed is to be done. Currently we have a create operation.
What is sort of the read update and the lead stuff and even making it safe for is here to be done.
Yeah, and also the plan is to have an adapter to the resource provided in
presentations that are written for whatever we can be used in next social.
So questions.
Yes, it does work. Yes, that is the question is the question is doesn't work and yes, it does work.
But the only part of the really works is it's the create operation. We have a next
source next. So that's actually also an important difference is that in the original next
it was really only for next. Whereas next for it is a platform that you can use to do
basically anything. So we have a next was integration now, but you may as well deploy it to
an external or next PSD, which is a project that's like a really new. So that's one point.
Those will also be possible.
And all the ready scary details that you just go with the button that make it look like it can
end up like previous. So the question is, is there like any red flags? I guess the end
of the previous. That yeah, that would end up like the previous one. I think it's a bit too early
because a lot of it was sort of the ecosystem that did or did not do around it.
I've paid a lot of attention to making sure that it's a work document and will test it.
So that should help a lot. But yeah, I would have to prove myself in practice, but I'm hopeful
with good reason, I think.
Yeah.
Yes.
Yeah, so the question is, will next up to implement the same sort of state
life cycle, that terraformed advance? I haven't quite decided.
Yeah.
Okay. Yeah. So basically, I should get some advice, not to say to it like terraformed.
And I would love to talk later.
Yeah.
Not like you can have the conversation about that.
And maybe we can back get back to that topic. But I think there's more questions
that we are not so tight on time because this is the last talk, and I also,
there is some time on the schedule. So I think there was a question in the back.
Really? Yeah.
How often? And the reason I used it was the one that was very good back to the house at the end.
Yeah, you know.
I think that's what we're looking for.
How does it work?
We seem to be a lot more than just like revolting.
Yeah. So the question is, for a company, a user, can I start using it now?
And I would say almost.
We're kind of using it in a way similar to a company, I think, currently in the project.
But we still have like a few rough edges that should be pretty easy to read also.
I think in a month or two, you could give it a shot.
Yeah.
You mentioned the challenge of having information out below from some, I guess,
these resources that the association has to be mixed with configuration.
Would you be able to maybe comment on how I your approach to this comparison to
how you make choice anywhere with your current or module.
Like you need to start getting this new parameter,
special parts that we allow to have like,
that type of information, like flow into the,
and it's just configuration.
Yeah.
So the question is how this, the data flow between resources differ from how it's done with an existing
platform integration, which uses special arts.
Yes, I have to summarize a bit.
Yeah.
So how it differs with nature is anywhere.
And yeah.
So the difference is that because it's all,
or just in the nick language,
you don't have to go through like a special attribute set that gets
utilized or something, right?
I think that's, that's how that works.
And I mean, with them, like, I just believe it's a character or something,
then you sort of get like a similar experience of, I guess, yeah.
Yeah, yeah, it's, it is similar, but it's,
it's just a bit more streamlined because you don't have to do it.
I have to deal with two languages at a time and see a visualization between them.
And I just like going through such a more traditional,
traditional, it's not a platform flow.
You would get like the entire platform ecosystem.
Like, if you're using nicks off, like,
wouldn't that kind of work, if you, like,
when you get the strength of this reference?
Um,
So if you want to use the existing platform ecosystem,
that that would still be possible by going through a mix-ups resource
that that calls in to a platform, that that would basically naturally
achieve the same thing.
Yeah.
That's, that's possible.
Yeah.
Thank you.
Oh, yeah.
My version is, um,
Can you move your hands to create, um,
like, uh, provide it to terms on language, uh,
uh, and you can control it, uh,
and I can't control it.
And I can control it.
So it, I didn't actually look belong.
I can control it.
I mean, right?
What?
Right.
Um, yeah, so, you're probably able to use the platform
that to for a lot of things.
Um,
but if, if it doesn't exist yet,
or maybe there's something, um,
something special that might work better with a direct integration.
Um,
do we do that issue, uh,
you write a provider, uh,
which is, uh,
it's a program that takes, uh,
Jason objects in standard input.
Um,
it'll, it'll write,
it'll have to write, uh,
Jason objects on standard output,
according to, um,
it's a protocol that's documented in the,
in the next one's manual.
Um, and in addition to that,
you'll, you'll have to provide some expressions to,
um,
sort of,
provide the schema for it, I guess.
Uh, that's going to be how it works.
Um, we'll probably improve this a bit.
Um,
but that doesn't generate.
And the question,
what I think, how do you implement the cloud operations,
just to detect it?
Yeah.
So the, the cloud operations,
um,
that's,
the question you notice is,
for the audience.
Oh, but yeah, the, the question was,
how, I was implemented the cloud operations.
Um,
yeah.
Yeah.
We're actually funding this from,
the NGO,
the diversity project.
And that until,
at least one implementation of what mixups will do,
in a very extended way.
You can just click stuff and work.
So no more people can also use mixups.
Which is like the holy grail.
But yes, we're going to implement this.
And if you want to work on this,
we have a sub-branding program.
They're still more than far, far more than a thousand euros payable.
So look at our website.
And then apply for a grant with an L net.
And maybe in the next few months,
you will get some money to actually help us,
reach the holy grail.
How easy.
So I guess the question is,
please go to fetaversity.edu.
We have a sub-brands program with many of them available,
where you can help out with doing really cool mixups.
To bring it to...
Oh, I don't want no more people.
Here is the next one.
I will be outside.
Are there any more questions?
Can we?
Oh, yeah.
Oh, are you money or not?
Yes, I'm having fun.
Welcome.
Thank you.